• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 范文 > 正文

    基于改进ByteTrack算法的群养生猪行为识别与跟踪技术

    时间:2023-03-09 22:25:02 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

    涂淑琴 汤寅杰 李承桀 梁 云 曾扬晨 刘晓龙

    (华南农业大学数学与信息学院, 广州 510642)

    生猪养殖业是畜牧业的支柱产业,在国民经济中占据着举足轻重的地位[1]。猪只的健康情况决定着生猪养殖业的发展与经济效益,多数生猪疾病的临床或亚临床体征表现之前常伴随行为异常[2],故对猪只的运动、饮食等行为的监测有助于判断猪只健康情况。目前,随着图像处理技术的发展,人工观察与计算机视觉融合监测是大型猪场的主要管理方式,其需要一定的劳动力,同时借助智能耳标(猪只身份识别),采用计算机辅助手段实现半自动化监测猪只行为状态。为实现高效全自动监控猪只健康情况,利用多目标跟踪技术,完成猪场猪只健康的智能监测[3],对实现生猪智慧养殖具有重要意义。

    随着深度学习的发展,多目标跟踪技术取得快速进展[4-7]。根据其工作方式不同,主要分为:基于检测的跟踪(Tracking by detection,TBD)和检测跟踪一体策略(Joint detection and embedding,JDE)。TBD首先用检测器输出检测结果,然后,利用卡尔曼滤波、贝叶斯概率和匈牙利算法等数据关联算法进行多目标跟踪。其中,DeepSORT算法[7]采用不同的检测器,提取目标检测结果,然后,为改善遮挡目标的跟踪性能,采用运动和表观信息进行数据关联匹配,实现高效的多目标跟踪。该方法在群养生猪跟踪中获得广泛应用[8-10]。但是,TBD方法一般是分两个阶段,先检测,再跟踪,同时跟踪中采用运动和外观相似度进行数据关联匹配,导致多目标跟踪速度较慢,在大量摄像头的视频监控环境下,要达到实时跟踪效果具有很大的难度[11-13]。

    JDE算法是联合检测和跟踪操作实现端对端的一阶段方法,其通过修改对象检测器头部组件,完成预测对象在下一帧的位置。该方法在一个网络中同时完成目标检测和身份重识别(Re-IDfeature)任务,通过共享大部分计算来减少推理时间,达到实时跟踪。近年来,研究者开发了多种JDE类方法[14-15]。TransTrack方法[4]基于transformer结构,利用Query-Key机制,追踪当前帧已经存在的目标,同时完成新目标的检测。但注意力机制极大地增加模型的复杂度,导致其计算成本较高。JDE类方法在跟踪性能提升的基础上,运行速度也有显著提升。

    以上TBD和JDE类方法在获取目标检测结果后,会丢弃置信度小于一定阈值的低分框。这些低分框可能是对物体遮挡时产生的框,直接将低分框抛弃,会产生大量的漏检和轨迹中断,影响目标跟踪性能。因此,若使用低分框对追踪算法进行二次匹配,就能有效解决追踪过程中由于遮挡造成的错误身份(ID)变换问题。针对该问题,ZHANG等[6]提出了ByteTrack方法。该方法在TBD基础上,改进数据关联策略,有效利用低分框,提高目标跟踪性能。其首先采用YOLOX算法[16]作为检测器,然后设计一种简单高效的数据关联算法BYTE。同时,为提高跟踪速度,仅仅使用运动信息相似度来关联检测框,没有使用外观特征匹配,获得了快速的跟踪性能,在MOT17[17]和MOT20[18]数据集中取得最好的效果。

    在真实养殖猪场中,由于光照变化与猪群的密集遮挡,容易造成目标漏检和误检,导致跟踪中猪只目标ID 错误频繁跳变,降低跟踪性能。为克服这些挑战,本研究在ByteTrack方法基础上,设计一种改进的群养生猪多目标跟踪算法。该方法首先通过YOLOX-X检测器,输出群养生猪的4类行为、位置和分类置信度信息,改善漏检和误检操作。然后,改进BYTE数据关联策略,设计轨迹插值后处理策略和适合生猪的检测框,提升跟踪中猪只ID的稳定性。最后只采用交并比(Intersection over union,IOU)匹配,未采用外观匹配,减少算法的推理运行时间,达到实时跟踪的效果,以期为快速无接触式自动监测群养生猪行为提供技术支持。

    实验数据从文献[19]的数据集中选择,筛选保留15段猪只移动较多的有效视频,每段视频60 s,每秒5帧。将视频分辨率裁剪为2 688像素×1 012像素,在视频段中只保留同一猪舍下的猪只。使用DarkLabel软件对视频段进行标注,构建ByteTrack数据集,其中随机挑选4段不同条件下的视频作为测试集,用于验证算法效果,具体信息如表1所示。

    表1 测试集Tab.1 Test dataset

    本文提出的群养生猪多目标行为跟踪方法分为目标检测和多目标跟踪两阶段,其工作流程如图1所示。首先,将视频图像输入到目标检测器,即YOLOX-X检测器,快速准确地检测出每头猪只信息,包括其置信度、检测框和行为类别。然后,将检测结果输入到多目标跟踪器。多目标跟踪器采用BYTE数据关联算法,其将检测结果分为高分检测框和低分检测框,分别采用卡尔曼滤波预测和匈牙利匹配算法,获得连续视频帧图像的目标轨迹框。最后,输出多目标跟踪图像序列结果。

    图1 群养生猪多目标行为跟踪流程图Fig.1 Flow chart of multi-object behavior tracking of group-housed pigs

    2.1 基于YOLOX-X的目标检测器

    基于YOLOX-X的目标检测算法结构如图2所示。主要部件为特征提取主干网络、中间多尺度特征融合和解耦头3个模块。主干网络CSPDarknet53负责对输入图像进行特征提取,由Focus组件和4个Dark网络块组成。中间多尺度特征融合模块由自顶向下特征金字塔网络(Feature pyramid networks,FPN)和自底向上的路径聚合网络(Path aggregation network,PAN)结构组成,即路径聚合-特征金字塔网络(PAFPN),融合不同尺寸特征图的语义信息和位置信息。解耦头将根据3个不同尺度的特征,分别输出目标检测结果。

    图2 YOLOX-X检测模型结构图Fig.2 Structure diagram of YOLOX-X detection model

    YOLOX-X在目标检测中主要有4个优点:①YOLOX在网络输入部分采用两种数据增强方法,分别为Mosaic数据增强和MixUp数据增强[20]。Mosaic数据增强通过随机裁剪、随机缩放和随机排布,将多幅图像融合在一起,增加许多小目标,增强主干网络鲁棒性。MixUp数据增强将2幅图像通过融合叠加在一起,构建虚拟样本,其对不同类别和不同样本之间邻域关系进行建模,提高模型泛化能力。②采用解耦头(Decoupled head)检测。解耦头具有更好的表达能力,其每一个头部分支只负责单一功能,收敛速度更快,精度更高。③采用无锚框(Anchor-Free),将每个位置的预测个数从有锚框的3减到1,直接预测目标框的4个值,降低检测器的参数量,加快检测速度。④采用标签分配SimOTA。SimOTA的分配方法能显著提高检测模型精度。

    2.2 基于改进ByteTrack的多目标跟踪算法

    2.2.1基本的ByteTrack多目标跟踪算法

    群养生猪多目标跟踪算法采用BYTE数据关联策略,该策略能够较好地跟踪复杂场景下严重遮挡的群养生猪对象,其具体运行过程如下:

    (1)将YOLOX-X目标检测结果分为高分和低分检测框。检测结果中,若检测框置信度大于高分框阈值,则将检测框放入高得分检测框集合Dhigh中。检测框置信度值小于高分框阈值,并且大于低分框阈值,则将该检测框放入低得分检测框集合Dlow中。

    (2)将Dhigh与已有轨迹进行首次关联匹配。计算出Dhigh高分框与轨迹集合的IOU距离矩阵,用匈牙利算法进行匹配。对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中。对未能够成功匹配的轨迹放入第一次关联未能匹配的轨迹集合Tremain中,未能够成功匹配的高得分检测框放入第1次关联未能匹配的检测框集合Dremain中。

    (3)将Dlow与Tremain轨迹进行第2次IOU关联匹配。计算Dlow低分框与Tremain轨迹集合的IOU距离矩阵,用匈牙利算法进行匹配。未能够成功匹配的轨迹放入丢失轨迹集合Tlost中,未能够成功匹配的低得分检测框直接删除,这个检测框被认为是背景框。对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中。

    (4)轨迹创建、删除和合并。对于Dremain中的检测框,若置信度值大于跟踪得分阈值,则为其创建一个新的轨迹,并且合并入当前帧轨迹集合中,否则不做处理。对于保留在Tlost里的轨迹,若超出30帧,则认为其为丢失轨迹并删除。返回当前帧的所有轨迹集合,将其作为下一帧图像的已有轨迹集合,输出轨迹集合,进行卡尔曼滤波预测轨迹新位置。

    该策略处理流程图如图3所示。

    图3 基于BYTE数据关联算法流程图Fig.3 Flow chart of algorithm based on BYTE data association

    2.2.2改进ByteTrack的多目标跟踪算法

    基于BYTE的数据关联跟踪器只能用于跟踪单类别的行人,无法识别目标对象的行为动作类别,难以识别非行人的目标,因此,需要对BYTE数据关联算法进行改进。为实现群养生猪多种行为稳定跟踪,改进ByteTrack的多目标跟踪算法的改进包括两部分:

    (1)设计并实现BYTE数据关联的轨迹插值后处理策略。针对群养生猪之间存在的严重遮挡,导致目标ID错误变换,该策略能显著提升遮挡目标的稳定跟踪性能。其工作原理为:假设轨迹T在t1帧和t2帧之间因遮挡处于丢失状态,若当前轨迹T恰好处于第t帧(t1

    (1)

    式中Bt——第t帧的轨迹框坐标(包含4个值,分别是左上和右下坐标值)

    Bt1——第t1帧的轨迹框坐标

    Bt2——第t2帧的轨迹框坐标

    与此同时,需要设置一个超参数σ,表示执行插值的最大帧数间隔,这意味着只有当t2-t1<σ时才执行轨迹插值。

    (2)针对猪只形状,设计适合群养生猪的检测锚框。原本基于BYTE的数据关联跟踪器的检测框根据行人的窄高特点设计,本文中去除对目标检测框的形状限制,同时设计适合生猪的检测框。同时,在基于BYTE的数据关联跟踪器中,增加猪只4类行为类别(躺卧、站立、饮食和其他)跟踪。首先,在YOLOX-X目标检测中,采用目标、分类和回归3个解耦头,每一个头部分支负责单一功能。设计群养生猪4种分类行为,分类信息由独立的一个解耦头负责。然后,将检测结果中检测框坐标和类别信息一起传入BYTE数据关联算法中,实现在跟踪模块中,对每个轨迹增加类别和置信度信息。使每个轨迹包含坐标信息、ID号、置信度和类别信息,最终实现猪只行为类别跟踪。

    在猪只存在物体遮挡或者其他猪只遮挡时,YOLOX-X可能在相邻几帧之间,会出现漏检或者误检的检测框,其产生无类别或者错误的行为类别;
    将其引入跟踪模块,会产生错误的ID跟踪框,其并无类别或者错误的类别信息;
    在这种情况下,利用改进的BYTE数据关联的轨迹插值后处理,去更正错误的ID跟踪框,在更正轨迹框坐标信息及ID信息时,同时去更正类别信息,实现稳定的行为类别跟踪。其中,更正轨迹T的行为分类信息依据分类信息是离散变量,通过t1帧和t2帧的类别信息,采用最大投票方法修正轨迹T的类别信息。

    改进BYTE数据关联跟踪器实现效果如图4所示,图4a中原本的跟踪框只能显示猪只的ID号,而图4b中的跟踪框能够显示猪只的行为类别和ID号,可以体现出增加行为类别后的跟踪差异。

    图4 改进ByteTrack算法中增加行为类别跟踪结果Fig.4 Behavior recognition tracking results based on improved ByteTrack algorithm

    基于改进ByteTrack数据关联策略,将所有检测框都保留下来,将检测框分为高分和低分检测框,提高遮挡物体的稳定跟踪。同时对匹配过程中发生丢失的轨迹进行灵活处理,提高遮挡物体的跟踪性能。

    2.3 实验平台与评价指标

    实验采用基于ByteTrack的深度学习多目标跟踪模型,运行模型的服务器操作系统为Ubuntu18.04,编程语言为Python3.7,深度学习框架为Pytorch1.9.1,cuda版本11.1。服务器的GPU为RTX 3090,内存为64 GB。

    图5 ByteTrack算法跟踪部分结果Fig.5 Examples of MOT results based on ByteTrack

    采用识别平均数比率(Identification F1,IDF1)、召回率(Recall,R)、精确率(Precision,P)、大多数跟踪(Mostly tracked,MT)、主要丢失目标(Mostly lost,ML)、误报数(False positives,FP)、漏报数(False negatives,FN)、身份切换(ID switch,IDs)次数、多目标跟踪准确度(Multiple object tracking accuracy,MOTA)和多目标跟踪精确度(Multiple object tracking precision,MOTP)进行综合评价跟踪模型。其中,IDF1、IDs和MOTA主要反映跟踪器的性能,IDF1和MOTA数值越高,性能越好,IDs值越小,性能越好;
    辅助以R、P、MT、ML、FP、FN、MOTP等指标进行跟踪模型的性能评估,R、P、MT、MOTP值越高,性能越好,ML、FP、FN值越小,性能越好。

    3.1 ByteTrack群养猪多目标跟踪结果与分析

    为检验ByteTrack多目标跟踪模型性能,将4段不同环境场景下的群养生猪视频作为测试视频,设置轨迹分数阈值为0.76,匹配阈值为0.98,输入图像尺寸为1 344像素×506像素,ByteTrack在测试集上的跟踪结果如表2所示,其中真实猪只数量(Ground truth,GT)代表每个视频段中共有几头猪只。该方法的MOTA和IDF1分别为95.3%和93.9%,说明跟踪器在猪舍场景中,对于群养生猪跟踪具有较好的效果。IDs为13,说明模型能持续跟踪,性能稳定。综合其他指标结果,该跟踪器适用群养生猪环境下的多目标跟踪。

    表2 基于ByteTrack的群养生猪多目标跟踪结果Tab.2 Pig MOT results based on ByteTrack

    利用ByteTrack对不同条件下群养生猪进行跟踪测试,结果如图5所示。图5a为在白天猪只个数较少、存在部分遮挡的情况下,模型可以准确地识别并跟踪猪只行为,跟踪效果较好。图5b为在夜晚猪只个数较多、存在严重遮挡的情况下,模型也能够准确识别出每头猪只并进行跟踪,表明该模型能够很好地处理目标遮挡问题;
    图5c、5d为在白天猪只较多、密集拥挤情况下的跟踪性能。在这些场景下,算法具有较好的跟踪效果,表明模型对于不同光照也具有较好性能。综上,ByteTrack模型适用生猪跟踪。

    3.2 基于改进ByteTrack群养生猪多目标行为跟踪结果

    3.2.1基于改进ByteTrack的多目标跟踪结果分析

    基于改进ByteTrack的多目标跟踪测试结果如表3所示。从表3可以看出,视频序号0102、0402和0602的IDF1值在92%~93%之间,说明对3个视频中目标跟踪保持良好,而视频序号1502的IDF1达到99%,保持目标跟踪的时间更长。所有测试视频IDF1平均值达到94.5%,表明,整体上模型算法的轨迹跟踪性能较优。在P与R方面,所有测试视频平均值分别为98.0%和98.1%,说明模型能够准确地识别出猪只目标。在MT和ML上,所有视频都达到最佳,表明所有轨迹大多数时间都能被正确跟踪,跟踪持续性没有过大的偏差。

    表3 改进ByteTrack的群养生猪多目标跟踪结果Tab.3 Pig MOT results of improved ByteTrack algorithm

    图6 改进ByteTrack的部分跟踪效果Fig.6 Examples of MOT results based on improved ByteTrack

    在IDs指标方面,4个视频的IDs总数只有9,而1502视频段的IDs为0,表明改进ByteTrack跟踪模型在密集和遮挡复杂环境下,能对目标持续跟踪,不存在丢失,跟踪性能稳定。同时,测试视频的MOTA均在90%以上,平均值为96.1%,表明模型算法对检测目标的准确性和保持轨迹稳定性很好,MOTP的平均值为0.189,表明位置误差较小。综上所述,改进ByteTrack多目标跟踪模型无论在识别目标的准确度,还是保持轨迹持续性和稳定性方面,都表现较优。

    改进ByteTrack的群养生猪多目标跟踪部分效果如图6所示。其中,视频0102在第50、150、250帧都保持稳定的跟踪,其最大ID号为7。视频1502为夜晚密集情况下,在第50、150、250帧一直保持稳定的跟踪,其最大ID号为16,和表3中视频1502的真实猪只数量GT相同。视频0402在150帧时,最大ID号为15,和GT值对应,说明该视频在白天密集情况下,保持轨迹持续性和稳定性。说明改进BYTE数据关联对群养生猪多目标跟踪能取得稳定的跟踪性能。

    3.2.2改进ByteTrack与ByteTrack效果对比

    对测试视频跟踪信息进行轨迹插值后处理,可以有效地处理因遮挡而产生的IDs问题,提高IDF1和MOTA值。

    应用轨迹插值算法进行处理前和处理后的相应视频帧对比如图7所示,图7a和图7b由轨迹插值处理前和处理后视频0102的第264帧所截取,当ID为4的猪只被ID为1的猪只遮挡时,经过轨迹插值处理后,其跟踪结果仍然能保留ID为4,没有发生ID切换。图7c和图7d由视频0402的117帧截取,可以观察到插值处理前黄色框ID为11的猪只被ID为15的猪只遮挡后轨迹框丢失,而插值处理后没有造成丢失。因此,运用轨迹插值算法能有效提高跟踪性能,避免因遮挡问题造成跟踪框丢失和ID错误切换。

    3.3 改进算法和其他多目标跟踪算法结果比较

    与DeepSORT和JDE多目标跟踪算法不同,改进ByteTrack算法将所有检测框都保留下来,并将检测框分为高分检测框和低分检测框。检测分数较低的目标对象往往由一些因素(例如遮挡、运动模糊、行为姿态变化等)造成,如果简单地将低分检测框去除,容易造成目标对象轨迹丢失或身份切换频繁等问题。而将低分检测框与轨迹进行关联,利用位置重合度就能把遮挡的物体从低分框中挖掘出来,保持轨迹连贯性,因此,保留低分检测框很有必要。表4为JDE和DeepSORT的多目标跟踪实验结果。

    表4 JDE和DeepSORT的实验结果对比Tab.4 Experimental results comparison between JDE and DeepSORT

    对比表2、4发现,JDE、DeepSORT和ByteTrack算法的IDF1平均值为66.5%、67.3%和93.9%。改进ByteTrack模型达到94.5%,显著优于其他3种方法,表明改进模型对于目标能保持长时间的跟踪能力。在IDs方面,改进ByteTrack算法的IDs总数只有9,而 JDE和DeepSORT模型的IDs总数分别达到了232和251,表明ByteTrack模型无论在猪只稀疏、活动较少的场景下,还是猪只密集、遮挡情况较多、活动频繁等复杂环境下,ID切换次数非常少,具有稳定的多目标跟踪性能。在MOTA方面,改进ByteTrack算法(96.1%)显著高于JDE、DeepSORT算法(84.0%、87.9%),这也说明改进ByteTrack算法在检测精度和保持轨迹的能力都高于其他模型。总体来说,改进ByteTrack模型的所有性能指标都优于其他算法模型,适合用于复杂场景下的群养生猪多目标跟踪。

    改进ByteTrack算法与JDE、DeepSORT算法的跟踪结果如图8所示。图8a中DeepSORT和图8c中JDE在第55帧中,猪只最大ID号都为14,而改进ByteTrack算法中,猪只最大ID号为7(图8e);
    在第230帧时,对应图8b和图8d,DeepSORT和JDE算法分别为42和59,这表明DeepSORT和JDE在猪只行动活跃的情形下,ID切换十分频繁,多目标跟踪稳定性差。在图8f中,改进ByteTrack算法在第230帧中,其最大ID号一直保持在7,这与猪只总数一致,表明ByteTrack在当前场景下发生ID切换的次数极少,保持跟踪稳定性。同时,图8b与图8d中有一因遮挡而导致漏检的猪只,在图8f中一直能够稳定跟踪,因此,改进ByteTrack算法在目标遮挡的情况下,也能很好地跟踪该目标。

    针对夜晚、猪只个数较多(GT为16)、猪群密集拥挤、个别猪只活动较多(对应测试视频序号1502)的情况,改进ByteTrack算法与JDE、DeepSORT算法的跟踪结果如图9所示。

    图8 ByteTrack与JDE、DeepSORT算法跟踪结果对比(测试视频0102)Fig.8 Comparison of ByteTrack, JDE and DeepSORT tracking results (test video 0102)

    图9 ByteTrack与JDE、DeepSORT算法跟踪结果对比(测试视频1502)Fig.9 Comparison of ByteTrack, JDE and DeepSORT tracking results (test video 1502)

    从图9a与图9c可以观察到,DeepSORT与JDE算法在第20帧时,已经产生ID错误切换,最高ID数分别为24和28,与猪只个数(16)不符。图9e中改进ByteTrack算法在第20帧中,其最大ID数为16,与猪只个数一致。在第258帧中,DeepSORT和JDE跟踪框(图9b和图9d)最大ID分别为121和 100,表明跟踪期间产生频繁的ID变换。改进ByteTrack算法(图9f)跟踪框最大ID号仍保持在16,这说明改进ByteTrack算法在光线较弱、猪只密集拥挤的复杂环境下,也有稳定的跟踪性能。原因可能是改进ByteTrack算法将低分检测框与轨迹进行关联,并采用轨迹插值后处理,把遮挡的物体从低分框中挖掘出来,保持轨迹连贯性。

    综上所述,改进ByteTrack算法相比于DeepSORT与JDE,在复杂场景下更突显其出色的跟踪精度,优越的跟踪性能,发生IDs的情况明显少于其他算法,并能够准确地实现跟踪群养生猪。

    (1)提出了一种改进ByteTrack算法的多目标跟踪模型,该模型基于YOLOX-X和改进ByteTrack算法构成。针对群养生猪密集遮挡的复杂场景,在BYTE数据关联基础上,引入行为类别,增加插值后处理,实现群养生猪稳定高效的多目标跟踪性能。

    (2)实验结果表明,在目标跟踪方面,改进ByteTrack算法实验结果的MOTA为96.1%,IDF1为94.5%,IDs为9,MOTP为0.189,对比JDE、DeepSORT和ByteTrack算法,改进ByteTrack算法的所有指标都有较好的提升。不同算法跟踪效果的对比证明了改进ByteTrack算法性能较优。

    (3)本文所构建群养生猪行为跟踪算法可以满足实际养殖环境中的需要,能够为无接触式自动监测生猪提供技术支持,在智慧养殖群养生猪中,具有良好的应用前景。

    猜你喜欢 低分猪只轨迹 降低日粮粗蛋白并添加单体氨基酸对断奶—育肥猪生长性能和营养排泄的影响(中)猪业科学(2022年11期)2022-12-17加氢装置低分气脱硫效果影响因素分析炼油与化工(2022年2期)2022-04-25猪胃溃疡的病因与防治措施中国畜禽种业(2020年4期)2020-12-16低分剧成了大众的“情绪容器”环球人物(2020年23期)2020-12-10轨迹读友·少年文学(清雅版)(2020年4期)2020-08-24轨迹读友·少年文学(清雅版)(2020年3期)2020-07-24秋冬季防应激不可忽略饮水消毒河南畜牧兽医(2020年21期)2020-01-10猪只硒缺乏症的预防措施和治疗方法猪业科学(2018年5期)2018-07-17轨迹现代装饰(2018年5期)2018-05-26孩子考了低分以后下一代英才(酷炫少年)(2017年10期)2017-11-22
    相关热词搜索: 算法 养生 跟踪

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章