基于热红外视频的奶牛跛行运动特征提取与检测
2021-03-11李树东张旭东
康 熙,李树东,张旭东,刘 刚
(1. 中国农业大学信息与电气工程学院,北京 100083; 2. 中国农业大学现代精细农业系统集成研究教育部重点实验室,北京 100083; 3. 中国农业大学农业农村部农业信息获取技术重点实验室,北京 100083)
0 引 言
奶牛跛行不仅影响奶牛产奶量,还会降低奶牛生活福利和繁殖能力,提高淘汰率[1-4]。美国高盛研究报告《人工智能与精准农业》中显示,奶牛平均跛行率为23.5%,每年造成经经济损失达到110 亿美元[5],奶牛跛行对奶牛养殖和国家乳业发展都有很大影响[6]。人工检测奶牛跛行依赖观察者主观性因素,费时费力,因此开展奶牛跛行的早期检测、自动检测具有重要研究意义[7-10]。
计算机视觉技术在奶牛跛行检测领域中,由于其适中的价格和非接触的检测模式,近年来成为奶牛跛行检测的主流研究手段[11-12],国内外学者对此进行了大量的研究。Pluk 等[13]采用可见光(2D,two-dimensional)相机采集奶牛行走弓背曲率,通过曲率大小判断奶牛跛行程度。Song 等[14-15]采用可见光相机跟踪牛蹄轨迹实现了奶牛跛行检测。He 等[16-17]改进了传统图像处理方法及机器学习技术以提高图像处理中奶牛定位精度。宋怀波等[18]采用头颈部曲率拟合方法检测奶牛跛行。Kang 等[19-20]为避免奶牛个体特异性对跛行的影响,提出了基于可见光视频的支撑相跛行检测的方法。Viazzi 等[21-22]提出了利用深度(3D,three-dimensional)相机测量奶牛弓背曲率检测奶牛跛行的方法,验证了深度相机跛行检测的可行性。Orman 等[23]利用热红外相机检测奶牛牛蹄温度,通过其温度变化判断牛蹄是否发炎并存在跛行。尹玉[24]基于可见光图像,构建了基于支持向量机和奶牛行走速度的奶牛跛行检测模型。
深度学习技术可以自动地从数据中生成特征来执行目标识别和分类任务,具有精度高及响应快等优点[25]。因此,对于基于计算机视觉技术的奶牛个体识别和跛行检测研究具有重要意义。Guzhva 等[26]提出了一种基于卷积神经网络的奶牛个体自动跟踪方法。Jiang 等[25]建立了FilterLayer YOLOv3 网络,可以在复杂的环境条件下准确检测奶牛的关键部位。Fuentes 等[27]基于深度学习技术,提出了一种利用时空信息识别奶牛行为的方法,可以有效识别15 种不同的奶牛行为。Jiang 等[28]提出了一种单流长期光流卷积网络,利用光流信息反映奶牛行走时全身的运动信息,提高了奶牛行为识别的准确性。
通过分析前人针对计算机视觉奶牛跛行检测的研究可知,用于奶牛运动特征参数获取的相机主要包括可见光相机和深度相机。深度相机一般放置在通道上方,可以有效的检测奶牛背部变化,然而无法拍摄奶牛步态变化,限制了其检测精度[12,29]。可见光相机一般放置于通道一侧,可以对奶牛整体进行拍摄,获取其头部、背部及腿部等关键位置图像,由此计算包括点头、弓背及步态不均匀等运动特征。然而可见光相机受光线、环境因素影响较为严重,当光线较强或黑夜时,图像会出现曝光模糊或黑暗的现象[25],当牛场背景复杂或变化时,会影响奶牛特征信息提取精度[21,25]。热红外相机同样也可以对奶牛跛行进行检测,由于奶牛蹄部感染引起的炎症会导致其表面温度升高,一些研究通过比较热红外图像中患肢的温度变化,检测奶牛蹄病[30]。但这种方法需要近距离拍摄局部温度以确保温度准确,需要人为操作,效率较低,不适用于系统的、实时的跛行检测,并且这种方法主要属于测温技术,没有有效利用热图像中的奶牛图像信息[12]。因此,亟需探究一种针对环境因素影响鲁棒性强、获取跛行信息完整的计算机视觉检测方法,用于提高奶牛跛行检测精度和应用性。
本文针对以上问题,拟在计算机视觉奶牛跛行检测系统的基础上,分析热红外相机代替可见光相机搭建计算机视觉系统对奶牛跛行运动特征获取的可行性和优势,提出了一种利用热红外视频获取奶牛跛行运动特征的方法,旨在有效避免光照、环境变化对基于计算机视觉的奶牛跛行检测系统的影响,提高奶牛跛行运动特征获取的准确性,并通过试验验证了该方法的准确性和鲁棒性。
1 材料与方法
1.1 试验数据来源
1.1.1 图像获取
试验数据于2020 年9 月26-28 日采集于河北鼎源牧业养殖场,采集对象为处于泌乳中期的美国荷斯坦奶牛。采集系统如图1 所示,奶牛养殖场育成牛在挤奶后,需要依次通过通道走出挤奶厅,故在通道一侧适宜位置安装高分辨率可见光摄相机(Panasonic DC-GH5S,松下,日本)与热红外相机(Flir T620,菲力尔,美国),调整焦距和角度使相机可以完整录制奶牛行走过程,并连接工控机用于收集奶牛行走视频。可见光摄像机分辨率为1 920×1 080 像素,帧率为50 帧/s;热红外相机分辨率为640×480 像素,帧率为15 帧/s。视频数据采集工作在每天中午、晚上奶牛2次挤奶后进行,共采集368 头奶牛行走视频(如图2 所示)。
1.1.2 数据标定与运动评分
本文旨在探究不同相机所获取的奶牛行走视频在特征提取和跛行检测算法中的效果,因此对视频中的奶牛特征位置进行了手动的数据标定,如图3 所示。
在奶牛跛行检测研究中,奶牛跛行程度通常使用运动评分表示,运动评分越高说明跛行越严重[31],本文数据由两名专业的观察员对奶牛进行运动评分,评分方式采用简化标准,即等级1 表示无跛行,等级2 表示轻中度跛行,等级3 表示重度跛行[32-33]。观察者根据奶牛行走视频对每头奶牛的运动情况进行评分,用于表征跛行情况。
1.2 奶牛运动特征提取与跛行检测
1.2.1 运动特征提取
为了对比热红外相机与可见光相机应用于计算机视觉奶牛跛行检测系统的表现和效果,本文针对2 种相机所录制的视频,探究了用于跛行检测的奶牛关键身体部位的目标识别效果。
由于奶牛运动系统是一个整体且会随时间变化[34],根据对前人研究的分析,奶牛跛行时身体部位会发生明显的运动学变化,例如点头、弓背及步态不均匀等[12]。因此本文选择了几处能较好的表达跛行特征的身体部位,包括头部、肩部、背部、臀部和蹄部,作为跛行运动特征部位。
在目标识别的算法选择上,前人针对基于计算机视觉技术的奶牛跛行检测研究,奶牛图像中特征的获取方法包括传统的图像处理方法[15-16]和深度学习算法[25]。本文选择了传统图像处理和深度学习2 种方法用于相机间的对比,以保证检测的全面性和普适性。传统的图像处理方法选择基础且应用较广的三帧差法,并根据图像情况增加了核密度估计;深度学习选择YOLOv4 网络,具有速度快、精度高并适用于规模化生产环境[35]等优点。
2 种检测方法所用数据集相同,均为热红外相机与可见光相机同时录制的奶牛行走视频,人工选择30 头不停顿、不快跑的自然行走奶牛的视频,经过分帧后,最终获得热红外图像1 400 张,2D 白天图像1 400 张,2D 夜晚图像1 400 张,所有均图像为连续的,并没有进行抽帧处理。
本文的研究是针对农场中的奶牛,奶牛的等热区(适宜的温度范围)为10~21 ℃,当外界温度高于该范围后,奶牛会产生热应激,影响奶牛泌乳性能,因此农场会安装遮阳和降温设备以保证环境温度的适宜。奶牛的体温在38 ℃以上,与环境温度差异较大,因此利用热红外相机获取奶牛运动信息时,受环境温度影响较小[36]。并且由于检测环境普遍为半开放室内,不存在日光直射,白天和夜晚的变化对热红外成像影响较小,但会影响可见光相机成像。因此本文仅将可见光相机获取的图像分为了白天与黑天两部分。
1)基于三帧差法的运动特征提取算法
图4 为本算法的技术路线图,首先通过核密度估计对奶牛视频帧图像进行背景建模,然后利用三帧差法对运动奶牛轮廓进行提取,将其与核密度估计建立的背景进行逻辑或操作,最后根据奶牛各部位的空间位置关系,通过连通域的外接矩形提取奶牛的运动特征。
核密度估计采用核函数对视频帧序列中每个像素点的分布规律进行统计学分析,从而建立动态背景,是近年来广泛应用的非参数密度估计法。高斯函数可以充分反映随机变量的概率分布,生成平滑的密度函数曲线,因此本研究采用高斯函数作为核函数。则概率密度函数p(xt)如公式(2)所示。
式中j为图像维度;xtj为当前像素xt在j维度上的值;xij为第i个采样点的像素xi在j维度上的值;σj为像素在j维度的方差。
根据概率密度函数p(xt),背景和前景运动目标的判别如式(3)所示。
式中T为前景分割阈值,其中,Mt(x,y)为0 代表背景像素,Mt(x,y)为1 代表运动目标像素。
三帧差法首先对三帧图片进行灰度变换,然后再分别进行帧差处理,用第n帧灰度图像减去第n−1 帧灰度图像,得到二值图像P1(x,y),用第n−1 帧灰度图像减去第n−2 帧灰度图像,得到二值图像P2(x,y),最后将P1(x,y)和P2(x,y)进行逻辑与操作,如式(3)~(5)所示。
式中fn(x,y)为第n帧灰度图像;fn−1(x,y)为第n−1 帧灰度图像;fn−2(x,y)为第n−2 帧灰度图像;P(x,y)为二值图像P1(x,y)和P2(x,y)进行逻辑与操作后的结果图。
本研究通过判断外接矩形的位置来确定奶牛部位。连通域中的最大外接矩形为奶牛身体主干,主干上侧为奶牛肩部、背部和臀部特征位置,主干下侧为奶牛蹄部特征位置,主干包含了奶牛头部特征位置。针对奶牛头部位置的提取,以主干连通域为标准,获取其最左侧的连通域作为奶牛头部位置,将奶牛头部定位框的左边界中心点作为头部特征点;针对奶牛蹄部位置的定位,提取主干下侧的连通域作为蹄部位置,将奶牛蹄部的下边界中心点作为蹄部特征点。将主干上侧的连通域的左边界中心点作为奶牛肩部特征点,主干上侧的连通域的右边界中心点作为奶牛臀部特征点,主干上侧的连通域的上边界中心点作为奶牛背部特征点。
2)基于YOLOv4 的运动特征提取算法
图5 为YOLOv4 主干特征提取网络。YOLOv4 采用CSPDarknet53 作为主干网络,从而在提高训练速度的基础上也提高了目标检测的精度[37]。YOLOv4 在CSPDarknet 上加入了空间金字塔池化模块(Spatial Pyramid Pooling,SPP)[38],改善了感受域尺寸,在保证了检测速度同时提高了对于特征提取的能力。此外,YOLOv4 选择路径聚合网络(Path Aggregation Network,PAN)[39]进行多通道融合。PAN 网络加入了上下采样的路径增强,防止部分信息在特征融合中丢失,使最终获取到的信息既包含底层特征又包含语义特征,提高检测精度[40]。
同时,YOLOv4 引入了2 大类模块来增强目标检测精度。第一类为提高精度但不增加推断时间的模块(Bag of Freebies,BoF),这其中包括Cutout 和Mosaic 数据增强等。第二类是牺牲一定时间提高精度的模块(Bag of specials),这其中包括激活函数Mish,退火训练等。这些模块进一步提高了YOLOv4 的检测精度[41]。
试验平台操作系统为Windows10,模型在NVIDIA GeForce RTX 2070 with Max-Q GPU 上进行训练和测试,运行内存为16 GB,显存容量为8 GB。本试验采用YOLOv4 作为奶牛运动特征提取框架。将数据按8:1:1 的比例分为训练集、验证集和测试集。模型会将输入图像从原有的1 920×1 080 调整到416×416。模型选用Adam优化器,激活函数为Mish 函数,经过手动调整,初始批处理设置为32,训练共包含150 个迭代(完成了一次前向计算和反向传播的过程)。本文采用学习率机制,初始学习率为1×10-3,衰减速率为学习停滞时当前学习率的1/10。传播次数达到100 次时,批处理设置为4,学习率随模型迭代继续衰减。
1.2.2 奶牛跛行检测
为了对比2 种相机用于奶牛跛行检测系统中的跛行检测能力,本文利用2 种相机所采集的奶牛关键位置数据进行跛行检测,并且由于深度学习特征提取效果优于传统图像处理方法[25],因此选择深度学习所提取的跛行特征。
检测方法选择计算机视觉奶牛跛行检测研究中普遍使用的弓背检测方法,因为跛行奶牛会出现弓背以补偿负重和疼痛,即可以利用奶牛行走过程中的弓背曲率判断是否跛行,并根据弓背程度对跛行等级进行分类[42]。通过肩部、背部和臀部3 个点可以计算拟合圆的半径R,弓背曲率用k表示,为R的倒数,即k=1/R[43]。
首先利用人工标定的方法获取奶牛的弓背曲率准确值k;利用boxcox 变换对弓背曲率数据进行处理并拟合成高斯曲线;最后,根据3 个跛行等级奶牛的弓背曲率高斯分布,设置置信度为0.95,利用深度学习所提取的特征,计算奶牛弓背曲率k进行异常检测,实现跛行分类。
2 结果与分析
2.1 帧差法结果分析
本文利用核密度估计和三帧差法提取奶牛运动特征,分别在热红外(Infrared)、2D 白天(Daylight)和2D 夜晚(Night)3 种数据集上进行了测试。运动特征为奶牛头部(Head)、蹄部(Hoof)、背部(Back)、臀部(Hip)和肩部(Shoulder),一共5 类。本文利用Precision Plot(精度测算)方法对帧差法结果进行评价。Precision Plot 测算方法以像素点为单位,计算每一个算法估计位置与人工标记点之间的欧氏距离,设定欧式距离阈值,结果为小于特定阈值的视频帧百分比。3种数据集的精确度曲线如图6所示。
在阈值为30 像素以内的平均精确率如表1 所示,基于核密度估计和三帧差的检测方法在热红外数据集上的平均精确率为74.26%,高于可见光白天数据集19.95 个百分点,高于可见光夜晚数据集25.31 个百分点。并且,在热红外数据集下训练的模型在一共5 类奶牛运动特征上的精确度值都高于可见光白天和夜晚的数据集。
表1 不同数据集下的平均精确率Table 1 mAP and average accuracy precision for different data sets%
通过分析可知,由于奶牛运动特征提取依赖于奶牛边缘轮廓特征提取。夜晚缺乏光照,奶牛边缘轮廓与背景十分相似,使前景与背景区分困难,精确度相较最低。白天可以提取到更多颜色与边缘细节,但容易受到光照突变的影响,使奶牛边缘轮廓更容易与背景混淆。热红外图像通过温差分割出目标与背景,边缘轮廓不会受光照影响,奶牛图像信息与背景差别明显,故识别效果最好。
图7 为算法检测结果,图7a 为奶牛热红外图像检测结果,图7b 为白天的奶牛可见光图像检测结果,图7c为夜晚的奶牛可见光图像检测结果。如表1 可知,基于热红外图像的奶牛各部位检测效果最好。夜晚光照不足使可见光图像中奶牛边缘轮廓和背景难以区分,奶牛蹄部、头部和肩部检测不完整,白天光照使奶牛边缘轮廓扩大,蹄部、头部和臀部检测过多,导致奶牛运动特征提取误差较大。
2.2 深度学习结果分析
本文以相同的YOLOv4 深度学习模型,在2D 白天(Daylight)、2D 夜晚(Night)和热红外(Infrared)3 种数据集上进行训练和检测。奶牛的运动特征设为奶牛头部、蹄部、背部、臀部、肩部,一共5 类。置信度设为0.05,检测阈值设为0.5,即设定预测框与人工标签框的面积交并比(IOU, Intersection over Union)大于0.5 为预测准确,选取训练过程中表现最优的模型在测试集上进行测试。
本文采用平均精确率(Average Precision, AP)和总体平均精确率(Mean Average Precision, mAP)作为衡量不同数据集下目标检测模型提取奶牛运动特征的评价指标。此外,本文还使用精确率-召回率曲线(Precision-Recall, P-R curve),衡量模型在同一数据集下对奶牛各个特征的检测性能。
由表2 可知,YOLOv4 目标检测模型在热红外数据集上的总体平均精确率mAP 值为90.84%,高于白天数据集4.16 个百分点,高于夜晚数据集11.16 个百分点。并且,在热红外数据集下训练的模型在一共5 类奶牛运动特征上的平均精确率AP 都高于白天和夜晚的数据集。
表2 不同数据集下测试集识别的平均精确率与总体平均精确率Table 2 mAP and average precision of test set by different data set%
分析可知奶牛运动特征提取对奶牛部位的轮廓与位置信息更敏感。轮廓信息为奶牛在图像中的轮廓,位置信息是奶牛部位在奶牛全身的相对位置。夜晚缺乏光照,同时相机处于逆光处拍摄,致使奶牛轮廓与图像均不清晰,很难与背景进行区分,进而精度相较最低。白天可以提取到更多颜色与图像细节,但是这也让奶牛轮廓更容易与背景混淆,反而对奶牛特征提取有副作用。热红外图像通过温差分割出目标与背景,轮廓与位置信息不会受光照和背景的影响,奶牛图像信息与背景差别明显,故识别效果最好。但是热红外图像仍会受到栏杆等遮挡物的影响,使肩部和臀部检测效果不佳。
图8 为热红外、白天和夜晚3 种数据集对于奶牛运动特征检测的P-R 曲线。头部、蹄部、背部这3 种特征在3 种数据集中均基本覆盖了整个坐标系,而臀部与肩部在3 个数据集上都没有覆盖全部坐标系。头部、蹄部、背部这3 种特征部位在YOLOv4 深度学习模型下检测效果总体优于臀部与肩部。其中,头部在3 个数据集下都覆盖了最大面积,是奶牛运动特征检测效果最优的部位。
通过分析可知,奶牛头部轮廓与位置特征明显易辨,在黑夜中逆光检测也可以获得良好的效果。奶牛蹄部常于地面接触,位置信息稳定,但是部位较小,轮廓信息依赖于地面与蹄部的色差。奶牛背部位置信息稳定,虽然背部部位很大,但是经常会被栏杆遮挡,使轮廓信息减少。奶牛臀部与肩部都是小部位,位置信息会受到奶牛体态影响,轮廓信息会受到奶牛体态和栏杆遮挡等多方面的影响,使得检测精度降低。对于提高奶牛蹄部、肩部、臀部等小部位目标检测的算法需要在未来进行进一步的讨论研究与优化。
为了进一步验证YOLOv4 模型对奶牛运动特征的提取性能,选用了前期研究中常用的深度学习目标检测模型,包括YOLOv3,Fast-RCNN 和Efficientdet[37,44-45]在此次数据集上进行对比。这4 种模型在热红外数据集上进行统一训练,通过热红外测试集的总体平均精确率(mAP)与每秒检测帧数(fps,frame per second)来进行对比。由表3 可以看出YOLOv4 在奶牛跛行检测精度是这4 个模型中最优秀的。从检测速度上来说,YOLOv4与YOLOv3 在奶牛跛行检测速度相较于Fast R-CNN 与Efficientdet 更快,说明这2 个模型都适用于奶牛跛行的实时检测。其中,YOLOv3 识别速度相较于YOLOv4 会更快,分析其原因是YOLOv3 网络深度更低。YOLOv4模型的检测精度相较于YOLOv3 模型更高。因奶牛特征提取目前需要更精确地网络模型,故最终选择精度更高的YOLOv4。
表3 热红外数据集下不同模型在测试集上的总体平均精确率与每秒检测帧数(fps)Table 3 mAP and frame per second (fps) of test set in infarred dataset by different models
图9 为部分深度学习测试结果,横向对比各类检测结果可知,栏杆遮挡会影响奶牛图像的提取。栏杆有可能会遮挡住肩部、背部和臀部,进而使深度学习模型无法进行识别,影响奶牛特征的提取。奶牛体态也会影响对于肩部、蹄部和背部的检测。如图9a,奶牛弓背状态下更容易检测到肩部。如图9b,奶牛在转弯扭动时,模型对于肩部、背部、蹄部和头部的检测会下降。对比可知,模型在奶牛低头直行前进的时表现最好。
对比不同数据集的检测结果,可知基于热红外数据训练出来的模型在奶牛各部位的检测结果置信度最高。对比夜晚图9a中对于奶牛肩部与图9c中对于奶牛蹄部检测结果分析可知,晚间光照不足会影响模型对于奶牛运动特征的提取,从而导致检测效果不理想。
2.3 跛行检测结果分析
本文随机选择160 头人工标定运动评分的奶牛用于建立高斯分布函数。弓背曲率通过boxcox 变换后进行高斯拟合结果如图10 所示。
热红外 3 条拟合的高斯曲线平均相关系数为98.55%,可见光拟合的3 条高斯曲线拟合平均相关系数为98.82%,说明弓背曲率通过boxcox 变换后分布接近高斯分布。其中拟合最好的是奶牛处于跛行等级1 时,热红外和可见光的相关系数都大于99%,相比之下,跛行等级为2 和3 拟合效果一般。分析其原因在于大部分养殖场的奶牛处于健康状态,患跛行的奶牛占少数,故跛行等级2 与跛行等级3 的奶牛数据集相对较少,后续研究需要采集更多跛行奶牛的数据。综上,人工定位的弓背曲率通过boxcox 变换后近似视为高斯分布,作为后续判断跛行等级的概率密度曲线。
本文通过boxcox 变换将弓背曲率集映射到高斯分布,建立了弓背曲率到跛行等级的映射关系。随机选择了3 个运动评分等级各20 头奶牛的热红外和可见光数据,共60 头标定了真实值的奶牛数据用于跛行检测。奶牛行走过程中背部姿态变化较小,选择每头奶牛身体完全进入图像后,处于三足支撑并且前蹄刚离开地面的一帧用于后续的弓背曲率提取。利用YOLOv4 深度学习模型获取奶牛肩部、背部和臀部目标框,并利用目标框中心点代表该部位坐标,使用三点坐标计算拟合圆半径与弓背曲率。将由弓背曲率推测出的跛行等级与真实跛行等级进行对比,根据3 个跛行等级奶牛的弓背曲率高斯分布,设置信度为0.95,即奶牛弓背曲率位于高斯函数95%分布区间,则将奶牛跛行程度分类为该跛行等级,得到跛行分类效果混淆矩阵如表4 所示。
表4 热红外和可见光跛行分类效果混淆矩阵Table 4 Classification effect confusion matrix of Lameness in Infrared and 2D
表4 是热红外和可见光的跛行分类效果,纵列表示人工标定的真实跛行等级,横列表示推测的跛行等级,中间数字表示预测值对应真实值的个数,通过个数计算精度(Accuracy)、精确率(Precision)、召回率(Recall)和平衡分数Macro-F1 评价分类效果,其计算如式(6)~(10)所示。
式中TP 为正确检测出该跛行等级奶牛的个数,TN 为正确检测出非该跛行等级奶牛的个数,FP 为非该跛行等级奶牛被误检为该等级的个数,FN 为该跛行等级奶牛被误检为非该等级的个数。
热红外数据下Macro-F1为0.90,精度为90.0%。等级1 的F1-Score 为0.93,等级2 的F1-Score 为0.88,等级3 的F1-Score 为0.89。可以说明本文模型可以在热红外数据集下对所有奶牛的跛行进行检测,其中对等级1的奶牛有相对良好的检测效果。
可见光数据下Macro-F1为0.83,精度为83.3%。跛行等级1 的F1-Score 为0.88,等级2 的F1-Score 为0.84,等级3 的F1-Score 为0.77。其中同样对跛行等级1 的奶牛有相对良好的检测效果。热红外与可见光两组数据集在等级1 使得表现都是其中最好的,等级2、3 效果相对一般。
对比热红外与可见光两组数据下的分类效果,可知热红外Macro-F1高于可见光0.07,精度高于可见光约7个百分点。热红外3 类跛行等级中F1皆大于等于可见光中的F1。结果说明热红外视频对于跛行检测能力综合优于可见光视频。可见光受光照等环境影响大,丰富的色彩等细节信息在跛行检测中重要程度不高。相比热红外受环境影响小,通过热成像可以清晰表述重要的图像轮廓信息,便于弓背曲率等跛行姿态指标的分析,进而拥有相对更加良好的效果。
3 结 论
为了解决计算机视觉奶牛跛行检测系统易受光线、环境变化因素影响的问题,本文提出了一种基于热红外视频的奶牛跛行运动特征获取与检测的方法,所取得的结论如下:
通过对比热红外视频与可见光视频在奶牛跛行检测系统中的表现,本文发现算法对于热红外奶牛行走视频有更好的检测效果。在奶牛运动特征检测的对比中,本文使用30 头奶牛行走视频的分帧图像,包括热红外图像、2D 白天图像和2D 夜晚图像各1 400 张用于特征提取对比,深度学习和传统图像处理方法对热红外数据集的检测总体平均精确率达到90.84%和74.26%,远超于可见光(白天)及可见光(夜晚)。相较于可见光相机,热红外相机在光照和环境变化的情况下对跛行特征提取效果更好;
在奶牛跛行检测的对比试验中,本文使用60 头奶牛的弓背曲率进行跛行检测,对热红外数据集的检测精度达到90.0%,平衡分数Macro-F1达到0.90,对可见光数据集的检测精度为83.3%,平衡分数Macro-F1为0.83。研究表明相较于可见光相机,热红外相机应用于计算机视觉奶牛跛行检测系统可以更好的实现奶牛跛行运动特征获取与跛行检测,该研究结果可为计算机视觉奶牛跛行检测研究提供新方法与思路。同时,通过奶牛运动特征检测的研究也可以发现,由于奶牛的肩部和臀部面积较小、图形特征不明显并且存在栏杆遮挡,现有方法的检测效果仍有待提高,尚需进一步深入研究。