APP下载

基于机器视觉的母猪哺乳行为监测方法研究

2022-04-01刘亚楠沈明霞刘龙申陈佳张伟

南京农业大学学报 2022年2期
关键词:时间段哺乳姿态

刘亚楠,沈明霞,刘龙申,陈佳,张伟

(南京农业大学工学院/江苏智慧牧业装备科技创新中心,江苏 南京 210031)

随着生猪规模化养殖的发展,母猪哺乳行为时长监测已成为研究热点。实时监测母猪的哺乳行为,精确记录仔猪的哺乳时间段和哺乳仔猪数量,不仅能提高仔猪的成活率,而且能反映母猪的体况和后续繁育能力[1]。甘海明等[2]通过 Mask R-CNN和ResNet101+FPN网络输入图像序列,识别母猪姿态,确定母猪关键点并根据关键点框选哺乳行为感兴趣区域,结合时空特征信息进行母猪哺乳行为的识别。薛月菊等[3]运用光流法,结合DeepLab卷积网络对提取的视频关键帧进行分割,定位母猪哺乳感兴趣区间,设置识别单元提取仔猪运动分布指数和仔猪运动特征等,实现母猪哺乳行为的自动识别。机器视觉多运用在监测猪只生理情况[4-7],评价猪只福利水平[8-11]方面。Lao等[12]获取哺乳母猪图像的深度数据,运用像素平均值的方法,提取出目标哺乳母猪,将其身体划分为不同区域,通过计算区域深度平均值,达到识别哺乳母猪姿态(站、坐、跪和卧等)的目的。Nasirahmadi等[13]利用背景减法将目标猪只从二维图像提取出,通过对猪只边界和凸包的定位与计算,将侧卧和胸卧两种姿态的边界和凸包面积周长输入线性SVM分类器,对猪只姿态进行监测识别,自动评分分类准确度达94%以上,监测准确度达94%。Zhang等[14]将SSD和MobileNet进行结合,研究出一种基于深度学习的母猪行为实时监测算法SBDA-DL,该算法通过删除SSD网络模型的最后2个卷积层,将模型冗余网络部分压缩,在对母猪饮水、排尿和爬跨3种行为识别的准确率不变的前提下,监测速度达每秒7帧,平均精度均值(mean average precision,mAP)综合可达 94.76%,符合生产所需精确性和实时性。

YOLOv5灵活更高,v5.0版本相较于上一版本增加了一个输出层P6,新增检验层可通过训练获得更高的精度。YOLOv5的Bottleneck数决定其版本,采用了类似EfficienctNet的channel和layer控制因子来实现版本的变化,能够根据应用场景选取合适大小的模型[15-16]。因此根据猪厂试验环境与背景,此次研究选择YOLOv5m版本,更加适合模型在规模化猪厂的落地。

仔猪在母猪乳房的拱乳行为会刺激母猪的哺乳区域快速、节律性抽动,同时带动母猪四肢节律性抽动,进而母猪放乳完成哺乳行为。实践与研究证明,母猪的侧卧姿态、四肢节律性快速抽动以及仔猪的数量、仔猪与母猪间的距离、吃奶仔猪数量比例是母猪哺乳的5个判别关键点,具备通过机器视觉监测母猪哺乳行为及时间段的可行性,提高仔猪存活率与健康值。监测数据还可侧面反映母猪母性、哺乳意愿及产后状况,对其后续饲喂和配种等生长繁育提供指导意见。

1 材料与方法

1.1 试验数据采集和分析

1.1.1 数据采集试验在江苏省宿迁市正邦猪场进行,选取17 m × 19 m的母猪产房2间,每间产房放置2.2 m × 1.8 m的分娩栏6个。每个限位栏内1头母猪、8~13头仔猪。每个分娩栏正上方约2.8 m处安装1个海康威视摄像头(DS-2CD3135F-l 型),分辨率为2 048像素 × 1 536像素,摄像机拍摄到的画面能覆盖整个母猪限位栏,拍摄到的视频数据存储在网络硬盘录像机中。视频数据自母猪分娩结束立刻采集,24 h 持续录制,仔猪保温箱内保育灯白天部分开启,夜晚全部开启,采集数据均为3通道彩色图像。

1.1.2 数据样本库建立将数据集中的母猪姿态划分为侧卧、站立和坐立,每种姿态有3种灯光数据类型(图1);对于仔猪类内粘连,采用贝叶斯错误率作为指标[17],根据人眼可识别的标准,标注图片内仔猪;限位栏遮挡仔猪部分躯干,但从头尾可识别出自同一头仔猪,将头尾进行框选;保育箱或限位栏遮挡头或尾致一方不可见,则框选出仔猪可见部分。母猪的3种姿态[18]、放乳特征、哺乳行为[19]的定义见表1。

表1 母猪3种姿态、放乳特征、哺乳行为定义

图1 3种灯光数据类型

