深度学习 Feeding behavior recognition for group-housed pigs with the Faster R-CNN 论文篇

Feeding behavior recognition for group-housed pigs with the Faster R-CNN


—— 在Faster R-CNN中对群养猪的进食行为识别

Keywords:
Pig identification (猪只识别)
Feeding behavior recognition (进食行为识别)
Faster R-CNN


摘要(Abstract)


猪的进食行为是猪的健康状况的重要指标,因此实现自动化的行为识别是猪场精准养殖的关键问题。在视频监控技术普遍应用与动物行为监测的今天,要想精准识别每一只猪,视频监控序列是实现猪只行为识别的先决条件。这篇论文提出了使用Faster R-CNN在猪场中定位和识别每一只猪,同时每只猪的头部也会被定位出来。这篇论文还设计了用于猪的头部与猪的身体联系(匹配)的算法。在此基础上,基于feeding area occupation rate(进食区域占领比例)被用于监测猪的进食行为。实验表明,此算法在识别猪只进食行为上准确率(precision)达到99.6%,召回率(reall)达到86.93%。

摘要总结:

  • 该论文提出了使用Faster R-CNN定位和识别猪,同时每只猪的头部也会被定位(识别)出来。
  • 这篇论文设计了用于猪的头部与猪的身体进行匹配(联系)的算法。
  • 这篇论文基于feeding area occupation rate(进食区域占领比例)进行猪的进食行为的监测。
  • 指标:准确率(precision)达到99.6%,召回率(reall)达到86.93%

引言(Introduction)



上图主要讲了猪只进食行为在猪的培育阶段的重要性,比如猪的进食量常常与食物的好坏、环境的变化、疾病早期的症状有关系。大多是饲养员对猪只的进食量仅凭经验粗略估计,因此带有很强的主观性且不够准确。为了提高精准养殖,需要新技术来获取猪只的进食量、监测猪的进食行为。

  • 进食行为在视频图像中应该怎么定义呢?进食行为可以描述为 “咀嚼或者咬食物(chewing or bitting food)”或者“把头部放在食槽中(putting the head in the throgh)”

  • 在识别猪只进食行为之前需要先识别每个猪个体,而现在的 Radio Frequency Identification (RFID) 射频识别技术正好解决了猪只识别的技术难题。这种技术需要给猪戴上耳标,当猪的头部进入进食区域,RFID天线就会把猪给识别出来,采集的数据将会传送到系统当中。但是(RFID)射频识别技术也存在缺点:成本太高、猪的进食区域只能限制在特定地方。最主要的问题是当多个猪个体进入槽区,怎么同时识别多只猪个体。Low-frequency(LF), high-frequency(HF) and ultra-high frequency(UHF) RFID systems(LF——低频;HF——高频;UHF——超高频)都是用于检测猪只进食行为,都很高效,但是(RFID)射频识别技术必须需要让猪只戴上耳标,不能同时识别多只猪个体。

  • 视频监控是一种可选择的监测猪只行为的一种方法,因为它成本低且容易实现。在从视频中提取猪的相关信息,前人也展开了一些研究(以下列举不同研究方法):

    • 对于视频的每一帧,Otsu segmentation方法提出将图片二值化(binaries),从而将猪只与背景区分开来。

    • **混合高斯模型(The mixed Gaussian model)最大熵分割方法(the maximum entropy segmentation method)**相结合来检测猪。

    • 有人提出了一种多级阈值分割(A multi level threshold segmentation)方法,以准确获取猪的轮廓。

      以上几种方法都是将猪从背景中区分开来,这种策略极易受光照的影响。

  • 从相关的研究中,我们知道在猪的精准养殖中,利用视频监控自动识别猪只个体仍是一个棘手的问题。怎么从猪只个体中选择合适的特征,也是一个关键问题。

  • 卷积神经网络(CNN)不需手工选择特征,能够自动提取特征,因此常用来做图像的目标识别。R-CNN用来进一步解决目标识别问题。Fast R-CNN 在CNN的最后一层中匹配候选区域(candidate regions)和特征图(feature map),极大地改善了目标识别的效果。

因此,该论文使用Faster R-CNN model检测猪只个体,也用来检测猪的头部。基于猪只进食行为的描述,视频监控包含了进食时间,着手进行猪只进食行为的识别。


实验材料和方法(Materials and methods)


基本实验情况


数据来源:广东萝岗区的猪场(每个棚有四只猪,配有两个饮水器和一个进食槽)

棚的大小:4m*5m

监控摄像机:安装高度5m,型号DS-2CD3345-I, Hikvision,25帧每秒

摄像头帧大小:宽2560 pixels,高1440 pixels

监控录像时间: July 8,2016 to August 6, 2016 for a total of 30 days.

