基于CenterNet搭配优化DeepSORT算法的断奶仔猪目标跟踪方法研究

2021-09-27 03:52张伟沈明霞刘龙申孙玉文杨运南许志强
南京农业大学学报 2021年5期
关键词:断奶仔猪算法

张伟,沈明霞,刘龙申,孙玉文,杨运南,许志强

(1.南京农业大学工学院,江苏 南京 210031;2. 南京农业大学人工智能学院/江苏智慧牧业装备科技创新中心,江苏 南京 210031;3.南京农业大学动物科技学院,江苏 南京 210095)

断奶仔猪是生猪养殖业中的重点关注对象,对其运动、采食及饮水等行为的监测,有助于评判断奶仔猪的健康状况。在仔猪行为分析研究中,准确跟踪仔猪目标、保证其身份的唯一性是一个技术难点。在目前的养殖生产实践中,对仔猪个体的跟踪并确定其身份主要是通过人为长时间观察的方式实现的,该方式工作量大且难以实现长期跟踪。随着射频识别RFID技术的发展,规模化猪场借助电子耳标确定仔猪身份,但安装电子耳标时易造成仔猪短时的应激反应,且需借助外部阅读器识别目标身份,经济成本较高。在产业需求与福利养殖概念的同步驱动下,亟需研发无接触式的自动跟踪仔猪目标的技术方法,实现断奶仔猪生理生长信息无应激观测。

国内外专家学者在猪目标跟踪研究领域已进行了大量的探索研究,部分学者通过人工标记设计底层特征实现猪跟踪。如Tillett等[1]取猪背部边缘的6个特征点坐标构成搜索框并在其中检测标记黑点位置,通过黑点位置对猪移动位置追踪。Lind等[2]通过改进不包含动物的参考帧的自动阈值检测跟踪算法,实现对小型猪在空旷环境下的跟踪。Navarro-Jover等[3]通过猪背部颜色标记进行追踪。Xiao等[4]通过颜色信息在自然环境中识别猪,并在分析二值图像中连接区域的基础上去除噪声,根据一组具有约束项的关联规则(DT-ACR)对猪进行跟踪。Sun等[5]提出一种多通道彩色特征自适应融合算法,并对猪的目标尺度进行更新,实时利用目标的轮廓信息,满足目标跟踪的精度和实时性要求。上述方法设计底层特征工作量大,同时对跟踪环境要求严格,缺少一定的普适性。

基于人工标记特征的猪跟踪方法难以应用于规模化养殖的猪群,因此引入深度学习方法实现猪的跟踪任务,利用卷积神经网络通过层级映射,可以同时提取从边缘、纹理等底层特征到抽象语义特征等高层特征[6]。张苏楠[7]为了解决目标轨迹跟踪过程中轨迹跟踪交错与目标跟踪交错的问题,提出结合粒子滤波与逐帧检测的猪目标跟踪方法。Zhang等[8]基于卷积神经网络的检测器和相关滤波器的跟踪器,通过分层数据关联算法耦合实现对单个育肥猪的检测跟踪,对于多个猪目标跟踪有待进一步研究。Cowton等[9]结合深层卷积神经网络对象定位方法,基于区域卷积神经网络(R-CNN),创建1个可以自动定位和跟踪单个猪的完整系统,但跟踪精度仅达到73.4%。上述研究尽管取得了一些成果,但在跟踪性能上仍需进一步优化。

本文利用深度学习在自然特征提取上的优势[10],借鉴行人跟踪思路,设计1种基于深度学习的断奶仔猪目标跟踪算法[11]。构建断奶仔猪的目标检测模型[12-13],将生成的检测结果作为跟踪模型的输入内容,搭配优化后的DeepSORT[14-15]算法融合断奶仔猪运动和外观信息关联度量,完成断奶仔猪目标跟踪方法的研究。

1 试验数据采集与处理

1.1 数据采集