1.1.3 数据集制作1)编写python脚本文件将采集到的视频数据每隔2 s截取1张图片保存为.jpg格式,清洗数据集,删除猪只遮挡严重、摄像头有异物等无效数据,得到有效图片7 564张;2)使用开源标注软件LabelImg对图片内仔猪和母猪进行框选标注,生成对应.xml文件进行保存;3)为减轻过拟合,增加模型鲁棒性,将已标注过的图片进行数据增强(data augmentation),采用反转、平移和一定范围内对饱和度、曝光度进行调节的处理,得到母猪侧卧姿态4 884张(含标注仔猪),站立、坐立姿态各4 883张(含标注仔猪);4)将标注完成的图片按照8∶1∶1[20-21]的比例划分为3个数据集,分别为训练集11 720张、验证集 1 465 张、测试集1 465张。依次用于对深度神经网络模型进行训练的训练集,拟合数据样本,确保训练集

数据量充足,增加模型鲁棒性;验证集用于一定范围内调整模型超参数,及时调整模型出现的异常现象;测试集用来测试训练完成后的模型对新数据的预测能力,评估模型的泛化性。

1.2 母猪哺乳监测模型设计与训练

1.2.1 模型网络结构采用YOLOv5目标监测网络模型(图2),改进特征提取网络与Neck部分,根据预测端网格大小划分图像,输入端采用Mosaic丰富检测背景,且自适应的计算最佳毛框值大大提升推理速度[22]。

图2 YOLOv5网络模型架构图

1.2.2 模型训练与测试训练共迭代30 000次;将batch值设置为64,使用随机梯度下降法mini-batch训练模型;初始学习率为0.001,学习策略为步进型,动量值为0.9,权值衰减速率设为0.000 5。迭代学习率衰减公式为:

(1)

式中:lrn代表第n次迭代的学习率;lrinitial代表学习率初始值;decay代表衰减因子。

1.2.3 模型评价本文结合精确率(precision,P)、召回率(recall,R)、精度均值(average precision,AP)和平均精度均值(mean average precision,mAP)4项指标,综合对模型进行评价。P评价模型对仔猪(正样本)的识别能力;R评价模型对仔猪的涵盖能力;AP评价模型对监测目标的识别能力和涵盖能力,是对PR曲线求积分过程;mAP评价模型对所有类别的监测性能。计算公式如下:

(2)

(3)

(4)

(5)

式中:TP为真正样本(真阳性)数;FP为假正样本(假阳性)数;FN为假负样本(假阴性)数;C为所测目标类别数;k为类别序号。

1.2.4 读取感兴趣区域面积和位置在识别出母猪姿态为侧卧时,结合母猪预测框面积变化大小和四肢抽动频率、母猪与仔猪的坐标值和阈值内仔猪数量,确定母猪哺乳行为的发生。预测边框的输出公式[23]为:

(6)

式中:bx、by、bw、bh为预测边界框在特征图(feature map)的中心点坐标和宽高;tx、ty、tw、th为相对于先验框的偏移量,即预测输出;(cx,cy)为栅格坐标;pw、py为先验框相对于特征图的宽、高。通过母猪和仔猪的预测框中心点坐标值,计算母猪与仔猪之间的距离,输出小于设定的距离阈值的仔猪数量。

1.3 db4小波

小波变换擅长分析瞬时时变信号,允许更加精确地局部描述以及信号特征的分离,适用于大部分信号,尤其是瞬时信号,符合母猪预测框面积变化的特点。

图3中L[n]是低通滤波器(low pass filter)系数,H[n] 是高通滤波器(high pass filter)系数。

图3 离散小波变换的滤波器分解

根据小波特性,本研究选择Daubechies小波族的db4小波,利用低通滤波器L[n]对输入信号f[n]进行卷积,得到输出序列LO[n],将高通滤波器H[n]作用在输入离散信号序列f[n]上,即将f[n]与H[n]进行卷积操作,得到HO[n]即:

LO[n]=f[n]*L[n]

(7)

HO[n]=f[n]*H[n]

(8)

式中:符号*表示卷积运算符,f[n]*L[n]和f[n]*H[n]的定义如下:

(9)

(10)

公式(10)物理含义为滤波器L[n]和H[n]对输入离散信号序列f[n]的响应LO[n]和HO[n],等于每一样值产生的响应之和在各处由f(m)进行加权。

2 结果与分析

2.1 试验配置

模型训练为台式机,搭载2块 Xeon Gold 5118 CPU,主频 2.3 GHz,内存 64 G,显卡配置为 NVIDIA Quadro P4000,内存为8 GB,操作系统为 Ubuntu16.04,模型训练时间约78 h。

2.2 母猪哺乳行为及时间段监测结果

2.2.1 YOLOv5判定哺乳时长试验训练迭代35 000次,在30 000次模型收敛效果最佳。在测试集上对方法的有效性进行验证,测试集包括母猪、母猪3种姿态和仔猪,各类别AP均超过87%,识别性能良好。对于仔猪的识别,由于仔猪趋暖避寒、亲母等生存习性,堆叠现象严重,而且初生仔猪个头较小,趴卧在母猪乳房附近易埋于母猪的四肢,摄像头安装于限位栏正上方,造成仔猪的硬性遮挡等,导致仔猪的误监测,降低其AP。迭代30 000次各类别精度均值如表2所示。