猪的品种:Landrace,长白猪,四只猪体型尺寸相似,标有字母A、B、C、D区分

样本帧如下:


在这里插入图片描述

猪只进食识别流程:


在这里插入图片描述


  1. 从视频序列中获取图片
  2. 检测识别每一只猪
  3. 检测每一只猪的头部
  4. 进行进食行为识别

检测猪只及进食行为识别的算法(Algorithm for individual pig identification and feeding behavior recognition)


该论文基于Faster R-CNN训练能够同时检测猪只及其头部的检测器

以下将Faster R-CNN Pig Detector简称为 FRPD

数据集构造 (Data set construction)



FRPD的训练过程(Training procedure of the FRPD)


  • FRPD的主要任务包括两个:一是在图片中定位猪的位置,二是识别出每只猪的ID。
  • RPN用于猪的定位,Fast R-CNN object detection network用于识别猪的ID。
  • 文章采用迁移学习和Image-net dataset中的预训练模型,来解决数据样本不充分的问题
  • 文章采用ZF-net来提取特征,因为它层数比较少,只包含5个卷积层。The regional proposal network 和
    The detection network都是接在ZF-net的后面。
  • The regional proposal network和 The detection network共享(卷积)特征。

训练过程共分为4步:

  1. 在RPN网络训练的第一阶段,在ZF-net初始化过程,端对端的微调完成。Regional proposal在这一阶段生成。

  2. 在Fast R-CNN训练的第一阶段,以前一步的RPN输出作为输入,detector network(检测器网络)在这一阶段进行训练。

  3. 在RPN网络训练的第二阶段,Fast R-CNN detector network被用来初始化RPN。

  4. 在Fast R-CNN训练的第二阶段,non-public layers(非公共层)完成微调工作,在卷积特征层形成滑动窗口来训练RPN。


FRPD的测试过程(Testing procedure of the FRPD)


在这里插入图片描述

  1. 输入的图片首先完成卷积操作,产生特征图。
  2. RPN将这些特征图作为输入,并用边框(bounding boxes)标出所有可能是目标的区域。为了提高效率,只要得分最高的300个bounding boxes保留下来。每个保留下来的bounding boxes经过训练好的detection network确认过是匹配检测目标的。

用来匹配猪只身体和头部的算法(Algorithm for association of a pig head with its body)


主要依据:


算法流程:


群养猪进食行为识别(Feeding behavior recognition for group-housed pigs)


主要依据:


算法流程:


结果和讨论(Results and Discussion)


实验细节

深度学习框架:Caffe

显卡配置: NVIDIA Tesla K80

实验软件:Matlab

训练集:测试集 8:2

学习率:0.0001

猪只个体识别的评价


混淆矩阵

评价指标

猪只进食行为识别的评价


识别结果

评价指标

讨论(Discussion)


传统分割方法与FRPD方法的对比


此外,作者用网络上的图片构造了另外一个数据集


总结 (Conclusions)


在养猪过程中,弄清每头猪的日常食物摄入量至关重要。本文提出了相应的解决方案。利用视频监控的优势,设计了一种自动提取猪只个体进食行为的算法。首先,训练了一种基于Faster RCNN识别个体猪只的模型。其中猪只及其头部检测的准确率为0.9658,召回率为0.8704。然后,我们将检测到的头部与猪的身体按其位置相关联。猪只进食时会在饲料槽停留一段时间,根据此特性,我们提出在图片中设定一个进食区域(槽区)。对于每帧,如果进食区被猪的头占据,则认为发生了进食行为。猪进食行为识别的准确率为0.996,召回率为0.8693。本文为猪的精确培育提供了一种实用的方法。它只需要养猪场的视频监控,没有额外的要求,为猪的培育提供有用的信息。


致谢(Acknowledgements)


  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
参数数据集(包括yolo和slp两种格式,数据集中根据与只估重和姿态跟踪相关的体表参数,确定关键点。其中yolo格式数据集中除了常规的目标框外,还多了16个关键点;而slp数据集为只关键点组成的骨架).zip 参数数据集(包括yolo和slp两种格式,数据集中根据与只估重和姿态跟踪相关的体表参数,确定关键点。其中yolo格式数据集中除了常规的目标框外,还多了16个关键点;而slp数据集为只关键点组成的骨架).zip 参数数据集(包括yolo和slp两种格式,数据集中根据与只估重和姿态跟踪相关的体表参数,确定关键点。其中yolo格式数据集中除了常规的目标框外,还多了16个关键点;而slp数据集为只关键点组成的骨架).zip 参数数据集(包括yolo和slp两种格式,数据集中根据与只估重和姿态跟踪相关的体表参数,确定关键点。其中yolo格式数据集中除了常规的目标框外,还多了16个关键点;而slp数据集为只关键点组成的骨架).zip 【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__Wedream__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值