试验数据于2019年3月19日至4月23日在安徽省亳州市谯城区生猪个体养殖户采集。选取一圈 12 头品种为长白和大白的断奶仔猪(3月20日断奶,28日龄)作为试验对象。猪栏大小为3.2 m×3.0 m,选用海康威视DS-2CD3346WD-I型号的红外夜视摄像头安装在猪舍的上方约 2.25 m 进行视频采集,镜头焦距2.8 mm,监控范围约 3.0 m×1.7 m,图像分辨率2 560像素×1 440像素,视频数据利用海康威视DS-7916N-K4/16P型号的网络硬盘录像机存储。图1为猪舍试验区视频采集示意图。

图1 猪舍试验区视频采集示意图Fig.1 Schematic diagram of video collection in the piggery experimental area

猪舍试验区监控视频连续 24 h 录制,选取白天断奶仔猪活动频繁时段的视频数据作为原始数据,区内白天光线充足,采集的视频帧为 3 通道RGB图像,采集帧率为25 fps。

1.2 数据集制作

从视频数据中提取图片数据,经过数据清洗得到理想图片8 835张,使用开源软件精灵标注助手进行标注,得到相同文件名的xml文件,按约 8∶1∶1 的比例得到训练集图片7 155张,测试集884张,验证集796张;制作VOC和COCO标准格式数据集,用于检测模型训练和预测,制作MOT格式数据集,用于跟踪性能的评估。

2 基于优化DeepSORT算法的断奶仔猪目标跟踪

DeepSORT多目标跟踪算法最初应用于行人跟踪,通过目标检测算法检测每一帧的行人目标,引入行人重识别模型,利用外观信息计算余弦距离,改善跟踪效果。本文通过优化DeepSORT算法的检测部分和重识别模型使其适用于断奶仔猪目标跟踪应用场景。

2.1 断奶仔猪目标检测模型的优化

良好的目标检测结果对于跟踪效果具有较大的提升作用,以基于锚框的YOLOv4[16]目标检测算法和基于中心点的CenterNet[17]检测算法为基础,设计断奶仔猪目标检测模型,分别记为YOLOv4-det模型和CenterNet-det模型,比较2种模型的优劣,为后续的断奶仔猪目标跟踪研究提供良好的检测结果。

2.1.1 基于YOLOv4的断奶仔猪目标检测模型YOLOv4-det模型以CSPDarknet53作为骨干网络,CSP(cross stage partial)[18]增强卷积神经网络的学习能力,金字塔注意力模型(path aggregation network,PAN)[19]和空间金字塔池化(spatial pyramid pooling,SPP)[20]作为特征融合模块和附加模块,以原先YOLOv3[21]作为头部,轻量化的同时保证准确性,降低计算瓶颈和存储开销。

将标注好的图片数据输入到深度卷积神经网络中,在Darknet框架下经过离线迭代训练得到模型权重文件,利用生成的模型检测断奶仔猪目标。网络模型训练流程如图2所示。

图2 模型训练流程图Fig.2 Model training flowchart

图3 YOLOv4-det网络损失值的变化曲线Fig.3 The change curve of the loss value of the YOLOv4-det network

模型训练共迭代30 000次,采用批处理(batch)值为64的随机梯度下降法训练。本文研究网络的输入图像宽和高为416像素×416像素,初始化学习率为 0.001。分别在迭代训练24 000次和27 000次时将学习率设置为0.000 1和0.000 01,实现步进式学习。动量(momentum)设为 0.9,权值衰减速率(decay)设为 0.000 5。

训练过程中损失函数值随迭代次数的变化趋势(图3)表明:损失值在0~1 000次迭代过程中收敛至1.31,在1 001~20 000次迭代过程中损失值下降至0.42,从25 000~30 000次迭代中Loss曲线趋于稳定,最终损失值维持在0.7附近,模型收敛效果良好,停止训练。

