基于并行跟踪检测框架与深度学习的目标跟踪算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于并行跟踪检测框架与深度学习的目标跟踪算法
作者:闫若怡熊丹于清华肖军浩卢惠民
来源:《计算机应用》2019年第02期
摘要:在空地协同背景下,地面目标的移动导致其在无人机视角下外观会发生较大变化,传统算法很难满足此类场景的应用要求。
针对这一问题,提出基于并行跟踪和检测(PTAD)框架与深度学习的目标检测与跟踪算法。
首先,将基于卷积神经网络(CNN)的目标检测算法SSD作为PTAD的检测子处理关键帧获取目标信息并提供给跟踪子;其次,检测子与跟踪子并行处理图像帧并计算检测与跟踪结果框的重叠度及跟踪结果的置信度;最后,根据跟踪子与检测子的跟踪或检测状态来判断是否对跟踪子或检测子进行更新,并对图像帧中的目标进行实时跟踪。
在无人机视角下的视频序列上开展实验研究和对比分析,结果表明所提算法的性能高于PTAD框架下最优算法,而且实时性提高了13%,验证了此算法的有效性。
关键词:并行跟踪和检测;目标跟踪;深度学习;相关滤波;无人机
中图分类号: TP242.62
文献标志码:A
Abstract: In the context of air-ground robot collaboration, the apperance of the moving ground object will change greatly from the perspective of the drone and traditional object tracking algorithms can hardly accomplish target tracking in such scenarios. In order to solve this problem,based on the Parallel Tracking And Detection (PTAD) framework and deep learning, an object detecting and tracking algorithm was proposed. Firstly, the Single Shot MultiBox detector (SSD)object detection algorithm based on Convolutional Neural Network (CNN) was used as the detector in the PTAD framework to process the keyframe to obtain the object information and provide it to the tracker. Secondly, the detector and tracker processed image frames in parallel and calculated the overlap between the detection and tracking results and the confidence level of the tracking results. Finally, the proposed algorithm determined whether the tracker or detector need to be updated according to the tracking or detection status, and realized real-time tracking of the object in image frames. Based on the comparison with the original algorithm of the PTAD on video sequences captured from the perspective of the drone, the experimental results show that the performance of the proposed algorithm is better than that of the best algorithm with the PTAD framework, its real-time performance is improved by 13%, verifying the effectiveness of the proposed algorithm.
Key words: parallel tracking and detection; object tracking; deep learning; correlation filter; drone
0 引言
隨着计算机视觉技术的发展,目标检测与跟踪技术被广泛应用到各个领域,如无人机的军事侦察、监控、打击,电力巡检,街景拍摄等。
目标跟踪作为计算机视觉领域的核心问题之一,大量的关于目标检测与跟踪的相关成果已经被提出和发表[1-3]。
根据跟踪过程有无目标检测的参与,可将现有的跟踪方法分为两类:基于生成模型的目标跟踪方法和基于判别模型的目标跟踪方法。
基于生成模型的跟踪方法一般首先构建目标的外观模型,然后通过拟合该模型
在图像中找到最相似的区域作为目标区域;基于判别模型的跟踪方法将目标跟踪问题考虑为一个二分类问题,通过构建分类器来区分跟踪目标和背景,与仅利用目标外观信息的生成模型不同,基于判别模型的跟踪子对目标和目标周围环境都进行建模。
也就是说,目标检测可以看作是目标跟踪的一个组成部分,主要是对目标状态的初始化,基于视觉的目标检测与跟踪框架如图1所示。
在基于目标检测的跟踪算法中,为训练出合适的分类器,依靠在线学习的方式需要大量的计算资源,因此在实际目标跟踪的应用中很难达到实时性要求。
基于判别式的目标跟踪方法能够以较高帧率实现对目标的实时跟踪,但是当目标模板存在漂移,尤其是当跟踪的目标从相机视野中消失时常常会丢失目标且不能重新搜寻并跟踪目标。
因此,研究人员提出将跟踪和检测作为两个模块运行用于长时间的未知目标跟踪。
近年来主流的目标检测与跟踪算法:跟踪学习检测(Tracking-Learning-Detection, TLD)框架[4-5]在长时间的目标跟踪方面具有较高的准确度和鲁棒性,但是在实时性方面仍有待提高。
受到并行跟踪和建图(Parallel Tracking And Mapping, PTAM)的启发,熊丹[6]提出了并行跟踪与检测(Parallel Tracking And Detection,PTAD)框架,将跟踪与检测放在两个线程运行,大大提高了跟踪算法的实时性;而且该框架提供了开放接口,能够集成整合不同的目标跟踪和检测算法,实现对移动目标的检测和跟踪,并能比较和测试不同目标跟踪和检测算法的性能。
在PTAD框架中,需要对给定的第一帧图像中的运动目标进行标记,实现跟踪算法的初始化,显然预标记的训练样本并不充足;并且为提高跟踪算法实时性,PTAD框架的检测模块跳过了一些图像帧,加大了目标外观变化对跟踪算法性能的影响。
实验证明在无人机的视角下,当运动目标因移动而导致目标外观发生变化时,算法的跟踪框无法随目标外观自适应调整,跟踪的准确度会降低;随着目标在视野中由于角度的变化造成外观的较大变化时,甚至可能丢失目标。
文献[6]提出的基于PTAD框架的目标跟踪算法需要人工给定第一帧,手动标定带来的不确定性会影响后续跟踪,且不适用于无人机平台。
为了解决上述问题,同时提高跟踪算法的精度和实时性,本文将深度学习算法引入到PTAD框架中,提出基于PTAD和深度学习的目标检测与跟踪算法,并通过对比实验验证了这一算法的可行性。
1 PTAD算法框架
从uav123数据集[7]中提取部分连续的图像帧(如图2所示为第111~119帧)可以看出,目标跟踪过程中,运动目标(汽车)的外观和运动环境的变化是缓慢渐进的,很少发生连续图像帧突变的情况,因此在基于视觉的检测与跟踪算法框架中,检测模块不需要对图像序列中每一帧的跟踪状态进行判断并对跟踪模块进行校正。
为了提高算法的运行速度、节省计算资源,熊丹[6]提出了PTAD算法框架。
PTAD框架分成跟踪和检测两部分,在两个线程内独立完成任务:一个线程以较高的速度处理连续图像帧实现目标跟踪;另一个线程进行在线半监督学习训练分类器,从而更新目标模型并检测跟踪的目标。
PTAD框架中的跟踪模块和检测模块并行处理,其中跟踪模块通过目标在图像序列前后帧之间的位置关系对目标进行定位,可以看成是PTAD框架的前端。
跟踪子计算资源需求少且实
时性较好,但如果跟踪失败,它无法靠自身恢复跟踪或初始化。
检测模块分为分类和学习两个部分,采用在线半监督学习算法为检测模块更新分类器,当跟踪模块丢失目标或出现大尺度漂移时,检测模块可以帮助其重新初始化和校正,这一部分看成是PTAD框架的后端。
PTAD框架的架构如图3所示。
基于PTAD框架的目标跟踪过程如下:首先对第一帧图像中的目标进行人工标定,训练初始分类器,并初始化跟踪模块。
接下来整个框架的执行流程可以划分成一系列结构相同的执行块(如图3中粗实线框所示)。
每个执行块中的第一帧为关键帧,检测子和跟踪子会处理所有的关键帧。
检测子处理关键帧后得到检测框的置信度以及检测框处剪切的图像块,并根据这个置信度判断检测模块的检测状态。
跟踪子处理关键帧得到跟踪框、跟踪框处剪切的图像块和跟踪状态,这些结果会输入到检测模块得到跟踪的置信度,而跟踪子继续处理图像帧(仅由跟踪子处理的帧称为跟踪帧,如图3中细虚线框所示),检测子将跳过这些帧,这也是PTAD框架的特点之一。
它们处理的结果经过整合为检测子提供更加可靠的训练样本,用于更新检测模块中的分类器,这样训练出来的分类器的误分率较低。
每个执行块具体执行流程如图4所示,其中KF、TFs分别为关键帧和跟踪帧,tBox、tState分别为跟踪子中的跟踪框和跟踪状态,dBox、dState分别为检测子的检测框和检测状态,finalBox为框架输出的跟踪结果框。
2 基于PTAD和深度学习的目标跟踪算法
2.1 基于深度学习的目标检测算法
传统目标检测算法存在明显的弊端,基于滑动窗口的区域选择策略没有针对性,导致出现窗口冗余且计算复杂度高的问题,因此基于候选区域的深度学习目标检测算法被提出,大大降低了計算复杂度且获取的候选窗口的质量要高于滑动窗口。
Girshick等[10]设计了基于区域选择的卷积神经网络(Regions with Convolutional Neural Network features, R-CNN)目标检测框架,用候选区域和卷积神经网络代替了传统目标检测算法,使得目标检测取得了重大突破。
为解决R-CNN算法检测速度慢且占用大量内存资源的问题, He等[11]提出空间金字塔池化网络(Spatial Pyramid Pooling in Deep Convolutional Networks, SPP-NET),减少了每帧图像需要提取的特征,避免了大量的重复计算,并可以对不同大小的图像产生相同大小长度的表示特征;但是整个框架与R-CNN一样仍然有步骤繁琐的缺点。
Girshick[12-13]团队又先后提出了Fast R-CNN和Faster R-CNN,将候选区域和卷积神经网络统一到一个网络中,使用端对端学习的方式进行目标检测,虽然无法达到实时,但也较大地提高了精度和运行速度。
为了达到目标检测的实时性,基于单个网络的实时目标检测框架(You Only Look Once, YOLO)[14]和基于单网络多层次预测框(Single Shoot multibox Detector, SSD)的目标检测[15]算法被提出,它们是基于回归方法的深度学习目标检测算法。
这类方法使用了回归的思想,将目标检测作为回归问题求解,训练和检测都在一个单独的网络中,没有分类部分,即给定输入图像后,直接在图像的多个位置上回归出这个位置的目标边框及目标类别和置信度。
实验结果表明,在VOC数据集上进行目标检测,SSD(512×512)算法的mAP(mean Average Precision)更高,YOLOv2算法的运行速度更快,SSD(300×300)算法的mAP和运行速度介于上述两种算法之间[16]。
2.2 SSD算法
SSD算法是一种直接预测目标边界框(bounding box)坐标和类别的目标检测算法,它没有生成候选区域的过程。
算法的主网络结构基于VGG16进行修改,将两个全连接层改成卷积层再增加4个卷积层构造网络结构,修改后的网络结构图如图5所示。
当针对不同大小的物体检测时,相比Faster R-CNN算法选择多尺度的候选区域进行计算,SSD算法则利用不同卷积层的多个特征图(feature map)自然地得到多尺度的检测结果。
SSD算法的核心是提出了默认框(default box)的概念(如图6所示),算法同时采用高层和低层的feature map作检测,网络中有8×8和4×4两种大小的feature map,在feature map的每个小格上都有一系列固定大小的框。
图5中的五个卷积层(每一层的default box的数量是给定的)与两个3×3的卷积核进行卷积,对每个default box得出预测所有物体类别的置信度和偏移。
可以看出,default box在不同的feature map有不同的尺寸,在同一个feature map又有不同的长宽比,因此基本上可以覆盖输入图像中各种形状和大小的目标。
从图5及上述描述中可知,图像经过网络中的feature map能够生成8732个default box,从而实现对不同尺寸的目标进行更为准确的检测。
最后经过非极大值抑制算法得到结果框bounding box。
2.3 PTAD框架引入SSD算法
2.3.1 SSD与PTAD结合的优势
文献[6]提出的基于PTAD框架的目标跟踪算法中,人工标定第一帧的目标后,对跟踪子进行初始化并训练分类器,采用在线半监督学习算法为检测模块更新分类器。
显然,这些都基于第一帧图像中目标特征的基础之上,当被检测的目标在运动过程中外观发生较大的改变时,跟踪的结果将偏离真值,而这种情况在无人机视角下的目标跟踪中时有发生(如图7所示)。
同时,手动标定第一帧目标并不适用于机载无人机平台对地面目标跟踪,将基于深度学习的目标检测算法的结果作为跟踪的第一帧更符合实际应用。
从图7中可以很明显看出,当目标的外观在运动中发生变化时,跟踪框无法自适应调整为外观的尺寸,这就有可能导致在无人机对地面移动目标进行跟踪时发生航线的偏离或多余的抖动,从而降低跟踪质量。
基于深度学习的目标检测算法不需要在线学习且受光照等外界干扰影响小,这就避免了因目标外观和光照等变化所造成的学习样本的偏差。
基于PTAD框架的跟踪算法的性能与每个执行块中跟踪帧的数量有关,因为每个执行块中的跟踪帧数越多就意味着每个执行块中关键帧的差距越大,即目标的视觉外观变化越大。
因此引入运行速率比RFs-PCs检测算法高的基于深度学习的目标检测算法,可提高检测子的运行效率,进而提升整个算法的跟踪性能。
由于上述两点原因,本文提出将SSD算法引入到PTAD框架,用SSD算法代替PTAD框架中原有的检测子,从而提高目标跟踪的精确度。
2.3.2 引入SSD后基于PTAD的目标跟踪算法
与原始框架相比,引入SSD算法后的PTAD框架初始化的第一帧目标信息由基于深度学习的SSD目标检测算法给定,不需要手动给定,能减少手动选取目标的不确定性误差带来的后续跟踪不准确的情况;而且由于SSD算法完全替代原始框架检测子的部分,因此算法执行过程中,主要通过判断跟踪子和检测子是否跟踪或检测成功来决定跟踪子是否需要校正或重新初始化。
本文算法中每个执行块的具体执行过程如下。
深度学习神经网络替代了传统检测算法中区域选择、特征提取和训练分类器等过程,改进检测子后算法框架结构上更为简洁,并且可以方便地整合基于深度学习的目标检测算法,当有新的目标检测算法被提出后可以整合到此框架中进行应用。
本文跟踪模块采用基于归一化相关系数(Normalization Cross Correlation, NCC)跟踪错误检测算法,将跟踪正确的目标区域存储到模板中,计算模板与当前图像目标区域的图像块的归一化相关系数,通过比较最大归一化系数与设定的阈值来判断跟踪状态,并将状态为真的目标区域图像块存入模板集中用于下一帧的计算。
本文提出的改进后的PTAD框架与原始PTAD中性能最优的跟踪算法相比,可以在高实时性的前提下实现对目标更高精度的跟踪。
3 实验测试及分析
本文提出的基于PTAD和深度学习的目标跟踪算法拟解决无人机视角下的对地面移动目标的跟踪问题。
文献[6]的实验结果表明,RFs-PCs与KCF的组合算法的跟踪性能最好,因此原始PTAD框架中检测子选择RFs-PCs,跟踪子选择KCF算法进行目标跟踪实验。
本文将所提出的算法与原始PTAD框架算法、SSD算法进行对比实验。
实验将在uav123數据集和TLD数据集上进行,实验测试的硬件环境为配置GeForce GTX960M GPU和8GB RAM的计算机,软件环境为Ubuntu 16.04 LTS操作系统。
3.1 实验设置
本文实验所用的数据集包含3个视频序列,其中包含了目标的部分遮挡与全遮挡、外观变化与尺度变化等对目标跟踪带来挑战的因素,如表1所示,典型图像如图8所示。
3.2 实验结果与分析
实验采用本文算法、原始PTAD框架算法和SSD算法分别对3个视频序列进行目标跟踪实验,典型跟踪结果如图9所示,相应的P、R、F值对比如表2所示。
从表2可以看出,相比原始PTAD算法而言,本文算法在视频序列uav123_car5和
uav123_car6上的跟踪效果更好(加粗的数据即为性能最好),即在运动目标有外观和尺度变化时算法表现更好;但在视频序列TLD_car上的跟踪性能略逊于原始PTAD算法,因为此数据集为车辆监控视角下的视频序列,图像帧中的目标并没有发生视觉外观的变化,这组实验主要是验证本文算法在PTAD算法较有优势的情况下依然有较好的表现。
由于视频序列(c)出现的遮挡较多且图像的分辨率较低,造成了基于深度学习的目标检测算法的检测结果存在一定的
空检测和误检测,跟踪算法无法在目标重新出现时迅速找到目标并跟踪,导致了跟踪性能略低于基于PTAD框架下的最优算法。
视频序列uav123_car6中的运动目标外观变化较大且在运动过程中无遮挡,因此SSD算法的性能高于其他跟踪算法。
但从表中最后一行平均性能的实验结果数据上可以看出,总体而言本文提出的目标检测与跟踪算法总体性能优于其他两种算法。
实验中,本文所提出算法的平均每秒处理帧数约为30.25,原始PTAD算法的平均每秒处理帧数约为26.85,SSD算法的平均每秒处理帧数约为1075,数据表明本文算法的实时性较基于PTAD框架下的最优算法提高了约13%。
主要原因在于:基于PTAD框架的目标跟踪与检测算法因为是跟踪与检测并行运行,因此运行速率主要取决于前端跟踪子的处理速率和运行环境的性能即CPU的能力。
而本文算法的检测子是基于深度学习的目标检测算法,运行速率依赖于GPU的计算能力,区别于原始PTAD算法中检测子与跟踪子同时占用CPU的计算资源。
在无人机对地面目标跟踪的实际应用中,本文算法在实时性上的优势会有更明显的体现。
综上,本文算法在精确度和实时性上均较原算法有所提高,且更适合无人机视角下对地面移动目标的跟踪。
4 结语
本文提出了一种适用于以无人机对地面移动目标跟踪为实际背景的目标跟踪与检测算法,将基于深度学习的目标检测算法SSD引入到PTAD框架,替代传统检测算法的检测子。
本文算法不需要在线学习和训练分类器,一定程度上节省了计算资源。
经过在多个视频序列上开展实验研究,结果表明,本文算法在精确度和执行速度上均高于原PTAD算法和SSD算法,且在无人机视角下的测试集上表现得更好。
同时,从实验结果中也可以看出:算法在运动目标全遮挡或图像分辨率较低的情况下找回目标较慢;在运动目标的外观和光照条件有很大变化的情况下,算法的跟踪效果会变差。
在下一步工作中,需要进一步完善算法以提高在更复杂环境下的跟踪效果。
參考文献:
[1] 尹宏鹏,陈波,柴毅,等.基于视觉的目标检测与跟踪综述[J].自动化学报,2016,42(10):1466-1489. (YIN H B, CHEN B, CHAI Y, et al. Vision-based object detection and tracking: a review [J]. Acta Automatica Sinica, 2016, 42(10): 1466-1489.)
[2] 管皓,薛向阳,安志勇.深度学习在视频目标跟踪中的应用进展与展望[J].自动化学报,2016,42(6):834-847. (GUAN H, XUE X Y, AN Z Y. Advances on application of deep learning for video object tracking [J]. Acta Automatica Sinica, 2016, 42(6): 834-847.)
[3] LI X, HU W, SHEN C, et al. A survey of appearance models in visual object tracking [J]. ACM Transactions on Intelligent Systems & Technology, 2013, 4(4): Article No. 58.
[4] KALAL Z, MIKOLAJCZYK K, MATAS J. Tracking learning detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2012, 34(7): 1409-1422.
[5] KALAL Z, MATAS J, MIKOLAJCZYK K. P-N learning: Bootstrapping binary classifiers by structural constraints [C]// Proceedings of the 2010 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2010: 49-56.
[6] 熊丹.基于视觉的微小型无人机地面目标跟踪技术研究[D].长沙:国防科技大学,2017: 42-59. (XIONG D. The Research Vision-based Ground Object Tracking for MAVs [D]. Changsha: National University of Defense Technology, 2017: 42-59.)
[7] MUELLER M, SMITH N, GHANEM B. A benchmark and simulator for UAV tracking
[C]// Proceedings of the 2016 European Conference on Computer Vision, LNCS 9905. Berlin:Springer, 2016: 445-461.Far East Journal of Mathematical Sciences, 2016, 2(2):445-461.
[8] 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.
[9] KALAL Z, MIKOLAJCZYK K, MATAS J. Forward-backward error: automatic detection of tracking failures [C]// ICPR 10:Proceedings of the 2010 20th International Conference on Pattern Recognition. Washington, DC: IEEE Computer Society, 2010: 2756-2759.
[10] GIRSHICK R, DONAHUE J, DARRELL T, et al. Region-based convolutional networks for accurate object detection and segmentation [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(1): 142-158.
[11] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition [C]// Proceedings of the 2014 European Conference on Computer Vision. Cham: Springer, 2014: 346-361.
[12] GIRSHICK R. Fast R-CNN [C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Washington, DC: IEEE Computer Society, 2015: 1440-1448.ICCV
15https:///pdf/1504.08083.pdf
[13] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.https:///pdf/1506.01497v3.pdf
[14] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection [EB/OL]. (2016-05-09) [2018-04-06]. https:///pdf/1506.02640.pdf.
Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: CVPR 2016:779-788.
[15] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot multibox Detector [C]// Proceedings of the 2016 European Conference on Computer Vision. Cham: Springer, 2016: 21-37.
[16] REDMON J, FARHADI A. YOLO9000: better, faster, stronger [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2017: 6517-6525.。