锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

基于深度学习的多目标跟踪(MOT)技术一览

时间:2022-10-05 03:30:00 fn传感器

编者荐语

本文从相关方向、核心步骤、评价指标和最新进展等方面对多目标跟踪方向进行了调查报告MOT全面介绍不仅适合入门科普,还能帮助大家加深理解。

作者丨Harlek@知乎

计算机视觉与机器学习

链接丨https://zhuanlan.zhihu.com/p/97449724

最近做了一些多目标跟踪方向研究,所以研究结果以图片和文字的形式显示,希望对这个领域的学生有所帮助。也欢迎大家和我讨论这个领域的任何问题。

相关方向

59e2fc3f606905ed495330a6c79d68fa.png

我知道这些多目标跟踪(MOT)的一些相关方向。其中单目标跟踪(VOT/SOT)、目标检测(detection)、行人重识别(Re-ID)都是很受欢迎的方向。而偏视频的相关方向相对不受欢迎。今年5月DukeMTMC隐私问题不再提供MTMCT的数据了,MTMCT研究也是困难。

核心步骤

MOT算法的一般工作流程:(1)给定视频的原始帧;(2)操作对象检测器对于每个检测到的物体,计算出不同的特征,通常是视觉和运动特征;(4)之后,相似度计算步骤计算两个对象属于同一目标的概率;(5)最后,关联步骤为每个对象分配数字ID。

所以绝大多数MOT算法只有四个步骤:①检测 ②特征提取,运动预测 ③相似度计算 ④数据关联

影响最大的部分是检测,检测结果对最终指标的影响最大。

然而,多目标跟踪的研究重点是相似度计算数据关联这一块。所以有一个大问题:如果你设计一个更好的相关算法,它可能会提高0.1点,但其他人使用一些数据集trick消除一些泄漏检查可能会增加几点。因此,研究更好的数据关联的回报率很低。因此,虽然多目标跟踪在工业界非常有用,但由于指标数据集的一些原因,学术界在进入坑之前必须三思


评价指标

评价指标:

第一个是传统的标准,现在没人用了,就不介绍了。

二是06年提出的CLEAR MOT。现在用的最多的就是MOTA。但是这个指标FN、FP权重占很大比例,衡量更多检测的质量,而不是跟踪的效果

第三个是16年提出的ID scores。因为都是基于匹配指标,所以可以更好的衡量数据关联的好坏。

数据集

最常用的数据集是MOTChallenge,专注于行人跟踪。

第二个KITTI是自动驾驶的数据集,包括汽车和行人MOT论文很少使用。

还有其他比较老的数据集现在不用了。

15年收集的旧数据集视频进行了修改。

16年是一个全新的数据集,行人密度比15年更高,难度更大。特别注意这一点DPM检测器,效果很差,都是漏检和误检。

17年的视频和16年的视频完全一样,只三个检测器,相对公平。也是现在的论文主流数据集

19年的数据集特别拥挤,只有CVPR只能在19场比赛中提交。

这个是MOT16公开检测器从17年开始,MOTA涨得很慢。注意这个帧率20Hz的算法MOTDT也是我后面要讲的一个。

这个是MOT16私有检测器结果检测器的性能对结果的影响非常重要。SOTA私有检测器更换算法后,性能直接上升了近20点。

这个是MOT17公开检测器这几年算法比较突出。请注意,由于该数据集使用了三个检测器,因此FP、FN这些指标几乎是16数据集的三倍。


SORT和DeepSORT

关键算法

从这两个工业关注度最高算法说起。

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进行匹配(IOU匹配) → 卡尔曼滤波更新

对于不匹配的轨迹,不会立即删除,有一个T_lost的保存时间,但SORT将此时间阈值设置为1,即对于不匹配的轨迹,相当于直接删除。

本论文的原话是:

首先,恒速模型不能很好地预测真正的动力学。其次,我们主要关注帧到帧的跟踪,对象的重新识别超出了本文的范围。

这篇文章的机翻《SORT》论文翻译

DeepSORT

这是DeepSORT算法流程图,和SORT基本一样,就多了级联匹配(Matching Cascade)和确认新轨迹(confirmed)。

这篇文章的机翻《DeepSORT》论文翻译

关键步骤:轨迹卡尔曼滤波器预测→ 使用匈牙利算法将预测后的tracks以及当前帧detecions进行匹配(级联匹配IOU匹配) → 卡尔曼滤波更新