2.1.2 基于CenterNet的断奶仔猪目标检测模型将特征提取网络Hourglass-104更换为全卷积网络DLA-34,得到CenterNet-det模型,通过预估关键点找到仔猪目标的中心点,回归到仔猪目标的尺寸、位置等属性,同时不采用非极大值抑制(non-maximum suppression,NMS)进行候选框筛选,以减少网络参数及计算量,有效提升检测速度和精度。

将标注好的文件输入神经网络,在PyTorch框架下经过离线迭代训练得到模型权重文件,通过级联角点池化和中心点池化,提供更多中心区域的识别信息,训练流程如图4所示。

图4 CenterNet训练流程图Fig.4 CenterNet training flowchart

模型所有样本迭代训练共迭代280个周期(epoch),采用随机梯度下降法训练,初始化学习率为 0.000 1。在训练5个epoch后损失值由1.15下降至0.70,根据验证集测试,在训练105个epoch得到最优模型,后续随着学习率在所有样本迭代训练180和240个epoch时分别设置为0.000 01和0.000 001,损失值稳定在0.39左右,模型收敛良好。

2.2 断奶仔猪目标跟踪部分优化

把仔猪目标检测框和跟踪框的交并比作为输入,同时结合马氏距离(Mahalanobis distance)和余弦距离(cosine distance)分别考虑运动信息和外观信息的关联度量,通过融合度量的方式计算检测和跟踪轨迹之间的匹配程度,输出匹配结果。

1)断奶仔猪目标运动信息的关联程度通过检测框与跟踪框之间的马氏距离来描述,其计算公式如式(1)所示:

(1)

式中:dj表示第j个仔猪目标检测框的位置;yi表示第i个跟踪器对仔猪目标的预测位置;Si表示仔猪目标检测位置与平均跟踪位置之间的协方差矩阵。马氏距离通过计算检测位置和平均跟踪位置之间的标准差将状态预测的不确定性进行考虑。图5所示为断奶仔猪目标检测框与跟踪框之间的马氏距离。

图5 马氏距离示意图Fig.5 Schematic diagram of Mahalanobis distance蓝色框为检测框,白色框为跟踪框。The blue box is the detection box,and the white box is the tracking box.

对应的马氏阈值为t(1)取逆卡方分布的95%置信区间的值 9.487 7作为阈值,若某一次关联的马氏距离小于指定的阈值则设置的运动状态关联成功。

2)当仔猪目标出现快速位移和遮挡情况下跟踪时,运动信息缺失,纯粹使用运动信息关联容易造成仔猪目标身份转换频繁的情况,而通过仔猪运动信息关联再结合外观信息的关联,能有效改善仔猪目标ID转换频繁的问题。

对DeepSORT算法中基于Mars数据集[22]训练的ReID重识别模型进行了优化,选择目前公开的 Market1501 数据集[23],重新训练目标跟踪中提取外观特征的模型,得到1个深层卷积神经网络,对每个仔猪目标检测框dj提取128维特征向量rj,且满足‖rj‖=1,网络结构如表1所示。轨迹太长会导致表观产生变化,因此针对每个跟踪轨迹只保留最新的关联外观信息的特征向量。

表1 深层卷积神经网络结构Table 1 Deep convolutional neural network structure

计算当前帧第i检测目标与历史追踪第j目标特征向量之间的余弦距离来确定外观信息的关联情况。本研究参考行人跟踪,阈值取0.70。如果上述的距离小于指定的阈值,此外观信息成功关联。计算公式如式(2)所示。

(2)

当仔猪目标出现遮挡情况后,随后的卡尔曼滤波预测会增加与仔猪目标位置相关的不确定性,利用级联匹配改善由仔猪目标表观突变或者遮挡导致的仔猪目标跟踪错误。

2.3 整体算法框架

