基于多目标追踪方法的猪只个体识别算法

2022-04-15 04:24孙嘉燚苍岩
应用科技 2022年2期
关键词:猪只残差特征提取

孙嘉燚,苍岩

哈尔滨工程大学 信息与通信工程学院,黑龙江 哈尔滨 150001

近年来,深度学习技术在各行各业掀起了一股热潮,在农业领域也得到了广泛的应用[1-9]。在规模化、现代化猪场中,养殖人员越来越重视猪场的智能化养殖,这不仅能提高养殖效益,而且能降低猪只感染疾病的风险。尤其是在新冠肺炎和非洲猪瘟双疫情的影响下,越来越多的养殖户开始关注智能化生物安全问题。智能化管理通常需要对生猪的个体建立养殖档案,生猪的个体识别研究变得日益重要。将多目标追踪技术应用到生猪个体识别中,不仅可以减少养殖人员与猪只的接触,提高生物安全级别,同时还可以节省人力资源消耗,提高生产效益。Ahrendt 等[10]设计了一种实时的计算机视觉系统,能够减轻养殖人员识别和定位猪只的工作量。Jung 等[11]将人工智能与物联网相结合,设计了一个新型监控系统,对猪只的跟踪精度能达到77%左右。Mittek 等[12]使用深度图像连续跟踪猪只,替代了传统的人工观察方法。Sun 等[13]提出了一种多通道色彩特征自适应融合算法,利用猪只的轮廓信息更新猪的目标尺度,王海涛等[14]对静止的猪只目标消失问题和猪只交错产生的丢失目标问题进行了深入探究,肖德琴等[15]提出了一种基于视频追踪的猪只运动信息检测方法。

本文基于改进的Faster R-CNN 网络,提出了一个猪只身份个体识别网络,实现了基于视频数据的多猪只身份识别,有助于智能化管理。同时,减少了养殖从业人员与猪只的接触,增强了生物防疫的安全性。

1 网络结构介绍

多目标追踪是一项以目标检测为基础的技术,随着近几年来目标检测技术越来越成熟、完善,与之相应的多目标追踪技术也得到了快速发展。本文所提出的猪只个体识别网络以Faster RCNN[16]为目标检测器,再以猪只个体识别网络进行个体识别,结构如图1 所示。

图1 猪只个体识别网络结构

1.1 目标检测网络的改进

Faster R-CNN 是一个非常经典的目标检测算法,其骨干特征提取网络采用的是VGG16[17]。本文应用背景比较特殊,图片中食槽的颜色、外观与灰色猪只非常的相近,容易造成误检。为了取得更好的猪只检测结果,在特征提取部分采用ResNet50[18]来替代VGG16。本文的目标分类总数为1,即只对猪只进行分类。目标检测网络结构如图2 所示。

图2 目标检测网络结构

ResNet50 网络解决了神经网络的退化问题,能够提取更深的特征,多个ResNet 残差块组成特征提取的骨干网络,其结构如图3 所示。

图3 中x为原始图像,W(x)为 对x做映射操作,F(x)为 对x经过三层卷积后做的特征提取,H(x)为这2 部分的相加后的结果图像,其中每一层的激活函数采用f(x)=relu,其计算公式为

图3 ResNet 残差块结构

如果F(x)和x的维度相同,则可以直接进行相加,其中W为恒等映射操作,即W(x)=x。如果F(x)和x的维度不同,则W代表1 ×1的卷积操作,把x的维度进行调整,使之和F(x)的维度一致,最后再进行相加。正是基于这种特殊结构,ResNet50网络的层数可以设计足够深,特征提取效果好于VGG16,针对猪只的特征提取也达到了更好的结果。最终ResNet50 网络整体结构如表1 所示。

表1 ResNet50 网络结构

表1 中1×1、3×3、1×1 代表上文所说的残差块结构,每个残差块有3 层卷积核。Conv2_x 有3 层残差块,Conv3_x 有4 层残差块,Conv4_x 有6 层残差块,Conv5_x 有3 层残差块,从Conv2_x 一直到Conv5_x 一共有16 个残差块,所以一共有16×3=48层卷积核,再加上Conv1 和最后一层的平均池化一共50 层。

图4 是ResNet50 每一层输出的可视化结果。

图4 可视化结果

图5 是VGG16 作为特征提取网络产生的效果图,图6 是ResNet50 作为特征提取网络产生的效果图,提取不同帧进行对比,VGG16 会把食槽(图片中用圆圈圈出来的部分),误检测成猪只,而ResNet50 则可以抑制这种情况。

图5 VGG16 效果

图6 ResNet50 效果

1.2 猪只个体识别网络

本文提出的个体识别网络分别对如下3 种情况进行了研究:

1)没有猪只消失,没有猪只出现。

对于这种情况,本文直接将上一帧的检测框输入到猪只个体识别网络的感兴趣区域结构,预测当前帧目标检测框的位置与得分。猪只轨迹示意图如图7 所示。

图7 猪只轨迹示意

以一只猪为例,Bt-1代 表第t-1帧的检测框,Bt代表第t帧的检测框,图片中t-1代 表第t-1帧,t代表第t帧。我们直接把第t-1帧的检测框作为第t帧的感兴趣区域,之后预测第t帧目标检测框的位置与得分。

2)猪只被遮挡后再出现。

