【论文笔记】EagerMOT:3D Multi-Object Tracking via Sensor Fusion
文献来源
Kim A , Oep A , L Leal-Taixé. EagerMOT: 3D Multi-Object Tracking via Sensor Fusion[C]// 2021.
一、什么是EagerMOT?
利用2D+3D数据来进行多目标跟踪的算法。
本文贡献:
1.提出了一个简单而有效的多阶数据关联方法,可以处理不同目标检测算法的结果,可以处理不同模态的数据。
2.提出的算法适用范围广,可以应用到2D/3D多目标跟踪、多目标跟踪与分割任务上
3.通过消融实验证明了算法的效益高
二、为什么提出EagerMOT?
现有的方法利用深度传感器(比如激光雷达)来进行3D目标跟踪,但3D点云数据在远处很稀疏,因此感应范围有限。而2D图像数据提供了密集而丰富的视觉信息,有助于定位遥远的物体。所以本文结合3D和2D的数据进行目标跟踪,通过摄像机,可以识别遥远的物体,当物体进入激光雷达感应范围的时候,激光雷达可以进行更精确的定位。
三、怎么实现EagerMOT?
算法流程图:
算法结构:
EagerMOT算法是检测-跟踪型的算法,检测和跟踪可以分开来。
1.目标检测:
这一部分可以用现成的别人的算法。生成结果 3dDt 和2dDt,前者是3D检测结果,用3D bounding box表示,后者是2D检测结果,用2D bounding box表示。
2.目标跟踪:
1)融合
这一步的目的是把属于同一个目标的2D、3D检测结果关联在一起,得到一组实例(instances)It={I0t,…,Iit}。
首先,把 3dDt和2dDt输入到融合模块中,把3dDt投影到平面上,然后看投影和2dDt的交并比IoU的大小,把不同组合的IoU进行降序排列,当满足以下两个条件:
(i)这个IoU超过设定的阈值
(ii)这个组合里的2D、3D检测结果3dDit和2dDit都没有匹配
那么就把3dDit和2dDit组合成一个实例bothIit⊆It,它包含了一个3Dbounding box和一个2D bounding box,此外还可以储存一些额外的信息,比如2D分割掩码。
剩下的没有匹配上的检测结果3dIit⊆It,2dIit⊆It只包含了2D或者3D的信息。
注意:bothIt⊆3dIt以及bothIt⊆2dIt
当然还有很多方法可以判断2D、3D检测结果是不是属于同一个目标,但本算法使用的方法(投影看IoU)很简单,也有一定的鲁棒性。
多个相机的情况:
有一些场景下,会用到多个相机,比如说NuScenes数据集,针对这种情况,融合方法还是如上所示,只不过在每个摄像机视图里都做一次投影比较IoU,这样一来一个3dDt可能会对应到好几个2dDt,但只匹配IoU最大的那个2dDt,其他都不要。如果一个3dDt在某个摄像机视角里看不到,那么就认为它们的IoU为0.
2)数据关联
这一步的目的是通过二阶段的匹配关联环节来利用上述得到的实例It来更新目标轨迹。
一个目标轨迹的3D状态3dTt是由它的3D bounding box和一个位置速度向量构成,2D状态2dTt是由2D bounding box构成。因为主要是在3D中跟踪目标,所以一个目标的置信度分数就等于它3D状态的置信度分数。
第一阶段:
把3dIt和3dTt关联起来。
我们已经得到了当前t时刻的3dIt,然后根据3dTt-1预测出3dTt(通过一个卡尔曼滤波构成的恒速运动模型预测),把这个预测结果和3dIt进行比较,判断是否能关联起来。本算法利用折合距离(scaled distance)来判断实例和轨迹能否关联在一起,如下图所示:
这里的Biρ=[x,y,z,h,w,l],表示了3D bounding box的位置和大小,Biγ表示的是3D bounding box的方向。
和平面欧氏距离相比,用折合距离的度量方法考虑到了方向相似性,对于非单向的目标,比如行人或者车辆,是更有参考价值的。
通过实验发现这种方法比起用3D IoU、马式距离来说更鲁棒,因为它考虑到了预测和观察的不确定性,尤其是在像NuScenes数据集那种低帧率的场景中。
像融合模块所做的那样,我们把最优匹配的实例-轨迹对放在一起,得到1mITt={(Iit,Tjt),…}。剩下的没有匹配上的就标记为1uIt和1uTt。
经过这个阶段,所有3dIt要么和已存在的轨迹匹配上了,要么被标记为1uIt,所以接下来3dIt不会再参与到第二阶段的匹配去了。
第二阶段:
把2dIt(不包括bothIt,因为它有3D的bounding box,已经在第一阶段匹配关联完了,不再参与第二阶段的匹配)和1uTt、2dTt关联起来(因为有些目标可能不在激光雷达感应范围内,但是被摄像头捕捉到了,所以它只有2d的轨迹,没有3d轨迹,因此除了刚才没有匹配上的1uTt,还要再和2dTt关联)。
我们已经得到了当前t时刻的2dIt,然后根据1uTt-1或者2dTt-1预测出2dTt(如果是1uTt-1,有相应的3D轨迹,那就先预测出相应的3dTt,然后投影到2D来作为预测的2dTt;如果是2dTt-1,没有相应的3D轨迹,那么就直接把2dTt-1当成预测的2dTt),把这个预测结果和2dIt进行比较,判断是否能关联起来。
本算法利用2D的IoU来判断实例和轨迹能否关联在一起。
同理,我们最后得到了2mITt={(Iit,Tjt),…}。剩下的没有匹配上的就标记为2uIt和2uTt。
如果有多个摄像头,那么就像融合部分所做的那样,每个视图都做一次匹配,最后选出匹配程度最高的作为最终结果。
状态更新:
用匹配好了的实例来进行轨迹的状态更新。
对于2D的轨迹状态,直接用最新检测到的2D bounding box来覆盖即可。
对于3D的轨迹状态,用3Dbounding box加上一个恒速的线性卡尔曼滤波来进行更新,如果没有3D bounding box,那么就用根据上一帧的卡尔曼滤波推断出的结果来更新。
3.轨迹管理
如果一个目标轨迹连续Agemax帧都没有更新,就认为这个目标离开了,把它删去。但是如果这个轨迹在当前帧和一个实例关联上了,并且这个实例在Age2d帧内更新了2D的信息,就还是先保留这个轨迹不删去。
最后,所有从没被匹配上的2uIt开启新的轨迹。
四、实验结果
本文利用KITTI和NuScenes的四个跟踪集来评估算法性能:(i) NuScenes 3D MOT, (ii) KITTI 3D MOT,
(iii) KITTI 2D MOT, (iv) KITTI MOTS
目标检测算法选择:
在NuScenes上:
3D目标检测算法选用CenterPoint,2D目标检测算法选用Cascade R-CNN。
在KITTI 3D MOT上:
3D检测算法分别选用了Point-GNN和Point R-CNN进行实验和比较,最后选择了表现更好的Point-GNN;在2D检测算法的选用上,对于车辆数据集选用RCC,对于行人数据集选用Track R-CNN。
消融实验:
在NuScenes的验证集上,对本文算法进行变体,得到的实验结果如上。
从“Full”和“No 2D info”的对比中可以看到,如果没有加入2D的信息,那么算法的正确率(AMOTA、Recall)有所下降,但准确度稍微上升了一点(因为本文的算法即使没有3D检测信息,也可以用2D的信息去更新轨迹状态,然后用的是卡尔曼滤波器推断3D bounding box的位置,所以会不那么准确)。
从“No 2D;2D distance”、“No 2D;3D IoU”和“No 2D info”的对比中可以看到,如果在数据关联阶段,用的是欧式距离或者3D IoU来判断检测结果和预测的轨迹是否属于同一个目标,它们的正确率都没有本文算法采用的折合距离好,这是因为3D IoU这个判断标准不太适用于NuScenes,因为NuScenes比起KITTI,雷达线束比较少,扫描率太低了。
从上图中可以看出,不同的目标检测算法质量会影响到后续跟踪的性能。本文算法的一个优点是比较灵活,不需要高昂的训练成本,可以直接应用到现成的目标检测算法中去,所以想要得到更好的最终效果,可以选用更好的目标检测算法。
算法对比:
上图是在NuScenes上本文算法和其他先进的算法对比,标为灰色的是排名最高的未公开的算法。为了公平起见,所有算法的目标检测部分都用的和CenterPoint一样的。
上图是在KITTI 3D上本文算法和其他先进算法的对比,标记 †的算法是使用了Point R-CNN作为目标检测算法的,可以看到,在使用了同样的目标检测算法的前提下,本文算法的提升比之AB3DMOT(只用3D数据进行检测跟踪)来说也是很大的,说明了加入2D数据可以改进跟踪的性能。
上图是在KITTI 2D上本文算法和其他先进算法的对比,尽管本文算法是在3D空间里进行跟踪,但是可以通过投影到2D平面来进行2D跟踪结果对比。可以看到,本文算法的HOTA(一种更高阶的跟踪精度评价指标,将执行精确检测、关联和定位的效果统一到一个指标里)是最高的。
上图显示出了一些目标激光雷达没能检测到但是被摄像头捕捉到了的场景,从上到下分别是:目标超出雷达检测范围,目标部分遮挡,探测器故障。这说明2D和3D信息是互补的。
上图是在KITTI MOTS上本算法和其他先进算法的对比。在完成MOTS任务时,本算法在关联之后额外地增加一个分割掩码,实例传递到轨迹。可以看到,本文算法表现是不错的,而且速度比别的算法快。
总结
本文提出了EagerMOT算法,可以处理经过不同目标检测算法输出的、多模态数据的目标跟踪任务。实验结果表明此算法在不同数据集上表现优异,可以与不同的检测算法结合使用。
【论文笔记】EagerMOT:3D Multi-Object Tracking via Sensor Fusion相关推荐
- 论文笔记 SiamMask : Fast Online Object Tracking and Segmentation: A Unifying Approach
论文连接:[1812.05050] Fast Online Object Tracking and Segmentation: A Unifying Approach 论文连接:[1812.05050 ...
- 【论文笔记】3D LiDAR-Based Global Localization Using Siamese Neural Network
[论文笔记]3D LiDAR-Based Global Localization Using Siamese Neural Network ~~~ ~~~~ 在本文基于从神经网络中学习到的 ...
- 论文笔记-DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM
I.Introduction 关于动态SLAM,在这个部分,论文总结了现有三种方案思路: 检测动态的区域,然后把他们从SLAM环节中去除 在定位的环节外,把包含动态内容的现实图片中翻译成只有静态内容的 ...
- 论文笔记Understanding and Diagnosing Visual Tracking Systems
最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...
- 【论文笔记】Segmenting Transparent Object in the Wild with Transformer
声明 不定期更新自己精读的论文,通俗易懂,初级小白也可以理解 涉及范围:深度学习方向,包括 CV.NLP.Data fusion.Digital Twin 论文标题: Segmenting Trans ...
- 【论文笔记】3D Human Pose Estimation with Spatial and Temporal Transformers
论文链接:https://arxiv.org/pdf/2103.10455.pdf github地址:https://github.com/zczcwh/PoseFormer 1. 方法归类 3d h ...
- 【论文笔记】3D点云分割-PointNet
paper:PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation 与普通的2D图片不同,点云数据是空 ...
- 论文笔记 OHEM: Training Region-based Object Detectors with Online Hard Example Mining
CVPR2016的文章,CMU与rbg大神的合作.原谅我一直没有对这篇文章做一个笔记~~ 文章提出了一种通过online hard example mining(OHEM)算法训练基于区域的卷积检测算 ...
- 【论文笔记】Spectral-Spatial Exploration for HSIC via the Fusion of FCN
L. Zou, X. Zhu, C. Wu, Y. Liu and L. Qu, "Spectral–Spatial Exploration for Hyperspectral Image ...
- NILM论文笔记:R.Reddy, et al: A feature fusion technique for improved NILM
目录 0. 前言 1. 论文概要 2. 混合特征生成 3. 数据合成 4. 对比实验 4.1 数据生成 4.2 事件检测 4.3 特征提取(Feature extraction) 0. 前言 本文是& ...
最新文章
- linux 蓝牙编程,实战Linux Bluetooth编程(三) HCI层编程
- 计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt
- 在wildfly中使用SAML协议连接keycloak
- python 判断数字连续_关于python:检测列表中的连续整数
- phpcms v9输出内容过滤html代码 - 代码篇
- php文件名解析漏洞 nginx,nginx服务器解析漏洞(一)
- ObjectOutputStream 和 ObjectInputStream类的简单介绍,及运用。
- 9. JEB 1.5插件编写一
- 置换矩阵(permutation matrix)
- Mybatis源码编译
- 单片机——仿真软件Proteus基本使用教程
- SpringBoot+POI方式导出excel【加水印】
- 凯恩斯主义税收思想概述
- 永久免费!永洪科技发布桌面智能数据分析工具Desktop,推动数据应用平民化
- 好久没写东西了,发些我的卡通头像吧
- 【vue3】 vue3 几款值得推荐的UI组件库
- Matlab TRL校准(简易版)
- Highcharts去掉右下角URL水印
- PHP 安装包 、文件 下载地址
- flash遍历子元件_Flash编程-详解循环语句