文献来源

Pang Z , Li Z , Wang N . SimpleTrack: Understanding and Rethinking 3D Multi-object Tracking[J]. 2021.

一、什么是SimpleTrack?

一种检测-跟踪的MOT算法baseline,由预处理模块、运动预测模块、数据关联模块和轨迹管理模块组成,其中每个模块所用的方法都是在现有多目标跟踪算法常用方法的基础上分析改进得来的。

二、为什么提出SimpleTrack?

现有的多目标跟踪算法的框架大致可分为预处理模块、运动预测模块、数据关联模块和轨迹管理模块,SimTrack对四个模块中常用的一些方法进行分析和改进,形成一个简单但效果不错的baseline。

三、怎么实现SimpleTrack?


上图是3D MOT算法的大致流程,在第k帧,检测器检测出若干目标,对这些检测结果进行一些预处理,一些比较常规的操作是选择置信度分数高于某个阈值的bounding boxs作为后续跟踪的输入(上图显示的预处理是把冗余的bounding box修整了一下)。同时,根据前k-1帧的轨迹,要对这些轨迹目标做一个运动预测(大多数3D MOT算法常用的是卡尔曼滤波还有恒速预测模型),然后把第k帧的检测结果和预测结果关联在一起,再进行后续的运动预测模型更新和轨迹管理。

1、检测结果预处理:

一般来说,目标检测模块会输出一大堆置信度分数不一的bounding boxs,要选择哪些bounding box作为后续跟踪的输入,在一定程度上会影响算法的性能。

如上图所示,如果只是非常简单地设立一个阈值(上图中这个阈值为0.24),高于这个阈值的bounding box留下,低于这个阈值的剔除掉,那么会导致图上第二列的结果:当一个目标被检测出来的bounding box只有一个,虽然它的置信度分数很低,但如果把这个bounding box剔除掉了,那在后续跟踪模块里,相当于压根没检测出这个目标,会影响最终算法的准确率。所以在预处理模块中,SimTrack选择采用非极大值抑制(NMS),可以从上图看出,NMS可以有效消除重叠的低质量的bounding box,同时保留只有一个的低质量的bounding box。

上图通过在两个数据集上实验证明了采用NMS对算法性能的提升。

2、运动预测:

一般运动预测模块常用的方法是卡尔曼滤波(KF)和恒速预测模型(CV),如下图所示,这是分别在NuScenes和Waymo数据集上使用这两种运动预测方法的算法性能。

可以看到,KF在Waymo数据集上表现更好而CV在NuScenes数据集上表现更好,这是因为NuScenes数据集的帧率比较低,只有2Hz,KF比较适用于帧率比较高的因为这样一来信息比较多,KF的预测效果更好。后续作者把NuScenes的帧率调整到10Hz(和Waymo数据集一样),可以发现这个时候KF在NuScenes上效果略胜一筹。
SimTrack选择使用卡尔曼滤波作为运动预测的方法。

3、数据关联:

关联矩阵:3D GIoU

现有的3D MOT方法常常用IoU或者距离来衡量检测结果和预测结果的相似度,相似度越高,就越倾向于这两者属于同一个目标。

可以从上图看到,如果使用IoU来衡量相似度,如果检测结果和预测结果之间重叠的部分为0,就不会认为这二者是同一个目标,但这种情况是存在的,比如新目标出现或者是目标突然动作(比如静止的东西突然运动起来,运动的突然停下来等)。而用距离来衡量相似度,一般用马氏距离或者欧式距离,这样虽然可以解决IoU的问题,但是难以应付那些置信度比较低的检测结果,就像上图右侧展示那样,红色框是正确结果,蓝色框是预测结果,绿色框是错误结果,但是蓝色框和绿色框的中心点距离比较接近,它就会错误地和绿色框进行匹配,而这种情形下,IoU方法却可以正确匹配。
因此SimTrack采用GIoU方法,来结合IoU方法和距离方法的优点,计算公式如下:

这里 B 1 B_1 B1​、 B 2 B_2 B2​是2个检测的bounding box, I I I是2个box的交集, U U U是2个box的并集, V V V是多边体的体积, C C C是包围住 U U U的凸包的一个集合,对这个式子的解释来自知乎用户“半闲”:

从下图可以看出,使用GIoU有助于降低ID switch,提高MOTA。

匹配策略

将检测结果和预测结果匹配到一起的方法主要有2种:把匹配问题看作一个二分图匹配问题,用匈牙利算法解决;通过贪心算法迭代关联最近的配对。如果关联矩阵选用IoU,那么两种方法都可以,如果关联矩阵选择的是距离,用贪心算法效果更好,原因可能是基于距离的关联矩阵数值范围很大,因此优化全局最优解的方法,如匈牙利算法,可能会受到异常值的不利影响。

上图是使用不同的关联矩阵和不同的匹配方法对算法性能的影响。

4、轨迹管理:


