单目标行人跟踪是计算机视觉目标跟踪领域最基础、也是研究最广泛的任务之一, 而目前大多数使用的相关滤波类算法和深度学习类算法则分别在跟踪精度和跟踪实时性上存在不足. 针对上述问题, 本文提出一种将目标图像的深浅特征融合的实时单目标行人跟踪方法. 算法利用卡尔曼滤波器预测目标位置, 通过计算四分颜色直方图提取目标的浅层颜色特征, 并获得预测相似性以判定预测的可靠性. 使用YOLOv4模型作为检测器, 提取目标深度特征并分别计算运动信息和外观信息的距离度量, 同时提取浅层颜色特征计算得到相似距离度量, 通过特征距离度量的加权融合对检测目标进行匹配与更新. 最后, 利用提出的轨迹更新策略协调预测和检测的调用关系, 达到准确性与实时性的平衡. 算法在OTB100和LaSOT数据集上进行了测试实验, 结果表明: 所提算法的跟踪准确率分别达到0.581和0.453, 在GPU上分别能达到33.64 FPS和35.32 FPS的跟踪速度, 满足实时跟踪的要求.
Single-object pedestrian tracking is one of the most basic and widely studied tasks in computer vision object tracking. However, most of the correlation filtering algorithms and deep learning algorithms currently used have insufficient tracking accuracy and real-time tracking performance. To solve the above problems, we propose a real-time single-object pedestrian tracking algorithm based on deep and shallow feature fusion. Firstly, this algorithm predicts the object location by Kalman filters and extracts the shallow color features of the object by calculating the four-part color histogram, and the prediction similarity is obtained to judge the reliability of prediction results. Then, YOLOv4 is used as a detector to extract deep features of the object and then calculate the distance metric of motion information and appearance information. Meanwhile, the shallow color features of the detection object are extracted to calculate the similarity distance metric, and the weighted fusion of the feature distance metric is employed to match the detection object and update the tracking trajectory. Finally, a trajectory updating strategy is put forward to coordinate the calling relationship between the prediction block and the detection block and to achieve a balance between tracking accuracy and speed. Testing experiments are conducted on the OTB100 and LaSOT datasets. The experimental results demonstrate that the tracking accuracy of the proposed algorithm on the above datasets reaches 0.581 and 0.453, respectively, and the tracking speed tested on GPU can achieve 33.64 FPS and 35.32 FPS, respectively, which meets the requirements of real-time tracking.
运动目标跟踪是计算机视觉中的一个重要研究领域, 旨在通过对图像中的运动目标进行检测、提取、识别等操作, 获得目标的各项运动参数并确定其位置, 从而进行下一步的分析与处理. 随着计算平台的不断升级完善以及人工智能技术的飞速发展, 行人跟踪技术在不断更新迭代的同时也变得越来越重要, 并已经广泛出现在智能视频监控、智能交通、智能人机交互、运动员比赛分析等各种场景[
从实现方法来看, 目前主流的跟踪算法可粗略分为相关滤波类和深度学习类[
深度学习类的算法往往更注重准确性, 多采用基于检测的跟踪(tracking-by-detection)方式. 2016年Nam等人提出的MDNet[
针对以上问题, 本文提出一种将目标图像深浅特征融合的实时单目标行人跟踪方法. 利用目标的颜色直方图[
DeepSort算法是一种采用递归卡尔曼滤波和逐帧数据关联匹配的多目标传统单一假设跟踪方法, 算法对运动目标的跟踪场景定义在一个8维状态空间
YOLO系列是实时目标检测中最具代表性的算法, 其将目标检测过程视作一个回归问题, 通过一次前向推理就可得到目标框的位置及其分类结果, 检测过程快速而高效. YOLOv4在输入端训练层面使用了Mosaic数据增强、DropBlock模块和改进后的CmBN等防止过拟合的操作, 使其能够在小目标检测和小批量数据集训练上取得更好的效果. 在YOLOv4的网络模型中, 使用CSPDarknet53作为骨干网络, 通过FPN层的上采样, 对输入检测图像的最小特征图自上而下地传递强语义特征, 同时在其后添加包含PAN结构的特征金字塔, 从最大的特征图自底向上地传递强定位特征, 从而实现对不同检测层的参数整合, 能够更好地获取目标特征并进行同时定位与分类, 提高目标检测的准确性.
本文使用YOLOv4模型作为跟踪算法的检测器, 在跟踪初始化、轨迹更新或跟踪误差较大时进行调用, 来对跟踪器进行调整与修正.
DeepSort基本框架
目标的跟踪过程包括对跟踪目标的预测、检测、匹配以及轨迹更新, 本文将目标图像的浅层颜色特征与深度特征相融合, 共同作为预测和匹配的评价指标, 并通过提出的轨迹更新策略协调跟踪的速度与准确性.
跟踪目标的位置确定是跟踪过程中非常重要的一个环节, 决定了跟踪结果的准确性与可靠性. 一般情况下, 跟踪算法通过当前帧或历史帧的跟踪结果来预测或迭代搜索出下一帧的目标位置, 由于使用了先验信息来跟踪, 因此不会再进行额外的目标匹配来验证预测结果, 这在一定程度上降低了预测目标的可靠性. 而在区分出前景目标和背景之后, 目标图像所拥有的部分浅层表观特征例如颜色、形状、纹理等信息也可以是跟踪过程中重要的匹配工具, 而其中颜色特征具有比其他特征对于目标尺度、姿态的变化比较不敏感的特性. 因此将浅层颜色特征作为跟踪算法预测结果相似性匹配的一个评价指标, 并采用计算目标区域颜色直方图的方式来提取目标的颜色特征.
位置预测多采用滤波的方式, 而对于跟踪问题这样的非线性系统, 可以采用扩展卡尔曼滤波、无损卡尔曼滤波或粒子滤波, 但这三者相对来说计算量偏大, 影响实时效果. 因此本文将跟踪过程近似视为分段每两帧之间的线性过程, 并沿用DeepSort的递归卡尔曼滤波预测. 在每一帧的匹配和更新结束后, 卡尔曼滤波器首先会通过前一帧目标位置的均值与方差进行更新, 预测出当前帧目标可能会在的位置. 预测均值为DeepSort中的8维向量, 且由于卡尔曼滤波对于目标框的预测主要在于目标框运动方向和大小的变化, 而直接计算整个预测目标框区域的颜色直方图易受到相似背景的干扰而降低可靠性, 因此将目标框裁剪并缩放至50×50的大小, 再将其均分为4个部分, 分别计算目标各部分的颜色直方图
获取预测结果的四分颜色直方图
距当前帧最近的一次检测器成功调用的检测结果被储存在数组中, 此数组共储存最近5次的成功检测结果并不断更新. 与预测结果一样, 将每次的成功检测结果裁剪、缩放并分成4个部分, 分别计算相应的颜色直方图
其中,
如果只利用卡尔曼滤波器的预测作为跟踪结果, 则容易产生累计误差并导致跟踪失败, 因此使用YOLOv4模型作为目标检测器来提高算法的跟踪准确性. 调用检测器时, 获得当前帧的可能目标序列
第一个代价矩阵
其中,
当跟踪过程某一阶段出现连续预测且预测相似性均不满足阈值时, 认为遇到目标遮挡情况, 一般情况下, 跟踪行人目标的遮挡时间大概在30–50帧左右. 由于遮挡时无法检测到目标行人而多采用预测结果直接输出, 并不对轨迹进行检测更新, 平方马氏距离则会因为协方差的累计变化而降低准确性, 容易产生误跟踪. 为解决这种情况, 再添加由当前帧和前第10次成功检测的深度特征的匹配, 由于只采用一次先验信息, 无法通过平均预测偏移来考虑检测的不确定性, 因此只计算检测结果的最小余弦距离.
其中,
在跟踪算法中使用目标检测模型有助于提高算法跟踪结果的准确性, 但检测器的深度神经网络提取的抽象深度特征图无法完全准确地描述目标的特征, 且容易丢失目标的一部分浅层信息, 同时目标的空间信息也会随着网络的深度而被逐渐稀释. 为进一步提升匹配的准确性, 并充分利用目标图像的深浅信息, 同样引入颜色直方图来描述检测目标的浅层颜色特征. 计算每一个检测目标框的颜色直方图, 可以得到一个256×3的多维矩阵, 将其中每相邻两个的像素值个数取平均并赋给像素值小的像素, 从而得到128×3的多维矩阵, 以对应ReID模型对目标提取的128维深度特征. 与预测相似性一样, 计算每个检测目标与前5次成功检测的目标之间的最小相似性距离, 不同的是此处输出的是最小的不相似程度.
其中,
上述距离度量分别从跟踪目标的预测偏移、深度特征、浅层特征3个方面来判断检测结果的匹配情况, 可以有效地提升匹配的准确性, 因此将三者的线性加权融合作为检测匹配的最终代价矩阵, 并通过阈值比较找出匹配的目标, 若没有代价值满足匹配阈值条件, 则说明当前帧没有与跟踪轨迹匹配的目标.
其中,
不同特征匹配的跟踪精度
跟踪算法 | 浅层特征 | 深层特征 | 融合特征 |
LaSOT | 0.415 | 0.45 | 0.462 |
OTB100 | 0.467 | 0.481 | 0.504 |
相关滤波类的跟踪算法已经证明了它的快速性, 但误差的累计也可能造成跟踪漂移和失败, 而如果每一帧都调用检测器再进行目标匹配, 则需要极大的算法运算量, 从而无法实现对目标的实时跟踪. 为达到跟踪速度与准确性的协调统一, 本文算法首先设定在跟踪目标和轨迹初始化后, 成功检测并更新时每隔固定帧数再次调用YOLOv4检测器对跟踪轨迹进行微调, 确保跟踪的准确性. 如
检测器不同间隔帧数调用的跟踪结果
间隔帧数 | EAO | FPS |
注: 此次结果仅在LaSOT数据集上验证. | ||
3 | 0.460 | 26.40 |
5 | 0.452 | 32.46 |
6 | 0.453 | 35.32 |
7 | 0.442 | 35.83 |
9 | 0.418 | 37.12 |
计算检测目标距离度量的代价矩阵后, 再通过级联匹配将正确的检测结果与轨迹相关联, 从而实现跟踪轨迹的更新. 每两次调用检测器之间的视频帧采用预测相似性匹配, 计算当前预测结果的相似度
另外, 由于跟踪目标快速运动、遮挡、背景相似等原因, 检测器在某些情况下可能出现检测不到或误检测跟踪目标的情况. 因此在调用YOLOv4检测器时会向跟踪系统反馈输入匹配的检测框个数和匹配完毕后检测框的剩余个数, 二者若相等则说明当前帧没有与跟踪轨迹相匹配的检测结果, 此时算法反馈
本文跟踪算法的整体框架如
本文所进行的行人检测器网络训练以及跟踪算法验证测试均在PC主机平台上实现, 具体配置为AMD R5 3600 型号的CPU以及NVIDIA GTX 1660显卡. 测试平台为Ubuntu 16.04操作系统, 测试过程使用CUDA 10.1和OpenCV 3.4.0进行前期图像处理和结果输出.
本文跟踪算法的目的是实现长时、实时且有效的单目标行人的运动识别与跟踪, 在检测器网络训练和跟踪算法测试过程中均只考虑对行人这个单一类别的实现效果. 因此, 本文选用PASCAL VOC 2007、2012以及INRIA DATA数据集对YOLOv4目标检测器进行训练. 3个数据集一共包含22405张图片, 其中有9 004张包含行人目标的正样本, 行人个数达到19610个, 按照8:2的比例对数据集划分训练集与测试集. 训练后的检测模型对测试集行人目标进行检测的
本文跟踪算法的整体框架
由于对单目标行人进行运动跟踪需要达到一个长时且稳定的效果, 同时要体现出跟踪算法对于遮挡、目标尺度变化、目标形变、快速运动以及相似性干扰等问题的解决情况, 因此本文选择Fan等人在2019年推出的大规模单目标跟踪标准数据集LaSOT[
为进一步比较本文算法的单目标行人跟踪效果, 使用近年来表现出色的部分相关滤波类及深度学习类算法与本文算法来进行测试数据集的跟踪结果的对比. 跟踪测试过程中, 所有算法进行跟踪轨迹初始化的目标位置均使用数据集视频序列的第一帧真实目标位置
不同跟踪算法在OTB100数据集和LaSOT数据集上的测试结果分别如
不同算法在OTB100数据集上测试结果
由于两个测试数据集的特性不同, 且OTB100数据集的视频分辨率较小, 同时真实框并不一定完全覆盖行人, 因此各类算法在测试结果上均存在一定程度的波动. 从
不同算法在LaSOT数据集上测试结果
不同算法在测试数据集上的跟踪表现
Tracker | EAO (OTB100) | FPS (OTB100) | EAO (LaSOT) | FPS (LaSOT) |
注: 表中加粗数据为最优值, 下划线数据为次优值 | ||||
Ours |
|
33.64 |
|
|
PrDiMP | 29.2 | 23.53 | ||
DiMP | 0.575 |
|
0.45 | 29.41 |
ATOM | 0.56 | 30.08 | 0.446 | 28.56 |
SiamRPN | 0.533 | 14.15 | 0.42 | 15.46 |
ECO | 0.496 | 32.8 | 0.38 | 29.21 |
SiamFC | 0.44 | 21.56 | 0.309 | 8.78 |
KCF | 0.41 | 0.245 | ||
DeepSort | 0.454 | 17.37 | 0.374 | 15.69 |
部分数据集视频序列跟踪结果
总体上来说, 本文算法将目标的浅层颜色特征和深度特征融合之后, 在较为复杂的场景下能够长时间稳定地对目标行人进行跟踪, 并且具有出色的跟踪准确性和实时跟踪速度, 在与目前一些主流单目标跟踪算法的比较中也表现出色, 体现出了特征融合的思想在目标跟踪领域的优势. 实验过程中, 轨迹更新策略可有效解决短时遮挡无法通过特征匹配识别目标的问题, 但在一些具有相似目标、光影变化或长时间遮挡的环境下, 偶尔会出现特征误匹配或无法匹配的情况, 此时若长时间使用预测位置进行跟踪, 则易导致跟踪漂移.
通过研究相关滤波类与深度学习类跟踪算法分别在精度与速度上的不足, 为协调跟踪准确性与快速性, 同时充分利用目标图像的特征信息, 提出了一种将目标浅层颜色特征与深度特征相融合的实时单目标行人跟踪算法. 利用目标的四分颜色直方图获取浅层颜色特征, 并以此计算预测相似性进行评估, 提高预测结果的可靠性. 使用不同深浅特征计算的距离度量融合加权作为代价矩阵进行目标匹配, 同时采用新的轨迹更新策略来进行目标预测和检测, 对系统跟踪结果进行微调和修正, 从而进一步提升跟踪的准确性与实时性.
在OTB100数据集和LaSOT数据集的算法测试实验证明, 本文跟踪算法可以有效地实现对单目标行人长期且稳定的实时跟踪. 预测结果的相似性匹配和后续策略可以解决一定程度的目标遮挡问题, 进一步提高算法的鲁棒性, 但在多相似目标和长时间遮挡等情况下, 本文算法还存在一定的不足. 后续在多特征融合以及策略协同等方面还可以进一步学习与研究, 对长时间遮挡等跟踪问题实现优化.
孟琭, 杨旭. 目标跟踪算法综述. 自动化学报, 2019, 45(7): 1244–1260.
管皓, 薛向阳, 安志勇. 深度学习在视频目标跟踪中的应用进展与展望. 自动化学报, 2016, 42(6): 834–847.
李玺, 查宇飞, 张天柱, 等. 深度学习的目标跟踪算法综述. 中国图象图形学报, 2019, 24(12): 2057–2080.
et al. Visual object tracking using adaptive correlation filters. 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco: IEEE, 2010. 2544–2550.]]>
et al. Exploiting the circulant structure of tracking-by-detection with kernels. 12th European Conference on Computer Vision. Florence: Springer, 2012. 702–715.]]>
Henriques JF, Caseiro R, Martins P,
et al. Beyond correlation filters: Learning continuous convolution operators for visual tracking. 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 472–488.]]>
et al. ECO: Efficient convolution operators for tracking. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017. 6931–6939.]]>
et al. Simple online and realtime tracking. 2016 IEEE International Conference on Image Processing (ICIP). Phoenix: IEEE, 2016. 3464–3468.]]>
et al. Fully-convo-lutional siamese networks for object tracking. Computer Vision—ECCV 2016 Workshops. Amsterdam: Springer, 2016. 850−865.]]>
et al. High performance visual tracking with siamese region proposal network. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018. 8971–8980.]]>
et al. ATOM: Accurate tracking by overlap maximization. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach: IEEE, 2019. 4660–4669.]]>
et al. Learning discriminative model prediction for tracking. 2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul: IEEE, 2019. 6181–6190.]]>
Ren SQ, He KM, Girshick R,
et al. LaSOT: A high-quality benchmark for large-scale single object tracking. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach: IEEE, 2019. 5374–5383.]]>
Wu Y, Lim J, Yang MH. Object tracking benchmark. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1834–1848.