1. 目标跟踪分类
- 单目标跟踪:在视频的初始帧画面上框出单个目标,预测后续帧中该目标的大小与位置
- 多目标跟踪:追踪多个目标的大小和位置,且每一帧中目标的数量和位置都可能变化
2. 多目标跟踪目前的主要问题
-
形态变化:姿态变化是目标跟踪中常见的干扰问题。运动目标发生姿态变化时, 会导致它的特征以及外观模型发生改变, 容易导致跟踪失败。
-
尺度变化:尺度的自适应也是目标跟踪中的关键问题。当目标尺度缩小时, 由于跟踪框不能自适应跟踪, 会将很多背景信息包含在内, 导致目标模型的更新错误:当目标尺度增大时, 由于跟踪框不能将目标完全包括在内, 跟踪框内目标信息不全, 也会导致目标模型的更新错误。因此, 实现尺度自适应跟踪是十分必要的。
-
遮挡与消失:目标在运动过程中可能出现被遮挡或者短暂的消失情况。当这种情况发生时, 跟踪框容易将遮挡物以及背景信息包含在跟踪框内, 会导致后续帧中的跟踪目标漂移到遮挡物上面。若目标被完全遮挡时, 由于找不到目标的对应模型, 会导致跟踪失败。
-
图像模糊:照强度变化, 目标快速运动, 低分辨率等情况会导致图像模型, 尤其是在运动目标与背景相似的情况下更为明显。因此, 选择有效的特征对目标和背景进行区分非常必要。
3. 多目标跟踪概述
多目标追踪算法主要解决的问题是对视频中每一帧画面里我们标定或者想要追踪的目标进行检测并获取在图像中的位置,对每个目标分配一个id
,在目标运动过程中,维持每个目标的 id
保持不变。在多目标追踪问题中,目标追踪算法需要对视频中每帧图像里的所有目标进行检测,将检测到的新目标与已经分配轨迹的目标进行匹配,如果匹配成功,将归类于已有轨迹的目标中,对没有匹配成功的目标,将其归类为新出现的目标,需要分配一个新的id,对于离开视频区域的目标,将不再对其进行轨迹追踪,并在已有轨迹的集合中将其删除。
4. 多目标跟踪方法分类
目前,多目标追踪算法根据追踪开始时是否需要人工提取特征分为两类:人工手动标记第一帧的方式(Model Free Tracking, MFT)
和基于目标检测的方式 ( Tracking By Detection TBD)
MFT
的跟踪模式仅能跟踪已标记目标,而TBD
的跟踪模式可以自动发现新的目标,移除已消失的目标,更适应如今多目标跟踪算法的应用场景。
5. 行人多目标跟踪方法研究进展
5.1 基于目标检测的多目标跟踪
基于目标检测的多目标跟踪可以分为在线跟踪(Online)与离线跟踪(Offline)。
因为行人跟踪一般都是基于实时监控的多目标跟踪,因此在线多目标跟踪算法更受学者们的关注。
5.1.1 在线多目标跟踪
-
在线多目标跟踪:是一种逐帧渐进的跟踪方式,与人眼实时跟踪目标过程类似,首先要对每个运动目标进行识别确认(目标检测),然后对其下一步的行动进行预测(轨迹预测),最终根据目标的运动方向(运动模型)、外观形体(外观模型)等特征与之前的轨迹进行关联(数据关联匹配)。
-
SORT
SORT
算法使用Faster-RCNN
在视频序列中进行目标检测,获取目标,使用卡尔曼滤波(Kalman Filter)
预测下一帧中目标的可能出现的位置信息,并采用的匈牙利算法(Hungarian method)
求解每个检测到的新目标的边框与已有轨迹中的目标的所有预测边界框之间计算IOU
的成本矩阵, 实现数据关联。该算法复杂度低,框架结构简单,运行速度快,虽然数据关联方面模型较为简单,易受遮挡,但为后续许优秀算法的提出做了铺垫。 -
DeepSORT
DeepSORT算法
在SORT
的基础上增加了级联匹配算法(Matching Cascade)
、表示运动信息的马氏距离
和代表外观模型的Re-id 特征
,一定程度上减少了目标ID
的变化,实现了性能的提升,具有实际应用意义。相对 SORT 算法而言,DeepSORT 算法在 MOT16数据集私人检测器的性能表现上,MOTA 值提升幅度不大, 但 ID switch 频率降低了 45%,速度接近实时要求(20 FPS)。
5.1.2 离线多目标跟踪
离线多目标跟踪:输入是一段完整的视频,并已获得了目标检测结果。与在线多目标跟踪算法逐帧渐进方式不同的是,离线多目标跟踪可获取全局信息后再进行匹配关联。
-
POI 算法
POI
算法是一种离线多目标跟踪算法,结合了目标检测和基于深度学习的外观特征。基本思路 :在每一帧的输入上,用检测算法检测行人的位置,然后利用行人检测框的外观特征进行前后帧行人框的匹配,从而实现对行人的跟踪。 -
IOU 算法
IOU
算法是一种离线多目标追踪算法。该算法指出,随着目标检测算法精度的不断提高,当检测精度与视频帧率较高时,可以结合简单的目标检测算法与 IOU,再通过设定阈值来判断前景与背景即可完成目标跟踪任务。即在高帧率(25 FPS)、高精度的目标检测算法情况下,结合检测与时间步长间的空间重叠完成跟踪。该算法优缺点明显,但由于未引入任何帧间信息、运动模型、外观模型,漏检和错检问题难以解决,若出现频繁遮挡、目标形变的情况,会导致 ID频繁切换,且极其依赖目标检测算法的性能。 -
LMP算法
LMP
算法的提出虽距今已有一段时间,但在 MOT16数据集上表现仍出色。该算法主要针对遮挡影响及行人重识别展开。LMP 算法提出一种新结构,结合深度网络中提取的整体表示特征和从最先进的姿态估计模型中抽取的身体姿态进行判断,从而提高准确率。主要创新点在于 :数据关联方面,LMP 算法是在最小代价多分割问题(MP)基础上改进的,将数据的关联匹配看作一种基于图的分解、聚类问题。通过设置一个基于边的目标函数来选择能最大化相同目标和不同目标概率的分量对,从而完成行人重识别的任务并改善遮挡影响,有效降低 IDs。经实验验证,LMP 算法在 2016 数据集私人检测器上性能名列前茅,MOTA 可达 71.0。
5.2 基于人工手动标记第一帧的方式的多目标跟踪
- 光流法:对目标对象提取特征后,在下一帧图像中通过计算该目标特征的光流匹配点,统计分析后得到目标对象的位置。
光流法用于目标跟踪的原理:
- (1)对一个连续的视频帧序列进行处理;
- (2)针对每一个视频序列,利用一定的目标检测方法,检测可能出现的前景目标;
- (3)如果某一帧出现了前景目标,找到其具有代表性的关键特征点(可以随机产生,也可以利用角点来做特征点);
- (4)对之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标;
- (5)如此迭代进行,便可实现目标的跟踪
-
粒子滤波算法:粒子滤波(Particle Filter)方法是一种基于粒子分布统计的方法,以跟踪为例,首先对跟踪目标进行建模,并定义一种相似度度量确定粒子与目标的匹配程度。在目标搜索的过程中,它会按照一定的分布(比如均匀分布或高斯分布)撒一些粒子,统计这些粒子的相似度,确定目标可能的位置。在这些位置上,下一帧加入更多新的粒子,确保在更大概率上跟踪上目标。
-
Meanshift 方法:Meanshift 方法是一种基于概率密度分布的跟踪方法,使目标的搜索一直沿着概率梯度上升的方向,迭代收敛到概率密度分布的局部峰值上。首先 Meanshift 会对目标进行建模,比如利用目标的颜色分布来描述目标,然后计算目标在下一帧图像上的概率分布,从而迭代得到局部最密集的区域。