卷积神经网络的多目标跟踪系统
- 来源:网络空间安全 smarty:if $article.tag?>
- 关键字:多目标跟踪,卷积神经网络,目标检测 smarty:/if?>
- 发布时间:2019-02-01 10:53
摘要:目前,卷积神经网络在图像识别和图像分类领域取得了很大的进展。通过优化网络模型,来提高目标识别的精度和帧率。因此,将相对成熟的卷积神经网络模型用于多目标跟踪这一任务变得可行。论文利用卷积神经网络模型SSD(The Single Shot Multi Box Detector)设计了一种多目标跟踪算法。将SSD作为模型检测的主要框架,把训练样本分为目标和背景两类,以此完成测试模型的离线训练,并以检测每个视频帧的方式完成整个视频的跟踪任务。在MOT16数据库上的实验结果表明,该算法在实时性、准确性和鲁棒性方面都具有良好的表现。
关键词:多目标跟踪;卷积神经网络;目标检测
中图分类号:TP393.2 文献标识码:A
1 引言
论文重点介绍单镜头条件下的多目标跟踪。数据关联和随机集理论是解决多目标跟踪问题的两种主流思想[1],数据关联要求在跟踪的多个采样周期期间对数据进行关联,这样可以为建立目标航迹提供初始信息,同时也就需要对观测数据进行融合和测量,以此来确定跟踪生命周期。该算法的关键技术是寻找同一对象与前两帧之间的关系,缺点是显而易见的,一旦数据关联错误,多目标跟踪将失败[2]。
结合卷积神经网络的发展现状,避开传统的数据关联和随机集理论,尝试先对SSD模型进行离线训练,然后进行全视频帧检测来解决多目标跟踪问题,并且取得了良好的跟踪效果。该方法避免了由误差累积引起的跟踪盒偏移现象,跟踪鲁棒性和长期跟踪能力显著提高。
2 卷积神经网络-单次目标检测器(SSD)
SSD方法是基于一个前向传播的CNN网络,该网络产生一些列固定大小的Bounding Boxes,以及每个Box中包含物体实例的可能性,即得分,然后进行一个非极大值抑制(Non-maximum Suppression)得到最终的预测。早期网络层基于用于高质量图像分类(在任何分类层之前被截断)的标准体系结构,作者称之为基本网络。然后,向网络添加辅助结构以产生具有关键特征的检测。
Multi-scale Feature Maps for Detection在基础网络的末端添加了额外的卷积层,这些层的尺寸逐渐减小,并且可以在多个尺度下进行预测。用于预测的卷积模型对于每个特征层(参见Overfeat和YOLO,它们在单个比例尺特征图上操作)是不同的。
Convolutional Predictors for Detection每个添加的特征层(或者可选地在基础网络结构中的现有特征层),可以使用一系列的卷积滤波器来产生一系列大小固定的预测集。这些在图1中的SSD网络体系结构中有所表示。对于一个具有p通道且大小为m×n的特征层,使用的卷积滤波器就是3×3×p的内核,产生的预测要么是归属类别的一个得分,要么是一个相对于默认盒坐标的形状偏移。在每个特征图的m×n的位置上,使用3×3的内核它就会产生一个输出值。边框偏移输出值是相对于默认值测量的。
3 SSD跟踪多目标
3.1 算法框架
在GPU并行计算能力的支持下,诸如Caffe、TensorFlow、Torch和Theano等许多深入学习的基本框架得到了迅速发展。其中,以Caffe框架支持的SSD为代表的一系列神经网络模型具有很大的影响力。随着卷积神经网络模型的不断优化,单帧图像的模型训练和目标检测时间不断缩短。目前,最新的卷积神经网络模型可以在GPU环境下检测高达78帧/秒的帧速率。在帧周围基本达到了实时检测的能力。
在快速R-CNN网络模型的基础上,设计了一种简单的多目标跟踪框架,并通过实验验证了该算法的可行性。与传统的多目标相比跟踪算法,该方法可以进行长期跟踪,有很明显的优势。
本文的算法包括训练和跟踪两部分。由于卷积神经网络训练时间较长,很难用样本反馈在线更新网络模型,所以实时性较差。因此,本文的实践就是对网络模型进行了提前改进即离线培训,没有在线更新。模型训练完成后,直接嵌入多目标跟踪程序框架中,以检测方式完成各帧中目标的定位与跟踪。模型试验的结果将计算目标的预测位置和相似性得分,并根据这两个方面的信息确定目标的最终状态。在本文中,该程序直接用矩形框满足相似性要求,并且不显示其余信息。
首先利用样本集训练神经网络模型,然后利用训练神经网络模型提取目标特征,对目标进行跟踪匹配。
3.2 参数设置与模型训练
本实验主要针对MOT16视频集,跟踪对象是人,选取的样本分为正样本和负样本两类,正样本是人的目标,样本数是10000,负样本是背景信息,样本数是20000,测试样本是T。它的号码是500。样本信息收集自ImageNet数据库、UIUC图像数据库和PASCAL VOC的汽车数据库。卷积神经网络模型选用MatConvNet 24.0,模型的训练和目标识别均采用GPU加速。因此,在参数设置中opts.gpus=1,将学习速率参数设置为pts.learningRate=0.001。在本实验中,由于只有两种样品,卷积神经网络模型只需要确定候选区域是否包含目标区域和目标的相似性,因此类别数量参数nCls被设置为2,使用准备好的正样本和负样本进行模型训练,并设置迭代次数opts.numEpochs=10000。
4 评估
4.1 参数设置和测试视频集
实验采用计算机CPU i5-6500,3.2GHZ,GTX1050。程序参数设置如下:候选框是初始对象大小的2.5倍,学习率为0.001。为了全面评估所提出的算法,本文评估了在MOT16数据库上的跟踪性能,该数据库包括七个具有挑战性的视频序列,包括带有移动相机的前视场景和自顶向下监控设备。
评估标准用于评估算法的性能包括:多目标跟踪精度(MOTA↑)、多目标跟踪精度(MOTP↑)、正确跟踪轨迹占80%以上(MT↑)、正确跟踪轨迹占20%以上( ML↓)、目标ID变化数(IDS↓)、误检目标数(FP↓)、漏检目标数(FN↓)、轨道断开数(Frag↓)和运行速度(Runtime↑)。比较算法是TBD、NOMT、SORT和POI,且这四种多目标跟踪算法是目前比较出色的多目标跟踪算法。
4.2 算法比较与分析
算法比较测试视频和测试结果如表3所示。
图3是测试视频的效果图,由上往下,可以看出实线框内的人物被清晰地标注出,表明目标此时被检测到,并且能够跟踪上,图3中间一图,玫红色线框的目标被遮挡而不能被检测出时,系统尝试用卡尔曼滤波器预测其出现的位置。
这个测试结果表明文中实现的算法处理多目标跟踪问题是有效的。当目标不被遮挡且没有复杂的运动时能够实现稳定跟踪,在目标遮挡时间较短时,能预测目标在下一帧的位置,并重新匹配,这就说明算法可以同时对多个目标进行跟踪。
5 结束语
本文提出了一种基于卷积神经网络检测的多目标跟踪算法。检测模型在所有视频帧中执行全图像检测。在多个视频测试集上的实验表明,该方法可以旋转目标,变形具有较高的公差。同时,与传统的多目标跟踪算法相比,该算法具有明显的优势。该算法在长期跟踪中具有很强的鲁棒性,避免了传统的跟踪算法由于跟踪时间的延长导致误差的累积,最终导致跟踪失败的缺点。
本文提出的多目标跟踪算法结构简单,所暴露出的一些缺点和不足是今后研究的重点:
(1)该算法只对特定类型的目标进行模型训练,没有对跟踪部分进行深入的设计,因此在跟踪时所有属于这些目标的候选区域都将被标记;
(2)在视频帧中有时会出现错误警报和未命中的标签。下一阶段将研究如何将轨迹预测与多目标跟踪相结合,同时研究正负样本选择和训练迭代参数设置对训练结果的影响。
参考文献
[1]辛菁,等.基于卷积神经网络的机器人对未知物体视觉定位控制策略[J].信息与控制,2018,47(3),335-362.
[2]胡大帅,等.卷积神经网络在电视跟踪系统中的应用展望[J].飞航导弹,2018(6)71-74.
(上海工程技术大学电子电气工程学院,上海201600)
朱珠