一种多目标检测跟踪算法研究
2022-06-14杨文焕翟雨殷亚萍王晓君
杨文焕 翟雨 殷亚萍 王晓君
摘要:针对多目标跟踪领域中现有研究方法存在的实时性差、易漂移等问题,基于YOLOv3算法和KCF算法,提出了一种多目标检测跟踪算法。首先,利用训练好的YOLOv3网络获取视频中目标的位置,并对各个目标进行ID分配;其次,将多个目标并行输入到基于核相关滤波的跟踪模块进行目标跟踪;然后,判断是否满足启动修正策略的条件,若满足则用检测模块的结果去修正跟踪模块的结果;最后,利用跟踪结果更新核相关滤波器模型。实验结果表明,将算法应用于OTB2015数据集中的4组含有多种干扰的视频序列,其跟踪精确度达82.4%,跟踪成功率达81.1%,能够满足跟踪实时性要求。因此,所提算法不但有效,且具有更强的鲁棒性,为多目标跟踪领域提供了新的研究思路。
关键词:计算机神经网络;多目标检测跟踪;YOLOv3;核相关滤波算法;修正策略
中图分类号:TP301.6文献标识码:Adoi:10.7535/hbkd.2022yx02002
Abstract:Aiming at the problems of poor real-time performance and easy drift in the existing research methods in the field of multi-target tracking,a multi-target detection and tracking algorithm was proposed based on YOLOv3 algorithm and KCF algorithm.Firstly,the trained YOLOv3 network was used to obtain the location of the target in the video,and the ID of each target was allocated;Secondly,multiple targets were input into the tracking module based on kernel correlation filter in parallel for target tracking;Then,the conditions for starting the correction strategy were judged,if they were met,the results of the detection module were used to correct the results of the tracking module;Finally,the kernel correlation filter model was updated by using the tracking results.The experimental results show that when the algorithm is applied to four groups of video sequences containing multiple interferences in OTB2015 data set,the tracking accuracy reaches 82.4%,the tracking success rate reaches 81.1%,and meets the requirements of real-time tracking.Therefore,the algorithm is not only valid,but also has stronger robustness to provide a new research method for the field of multi-target tracking.
Keywords:computer neural network;multi-target detection and tracking;YOLOv3;kerneized correlation filter algorithm;correction strategy
目标跟踪是计算机视觉领域的重要分支,该领域的研究具有较强的学术研究价值和工程应用价值[1-2]。在实际应用中,视频图像会存在噪声干扰或者目标形变[3-4]等情况,这使得目标跟踪的研究具有很大的挑战。按照跟踪目标个数的不同,可以将其分为单目标跟踪和多目标跟踪[5],其中单目标跟踪的研究已较为完善,而多目标跟踪由于存在诸多挑战因素,仍有很多问题未得以解决。
近年来,随着深度学习方法不断发展,出现了很多新模型与新算法,很多国内外学者试着将这些方法应用到多目标跟踪系统[6]的检测器中,取得了较大突破[7]。REDMON等[8]提出了YOLOv3算法,与YOLOv1,YOLOv2算法[9-10]相比,YOLOv3引入了多尺度特征并改进了网络结构,因此目标检测的准确率得到了提升,特别是针对体积较小的目标。任珈民等[11]提出了一种基于YOLOv3与卡尔曼滤波的多目标跟踪算法,利用YOLOv3算法检测当前帧中的待跟踪目标。该算法保证了检测精度和速度,但是卡尔曼滤波需要进行不断迭代才能预测目标位置,故其实时性较差。
河北科技大学学报2022年第2期杨文焕,等:一种多目标检测跟踪算法研究BOLME等[12]提出了误差最小平方和(MOSSE)滤波器,首次将相关滤波器应用到目标跟踪中,通过相关性计算原理实现目标区域跟踪,并且引入了傅里叶变换,加快了计算速度。HENRIQUES等[13]在MOSSE和CSK算法的基礎上提出了核相关滤波器(kerneized correlation filter,KCF)算法[14-15],该算法使用循环矩阵降低了计算量,并且引入了多通道特征,最终使得目标跟踪的准确率提高。不过当目标尺度发生变化时,KCF算法易发生跟踪漂移。虽然相关滤波算法在目标跟踪的应用中具有较为突出的优势,但是这些算法都只能解决单目标跟踪问题,如何把相关滤波跟踪算法的优势应用到多目标跟踪中,仍有待进一步研究。
考虑以上算法的优缺点,在原有算法基础上提出了一种多目标检测跟踪算法。首先,利用YOLOv3算法检测得到视频图像中的目标,并对多个目标进行固定ID分配;然后,将所有目标的信息并行输入到基于核相关滤波的跟踪模块;最后,通过启动修正策略用检测模块的结果更新跟踪模块的结果,以保证跟踪的准确率。
1算法流程
本文提出了一种基于YOLOv3和核相关滤波的多目标检测与跟踪算法,其框架图如图1所示。该算法主要包括视频输入、检测模块、离线训练、跟踪模块、跟踪结果修正。多目标检测跟踪算法流程如图2所示,首先,获取视频图像,将视频中的第一帧输入到YOLOv3检测模块检测目标位置,并对各个目标进行ID分配。其次,将检测结果输入到跟踪模块,对根据检测结果采集到的正负样本进行岭回归计算,从而得到候选样本,找到最大响应值的位置即为目标的跟踪结果。然后,判断是否启动修正策略,若满足启动条件,则返回检测模块继续检测当前帧的目标数量和位置;若不满足,则直接输出跟踪结果。最后,用跟踪结果更新KCF滤波器模型。
1.1检测模块
算法中的检测模块基于YOLOv3网络架构获取目标的当前位置。YOLOv3算法通过残差模型Darknet-53提取图像特征,利用anchor锚点机制预测边界框位置,从而预测目标位置,并且采用特征金字塔网络(feature pyramid network,FPN)架构实现多尺度目标检测,这些改进提高了目标检测的精度和速度。
1.1.1YOLOv3网络结构
图3所示即为YOLOv3网络的结构示意图。首先,将416×416大小的图像输入到DBL(Darknetconv2D_BN_Leaky)层。DBL是YOLOv3网络的基本组件,如图3左下方所示,DBL表示卷积层(conv)、批标准化BN(Batch Normalization)以及激活函数Leaky ReLU的组合。之后,利用多个残差块提取图像特征。然后,将处理得到的图像特征进行卷积和上采样,并将得到的结果与原始图像特征进行拼接,从而得到3种不同尺寸的预测结果。每个预测结果的数据内容为预测框的位置、置信度和类别概率,其中预测框的位置通过中心点坐标和框的宽高来表示[16]。
1.1.2检测过程
使用数据集对YOLOv3网络模型进行离线训练,之后,训练好的网络就可以用来进行实际的图像目标检测,检测过程如图4所示,主要包括图像尺寸归一化、图像特征提取、得到预测框信息和输出最优预测结果。
首先,将视频图像输入到检测模块中,对输入的图像重新进行裁剪,将尺寸统一设置为416×416,并进行归一化处理。然后,将固定尺寸的图像输入到Darknet-53网络[17]中,提取图像特征,并输出3种尺寸的特征图像。其次,会得到一些预测框,并得出这些预测框的坐标值、置信度和类别概率。其中,置信度是一个在区间[0,1]之内的值,表示当前预测框有目标且分类正确的概率。最后,通过将得到的每个预测框的置信度与设定阈值进行比较,去除置信度较低的预测框,再根据非极大值抑制(non-maximum suppression,NMS)方法确定最优的预测结果,此预测结果即为最终的检测结果。上述提到的置信度阈值可根据实际情况进行调整,实验采用YOLOv3模型相关开源代码中的默认阈值0.45。
给每个检测目标分配一个ID,分配原则是检测目标的输出顺序。此外,可能存在目标在移出视野之后再出现的情况,因此所有的ID号只使用一次,目标重新出现将会有新的ID号。最后将检测结果输入到跟踪模块。
1.2基于KCF算法的目标跟踪模块
将检测模块得到的结果并行输入到基于KCF算法的跟踪模块中,对每个目标进行跟踪。核相关滤波算法会使图像产生位移,从而采集目标的正负样本,产生位移的样本存在一个矩阵中,组成一个循环矩阵[18],利用岭回归方法训练分类器,并且将线性空间的岭回归通过核函数映射到非线性空间[19],最后将测试样本通过训练好的分类器检测,从而得到目标位置,完成跟踪任务。图5所示为基于KCF算法的目标跟踪模块流程图。
首先,将视频图像输入到检测模块中,对输入的图像重新进行裁剪,将尺寸统一设置为416×416,并进行归一化处理。然后,将固定尺寸的图像输入到Darknet-53网络[17]中,提取图像特征,并输出3种尺寸的特征图像。其次,会得到一些预测框,并得出这些预测框的坐标值、置信度和類别概率。其中,置信度是一个在区间[0,1]之内的值,表示当前预测框有目标且分类正确的概率。最后,通过将得到的每个预测框的置信度与设定阈值进行比较,去除置信度较低的预测框,再根据非极大值抑制(non-maximum suppression,NMS)方法确定最优的预测结果,此预测结果即为最终的检测结果。上述提到的置信度阈值可根据实际情况进行调整,实验采用YOLOv3模型相关开源代码中的默认阈值0.45。
给每个检测目标分配一个ID,分配原则是检测目标的输出顺序。此外,可能存在目标在移出视野之后再出现的情况,因此所有的ID号只使用一次,目标重新出现将会有新的ID号。最后将检测结果输入到跟踪模块。
1.2基于KCF算法的目标跟踪模块
将检测模块得到的结果并行输入到基于KCF算法的跟踪模块中,对每个目标进行跟踪。核相关滤波算法会使图像产生位移,从而采集目标的正负样本,产生位移的样本存在一个矩阵中,组成一个循环矩阵[18],利用岭回归方法训练分类器,并且将线性空间的岭回归通过核函数映射到非线性空间[19],最后将测试样本通过训练好的分类器检测,从而得到目标位置,完成跟踪任务。图5所示为基于KCF算法的目标跟踪模块流程图。
1.2.4修正策略
为解决经过长时间跟踪后跟踪模块精度下降的问题,算法使用了修正策略,即定时会对跟踪模块的结果进行更新修正。
将检测模块的检测结果输入到跟踪模块,开始跟踪时,效果比较好,但经过长时间的跟踪,效果会逐渐变差。若频繁的修正跟踪结果则会使得跟踪的实时性变差,所以该策略是在跟踪一段时间后自动启动检测模块,利用检测模块的结果对目标跟踪结果进行修正。在实验中,设置每隔10帧重新启动一次检测模块。
修正策略解决了原有目标离开视野或者新目标出现时跟踪效果不好的问题,从而使得目标跟踪更加准确,更具实时性,保证了跟踪速度。
2实验与结果分析
2.1实验环境及数据集
本文算法测试平台的硬件环境为NVIDIA GTX3090Ti GPU,16 GB内存,软件环境为Win10、64位操作系统、Matlab 2016a,Visual Studio 2015,Python 3.6,CUDA 9.0,Tensorflow-gpu1.11.0。
实验采用OTB 2015(Visual Tracker Benchmark 2015)数据集对本文算法进行验证和性能评估。该数据集中包含100个视频序列,因此也叫做OTB 100数据集。OTB 2015数据集共包含9种干扰属性[21],分别是光照变化(IV)、尺度变化(SV)、遮挡(OCC)、变形(DFE)、运动模糊(MB)、快速移动(FM)、平面内旋转(IPR)、平面外旋转(OPR)、移出视野(OV)、背景相似(BC)以及低分辨率(LR),每一个视频序列中都包含着以上干扰的若干种。数据集包含25%的灰度序列,其余为彩色序列,部分图像如图6所示。
2.2评价指标
实验采用的评价指标为精确度、成功率(SR)和帧率(FPS)。
2.3结果分析
实验从OTB 2015数据集中选取了4组视频序列,分别是Walking 2,Jogging,Subway和Bolt序列。每个视频序列中都含有多个行人目标,并且存在遮挡、目标形变等各种干扰,视频序列的干扰信息如表1所示。
2.3.1定性分析
对以上4组视频序列进行跟踪测试的结果如图7所示。由图7可知,本文算法能够较准确地跟踪上视频中的多个目标。图7 a)和图7 d)中出现了目标因被遮挡或体积较小而跟踪失败的情况,但经过算法的修正策略,在之后的视频帧中目标重新被检测到并被跟踪,针对出现新目标和目标形变的干扰,算法也有较好的表现;图7 b)说明对于目标和背景相似的干扰,算法能有效处理;由图7 c)可以看出本文算法能够跟踪上移动速度较快的目标。
2.3.2定量分析
图8所示为本文算法与CSK,KCF,STAPLE,SAMF 4种跟踪算法针对上述选取视频序列得到的精确度曲线图,横坐标表示设置的CLE阈值,纵坐标表示CLE小于阈值的帧数占总帧数的比值即精确度。随着选取的CLE阈值地增大,精确度会逐步提高且趋于平稳。从图8可以看出,本文算法的精确度达到了0.824,相比于STAPLE算法提高了2.2%,相比SAMF算法提高了3.7%,相比KCF算法提高了7.9%,与最低的CSK算法相比提高了13.1%,可见本文算法相较于其他算法,跟踪性能具有较大提升。
图9展示了本文算法对4组视频序列处理得到的多目标跟踪重叠度,横坐标表示视频不同帧的帧数,纵坐标表示每一帧图像的跟踪重叠度,重叠度的计算方法如式(20)所示。从图9可以看出,Jogging视频的重叠度在80%以上的帧数居多,跟踪效果较好;Blot和Walking 2两组视频的跟踪效果相对较差,重叠度在70%以下的帧数居多,其原因是视频中存在跟踪目标间相互遮挡、目标较小等干扰情况。4组视频序列的重叠度几乎都在60%以上,可以满足跟踪需求。
将重叠度统计实验中4组视频的成功率列于表2,其总体平均成功率为81.1%。
为进一步评价本文算法,下面对本文算法和其他几种跟踪算法[23]进行成功率比对。各算法在以上4组视频序列上测试的成功率如表3所示。
从表3可以看出,本文所提算法的成功率为81.1%,与成功率排名第2的STAPLE算法相比,提高了7.7%,与成功率最低的CSK算法相比,成功率提升了37%。
最后,比较本文算法和其他几种跟踪算法的运算效率,各算法帧率如表4所示。
可见,本文算法的帧率达到了42.183 帧/秒,虽然在上述算法中属于中间水平,但满足实时性要求。
综上,通过将本文算法和其他几种跟踪算法的精确度、成功率和运算效率进行对比可知,本文算法在精确度和成功率方面表现优秀,由于使用了修正策略,虽然在算法速度上不如CSK和KCF,但幀率已经达到了30帧/s以上,可以较好地满足实时性要求。因此,本文所提出的多目标检测跟踪算法对目标的跟踪有效、精确,并具有实时性。
3结语
考虑到YOLOv3算法在目标检测中性能较好并且可以解决多尺度检测的问题,而核相关滤波算法计算量小、跟踪准确率高,提出了基于YOLOv3算法和核相关滤波的多目标检测跟踪算法。利用YOLOv3算法的Darknet-53残差模型和FPN架构实现对图像特征的提取和对目标的多尺度检测,获取目标位置,并为目标分配ID编号;核相关滤波算法对检测到的目标样本进行循环移位,得到大量训练样本,通过核函数实现在高维空间内使用岭回归方法训练分类器,将响应值最大的位置作为跟踪结果; 算法中加入了修正策略,定时更新检测模块的结果,进而修正跟踪结果。通过对多组实验结果进行分析可知,本文算法具有较高的跟踪精确度和成功率,在4组实验中算法精确度为82.4%,成功率最高可达93.9%,总体平均成功率为81.1%。该算法还能实现准确的实时跟踪,在目标有遮挡、移出视野和形变等干扰存在时均能跟踪多个目标,可以满足实际应用中的跟踪需求。
本文算法采用的周期性修正策略仍有待改进。周期性修正既会造成系统资源的浪费,也有可能出现检测不到目标,在规定时间内目标跟踪失败的问题。所以未来将深入研究如何采用自适应的方法进行修正,即只在跟踪失败时启动修正模块,以便在尽可能减少资源浪费的前提下,进一步提高多目标跟踪的准确性。
参考文献/References:
[1]孟琭,杨旭.目标跟踪算法综述[J].自动化学报,2019,45(7):1244-1260.
MENG Lu,YANG Xu.A survey of object tracking algorithms[J].Acta Automatica Sinica,2019,45(7):1244-1260.
[2]李玺,查宇飞,张天柱,等.深度学习的目标跟踪算法综述[J].中国图象图形学报,2019,24(12):2057-2080.
LI Xi,ZHA Yufei,ZHANG Tianzhu,et al.Survey of visual object tracking algorithms based on deep learning[J].Journal of Image and Graphics,2019,24(12):2057-2080.
[3]李均利,尹寬,储诚曦,等.视频目标跟踪技术综述[J].燕山大学学报,2019,43(3):251-262.
LI Junli,YIN Kuan,CHU Chengxi,et al.Review of video target tracking technology[J].Journal of Yanshan University,2019,43(3):251-262.
[4]张静,王文杰.基于多信息融合的多目标跟踪方法研究[J].计算机测量与控制,2020,28(9):233-237.
ZHANG Jing,WANG Wenjie.Multi-target tracking method based on multi information fusion[J].Computer Measurement & Control,2020,28(9):233-237.
[5]李月峰,周书仁.在线多目标视频跟踪算法综述[J].计算技术与自动化,2018,37(1):73-82.
LI Yuefeng,ZHOU Shuren.Survey of online multi-object video tracking algorithms[J].Computing Technology and Automation,2018,37(1):73-82.
[6]LUO W H,XING J L,MILAN A,et al.Multiple object tracking:A literature review[J].Artificial Intelligence,2021,293.DOI:10.48550/arXiv.1409.7618.
[7]谷燕飞.基于改进YOLOv3+Deepsort多目标跟踪系统的研究与实现[D].沈阳:辽宁大学,2020.
GU Yanfei.Research and Implementation of Improved YOLOv3+_Deepsort Muti-target Tacking System[D].Shenyang:Liaoning University,2020.
[8]REDMON J,FARHADI A.YOLOv3:An Incremental Improvement[DB/OL].[2021-01-21].https://arxiv.org/abs/1804.02767.
[9]REDMON J,FARHADI A.YOLO9000:better,faster,stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu,HI,USA:IEEE,2017:6517-6525.
[10]REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:Unified,real-time object detection[C] //2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas,NV,USA:IEEE,2016:779-788.
[11]任珈民,宫宁生,韩镇阳.基于YOLOv3与卡尔曼滤波的多目标跟踪算法[J].计算机应用与软件,2020,37(5):169-176.
REN Jiamin,GONG Ningsheng,HAN Zhenyang.Multi-target tracking algorithm based on YOLOv3 and Kalman filter[J].Computer Applications and Software,2020,37(5):169-176.
[12]BOLME D S,BEVERIDGE J R,DRAPER B A,et al.Visual object tracking using adaptive correlation filters[C]//2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.San Francisco,CA,USA:IEEE.2010:2544-2550.
[13]HENRIQUES J F,CASEIRO R,MARTINS P,et al.Exploiting the circulant structure of tracking-by-detection with kernels[C]//Proceeding of the 12th European Conference on Computer Vision.Berlin,Heidelberg:Springer Berlin Heidelberg,2012:702-715.
[14]王婷婷.基于核相关的目标跟踪算法研究[D].西安:西安理工大学,2020.
WANG Tingting.Research on Target Tracking Algorithm on Kernel Correlation Filter[D].Xi′an:Xi′an University of Technology,2020.
[15]HENRIQUES J F,CASEIRO R,MARTINS P,et al.High-Speed tracking with kernelized correlation filters[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(3):583-596.
[16]韓峰,万少松.基于YOLOv3算法改进的行人检测技术研究[J].科学技术创新,2021(9):21-22.
[17]郑佳卉.基于YOLOv3的行人视频目标检测方法[D].西安:西安电子科技大学,2019.
ZHENG Jiahui.The Object Detection Method for Pedestrian Video Based on YOLOv3[D].Xi′an:Xidian University,2019.
[18]郜义浩,高志权,张明月,等.基于YOLOV3和KCF的高速公路监控视频交通事件检测[J].中国交通信息化,2019(sup1):197-201.
[19]王驿钊.基于改进KCF算法的空间网格目标追踪算法研究[D].广州:暨南大学,2020.
WANG Yizhao.Grid Positioning Guidance Based on Improved KCF Algorithm for Object Tracking[D].Guangzhou:Jinan University,2020.
[20]尹向雷.基于相关滤波器的视觉目标跟踪方法研究[D].西安:西安电子科技大学,2020.
YIN Xianglei.Research on Visual Object Tracking Method Based on Correlation Filter[D].Xi′an:Xi′an University of Electronic Science and Technology,2020.
[21]徐娇.智能目标检测与跟踪关键技术研究[D].西安:西安电子科技大学,2020.
XU Jiao.Research on Key Technologies of Intelligent Object Detection and Target Tracking[D].Xi′an:Xi′an University of Electronic Science and Technology,2020.
[22]王冠,耿明洋,马勃檀,等.基于孪生区域候选网络的目标跟踪模型[J].小型微型计算机系统,2021,42(4):755-760.
WANG Guan,GENG Mingyang,MA Botan,et al.Target tracking model based on siamese region proposal network[J].Journal of Chinese Computer Systems,2021,42(4):755-760.
[23]尹宽,李均利,胡凯,等.融入时序和速度信息的自适应更新目标跟踪[J].中国图象图形学报,2021,26(4):883-897.
YIN Kuan,LI Junli,HU Kai,et al.Adaptive update object tracking algorithm incorporating timing and speed information[J].Journal of Image and Graphics,2021,26(4):883-897.