改进YOLOv5 和DeepSORT 的多目标跟踪算法
2023-07-21黄振桂
摘 要 针对多目标因相互交错或被遮挡以及检测目标外观外貌和背景颜色相近等现象 导致目标跟踪的漏检 错检ID 分配紊乱等问题 提出了一种改进YOLOv5 DeepSORT和 跟踪算法 为加强网络对全局上下文特征的提取能力 文章提出优化DeepSORT 的特征提取网络模型 并通过去掉1 层卷积层 增加4 层残差层以及采用自适应平均池化层和增加网络的深度与宽度 对行人提取更加深层次的语义信息 最后 通过实验验证了DeepSORT 目标跟踪算法的优越性 其能够准确地对目标进行跟踪 具有一定的理论探索意义和实用价值
关键词 多目标跟踪 行人识别
中图法分类号 文献标识码A
1 引言
随着计算机视觉技术[1] 的高速发展,目标检测与跟踪技术[2] 已经应用到各个领域中,如自动驾驶、智慧交通以及公共安全监管等。目标跟踪算法可以分为2 大类,分别为单目标跟踪[3] 和多目标跟踪[4] 。单目标跟踪算法是在每张图片中只跟踪一个目标,而多目标跟踪算法则是连续跟踪视频或者图像帧中的多个目标,多目标跟踪更多的是解决相似度计算和数据关联的问题。2016 年,Redmon[5] 提出了一种One?Stage 方法,即YOLO 算法,其虽牺牲了检测准度和定位精度,但是检测速度大幅提高,从而达到实时的目标检测要求。SORT 算法[6]( Simple Online andRealtime Tracking)是一个非常简单实用的多目标跟踪算法。在SORT 算法中,仅仅通过IOU 来进行匹配,虽然速度极快,但是存在大量身份ID 互换的现象。DeepSORT 算法[7] 在SORT 算法的基础上引入了级联匹配和匈牙利算法将目标轨迹的预测框与检测框进行了数据关联匹配。通过这个扩展,模型能够更好地应对目标被长時间遮挡的情况,将ID switch 指标降低了45%。但在实际场景中,面对行人目标姿态变化、光照强度低、背景环境复杂,以及目标间的轨迹交错和遮挡等问题,仍然存在目标漏检、丢失跟踪以及ID 易互换的现象。针对上述问题,本文提出改进YOLOv5 和DeepSORT 算法。
2 YOLOv5 算法
Ultralytics 等提出的YOLOv5 模型的性能和检测准确度与YOLOv4 不相上下, 相较于YOLOv4,YOLOv5 的网络结构更加简单,参数量也更少,其图像自适应缩放策略和锚框自适应策略使YOLOv5 无论是训练、预测还是推理速度都明显优于YOLOv4。整个YOLOv5 网络结构分成4 部分,即Input,Backbone,Neck,Head。
(1)Input 输入端。YOLOv5 继承了YOLOv4 所使用的Mosaic 数据增强方式,丰富了检测数据集,同时采用自定义不同长宽锚框的自适应锚框机制,从而实现了既能增加数据集的复杂度,又能减少GPU 的内存使用的目标。
(2) Backbone 主干网络。YOLOv5s 的Backbone网络是1 个由CSPDarknet53 构成的卷积神经网络,它包含53 个卷积层,并使用了CSP(Cross?Stage PartialNetworks)模块来加快训练和提高准确性。
(3) Neck 颈部网络。在YOLOv4 的Neck 结构中,采用的都是普通的卷积操作,YOLOv5 的Neck 网络使用了“ FPN + PAN” 结构, 且YOLOv5 借鉴了CSPnet 的设计思想,将YOLOv4 使用的CBL 模块更换为CSP2 结构,从而保留更多特征信息,加强了网络特征融合能力。
(4)Head 输出端。Head 输出端是YoLOv5 模型中最后一层卷积层,它的作用是将融合后的多尺度特征图进行分类和回归预测,得到目标的位置、类别和置信度等信息。
3 DeepSORT 算法改进
DeepSORT 算法是在整个SORT 算法的基础上进行改进,其借鉴行人重识别领域的ReID 网络结构,利用特征提取网络与目标检测框中的特征,当目标因遮挡又重新出现后,可以利用特征提取网络的前后特征对比,重新跟踪目标,从而避免出现ID 互换现象。但在实测过程中发现,DeepSORT 原始特征网络在行人重叠时容易出现ID 互相切换的现象,以及造成目标跟丢的情况。为解决此问题,重构DeepSORT 外观特征提取网络模型,在不改变训练速度的基础上,进一步提升DeepSORT 外观特征提取能力。改进外观特征提取网络表如表1 所列。
4 实验及结果分析
4.1 改进特征提取网络训练
本文使用Market?1501 数据集对改进的行人重识别网络进行训练,将训练好的模型导出后用于后续的实验,通过记录每一次迭代的行人外观模型训练结果的损失函数值及误差值来验证外观模型的训练效果。特征提取网络训练结果图如图1 所示。
从图1 的Loss 以及Top1?Error 曲线变化可知前Epoch20,模型的损失值和Top1?Error 下降较为迅速,在Epoch20 之后,Loss 值和Top1?Error 错误率曲线逐渐平缓,当模型迭代40 次时,训练集的Loss 值和Top1?Error 错误率趋近于2% ,验证集的Loss 值和Top1?Error 错误率分别趋近52%和15%。在Epoch60时模型收敛,此时该模型能够较好地提取更深层次的人体外观特征信息。
4.2 多目标跟踪算法效果对比
目标跟踪算法选择在MOT16 数据集上进行测试,选择MOT Challenge 指标作为评分标准,与其他几种经典跟踪算法进行对比实验,并给出了相应的实验结果。目标跟踪算法实验对比如表2 所列。
4.3 目标跟踪算法实验示例分析
选择MOT16?02 和MOT16?04 视频对改进模型进行测试。MOT?16?02 视频图、MOT?16?04 视频图如图2、图3 所示。
从图3 可以看出,该场景行人密集,光线阴暗,背景复杂,在MOT?16?02 视频经过人群短暂交错后,在第403 帧和第469 帧中各行人的ID 信息仍保持不变;在MOT?16?04 视频中Id 为1 的目标男子在视频从左往右走动时,经过灯光的遮挡重新出现,检测到其ID 始终没有发生改变,并且在Id 为73 的行人经过人群密集处后,检测到其ID 依旧为73。这表明该算法在光线较暗的情况下依旧能够有效地跟踪到行人目标,并保持他们的ID 值不变,不易发生ID 互换现象。
5 结束语
本文在YOLOv5 和DeepSORT 算法的基础上进行改进,提出结合GAM 注意力机制, 加强网络对上下文的特征的提取能力,同时优化DeepSORT 的外观特征提取网络,将128 维提升至1 024 维和采用不同残差神经层加强对目标外观的提取。在保证精度的前提下,大幅减少行人因重叠导致身份互换现象,最終优化后的模型在MOTA 上提高了0.729%,MOTP 提高了1.541%,IDSW 下降了130,足以证明该模型可以快速有效地实现行人识别与跟踪,完成在复杂场景下的跟踪任务。
参考文献:
[1] 方佳乐.计算机视觉技术在人工智能领域的应用研究[J].中国高新科技,2021(20):40?41.
[2] 王晓燕,韩笑,王雪婷.图像处理领域运动目标跟踪技术综述[J].科学技术创新,2018(25):97?98.
[3] LU X,LI F,TANG J,et al. A new performance index formeasuring the effect of single target Tracking with Kalmanparticle filter[J].International Journal of Modern Physics C,2022,33(9):11?20.
[4] REDMON J,FARHADI A.YOLO9000:Better,Faster,Stronger[J].CoRR,2016:242?248.
[5] 马琳琳,马建新,韩佳芳,等.基于YOLOv5s 目标检测算法的研究[J].电脑知识与技术,2021,17(23):100?103.
[6] BEWLEY A,ZONGYUAN G,RAMOS F,et al.Simple onlineand realtime Tracking [ C ] / / International Conference onImage Processing,2016:3464?3468.
[7] WOJKE N, BEWLEY A, PAULUS D. Simple Online andRealtime Tracking with a Deep Association Metric[J].IEEE,2017,21(2):3645?3649.
作者简介:
黄振桂(1998—),硕士,研究方向:目标检测与跟踪。