利用Kalman滤波和Hungarian算法的多目标奶牛嘴部跟踪及反刍监测
2021-12-28毛燕茹宋怀波何东健
毛燕茹,牛 童,王 鹏,宋怀波,何东健
利用Kalman滤波和Hungarian算法的多目标奶牛嘴部跟踪及反刍监测
毛燕茹1,2,3,牛 童1,2,王 鹏1,3,宋怀波1,2,3,何东健1,2,3※
(1. 西北农林科技大学机械与电子工程学院,杨凌 712100;2. 农业农村部农业物联网重点实验室,杨凌 712100;3. 陕西省农业信息感知与智能服务重点实验室,杨凌 712100)
针对奶牛养殖场复杂环境下多目标奶牛嘴部自动跟踪及反刍监测困难的情况,该研究提出了一种基于嘴部区域跟踪的多目标奶牛反刍行为智能监测方法。在YOLOv4模型识别奶牛嘴部上下颚区域的基础上,以Kalman滤波和Hungarian算法跟踪上颚区域,并对同一奶牛目标的上颚和下颚区域进行关联匹配获取嘴部咀嚼曲线,以此获取反刍相关信息,从而实现多目标奶牛个体的嘴部跟踪和反刍行为监测;为解决奶牛快速摆头运动和棚舍栏杆遮挡引发奶牛标号变化的问题,提出未匹配跟踪框保持及扩大的方法。采集并选择实际养殖场环境下的反刍奶牛视频66段,对其中58段视频采取分帧操作得到图像,制作YOLOv4模型数据集,以其余8段视频验证跟踪方法和反刍行为判定方法的有效性。试验结果表明,YOLOv4模型对奶牛嘴部上颚、下颚区域的识别准确率分别为93.92%和92.46%;改进的跟踪算法可实现复杂环境下多目标奶牛嘴部区域的稳定跟踪,且有效解决了栏杆遮挡、快速摆头运动造成的奶牛标号变化现象,上下颚匹配率平均为99.89%,跟踪速度平均为31.85帧/s;由反刍行为判定方法获取的咀嚼次数正确率的平均值为96.93%,反刍时长误差的平均值为1.48 s。该研究可为实际养殖中多目标奶牛反刍行为的智能监测和分析提供参考,也可供其他群体动物运动部位的跟踪和行为监测借鉴。
机器视觉;图像识别;奶牛;算法;反刍行为;嘴部区域;多目标跟踪;YOLOv4
0 引 言
动物个体信息和行为感知与分析是精准养殖的关键[1]。奶牛的反刍行为与其生产性能、繁殖性能以及疾病等因素密切相关[2-3]。反刍情况在一定程度上反映了奶牛的生理健康状况,良好的反刍是奶牛健康生长的必备条件。因此,开展奶牛反刍行为的智能监测研究对奶牛健康管理、精准饲喂、疾病防治、提高产奶量和产犊存活率以及提升现代智能化奶牛养殖水平具有重要意义[4-5]。
在奶牛反刍行为监测方面,传统方法以人工肉眼观测为主,主观性强,人力成本高,自动化程度低,无法实现长期、精确监测,不适用于规模化养殖场[6]。为解决人工观测的不足,国内外学者研究了一系列自动感知和记录奶牛反刍行为的接触式数字化设备[7-9]。张爱静[10]提出了基于鼻羁压力的奶牛反刍行为识别方法,采用压力传感器感知奶牛反刍时的鼻羁压力变化,并以此为依据通过决策树分类器构建反刍识别模型,结果表明,该方法对奶牛反刍次数和反刍时长的识别准确率分别为95.38%和94.67%;王莉薇等[11]设计了一种融合多源信息的可穿戴式反刍行为监测装置,以声音传感器采集反刍奶牛的声音信号,并结合三轴加速度传感器获取反刍奶牛的颈部姿态变化,通过融合声音信息和姿态信息准确识别奶牛反刍行为,结果表明,该监测装置的准确率可以达到81.3%。该类接触式传感器自动化水平高,但其侵入式特点易造成奶牛的应激反应,且硬件易脱落、寿命有限、成本高,推广应用受到限制[12]。
机器视觉技术因具有无接触、鲁棒性强、适用范围广等优点,已逐步应用于奶牛反刍行为监测研究[13-15]。Chen等[16]人工手动标记奶牛嘴部区域,采用MeanShift跟踪算法获取嘴部下颌运动轨迹,结果表明,该方法对奶牛反刍行为监测的准确率可以达到92.03%,但前期嘴部区域的提取由人工手动完成,自动化程度低;宋怀波等[17]在人工手动选取牛嘴区域的基础上,采用压缩跟踪算法(Compressive Tracking,CT)和核相关滤波算法(Kernel Correlation Filter,KCF)实现奶牛嘴部区域的跟踪,对比发现,KCF算法更适用于多目标奶牛反刍行为的监测,但嘴部区域仍需要人工提取,且对奶牛头部运动干扰的鲁棒性尚待提高;Mao等[18]采用Horn-Schunck光流法获取视频帧图像的光流场,通过检测运动幅度较大区域实现反刍奶牛嘴部区域的自动提取,最高准确率可以达到87.8%,但该方法仅适用于单目标反刍奶牛且对环境依懒性较高。
国内外学者在基于视频分析的奶牛反刍监测方面已取得了较好的研究成果,但监测多目标奶牛反刍行为主要依据的嘴部区域尚无自动定位方法。奶牛嘴部区域面积小、伴有毛发干扰,且奶牛反刍时自身头部晃动、背景奶牛运动以及复杂养殖环境等因素会对嘴部区域的自动、准确识别造成干扰。当多个反刍奶牛共存时,需对视频前后帧中同一奶牛的嘴部区域进行关联匹配,以保证奶牛个体嘴部区域的精确跟踪。
综上,本研究面向牛舍群体奶牛反刍行为智能监测的精准养殖需求,以YOLOv4模型识别嘴部区域,结合Kalman滤波和Hungarian算法进行嘴部区域跟踪,得到奶牛嘴部运动轨迹,并以运动轨迹作为咀嚼曲线,从咀嚼曲线获取反刍信息,以实现多目标奶牛个体反刍行为的自动监测,为奶牛精准饲喂管理、消化疾病防治、产奶量提高等科学管理提供技术参考。
1 材料与方法
1.1 视频采集
奶牛反刍视频采集于陕西杨凌科元克隆股份有限公司(中国)的奶牛养殖场,以具备反刍行为的35头健康荷斯坦奶牛为拍摄对象。通过查阅文献[19]和牛场实际调研可知,奶牛反刍行为主要发生在棚舍休息区,奶牛棚舍由若干个约1.1 m宽的卧床组成,每个卧床为1头奶牛提供休息场地,奶牛采食后依次进入棚舍,随机选择卧床进行休息、反刍。
为采集棚舍中的群体奶牛视频,在棚舍前方1.5 m处安装4个分辨率为400万像素的高清网络摄像机(DS-IPC-K23H-I,HIKVISION,海康威视,中国),摄像机固定在相机支架上,镜头距地面0.9 m且镜头轴线与棚舍奶牛头尾方向平行,每个摄像机视野宽度约3.5 m(3个卧床的宽度),彼此不重叠,保证同一相机视野覆盖多头奶牛目标,视频采集系统如图1所示。
于2020年9月16-23日共8 d采集棚舍奶牛视频,硬盘录像机根据相应规范,自动存储为960个1 GB视频片段,视频为 .mp4格式,帧率为24 帧/s,分辨率为2 304×1 296像素。每段视频时长约48 min,共计时长为46 080 min。
1.2 视频选择
对采集的奶牛视频进行筛选,剔除奶牛采食和挤奶离开棚舍、奶牛未处于反刍状态以及仅有单个反刍奶牛的无效视频,共得到试验视频66段(表1)。其中,视频1~58作为训练数据,构建模型数据集;视频I~VIII作为测试数据,验证本研究方法在极限条件下的有效性。由表1可知,试验视频涉及晴天、阴天和雨天3种天气,奶牛数量为2只或3只,反刍姿势为卧姿或站姿等多种场景,且存在反刍奶牛快速摆头运动、栏杆遮挡和背景奶牛活动等干扰。其中,本研究以头部完整出现在视频中的反刍奶牛作为研究目标,其余出现在视频中的奶牛均视为背景干扰。
由表1可知,8段测试数据的时长、采集时间以及视频中反刍奶牛个数、姿势和动作均存在较大差异,且视频中除了反刍奶牛目标之外,还存在诸多干扰因素,进一步加大了奶牛嘴部区域的检测、跟踪难度。
表1 奶牛反刍视频信息
1.3 多目标奶牛嘴部区域模型构建
识别奶牛反刍行为的核心是检测嘴部区域的咀嚼运动。本研究通过跟踪奶牛嘴部区域获取咀嚼曲线以及反刍信息,达到自动监测群体奶牛反刍行为的目的,总体技术路线如图2所示,主要分为嘴部区域检测、多目标嘴部区域跟踪和反刍行为判定3个部分。第一部分以YOLOv4模型作为奶牛嘴部区域检测模型,获得嘴部上下颚2部分区域;第二部分分别采用奶牛上、下颚跟踪算法监测嘴部区域,并获取各自的运动轨迹;第三部分以上颚和下颚运动曲线的相对位移之差作为牛嘴咬合状态的判定标准,获取反刍相关信息。
1.3.1 嘴部区域检测
深度学习因其强大的特征提取能力在动物形体关键部位识别方面应用广泛[20-22]。目前,深度学习目标检测算法主要分为两类,一类是以基于区域的卷积神经网络(Region-based Convolution Neural Networks,R-CNN)[23]系列为代表的候选区域检测算法;另一类是以单次多框检测器(Single Shot MultiBox Detector,SSD)[24]和单次检测器(You Only Look Once,YOLO)[25]系列为代表的回归分析检测算法。其中,YOLOv4[26]模型具有较高的检测精度和训练速度,因此,本研究采用YOLOv4模型对奶牛嘴部区域建模,以期精准定位嘴部区域,为后续的跟踪工作奠定基础。
1)YOLOv4模型结构
YOLOv4模型在YOLOv3模型结构的基础上,对骨干网络、激活函数、数据增广、损失函数、训练方法等部分进行优化,使模型性能进一步提升。YOLOv4模型以CSPDarknet53作为主干网络,采用跨阶段局部网络(Cross Stage Partial Network,CSPNet)作为特征提取网络的主体,在加深网络获得更深层次信息的同时避免梯度爆炸;以YOLOv3模型作为头部进行预测,采用分类和回归的思想,预测类别信息以及边界框位置;引入空间金字塔模块(Spatial Pyramid Pooling,SPP)[27]改善卷积核的感受野尺寸,并结合路径融合网络(Path Aggregation Network,PAN)[28]作为颈部,收集不同的特征图,实现多尺度特征融合并改善小目标丢失的问题。
2)YOLOv4模型训练
对视频1~58(表1)采取分帧操作获得图像,并选取1 600幅图像作为YOLOv4模型数据集。采用LabelImg软件标记每幅图像中的上颚和下颚2部分区域,每幅图像中上颚和下颚目标个数相等且大于等于2。采取水平镜像、添加噪声、增强亮度和对比度的组合操作扩充数据集,使样本容量扩充到8 000幅,以增强模型的泛化能力。按照8∶1∶1的数据集划分策略,得到训练集(6 400幅)、验证集(800幅)和测试集(800幅),训练集共包含13 280个嘴部区域,测试集共包含1 680个嘴部区域。
数据集图像的分辨率均调整为608×608像素,以适应YOLOv4模型的输入。采用迁移学习思想,在预训练模型基础上进行训练,训练中采用自适应矩阵(Adaptive moment estimation,Adam)算法对模型进行优化。训练时以16幅图像为1个批次,每训练1个批次更新1次模型权重,学习率设置为0.001。训练集中的全部6 400幅图像被遍历1次称为1次迭代,总共迭代200次。
1.3.2 多目标嘴部区域跟踪
在YOLOv4模型对奶牛嘴部区域准确检测的基础上,利用跟踪算法获取视频中奶牛个体的嘴部区域运动轨迹。奶牛嘴部上颚和下颚的特征不同,且反刍时运动方式也存在较大差异,需对上颚和下颚分别采用不同的跟踪方法获取运动曲线。
1)嘴部上颚区域跟踪方法
反刍奶牛上颚区域的运动可近似为与其他物体及摄像机无关的线性运动,该运动符合Kalman滤波算法的预测应用条件[29-30]。采用YOLOv4模型获取上颚目标检测框,再利用Kalman滤波算法预测上颚目标在下一帧中的位置,结合上颚检测框和预测框的重叠度(Intersection over Union,IoU)以及Hungarian算法[31]得到跟踪结果(图3)。而针对实际养殖环境中,奶牛快速摆头运动或栏杆遮挡引发上颚标号(Identity,ID)变化的问题,本研究提出未匹配跟踪框保持及扩大的方法(图3虚线部分)。
①Kalman滤波算法
Kalman滤波算法的主要思想是根据系统前一时刻的估计值和当前时刻的观测值预估当前时刻的系统状态。采用此方法预测奶牛嘴部上颚区域的运动,可分为预测阶段和更新阶段:
预测阶段:当检测出奶牛嘴部上颚目标时,需根据上一帧上颚目标的位置预测当前帧上颚目标的位置(x|k-1)并计算其协方差矩阵如式(1)和式(2)所示:
更新阶段:对每个匹配成功的上颚目标,按式(3)~(5)根据匹配的检测位置对预测位置进行更新。
②基于重叠度(IoU)的Hungarian算法
多目标奶牛嘴部上颚区域跟踪中需将检测框与预测框进行匹配,使同一奶牛的嘴部上颚区域在连续两帧之间保持关联。考虑到Hungarian算法时间复杂度低,故用该算法对预测框和检测框进行匹配。以检测框和预测框的重叠度作为匹配依据,重叠度越大表示检测框与预测框关联性越高。IoU的计算如式(6)所示:
式中S为检测框面积(单位为像素),S为预测框面积(单位为像素)。
Hungarian算法以重叠度为关联依据建立奶牛嘴部上颚区域检测框和预测框之间的匹配关系,寻求IoU最大的一组最优匹配,如式(7)所示:
式中为检测框个数,为上颚检测框与预测框匹配对数,D、T分别为第对匹配中的上颚检测框和预测框。
③未匹配跟踪框保持及扩大方法
实际养殖场中,奶牛反刍常存在快速摆头运动和栏杆遮挡的干扰,在视觉上表现为嘴部区域消失又重现。传统的跟踪方法会将消失的嘴部目标跟踪器删除,当嘴部目标再次出现时,算法误判其为新目标,分配新的ID,造成1个嘴部区域享有多个ID。为解决这一问题,本研究提出未匹配跟踪框保持及扩大方法(Unmatched tracking box keeping and expanding,UTBKE),具体步骤如下:
步骤1:对消失的上颚目标,即未匹配的跟踪框,不进行删除操作,将其记为等待框;
步骤2:为等待框设置保持帧数,以该值记录等待框已等待的帧数。在后续帧中以等待框中心点坐标扩充其面积,每帧扩大原面积的10%,同时值增加1。
步骤3:为防止等待框无限扩大和等待时间过长,设定面积阈值(max,像素)为20 000像素、最大保持帧数max为300。当等待框面积扩充至max时,不再扩充。当≤max且消失的上颚目标再次出现并与等待框匹配成功,则上颚目标维持消失前的ID,同时清除等待框,当>max且未匹配成功,则目标彻底丢失,删除等待框。
2)嘴部下颚区域跟踪方法
反刍奶牛下颚区域的运动轨迹近似为椭圆曲线,运动较为复杂,且下颚面积小不易观测。考虑到上颚区域跟踪算法生成的ID可作为奶牛个体的标识,因此,将YOLOv4模型获取的下颚检测框作为下颚跟踪框,以上颚跟踪框和下颚跟踪框的欧氏距离作为匹配依据,将同一奶牛的上下颚区域进行关联,并为下颚分配与上颚相同的ID,具体步骤如下:
步骤1:读入视频中的1帧图像,采用YOLOv4模型获取下颚检测框。
步骤2:采用上颚区域跟踪算法跟踪上颚目标,若跟踪不到上颚目标,则不作任何处理;若成功跟踪到上颚目标,则获取上颚跟踪框位置和ID信息,下颚跟踪框中心点坐标与上颚跟踪框中心点坐标之间的欧氏距离(,像素)的计算如式(8)所示:
式中1为上颚跟踪框中心点横坐标,2为下颚跟踪框中心点横坐标,1为上颚跟踪框中心点纵坐标,2为下颚跟踪框中心点纵坐标。
步骤3:采用Hungarian算法以(上颚和下颚跟踪框中心点坐标之间的欧氏距离)为关联依据建立上颚跟踪框与下颚跟踪框之间的关系,寻求最小的一组匹配,如式(9)所示:
式中为上颚跟踪框个数,为上颚跟踪框与下颚跟踪框匹配对数,U、O分别为第对匹配中上颚跟踪框和下颚跟踪框。
步骤4:上下颚跟踪框匹配成功后,为下颚跟踪框分配与其关联的上颚跟踪框ID,由此得到下颚跟踪结果。
步骤5:循环步骤1~4,直至处理完视频所有图像。
1.3.3 反刍行为判定方法
采用本研究的奶牛嘴部区域检测-跟踪方法,可获得多个奶牛目标已关联的上下颚跟踪框,具有相同ID的上下颚跟踪框属于同一奶牛,以同一奶牛上颚和下颚跟踪框中心点纵坐标的差值Δ绘制咀嚼曲线,Δ的计算如式(10)所示
式中1为上颚跟踪框中心点纵坐标,2为下颚跟踪框中心点纵坐标。
根据咀嚼曲线可判定反刍行为。奶牛反刍行为是由嘴部上下颚两部分区域周期性咀嚼实现的。1次咀嚼运动,嘴部区域经历“闭合-张开-闭合”的过程。嘴部区域处于闭合状态时,Δ最小,对应于咀嚼曲线的极小值点;嘴部区域处于张开状态时,Δ最大,对应于咀嚼曲线的极大值点。当奶牛连续咀嚼时,上一次咀嚼结束的闭合位置是下一次咀嚼的开始位置,因此,可将咀嚼曲线上的1个极小值点到相邻的1个极大值点称为1次咀嚼。综上,基于咀嚼曲线可以获取奶牛的咀嚼次数和反刍时长。
1.4 试验平台
试验平台配置为 Intel(R) Core(TM)i9-9900CPU@ 3.40 GHz 处理器,32GB 运行内存,2T 硬盘容量,显卡为NVIDIV GeForce RTX 2080Ti,系统为Windows 10。模型代码使用Python3.6和OpenCV编写,在基于Pytorch深度学习平台实现。
1.5 奶牛嘴部区域检测模型评价指标
采用精确率-召回率(Precision-Recall,-)曲线和平均检测精度(mean Average Precision,mAP,%)评价YOLOv4模型对奶牛嘴部上颚和下颚区域的检测性能。-曲线下方的面积代表检测精度(Average Precision,AP,%),mAP代表模型对上颚和下颚2个类别的AP平均值。AP和mAP的计算与精确率(Precision,,%)、召回率(Recall,,%)有关,定义如式(11)~(14)所示:
式中TP为真实正样本数量,FP为虚假正样本数量,FN为虚假负样本数量,为类别数量,本研究设置为2,AP(n)为第类的检测精度。
1.6 多目标奶牛嘴部区域跟踪及反刍行为判定方法评价指标
为验证本研究方法对多目标奶牛嘴部区域跟踪及反刍行为监测的有效性,用如下4个指标进行评价:
1)ID变化率(IDswitch,%):上颚目标ID变化帧数N与目标出现总帧数N之比如式(15)所示,该值越小表明跟踪算法越稳定。
2)ID匹配率(IDmatch,%):上颚目标与下颚目标匹配成功的帧数N与目标出现的总帧数N之比如式(16)所示,该值越大表明下颚跟踪算法准确率越高。
3)咀嚼次数误检率(m,%):跟踪算法得到的咀嚼次数j和真实咀嚼次数j差值的绝对值与真实咀嚼次数j相除如式(17)所示,该值越小表明反刍行为监测准确率越高。
4)跟踪速度(fps,帧/s):视频总帧数Num与算法处理时间相除如式(18)所示,该值越大表明跟踪算法处理速度越快。
2 结果与分析
2.1 奶牛嘴部区域检测结果分析
为验证YOLOv4模型检测奶牛嘴部区域的准确性,分别采用Faster RCNN模型、SSD模型、YOLOv5模型在同一数据集上进行训练。训练完成后,在800幅测试集图像(包含上下颚目标各1 680个)上进行试验,检测结果如表2所示。由表2可知,YOLOv4模型的mAP值高于YOLOv5模型1.04个百分点,高于SSD模型4.25个百分点,高于Faster RCNN模型1.74个百分点。YOLOv4模型对于奶牛嘴部上颚目标的检测精度为93.92%,比YOLOv5、SSD、Faster RCNN模型分别高0.24、2.84、1.08个百分点;对于下颚目标的检测精度为92.46%,比YOLOv5、SSD、Faster RCNN模型分别高1.84、5.67、2.40个百分点。试验结果表明,相比于YOLOv5、SSD、Faster RCNN模型,YOLOv4模型更适合于奶牛嘴部区域的检测工作。
表2 不同模型对奶牛嘴部区域的检测结果
2.2 多目标奶牛嘴部跟踪及反刍行为监测结果分析
以视频I为例(表1),跟踪结果示例如图4所示。视频I中共2 307帧,其中视频I的起始帧跟踪结果如图4a所示,视频I的末尾帧跟踪结果如图4d所示,随机选取的2帧跟踪结果,分别为第735帧和第1 457帧(图4b和图4c)。视频I包含2头反刍奶牛,以ID作为区分2头奶牛目标的标识。由图4可知,通过跟踪算法获得的上下颚跟踪框位置与真实奶牛嘴部上下颚位置基本一致,不存在跟踪框偏离目标或跟踪框过大、过小的情况,且在整个视频帧序列中,2头奶牛目标的跟踪框始终跟随嘴部运动,并一直维持初始帧的ID,即左侧奶牛的ID始终为1,右侧奶牛的ID始终为2,不存在ID变化和上下颚错误匹配的情况。
以视频I为例(表1),由嘴部跟踪结果绘制的咀嚼曲线如图5所示。图5采用逐帧绘制的方式,反映视频I中2个奶牛目标的嘴部咀嚼状态,横坐标为视频帧数,纵坐标为上颚和下颚跟踪框中心点纵坐标的差值Δ。由图5可知,咀嚼曲线上4个黑色框标记的帧数内,Δ变化极小,即上下颚几乎无相对位移,可视为奶牛反刍期间的短暂休息阶段,在计算咀嚼次数和反刍时长时忽略不计。由咀嚼曲线得到奶牛反刍信息:以咀嚼曲线的开始作为反刍起始时间,咀嚼曲线的结束作为反刍终止时间,起始时间与终止时间之间咀嚼曲线规律变化的帧数代表反刍时长。由图5曲线可知,1号奶牛和2号奶牛的Δ均经历周期性变化,表明2个奶牛都处于反刍状态,从视频第1帧开始反刍,一直持续到视频最后1帧,1号奶牛共咀嚼了95次,反刍时长为2 039帧,2号奶牛共咀嚼了104次,反刍时长为2 071帧。
采用本研究跟踪算法对8个视频片段进行试验,结果如表3所示。由表3可知,IDswitch是以视频第1帧中跟踪算法自动分配的ID为标准,统计后续帧中与其不一致的情况;咀嚼次数的计算值、反刍时长的计算值由跟踪结果绘制咀嚼曲线分析得到;咀嚼次数的实际值、反刍时长的实际值由人工观测得到;反刍时长误差为计算反刍时长和实际反刍时长差值的绝对值与帧率之比。以ID变化率和ID匹配率评价跟踪结果的准确性,以咀嚼次数误检率和反刍时长误差衡量反刍行为判定方法的有效性。由表3可知,8段视频中20个奶牛目标均未出现ID变化的情况,ID变化率为0,由此说明,本研究提出的未匹配跟踪框保持及扩大的方法可有效改善奶牛ID变化的情况,保证奶牛个体嘴部区域的稳定跟踪;除视频7的2号奶牛外,其余奶牛目标均未出现上下颚错误匹配的情况,ID匹配率平均为99.89%,算法平均运行速度为31.85 帧/s;由反刍曲线计算的奶牛咀嚼次数、反刍时长与实际咀嚼次数、反刍时长具有较高的一致性,反刍时长误差平均为1.48 s,咀嚼次数误检率平均为3.07%,即咀嚼次数正确率的平均值为96.93%。综上结果表明本研究方法对多目标奶牛嘴部区域具有较高的跟踪精度,能自动监测群体奶牛的反刍行为。
表3 奶牛嘴部跟踪和反刍监测试验结果
2.3 天气情况对跟踪结果的影响
为验证阴天、雨天天气对奶牛嘴部区域跟踪结果的影响,以阴天环境的视频III和雨天环境的视频VI为例(表1),试验结果分别如图6和图7所示。由图6和图7可知,跟踪框一直跟随真实嘴部上颚和下颚区域运动,无目标丢失和ID变化的现象,表明跟踪算法对不同的天气情况具有较好的鲁棒性。
2.4 快速摆头运动对跟踪结果的影响
本研究针对反刍奶牛快速摆头运动引起ID变化的问题,提出了未匹配跟踪框保持及扩大的方法,以视频II的摆头反刍奶牛为例验证该方法的有效性。在第452帧(图8b),1号反刍奶牛发生摆头动作,头部由视野右侧向后运动,嘴部目标短暂性消失,以第451帧(图8a)的上颚跟踪框作为等待框,后续每帧扩充等待框面积,经过2 s左右,在第507帧摆头运动结束,消失的嘴部目标重新出现,并与等待框匹配成功,如图8c所示;在匹配成功后的第508帧,清除等待框,上颚和下颚跟踪框均维持之前的ID,即1号,如图8d所示。试验结果表明,本研究方法可以消除奶牛头部快速摆动对嘴部区域跟踪的干扰,从而保证奶牛个体嘴部区域的长期、稳定跟踪。
2.5 栏杆遮挡对跟踪结果的影响
奶牛以卧姿反刍时,休息区栏杆会对嘴部区域产生一定程度遮挡,如视频IV的2号奶牛。第1 042帧2号奶牛出现下颚遮挡现象(图9a),跟踪算法依然可以成功跟踪下颚目标并与上颚匹配;第1 048帧下颚近乎完全遮挡,下颚跟踪框消失,上颚跟踪框依然存在(图9b);第1 059帧下颚完全遮挡,且上颚部分遮挡,上下颚跟踪框均消失,出现上颚等待框(图9c);第1 260帧上颚重现,与等待框匹配成功,维持跟踪框消失前的ID,即2号,但下颚仍处于完全遮挡状态,没有跟踪框(图9d);第1 478帧下颚目标重现,与上颚匹配成功并分配相同的ID(图9e);第2 596帧上下颚均无遮挡,仍维持初始ID(图9f)。上述结果表明,本文提出的未匹配跟踪框保持及扩大的方法可以有效消除栏杆遮挡引起的ID变化现象,保证了嘴部区域运动轨迹的连续性。
3 结 论
1)本研究提出一种基于嘴部区域检测-跟踪的多目标奶牛反刍行为智能监测方法,采用YOLOv4模型识别奶牛嘴部上下颚区域,对比分析了Faster RCNN、SSD、YOLOv5模型对奶牛嘴部区域的检测性能。结果表明,YOLOv4模型具有较高的检测精度,上颚、下颚区域的识别准确率分别为93.92%和92.46%。
2)以Kalman滤波和基于重叠度(Intersection over Union,IoU)的Hungarian算法跟踪奶牛上颚区域,并采用基于欧式距离的Hungarian算法对同一奶牛的上下颚区域进行关联匹配,实现了多目标奶牛个体嘴部区域的稳定跟踪,算法的跟踪速度平均为31.85 帧/s,上下颚匹配率平均为99.89%。
3)根据反刍行为判定方法得到咀嚼次数和反刍时长,结果表明,咀嚼次数正确率的平均值为96.93%,反刍时长误差的平均值为1.48 s。
本研究方法在恶劣天气、奶牛快速摆头运动、栏杆遮挡和背景干扰的情况下,仍可成功跟踪嘴部区域并监测反刍行为,可为复杂多变养殖环境下奶牛反刍行为的自动监测提供技术参考。
[1] 何东健,刘冬,赵凯旋. 精准畜牧业中动物信息智能感知与行为检测研究进展[J]. 农业机械学报,2016,47(5):231-244.
He Dongjian, Liu Dong, Zhao Kaixuan. Review of perceiving animal information and behavior in precision livestock farming[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(5): 231-244. (in Chinese with English abstract)
[2] 王继儒,林清. 牛的行为特征及其在牧场精细管理中的应用[J]. 中国牛业科学,2020,46(4):80-83.
Wang Jiru, Lin Qing. The behavior characteristics of cattle and its application in cattle farm[J]. China Cattle Science, 2020, 46(4): 80-83. (in Chinese with English abstract)
[3] 郑国生,施正香,滕光辉. 基于不同行为时间的奶牛健康状况评价[J]. 农业工程学报,2019,35(19):238-244.
Zheng Guosheng, Shi Zhengxiang, Teng Guanghui. Health assessment of cows based on different behavior time[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(19): 238-244. (in Chinese with English abstract)
[4] Kovács L, Kézér F L, Ruff L, et al. Rumination time and reticuloruminal temperature as possible predictors of dystocia in dairy cows[J]. Journal of Dairy Science, 2016, 100(2): 1568-1579.
[5] Paudyal S, Maunsell F, Richeson J, et al. Peripartal rumination dynamics and health status in cows calving in hot and cool seasons[J]. Journal of Dairy Science, 2016, 99(11): 9057-9068.
[6] Rombach M, Münger A, Niederhauser J, et al. Evaluation and validation of an automatic jaw movement recorder (RumiWatch) for ingestive and rumination behaviors of dairy cows during grazing and supplementation[J]. Journal of Dairy Science, 2018, 101(3): 2463-2475.
[7] Braun U, Trösch L, Nydegger F, et al. Evaluation of eating and rumination behaviour in cows using a noseband pressure sensor[J]. BMC Veterinary Research, 2013, 9(1): 164-170.
[8] Pereira G M, Heins B J, Endres M I. Technical note: Validation of an ear-tag accelerometer sensor to determine rumination, eating, and activity behaviors of grazing dairy cattle[J]. Journal of Dairy Science, 2018, 101(3): 2492-2495.
[9] Zehner N, Umstaetter C, Niederhauser J J, et al. System specification and validation of a noseband pressure sensor for measurement of ruminating and eating behavior in stable-fed cows[J]. Computers and Electronics in Agriculture, 2017, 136: 31-41.
[10] 张爱静. 基于鼻羁压力的奶牛反刍识别方法研究[D]. 哈尔滨:东北农业大学,2019.
Zhang Aijing. Rumination Recognition Method of Dairy Cows Based on the Noseband Pressure[D]. Harbin: Northeast Agricultural University, 2019. (in Chinese with English abstract)
[11] 王莉薇,谢秋菊,刘洪贵,等. 基于多源信息感知的奶牛反刍行为可穿戴式监测装置的研究[J]. 黑龙江畜牧兽医,2019(7):47-51,164-165.
Wang Liwei, Xie Qiuju, Liu Honggui, et al. A wearable monitoring device for ruminating behavior of dairy cattle based on multi-source information sensing[J]. Heilongjiang Animal Science and Veterinary Medicine, 2019(7): 47-51, 164-165. (in Chinese with English abstract)
[12] Shen W, Zhang A, Zhang Y, et al. Rumination recognition method of dairy cows based on the change of noseband pressure[J]. Information Processing in Agriculture, 2020, 7(4): 479-490.
[13] 陈春玲,杨天娇,郭雷,等. 支持向量机在舍饲肉牛反刍行为分析中的应用[J]. 沈阳农业大学学报,2017,48(6):751-756.
Chen Chunling, Yang Tianjiao, Guo Lei, et al. Application of SVM in cattle ruminant behavior analysis[J]. Journal of Shenyang Agricultural University, 2017, 48(6): 751-756. (in Chinese with English abstract)
[14] Chelotti J O, Vanrell S R, Galli J R, et al. A pattern recognition approach for detecting and classifying jaw movements in grazing cattle[J]. Computers and Electronics in Agriculture, 2018, 145: 83-91.
[15] 任晓惠,刘刚,张淼,等. 基于支持向量机分类模型的奶牛行为识别方法[J]. 农业机械学报,2019,50(增刊1):290-296.
Ren Xiaohui, Liu Gang, Zhang Miao, et al. Dairy cattle's behavior recognition method based on support vector machine classification model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(Supp.1): 290-296. (in Chinese with English abstract)
[16] Chen Y, He D, Fu Y, et al. Intelligent monitoring method of cow ruminant behavior based on video analysis technology[J]. International Journal of Agricultural and Biological Engineering, 2017, 10(5): 194-202.
[17] 宋怀波,牛满堂,姬存慧,等. 基于视频分析的多目标奶牛反刍行为监测[J]. 农业工程学报,2018,34(18):211-218.
Song Huaibo, Niu Mantang, Ji Cunhui, et al. Monitoring of multi-target cow ruminant behavior based on video analysis technology[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(18): 211-218. (in Chinese with English abstract)
[18] Mao Y, He D, Song H. Mouth region detection of ruminant cows based on machine vision and video analysis technology[J]. International Journal of Agricultural and Biological Engineering, 2019, 12(1): 186-191.
[19] 邵大富. 奶牛反刍行为变化规律及其影响因素的相关性研究[D]. 长春:吉林大学,2015.
Shao Dafu. Researches on Variation of the Rumination and its Influencing Factors in Lactating Cows[D]. Changchun: Jilin University, 2015. (in Chinese with English abstract)
[20] 宋颢,杨裔,郭鑫波,等. 深层神经网络在家畜反刍行为识别上的应用[J]. 科学技术与工程,2017,17(2):239-242.
Song Hao, Yang Yi, Guo Xinbo, et al. Application of deep neural network on the livestock ruminating behaviour recognition[J]. Science Technology and Engineering, 2017, 17(2): 239-242. (in Chinese with English abstract)
[21] 燕红文,刘振宇,崔清亮,等. 基于改进Tiny-YOLO模型的群养生猪脸部姿态检测[J]. 农业工程学报,2019,35(18):169-179.
Yan Hongwen, Liu Zhenyu, Cui Qingliang, et al. Detection of facial gestures of group pigs based on improved Tiny-YOLO[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(18): 169-179. (in Chinese with English abstract)
[22] 赵凯旋,何东健. 基于卷积神经网络的奶牛个体身份识别方法[J]. 农业工程学报,2015,31(5):181-187.
Zhao Kaixuan, He Dongjian. Recognition of individual dairy cattle based on convolutional neural networks[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2015, 31(5): 181-187. (in Chinese with English abstract)
[23] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6): 1137-1149.
[24] Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Cham: Springer, 2016.
[25] Redmon J, Farhadi A. YOLO9000: Better, faster, stronger[C]//IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017.
[26] Bochkovskiy A, Wang C Y, Liao H Y M. YOLOv4: Optimal speed and accuracy of object detection[DB/OL]. [2020-04-23]. http://www.arXiv.org/abs/2004.10934.
[27] He K, Zhang X, Ren S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[28] Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018.
[29] Kalman R E. A new approach to linear filtering and prediction problems[J]. Journal of Basic Engineering, 1960, 82(3): 35-45.
[30] 刘军,后士浩,张凯,等. 基于增强Tiny YOLOV3算法的车辆实时检测与跟踪[J]. 农业工程学报,2019,35(8):118-125.
Liu Jun, Hou Shihao, Zhang Kai, et al. Real-time vehicle detection and tracking based on enhanced Tiny YOLOV3 algorithm[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(8): 118-125. (in Chinese with English abstract)
[31] Kuhn H W. The Hungarian method for the assignment problem[J]. Naval Research Logistics, 2010, 52(1): 7-21.
Multi-target cow mouth tracking and rumination monitoring using Kalman filter and Hungarian algorithm
Mao Yanru1,2,3, Niu Tong1,2, Wang Peng1,3, Song Huaibo1,2,3, He Dongjian1,2,3※
(1.712100,; 2.712100,; 3.,712100,)
Rumination enables cows to chew grass more completely for better digestion, thereby closely relating to the health, production, reproduction, and welfare of cows. To perceive ruminant behavior has widely been one of the most important steps in modern dairy farm management. However, the traditional monitoring ruminant behavior of cows depends mainly on human labor, time-consuming and laborious. In this study, feasible intelligent monitoring was proposed for multi-target automatic tracking mouth and ruminant behavior of cows in the complex environment of dairy farms using the Kalman filter and Hungarian algorithm. The upper and lower jaw regions of cow mouths were firstly recognized by the YOLOv4 model. Subsequently, the region of the upper jaw was tracked by the Kalman filter and Hungarian algorithm. The chewing curve of the mouth region was then obtained to match the upper and lower jaw regions of the same cow. Finally, the related rumination information was achieved to further realize the mouth tracking and ruminant behavior monitoring of multi-target cows. As such, the unmatched tracking boxes were remained and expanded to deal with the identity change of cows caused by rapid head swing or shed railing occlusion. 66 videos were collected for ruminant cows in the actual farm environment, where 58 videos were divided into frames to make the dataset for the YOLOv4 model, and the remaining 8 videos were used to verify the tracking and rumination behavior. Videos data was involved sunny, cloudy, and rainy days, in which the number of cows varied from 2 to 3. Lying or standing was included in the ruminant posture of cows. Additionally, there were some interference factors, such as the rapid head swing of ruminating cows, shed railing occlusion, and the movement of other cows. Two indexes were selected to evaluate the detection performance of the YOLOv4 model, including average precision and mean average precision. 6 400 images of the dataset were trained, and 800 images were tested. The results showed that the average precisions of the YOLOv4 model were 93.92% and 92.46% for the detection of the upper and lower jaw region, respectively. The mean average precision of YOLOv4 reached 93.19%, which was 1.04, 4.25, and 1.74 percentage points higher than that of YOLOv5, SSD, and Faster RCNN models, respectively. Four indexes were selected to verify the performance of tracking and rumination behavior under different environments, including the rate of identity switch, the rate of identity match, the detection rate of chewing times, and the tracking speed. It was found that the YOLOv4 model realized the stable multi-target tracking of mouth regions of cows in complex environments, while effectively alleviating the identity change of cows resulted from the rapid head swing and shed railing occlusion. The average rate of identity match was 99.89% for the upper and lower jaws, and the average tracking speed was 31.85 frames/s. The average detection rate of chewing times was 96.93% after the evaluation of rumination behavior, and the average error of rumination time was 1.48 s. This finding can provide a strong reference for the intelligent monitoring and ruminant behavior of multi-target cows (or moving parts of animals) in actual breeding.
machine vision; image recognition; cows; algorithms; ruminant behavior; mouth region; multi-target tracking; YOLOv4
毛燕茹,牛童,王鹏,等. 利用Kalman滤波和Hungarian算法的多目标奶牛嘴部跟踪及反刍监测[J]. 农业工程学报,2021,37(19):192-201.doi:10.11975/j.issn.1002-6819.2021.19.022 http://www.tcsae.org
Mao Yanru, Niu Tong, Wang Peng, et al. Multi-target cow mouth tracking and rumination monitoring using Kalman filter and Hungarian algorithm[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(19): 192-201. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2021.19.022 http://www.tcsae.org
2021-04-12
2021-06-18
陕西省重点产业创新链(群)-农业领域项目资助(No.2019ZDLNY02-05);国家重点研发计划资助项目(2017YFD0701603);中央高校基本科研业务费专项资金资助(No.2452019027)
毛燕茹,研究方向为机器视觉与农业智能化检测。Email:maoyanru521@163.com
何东健,教授,研究方向为智能检测与农业信息技术。Email:hdj168@nwsuaf.edu.cn
10.11975/j.issn.1002-6819.2021.19.022
TP391.4
A
1002-6819(2021)-19-0192-10