本文从相关方向、核心步骤、评价指标和最新进展等方面对多目标跟踪方向进行了调查报告MOT全面介绍不仅适合入门科普,还能帮助大家加深理解。
作者丨Harlek@知乎
计算机视觉与机器学习
链接丨https://zhuanlan.zhihu.com/p/97449724
最近做了一些方向研究,所以研究结果以图片和文字的形式显示,希望对这个领域的学生有所帮助。也欢迎大家和我讨论这个领域的任何问题。
我知道这些(MOT)的一些相关方向。其中(VOT/SOT)、(detection)、(Re-ID)都是很受欢迎的方向。而偏视频的相关方向相对不受欢迎。今年5月DukeMTMC隐私问题不再提供MTMCT的数据了,MTMCT研究也是困难。
MOT算法的一般工作流程:(1)给定视频的原始帧;(2)操作对象对于每个检测到的物体,,通常是视觉和运动特征;(4)之后,计算两个对象属于同一目标的概率;(5)最后,为每个对象分配数字ID。
所以绝大多数MOT算法只有四个步骤:。
影响最大的部分是检测,检测结果对最终指标的影响最大。
然而,多目标跟踪的研究重点是和这一块。所以有一个大问题:如果你设计一个更好的相关算法,它可能会提高0.1点,但其他人使用一些数据集trick消除一些泄漏检查可能会增加几点。因此,研究更好的数据关联的回报率很低。因此,虽然多目标跟踪在工业界非常有用,但由于指标数据集的一些原因,学术界在进入坑之前必须。
评价指标:
第一个是传统的标准,现在没人用了,就不介绍了。
二是06年提出的CLEAR MOT。现在用的的就是。但是这个指标FN、FP权重占很大比例,衡量更多,而不是。
第三个是16年提出的ID scores。因为都是基于匹配指标,所以可以更好的衡量的好坏。
最常用的数据集是,专注于行人跟踪。
第二个KITTI是自动驾驶的数据集,包括汽车和行人MOT论文很少使用。
还有其他比较老的数据集现在不用了。
15年收集的旧数据集视频进行了修改。
16年是一个全新的数据集,行人密度比15年更高,难度更大。特别注意这一点,效果很差,都是漏检和误检。
17年的视频和16年的视频完全一样,只,相对公平。也是现在的论文。
19年的数据集特别拥挤,只有CVPR只能在19场比赛中提交。
这个是从17年开始,MOTA涨得很慢。注意这个帧率20Hz的算法MOTDT也是我后面要讲的一个。
这个是结果对结果的影响非常重要。SOTA私有检测器更换算法后,性能直接上升了近20点。
这个是这几年算法比较突出。请注意,由于该数据集使用了三个检测器,因此FP、FN这些指标几乎是16数据集的三倍。
关键算法
从这两个算法说起。
SORT核心是两种算法:和。
分为两个过程:和。预测过程:当汽车移动,初始定位和移动过程为高斯分布时,最终估计位置分布更加分散,更不准确;更新过程:当汽车通过传感器观测定位,初始定位和观测为高斯分布时,观测位置分布将更加集中和准确。
解决的是一个。SK-learn库的linear_assignment___和scipy库的linear_sum_assignment所有这些算法都实现了,只需要输入cost_matrix即你可以得到最好的匹配。但需要注意的是,虽然这两个库函数算法相同,但输出格式不同。具体的算法步骤也很简单,是一种复杂性的算法。
DeepSORT优化主要基于匈牙利算法。它在IOU Match以前做过额外的,利用了和。
通过一个Re-ID网络提取,过程和特征提取NLP里词向量的过程(embedding)很像,所以后面的一些论文也称这一步为嵌入(起源不应该是NLP,但是我第一次接触embedding是从NLP里)。然后是因为欧氏距离忽略空间域分布的计算结果,所以增加里限制运动信息。
SORT
这个SORT流程图非常重要,可以看出整体可以分为两部分,即和,所有这些都是用灰色的框架标出来的。一定要了解整个过程。多目标跟踪的大框架基本上来自于此。
关键步骤:轨迹卡尔曼滤波器→ 使用将预测后的tracks以及当前帧detecions进行匹配() → 卡尔曼滤波
对于不匹配的轨迹,不会立即删除,有一个T_lost的保存时间,但SORT将此时间阈值设置为1,即对于不匹配的轨迹,相当于直接删除。
本论文的原话是:
首先,恒速模型不能很好地预测真正的动力学。其次,我们主要关注帧到帧的跟踪,对象的重新识别超出了本文的范围。
这篇文章的机翻《SORT》论文翻译
DeepSORT
这是DeepSORT算法流程图,和SORT基本一样,就多了(Matching Cascade)和(confirmed)。
这篇文章的机翻《DeepSORT》论文翻译
关键步骤:轨迹卡尔曼滤波器→ 使用将预测后的tracks以及当前帧detecions进行匹配(和) → 卡尔曼滤波
是核心,是红色部分,DeepSORT大部分创新点都在这里,具体过程看下图。
为什么新轨迹要连续三帧命中才能确认?就我个人而言,我认为如此严格的条件与测试集有关。由于测试集给出的测试输入非常差,误检较多,因此生成轨迹的条件必须更加严格。
级联匹配流程图的上半部分和,也就是算这个分配问题的代价函数。主要由两部分组成:代表运动模型的和代表外模型的。
级联匹配流程图里下半部分作为流程的主体。为什么叫级联匹配,主要是它的匹配过程是一个。从missing age=0的轨迹(即每一帧都匹配上,没有丢失过的)到missing age=30的轨迹(即丢失轨迹的最大时间30帧)挨个的和检测结果进行。也就是说,对于没有丢失过的轨迹赋予的权利,而丢失的最久的轨迹最后匹配。
论文关于参数λ(运动模型的代价占比)的取值是这么说的:
在我们的实验中,我们发现当相机运动明显时,将λ= 0设置是一个合理的选择。
因为相机抖动明显,卡尔曼预测所基于的匀速运动模型并不work,所以马氏距离其实并没有什么作用。但注意也不是完全没用了,主要是通过阈值矩阵(Gate Matrix)对代价矩阵(Cost Matrix)做了一次。
关于DeepSORT算法的详细代码解读我比较推荐:目标跟踪初探(DeepSORT)
但关于卡尔曼滤波的公式讲的不是很详细,具体推导可以看看 Kalman Filter 卡尔曼滤波
改进策略
看到这个DeepSORT的流程图不知道大家可以想到什么的地方?其实有几个点是很容易想到的。
第一点,把,做一个精度和速度的trade off;
第二点,对于轨迹段来说,时间越长的轨迹是不是更应该得到更多的信任,不仅仅只是级联匹配的优先级,由此可以引入;
第三点,从直觉上来说,检测和追踪是两个相辅相成的问题,良好的追踪可以弥补检测的漏检,良好的检测可以防止追踪的轨道飘逸,这个问题在DeepSORT里也并没有考虑;
第四点,DeepSORT里给马氏距离也就是运动模型设置的系数为0,也就是说在相机运动的情况下线性速度模型并不work,所以是不是可以找到。
这是最近比较新的一些方法。
工业界青睐的算法在学术界其实并不重视,一方面是因为的原因,另一方面可以看到顶会的算法都不是注重的,通常用了很来提升精度。
而且这些trick不是一般意义的trick了,是针对这个数据集的或者说针对糟糕检测器的一些trick, 对于实际应用几乎没有帮助。
第一篇论文是基于DeepSORT改进的,它的创新点在于引入了,时间越久的轨迹可信度就越高,基于这个评分就可以把轨迹产生的预测框和检测框放一起做一个NMS,相当于是。
第二篇论文是今年9月份发在arxiv上的一篇论文,它的工作是把,追求的是速度和精度的trade off。
MOTDT
这是刚才列举的第一篇论文(MOTDT)的流程图,大概和DeepSORT差不多。这个图画的比较简单,其实在NMS之前有个基于SqueezeNet的和。这两个东西的目的就是为了产生一个统一检测框和预测框的标准置信度,作为NMS的输入。
这篇文章的翻译在《Real-Time Multiple People Tracking With Deeply Learned Candidate Selection And Person Re-ID》论文翻译
JDE
这是刚才第二篇论文(JDE)里的结构图。这个方法是基于YOLOv3和MOTDT做的。它网络前面都和YOLOv3一样的,主要就是在特征图里多提取了一个嵌入(embedding)向量,采取的是。因为是多任务学习,这篇论文还用了一篇18年的论文提出来的:通过学习一组辅助参数自动地对非均匀损失进行加权。最后的结果是精度上差不太多,FPS高了很多。
这篇文章的翻译在 《Towards Real-Time Multi-Object Tracking》论文翻译
最后用多目标追踪未来的一些思考作为结尾,这句话是最近的一篇关于多目标追踪的综述里的。
它在最后提出对未来的方向里有这样一句话,。其实现在基于检测的多目标追踪都是检测模块用深度学习,Re-ID模块用深度学习,而。现在有一些尝试是用RNN,但速度慢、效果不好,需要走的路都还很长。
我个人觉得,还是从Re-ID的方面下手思考怎样会更靠谱,用深度学习的方法来处理数据关联不是短时间能解决的。
[1] Alex Bewley, Zongyuan Ge, Lionel Ott, Fabio Ramos, and Ben Upcroft. Simple online and realtime tracking. In2016 IEEE International Conference on Image Processing (ICIP), pages 3464–3468. IEEE, 2016.
[2] Nicolai Wojke, Alex Bewley, and Dietrich Paulus. Simple online and realtime tracking with a deep associationmetric. In2017 IEEE International Conference on Image Processing (ICIP), pages 3645–3649. IEEE, 2017.
[3] Chen Long, Ai Haizhou, Zhuang Zijie, and Shang Chong. Real-time multiple people tracking with deeplylearned candidate selection and person re-identification. InICME, 2018.
[4] Zhongdao Wang, Liang Zheng, Yixuan Liu, Shengjin Wang. Towards Real-Time Multi-Object Tracking. arXiv preprint arXiv:1909.12605
[5] Gioele Ciaparrone, Francisco Luque Sánchez, Siham Tabik, Luigi Troiano, Roberto Tagliaferri, Francisco Herrera. Deep Learning in Video Multi-Object Tracking: A Survey. arXiv preprint arXiv:1907.12740
本文仅做学术分享,如有侵权,请联系删文。
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
扫码添加小助手微信,可
一定要备注:
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题