摘 要 视频目标跟踪一直是计算机领域的热点问题,近些年,深度学习等技术的发展使得目标跟踪算法的正确率获得很大提升,但是目标发生变化如被遮挡等情景时,易导致跟踪错误,为了进一步提高目标跟踪算法的准确性,文中将在目标跟踪中引入新的算法,并对该流程做了系统概述。
关键词 计算机领域;深度学习;目标跟踪
本文主要通过基于目标检测的跟踪算法,将视频中的每一帧的目标检测出来,并将结果关联成轨迹,从而确定每个行人目标各自的运动轨迹。
基于目标检测的跟踪分为两大部分:行人检测和行人跟踪,行人检测利用目标检测算法对视频序列中的目标进行自动检测、确定其位置。行人跟踪则主要根据检测的结果跟踪和识别目标,精准地估计目标的位置、尺寸和运动轨迹等。但是由于视频场景存在复杂的非线性变化,有很大的不确定性 ,例如目标遮挡等情况,因此,还引入了行人再识别[1]。
1Yolov3行人检测算法
目标检测是将图像中的目标与其余区域分离开,判断是否存在目标,如果存在目标则确定目标的位置[2]。
Yolov3算法并没有使用darknet-53的全部层数,Yolov3网络是个全卷积的网络,利用大量残差的跳层相连,而且为了减小池化带来的梯度负面效果,直接放弃了池化,用步长为2的卷积进行降采样。同时为了增强算法对小目标检测的精确度,Yolov3融合了FPN算法,在多个尺度的特征图上做检测。
采用darknet-53网络结构的Yolov3目标检测算法相对于采用ResNet网络结构的Faster rcnn目标检测算法,不仅在分类精度上差不多,计算速度还比Faster rcnn强多了。
2利用DeepSort跟踪算法的确定行人轨迹
DeepSort跟踪的思路是现在主要流行的跟蹤思路:基于目标检测的跟踪。以Yolov3目标检测结果为DeepSort的输入:bounding box、confidence、feature 。卷积主要用于筛选出一部分的检测框;bounding box与feature用于后面与跟踪器的match计算;首先是预测模块,会对跟踪器使用卡尔曼滤波器进行预测。在这里使用的是卡尔曼滤波器的匀速运动和线性观测模型(意味着只有四个量且在初始化时会使用检测器进行恒值初始化)。其次是更新模块,包括匹配,追踪器更新与特征集更新。在更新模块的部分,根本的方法还是使用IOU来进行匈牙利算法的匹配。图1是DeepSort对路人进行跟踪的结果,每一个框的上的数字都是用来标记行人的唯一ID号。
3行人再识别纠正DeepSort算法的行人轨迹
但是利用DeepSort进行行人跟踪会存在如图1所示的问题:图中1号人物目标和2号人物目标相互叠加在一起时,行人检测无法准确地确定每个人的位置,所以会导致行人追踪在二者相互叠加错开时可能会发生ID改变(即ID-Switch)。
行人相互叠加遮挡一直是行人检测和行人追踪中的一个难题,依据现有的资料无法从算法上将其解决,所以只能从工程上寻找突破口,继而打算在行人跟踪模块引入行人再识别。
行人再识别的实现思路是先抽取特征在进行比对,首先检索经过网络抽取图片特征,然后底库中里的所有图片全部抽取图片特征,接着将检索图与底库图中的特征计算距离(例如欧氏距离),最后根据计算的距离进行排序,排序越靠前表示相似率越高。从而改正跟踪中的一些错误。
4结果展示
行人追踪能通过行人再识别在一定程度上可以使准确率提高。行人再识别-跟踪改正结果如图2所示
5结束语
虽然目标跟踪的方法种类不少,但每一类方法或算法都有其不足,距离实用性还有不少的难题。主要集中于以下几点:
(1)运动目标频繁变动的干扰
(2)遮挡与阴影问题。
所以,要依据实际的情况,选择合适的目标跟踪算法。
参考文献
[1] 陈星,李郴.C语言组卷系统中重复问题研究[J].电脑知识与技术,2016(1):214-216.
[2] 任立平. 智能视频监控系统在民航机场的应用研究[J]. 自动化应用,2010,47(3):377-389.
作者简介
王克(1995-),男,江苏省徐州市人;学历:硕士,现就职单位:沈阳理工大学,研究方向:大数据与智能信息处理技术。