对于这种情况,本文使用身份重识别网络,将猪只被遮挡之前的特征图和被遮挡之后的特征图做对比,如果它们的欧氏距离小于阈值,则被认为是同一目标,恢复被遮挡的身份ID。将ResNet50 作为身份重识别网络,提取目标的特征图。其可视化结果如图8 所示。

图8 遮挡再出现可视化结果

3)新目标的出现

对于这种情况,计算正常目标检测得到的检测框位置与感兴趣区域得到的检测框位置的交并比(intersection over union,IoU),如果IoU 小于阈值,则被认为是新目标。

IoU 是目标检测中常用的一个概念,代表目标检测器产生的候选框和物体真值框的交并比,本文利用它来判定是否出现新目标,具体定义说明如图9 所示。

图9 IoU 计算过程

图9 中黄色区域代表候选框和物体真值框相交的面积,蓝色区域代表候选框和物体真值框相并的面积,IoU 的最大值为1,最小值为0。

猪只个体识别网络整体流程图如图10 所示。

2 实验

2.1 实验数据

2.1.1 数据集的采集

目前,对于多猪只个体识别这方面的研究还很少,没有相应的公开数据集,所以本实验仿照MOT16[19]数据集的格式制作了关于猪只的数据集。数据采集使用小米智能摄像机云台版,用此设备来对猪只进行监控与视频录制,以便于后面切割视频制作数据集。根据猪场的环境与猪只的生活习性,经过反复的实验对比,数据集的采集分为2 个时间段,分别是早上7:00~9:30 和中午11:00~13:00,共18 段视频,每段视频时间30 s~2 min不等。数据集原图效果如图11 所示。

图11 猪只数据集原图效果

2.1.2 猪只数据集的预处理与标签制作

本文把采集完的18 段猪只视频数据做了如下预处理,分为训练集和测试集。训练集共16 段视频,采用1 秒2 帧的间隔进行数据提取,总计4 040 帧;测试集共2 段视频,采用1 秒5 帧的间隔进行数据提取,总计392 帧。另外,为了减少旁边猪栏对实验结果造成的干扰,本文对所有图片进行了掩膜处理,将原图与黑色掩膜进行相加,最终的数据集效果如图12 所示。

图12 预处理后猪只数据集图片效果

本文使用Darklabel 标签工具进行标签制作,训练集总共制作了4 040 张标签图片,其标签图片如图13 所示。

图13 标签图片效果

2.2 猪只个体识别实验

本文的实验设备参数如下:Ubuntu 18.04,显卡为GTX 1080Ti,显存11GB,CPU 为i7-8700K,内存16 GB。

训练参数如下:输入图片分辨率大小为1 280×720,权重更新选择随机梯度下降方法,动量值为0.9,学习率初始值为0.001,每10 个epoch 学习率缩小10 倍,共81 个epoch。

算法参数如下:目标检测阈值为0.7,目标检测IoU 阈值为0.5,保持个体识别存活阈值为0.8,个体识别IoU 阈值为0.6,最大特征保存数为10,外观相似度阈值为1 000。

网络训练的损失函数L曲线如图14 所示。

图14 损失函数曲线

本文使用2.1.2 节制作的4 040 张标签进行训练,然后使用测试集的2 段视频进行测试,这2 段视频的选取分别从时间长短、猪只遮挡情况这两方面进行考虑,包含了猪只运动的绝大部分情况。图15 与图16 分别是视频1 与视频2 的猪只个体识别的结果。

图15 视频1 猪只个体识别结果

图16 视频2 猪只个体识别结果

视频1 中猪只检测结果良好,没有遮挡情况,在猪只之间距离比较近的时候,猪只身份ID 仍然追踪稳定,个体识别效果良好。

视频2 中在第100 帧和第140 帧的时候,每头猪都能很好地检测出来;在第170 帧的时候0 号猪只遮挡了2 号与4 号猪只;在第200 帧的时候0 号猪只走开,2 号与4 号猪只恢复了原本自己的身份ID,个体识别效果良好。

这2 段视频的猪只个体识别评价指标如表2所示。

表2 猪只个体评价结果

从表2 可以看出:视频1 与视频2 的MOTA值高于95%,视频1 的MOTP 值为6.4%,视频2 的MOTP 值为15.4%,这两段视频均没有产生身份转换问题,各项评价指标均达到了一个理想的数值,特别是在视频2 中,猪只被完全遮挡以后再出现时,仍然能恢复原来的身份ID,这进一步验证了本文算法的有效性。

3 结论

本文就基于多目标追踪方法的猪只个体识别算法进行了研究。在目标检测阶段使用改进的Faster R-CNN 算法,把VGG16 特征提取网络替换为ResNet50,之后使用猪只个体识别网络来进行个体识别。实验结果表明:无论是在猪只之间距离比较近的时候,还是在猪只被完全遮挡的情况下,猪只之间都没有发生身份转换的问题;MOTA值均在95% 以上;MOTP 值均在16% 以下;身份转换次数较少,在进行身份识别的时候性能稳定。实验结果和理论分析说明了文中模型、方法的有效性。

猜你喜欢
猪只残差特征提取
猪气喘病的防治措施分析
深度学习在猪只饲养过程的应用研究进展
基于姿态与时序特征的猪只行为识别方法
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
猪呼吸道疫病的发生原因与防控方法研究
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究