采用目标检测算法结合优化后的DeepSORT跟踪算法实现断奶仔猪目标跟踪研究。将检测结果作为跟踪算法的输入,卡尔曼滤波(Kalman filter)[24]可以预测当前时刻的位置;涉及目标位置发生变化后的关联匹配[25]问题,匈牙利匹配算法(Hungarian algorithm)[26]可以判定当前帧的某个仔猪目标是否与前一帧的某个仔猪目标相同。其主要跟踪过程如图6所示。

图6 断奶仔猪目标跟踪过程示意图Fig.6 Schematic diagram of target tracking process of weaned piglets

3 结果与分析

3.1 断奶仔猪目标检测模型性能与结果分析

3.1.1 断奶仔猪目标检测模型性能分析选择平均精度均值(mAP)和召回率(recall)2个指标,结合交并比(IoU)来评判检测模型性能。平均精度均值是对检测的类别对应的精度均值取平均,可用来衡量模型的检测性能;召回率是衡量模型对断奶仔猪目标检测的覆盖能力,是从图片中识别出的仔猪目标的比例;交并比一般指模型的预测框与实际边框之间的交集和并集的比值。

训练过程中每隔1 000次迭代保存1个模型,取每隔5 000次生成的模型,利用测试集884张图片对模型性能进行评估,同时与利用相同数据集训练的基于YOLOv3设计的目标检测模型进行性能对比,得到指标参数如表2所示。

表2 目标检测模型性能参数对比Table 2 Comparison of performance parameters of target detection models

从表2可以发现,YOLOv4-det模型性能更优,其平均精度均值比YOLOv3模型高约8%,召回率高2%左右,交并比高10%左右。此外迭代训练30 000次的检测模型,平均精度均值、召回率和交并比分别为98.53%、98.63%和84.84%,其生成的检测结果最优。

根据训练过程中验证集对指标进行测试,CenterNet-det最优检测模型为训练105个epoch产生的模型权重,其平均准确率(AP)在IoU为0.5和0.75时能达到99.0%和88.8%,平均召回率在IoU=0.5∶0.95且area=all | maxDets=100时达到78.6%,性能参数如表3所示。

表3 CenterNet-det检测模型性能参数Table 3 Performance parameter of CenterNet-det detection model

3.1.2 断奶仔猪目标检测模型检测结果分析根据平均精度均值和召回率的结果,选取上述最优模型检测测试集884张图片,测试集目标总数为10 608个,YOLOv4-det模型检测出的目标总数为10 244个,CenterNet-det模型检测总数为10 585个。从测试结果发现,YOLOv4-det模型针对仔猪目标黏连、遮挡情况检测效果不佳。从测试集中随机选择1幅图片,图7为迭代30 000次的YOLOv4-det模型和迭代105次的CenterNet-det模型的检测结果。

图7 断奶仔猪目标检测结果Fig.7 Target detection results of weaned piglets

对图7分析发现,YOLOv4-det模型对于画框区域仔猪黏连情况存在漏检情况,同时目标检测坐标与标注坐标的重合度也低于CenterNet-det模型检测结果。由于检测结果的优良影响后续跟踪效果,故选择CenterNet-det模型作为跟踪算法的检测部分,其生成的检测结果作为断奶仔猪目标跟踪模型的最优输入。

3.2 断奶仔猪目标跟踪结果与分析

3.2.1 断奶仔猪目标跟踪模型评价指标选择多目标跟踪算法的评价指标包括多目标跟踪精度MOTA(multiple object tracking accuracy)和MOTP(multiple object tracking precision)[27]。其中MOTA是假阳性、假阴性和ID变换等方面的总体跟踪精度概述,MOTP是所有跟踪目标的平均边框重叠率的跟踪精度汇总。

此外,还参考了其他相关指标如误报总数(false positive,FP)、丢失目标的数量(false negative,FN)、真实轨迹被打断的次数(fragmentation,FM)、目标大部分被跟踪到的轨迹比例大于80%(mostly tracked,MT)、目标大部分被跟丢的轨迹比例小于20%(mostly lost,ML)、目标部分被跟踪到的轨迹比例(partially tracked,PT)及1条跟踪轨迹改变目标ID的数量(identity switches,IDS)。

