- 今天来看两个多目标跟踪算法
IoU Tracker
和V-IoU Tracker
,属于Tracking-by-Detection类 - 属于两篇论文:
- High-Speed Tracking-by-Detection Without Using Image Information
- Extending IOU Based Multi-Object Tracking by Visual Information
IoU跟踪算法 2017
- 前提:当帧率很高的情况下,帧间目标始终有IoU>0
I O U ( a , b ) = Area ( a ) ∩ Area ( b ) Area ( a ) ∪ Area ( b ) I O U(a, b)=\frac{\operatorname{Area}(a) \cap \operatorname{Area}(b)}{\operatorname{Area}(a) \cup \operatorname{Area}(b)} IOU(a,b)=Area(a)∪Area(b)Area(a)∩Area(b) - 检测 + IoU策略
- 流程:
- 对于当前坝,首先利用阅值 σ l \sigma_{l} σl 对检测进行过滤, 得到输入检测集 D 0 D_{0} D0
- 对于每个激活跟踪t
i
,
_{i},
i, 找到与其最后位置IoU最大的检测
d
b
e
s
t
,
d_{b e s t},
dbest, 如果满足
I
O
U
(
d
b
e
s
t
,
t
i
)
≥
σ
I
O
U
,
I O U\left(d_{b e s t}, t_{i}\right) \geq \sigma_{I O U},
IOU(dbest,ti)≥σIOU, 将跟踪的最新位置更新为
d
b
e
s
t
d_{b e s t}
dbest
及跟踪的长度是否大于 t m i n , t_{m i n}, tmin, 来衡量跟踪 t i t_{i} ti 是否为一个完整的跟踪。如果 t i t_{i} ti 是一个完整的跟踪, , , , 则将其添加到完整跟踪列表 T f , T_{f}, Tf, 如 果不是则将其终止。将跟踪从激活跟踪T a _{a} a 中移除。 - 对于没有被匹配的检测,将其初始化为新跟踪并添加到激活跟踪 T a T_{a} Ta 中。
- 在所有贯都按照上述步骤重复完毕后,通过判断激活跟踪 T a T_{a} Ta 中每个跟踪对应检测的最高检测得分是否大于阅值 σ h \sigma_{h} σh 以及跟踪的长度是 否大于 t m i n , t_{m i n}, tmin, 来衡量 t i t_{i} ti 是否是一个完整的跟踪。如果是,则将其添加到完成跟踪 T f T_{f} Tf 中。
- 总结:提出里一种新的适合高帧率视频目标跟踪的数据关联的方法:IoU策略(常见的是 计算两帧中两个目标之间的欧几里得距离
目标之间相似性度量
(平面两点之间的直线距离) ,距离最短就认为是同一个目标,然后通过匈牙利算法
找出最匹配的Pair) - 硬伤:① 过于依赖检测,没有加入帧间的相关信息(跟踪)② 对于运动过快的目标跟踪,IoU策略会失效,如下图:
- 对于硬伤②可以采用轨迹预测解决:就能将下一帧预测的目标状态与下一帧的检测出来目标进行对比关联,能够发现我下一帧检测出来的这个目标对应上一帧的目标是哪个;就能将两帧分别检测出来的目标联系起来
V-IoU跟踪算法 2018 —— 针对硬伤②的改进
- V-IoU跟踪器在IoU跟踪算法的跟踪流程上,添加了一个视觉单目标跟踪器
- 补充1:对于没有被匹配的跟踪,利用SOT进行跟踪(MOT里面叫预测),如果在规定的允许最大预测时间范围内和检测的结果有匹配上就成功了,填补了不能匹配上的这段空白范围
- 补充2:将检测被初始化为新跟踪之后,反向跟踪,如果和现有的跟踪轨迹有重叠(自定义标准),则合并这两个跟踪