表2 YOLOv5数据集识别效果

为确定母猪哺乳标志各参数,进而拟合哺乳时间段。随机选择6头母猪的6段测试视频数据输入模型,输出每段测试视频中母猪预测框面积和对应的仔猪的数量、位置及距离母猪规定阈值内的仔猪数比例离散图,并转化为数据表格,同时增设人工观察记录每段视频母猪哺乳时间段进行统计,如表3所示。测试视频段02输出的离散图如图4所示。

表3 测试视频中哺乳行为判别点统计(母猪姿态:侧卧)

图4 02号测试视频的哺乳判别关键点

综合母猪预测框面积、母猪姿态(坐立、侧卧、站立)、仔猪数量、距离母猪阈值内仔猪数及其比例5个要素。当母猪姿态为侧卧,如图5-A所示,选取适当直线对输出的母猪预测框面积图进行拟合,如图5-B所示,建立母猪侧卧时预测框面积图与直线的对应关系,超出2条直线外的部分定义为疑似哺乳行为带动四肢抽动导致的预测框面积变化,反之,为母猪侧卧时非哺乳的正常活动情况。

经试验,取直线l=s2±2s,确定阈值范围,根据直线截取范围绘制对应的区间分布图,判断母猪哺乳行为的发生,将离散图的帧率换算为时间输出母猪哺乳时间段,如图5-C所示。

图5 哺乳时间段区间拟合过程

2.2.2 YOLOv5结合db4小波判定哺乳时长利用高通滤波器H[n]和低通滤波器L[n]对输出的母猪预测框(图4)序列进行卷积,对输出序列依次进行降采样,得到对应的低频分量图6-A和高频分量图6-B。直线定义为l=s2±2s,超出阈值范围以外的部分定义为疑似哺乳行为带动四肢抽动导致的预测框面积变化,反之,为母猪侧卧时非哺乳的正常活动情况。由图6-B得到对应的哺乳时间段预测分布图7-A,由母猪哺乳定义可知,一次哺乳行为最短持续60 s,合并60 s内的哺乳时间段,对图7-A中的哺乳时间段进行合并优化,得到并输出图7-B的哺乳监测时间段。

图6 母猪预测框面积低频(A)和高频(B)分量折线

图7 母猪哺乳时间段预测(A)和优化(B)

2.2.3 结合小波变换前、后对比YOLOv5模型在监测母猪、母猪姿态和仔猪方面达到较为理想的效果,但由于将母猪预测框面积作为主要分析来源,离散信号复杂程度高,图5-B中阈值的设定受基线影响颇大,基线的浮动导致均值方差共同变化,使设定的阈值波动,影响输出哺乳时间段的科学性,单一凭借此方法缺少说服力。

为解决图5-B中基线的上下浮动对均值方差的影响,采用小波变换中的高低频滤波器对YOLOv5输出的母猪预测框面积信号折线图进行滤波处理,避免使用直接采集的原始数据造成的数据噪声处理复杂,影响监测实时等问题,减少分析难度,提高监测速度与精确度。

低频分量图6-A是对整幅图像强度的综合度量,在此次研究中更适合描述母猪轮廓的变换趋势;高频分量图6-B对应图像变化剧烈的部分,也就是图像的边缘(轮廓)或者噪声以及细节部分,更适合描述母猪预测框面积的变化细节,因不受基线的影响(基线趋近于固定值0),阈值稳定,哺乳时间段的推理更加精准。表4为结合小波变换后哺乳时间段准确度对比。

表4 db4小波变换前、后母猪哺乳时长监测结果对比

3 结论

1)本文基于机器视觉提出一种母猪哺乳行为和时长的自动监测模型算法,利用小波变换的高频分量,准确、快速地监测母猪的哺乳行为、哺乳时间段、哺乳时长及吃奶仔猪数量。

2)单一以YOLOv5识别母猪哺乳行为和时长的平均准确率为93.52%,对清晰度为720P的视频平均监测速度为23.89 f·s-1;加入db4小波后的模型识别平均准确率为96.04%,提高2.52%,对清晰度为720P的视频平均监测速度为19.35 f·s-1,对比未加入db4小波前视频监测速度稍有下降,但均可满足猪场监测需求。

3)非洲猪瘟的蔓延导致养殖场防疫严格,对试验的数据采集造成不可忽视的影响。为增强模型的泛化性与鲁棒性,还需进行不同环境场景下模型的训练,以提升模型多场景下的应用价值。

猜你喜欢

时间段哺乳姿态
会哺乳的树
哺乳母猪的饲养管理要点
攀爬的姿态
夏天晒太阳防病要注意时间段
全新一代宋的新姿态
发朋友圈没人看是一种怎样的体验
“三天后”是啥时候?
另一种姿态
雨点
阅读是最美的姿态