级联匹配是核心,是红色部分,DeepSORT大部分创新点都在这里,具体过程看下图。

为什么新轨迹要连续三帧命中才能确认?就我个人而言,我认为如此严格的条件与测试集有关。由于测试集给出的测试输入非常差,误检较多,因此生成轨迹的条件必须更加严格。

级联匹配流程图的上半部分特征提取相似度估计,也就是算这个分配问题的代价函数。主要由两部分组成:代表运动模型的马氏距离和代表外模型的Re-ID特征

级联匹配流程图里下半部分数据关联作为流程的主体。为什么叫级联匹配,主要是它的匹配过程是一个循环。从missing age=0的轨迹(即每一帧都匹配上,没有丢失过的)到missing age=30的轨迹(即丢失轨迹的最大时间30帧)挨个的和检测结果进行匹配。也就是说,对于没有丢失过的轨迹赋予优先匹配的权利,而丢失的最久的轨迹最后匹配。

论文关于参数λ(运动模型的代价占比)的取值是这么说的:

在我们的实验中,我们发现当相机运动明显时,将λ= 0设置是一个合理的选择。

因为相机抖动明显,卡尔曼预测所基于的匀速运动模型并不work,所以马氏距离其实并没有什么作用。但注意也不是完全没用了,主要是通过阈值矩阵(Gate Matrix)对代价矩阵(Cost Matrix)做了一次阈值限制

关于DeepSORT算法的详细代码解读我比较推荐:目标跟踪初探(DeepSORT)

但关于卡尔曼滤波的公式讲的不是很详细,具体推导可以看看 Kalman Filter 卡尔曼滤波

改进策略

看到这个DeepSORT的流程图不知道大家可以想到什么优化的地方?其实有几个点是很容易想到的。

第一点,把Re-ID网络和检测网络融合,做一个精度和速度的trade off;

第二点,对于轨迹段来说,时间越长的轨迹是不是更应该得到更多的信任,不仅仅只是级联匹配的优先级,由此可以引入轨迹评分的机制

第三点,从直觉上来说,检测和追踪是两个相辅相成的问题,良好的追踪可以弥补检测的漏检,良好的检测可以防止追踪的轨道飘逸,用预测来弥补漏检这个问题在DeepSORT里也并没有考虑;

第四点,DeepSORT里给马氏距离也就是运动模型设置的系数为0,也就是说在相机运动的情况下线性速度模型并不work,所以是不是可以找到更好的运动模型


最新进展

这是最近比较新的一些方法。

工业界青睐的算法在学术界其实并不重视,一方面是因为开源的原因,另一方面可以看到顶会的算法都不是注重速度的,通常用了很复杂的模块和trick来提升精度。

而且这些trick不是一般意义的trick了,是针对这个数据集的或者说针对糟糕检测器的一些trick, 对于实际应用几乎没有帮助。

第一篇论文是基于DeepSORT改进的,它的创新点在于引入了轨迹评分机制,时间越久的轨迹可信度就越高,基于这个评分就可以把轨迹产生的预测框和检测框放一起做一个NMS,相当于是用预测弥补了漏检

第二篇论文是今年9月份发在arxiv上的一篇论文,它的工作是把检测网络和嵌入网络结合起来,追求的是速度和精度的trade off。

MOTDT

这是刚才列举的第一篇论文(MOTDT)的流程图,大概和DeepSORT差不多。这个图画的比较简单,其实在NMS之前有个基于SqueezeNet的区域选择网络R-FCN轨迹评分的机制。这两个东西的目的就是为了产生一个统一检测框和预测框的标准置信度,作为NMS的输入。

这篇文章的翻译在《Real-Time Multiple People Tracking With Deeply Learned Candidate Selection And Person Re-ID》论文翻译

JDE

这是刚才第二篇论文(JDE)里的结构图。这个方法是基于YOLOv3和MOTDT做的。它网络前面都和YOLOv3一样的,主要就是在特征图里多提取了一个嵌入(embedding)向量,采取的是类似于交叉熵的triplet loss。因为是多任务学习,这篇论文还用了一篇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

本文仅做学术分享,如有侵权,请联系删文。

3D视觉工坊精品课程官网:3dcver.com

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从入门到精通:理论与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章