MOTA和MOTP的计算公式分别如式(3)和式(4)所示。

(3)

式中:FP为在第t帧中该目标丢失总数;FN为在第t帧中给出的假设位置没有跟踪目标与其匹配;IDS为在第t帧中跟踪目标发生ID切换的次数,多发生在遮挡情况下;gt是t时刻观测目标的数量。

(4)

本文对断奶仔猪目标跟踪模型性能的分析选择MOTA和MOTP作为主要评价指标,辅助以FP、FN、FM、IDS、MT、ML等指标进行跟踪模型的性能评估。其中MOTA、MOTP和MT数值越高模型评价越好,反之FP、FN、FM、IDS和ML数值越低模型评价越好。

3.2.2 断奶仔猪目标跟踪模型性能评价随机选取4段视频数据,参照MOT16数据集[28]的格式来制作测试数据集,包含检测文件即断奶仔猪目标检测模型生成的检测结果、标注文件、原始图片及Seqinfo.ini文件,记4段测试数据集名为MOT01、MOT02、MOT03、MOT04。将4个测试数据集输入跟踪模型,得到的跟踪结果选用MOTchallenge评测工具计算得出指标数据,分析断奶仔猪目标跟踪模型性能,结果见表4。

对比发现,YOLOv4-det+优化DeepSORT跟踪模型多目标跟踪精度MOTA和MOTP分别为95.1%和81.3%;而CenterNet-det+优化DeepSORT跟踪模型的MOTA和MOTP分别为96.8%和81.8%。总体来说,CenterNet-det+优化DeepSORT跟踪模型性能指标MOTA、MOTP、FP、FN、FM、IDS的数值总体都优于YOLOv4-det+优化DeepSORT的跟踪模型指标数据。

DeepSORT方法中重识别模型优化后,由于跟踪目标有12头仔猪,跟踪空间有限,总体跟踪效果良好。

表4 断奶仔猪目标跟踪的评价指标Table 4 Evaluation indicators for target tracking of weaned piglets

4 结论

1)本文设计的CenterNet-det断奶仔猪目标检测模型,通过仔猪目标的中心点,回归到目标的尺寸,准确快速地检测仔猪目标,有效改善基于锚框的YOLOv4-det检测模型对于黏连、遮挡情况检测结果不佳的问题。试验结果表明,CenterNet-det检测模型的精度高、速度快,平均精度均值和召回率为99.0%和 78.6%。选择CenterNet-det模型作为跟踪算法的检测部分,其生成的检测结果可作为断奶仔猪目标跟踪模型的最优输入。

2)由于缺少关于仔猪重识别的大规模数据集,断奶仔猪目标跟踪模型的重识别部分对于断奶仔猪目标的外观特征提取效果仍有提升空间,仔猪目标跟踪精度MOTA和MOTP值分别达到96.8%和81.8%。后续将针对仔猪目标重识别进一步研究,改善ID跳变的情况,提高跟踪精度。

3)由于本研究在非洲猪瘟蔓延的背景下开展,养殖场防疫措施极为严格,难以获取多种养殖场景下的数据。为进一步提高本研究的实际应用效果,需要采集更多、更复杂养殖场景下的数据,用以提高模型的泛化性和鲁棒性,进一步研究断奶仔猪目标跟踪。

猜你喜欢
断奶仔猪算法
仔猪断奶后消瘦应采取哪些措施增肥
哪种算法简便
春季仔猪白肌病如何防治
仔猪强弱悬殊 要及时调整
秋冬季仔猪保暖措施有哪些
注意预防仔猪腹泻
Hunter—Gatherers
Travellng thg World Full—time for Rree
进位加法的两种算法
根据问题 确定算法