如上图所示,ID switch发生的原因主要可以分为2种:错误的关联以及提前结束(认为一个追踪着的目标已经消失了,但其实由于遮挡等原因,它并没有真的消失,但却提前把这个目标的轨迹删掉)。而提前结束又是ID switch发生的最主要原因。所以为了解决这个问题,SimTrack利用了运动预测模块和低置信度分数的检测结果之间的一致性,也就是说,预测结果和检测结果都认为那个目标还存在着,因此应该保留它的轨迹而不是删掉。
如下图所示,SimTrack提出了二阶段关联,首先先设置两个阈值,高一点的是 T h T_h Th​,低一点的是 T l T_l Tl​(这里假设 T h T_h Th​=0.5,而 T l T_l Tl​=0.1),在第一阶段,像其他大部分算法那样,只有高于 T h T_h Th​的才把它们匹配到一起;在第二阶段,主要关注上阶段没有匹配到检测结果的轨迹,把对它们的标准放宽一点,如果匹配得分有高于 T l T_l Tl​,就还保留这个轨迹,认为它是存在的。但因为这个检测结果置信度并不高,所以不输出这个检测结果,也不会把它拿来更新运动预测模块,取而代之的是,拿预测的结果作为最新的轨迹状态。

使用二阶段关联使得ID switch的指标有所改善,如下所示:

5、整合SimTrack:

如果把上述的所有方法整合在一起,就是SimTrack。下图显示的是在baseline方法AB3DMOT上逐步加入上述的每个方法,可以直观地看到MOTA和ID Switch的改善。

SimTrack算法的性能相比同期的几个算法有所提升,如下图所示:

总结

本文通过分析现有的检测-跟踪的3D MOT方法,将3D MOT算法框架大致分为预处理、运动预测、数据关联和轨迹管理四个部分,然后在这几个部分中使用NMS、GIoU、二阶段关联来组成一个baseline:SimTrack算法。

【论文笔记】SimpleTrack: Understanding and Rethinking 3D Multi-object Tracking相关推荐

  1. 论文笔记 Object-Aware Instance Labeling for Weakly Supervised Object Detection - ICCV 2019

    Object-Aware Instance Labeling for Weakly Supervised Object Detection Kosugi ICCV, 2019 (PDF) (Citat ...

  2. 【论文笔记】DARDet: A Dense Anchor-free Rotated Object Detector in Aerial Images

    [论文笔记]DARDet: A Dense Anchor-free Rotated Object Detector in Aerial Images 摘要 1. 介绍 2. 主要方法 2.1 总体结构 ...

  3. 论文笔记(二十二):Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval

    Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval 文章概括 摘要 1. 介绍 2 ...

  4. 论文笔记 Feature Selective Anchor-Free Module for Single-Shot Object Detection - CVPR 2019

    2019 FSAF Feature Selective Anchor-Free Module for Single-Shot Object Detection Chenchen Zhu, Yihui ...

  5. 论文笔记之Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...

  6. 论文笔记-Multi-view Incremental Segmentation of 3D Point Clouds for Mobile Robots

    标题:Multi-view Incremental Segmentation of 3D Point Clouds for Mobile Robots 作者:Jingdao Chen1, Yong K ...

  7. 【论文笔记】MV3D:Multi-View 3D Object Detection Network for Autonomous Driving

    摘要 本文针对自动驾驶场景中的高精度3D对象检测.我们提出了多视点三维网络(MV3D),这是一个以激光雷达点云和RGB图像为输入,预测定向三维边界框的传感器融合框架.我们用一个紧凑的多视图表示来编码稀 ...

  8. 【论文笔记】Understanding the Idiosyncrasies of Real Persistent Memory

    Abstract DCPMM出来之后很多学者开始评估PM.早期的评估结果显示DCPMM的表现是nuanced,idiosyncratic 有细微差别.怪异的.有些设计方案所依赖的性能假设不正确.一些怪 ...

  9. 论文笔记——Stitcher:Feedback-driven Data Provider for Object Detection

    论文下载: https://arxiv.org/pdf/2004.12432.pdf 论文摘要: 代码暂未开源 该论文摘要概括:目标检测器的效果是根据物体尺度的不同而不同,在小对象性能上是最不令人满意 ...

最新文章

  1. VS和matlab混合编程的推荐书籍!
  2. [Qt教程] 第28篇 XML(二)使用DOM创建和操作XML文档
  3. “此图片来自微信公众平台 未经允许不可引用“ 解决办法
  4. AppSettings和ConnectionStrings的区别
  5. 用java创建UDF,并用于Hive
  6. LeetCode 6. Z 字形变换(找规律)
  7. java 数据类型 string_java的基本数据类型和引用数据类型都有哪些,string属于什么类型...
  8. pagehelper插件oracle,带你学习最简单的分页插件PageHelper
  9. 关于windows窗体应用程序 1117
  10. 财务一体化项目,进度与计划8
  11. 保温杯哪种材质最好_哪种保温杯质量好?
  12. Exchange2003部署与管理体系结构
  13. 微信小程序测试需要考虑哪些方面?一分钟快速掌握(小白必看!)
  14. 用二分法求下面方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0
  15. 2018服务机器人发展现状及2019趋势分析
  16. 微信商户号 API 密钥、API 证书配置
  17. Oracle数据库,创建表并给表、字段添加注释.
  18. 接口测试[PostMan]
  19. 熬了整整30天,搭建kafka服务器centos8
  20. rust php 扩展,在PHP程序中使用Rust扩展的方法_php技巧

热门文章

  1. 3D与Blender:开源的3D计算机图形软件集
  2. 小程序专题:换手机不如换壁纸
  3. 【PP那些事儿】ECNOCM变更
  4. idea安装python
  5. Qt实现软件打开时的开机界面
  6. win10占用cpu过高的可能解决方法
  7. python json数组解析_Python基础系列(一)搞懂json数据解析与字典之间的关系
  8. 基础篇 —— 树莓派换源
  9. 案例04:几何图形绘制
  10. 教你如何调用百度编辑器ueditor的上传图片、上传文件等模块