【论文】Track to Detect and Segment: An Online Multi-Object Tracker
论文题目:Track to Detect and Segment: An Online Multi-Object Tracker
一个在线多目标追踪器
目录
1. Introduction
2 Methodology
2.1 CenterNet
2.2 CVA
2.2.1 Cost Volume
2.2.2 Tracking Offset
2.2.3 re-ID LossTraining
2.3 MFW
2.3.1 Temporal Propagation
2.3.2 Feature Enhancement
2.4 Tracklet Generation
3 Experiments
3.1 Ablation Studies
4 Conclusion
1. Introduction
Advanced online multi-object tracking methods:
- The tracking-by-detection (TBD) paradigm treats detection and tracking as two independent tasks. It usually applies an off-the-shelf object detector to produce detections and employs another separate network for data association. The TBD system is inefficient and not optimized end-to-end due to the two-stage processing.
- The joint detection and tracking (JDT) paradigm that simultaneously performs detection and tracking in a single forward-pass. Common re-ID tracking loss is not that compatible with detection loss in jointly training a single backbone network, which could even hurt detection performance to some extent.
Hence,We propose a novel online multi-object tracker, TraDeS, that addresses the above two issues by tightly incorporating tracking into detection as well as a dedicatedly designed re-ID learning scheme.
现在主流的在线多目标追踪方法主要分为两类:
- 一类是TBD模式,将检测和追踪视为两个独立的任务,先用一个现成的目标检测器进行目标检测,再用另一个单独的追踪器进行数据关联,构成目标的运动轨迹;例如YOLO+卡尔曼滤波。
这种两阶段追踪模式存在着分开训练效率低速度慢、不是端到端模型无法实现全局最优等问题。
- 针对两阶段带来的弊端,出现了另一类,JDT模式,在一个前向过程中,同时进行目标检测和跟踪特征提取,做到了端到端的实现。
但是这种模式依旧存在问题:
虽然他的骨架网络backbone是共享的,但检测过程依然是独立于追踪的,她没有用到追踪的信息。但是对于要获得稳定连续的追踪轨迹来说,检测是基础,反过来,跟踪线索也将有助于检测,尤其是在目标发生部分遮挡或者运动模糊的情况下;
另一方面,在联合训练检测任务和追踪任务时,常规的reID跟踪损失和检测损失不太能兼容。因为检测任务的目的在于放大类间差距、缩小类内差距,reID跟踪任务更关注同一类内部的不同之处,也就是放大类内差距,因此会一定程度上影响检测的性能。
针对这两个问题,作者提出了一个新的在线JDT多目标追踪模型,TraDeS,通过将跟踪的信息反哺给检测,并设计了一个与检测损失较兼容的Re-ID损失,来提升多目标跟踪的效果。
2 Methodology
上图是本文在线追踪器的整体结构,主要由三部分组成,分别是:
- CenterNet,由骨架网络Φ和head network构成的基于点的单阶段目标检测器,它用高斯分布来覆盖目标,越靠近目标中心点,值越大;
- CVA,基于代价度量的关联模块,通过骨架网络Φ分别提取两帧图像的embedding特征,计算两帧图像embedding的相似度,从中计算出目标中心在两帧图像之间的偏移量;
- MFW,基于运动指导的特征整理模块,利用追踪偏移作为运动线索,用来传播和增强目标特征,最终传播的特征和当前的特征一起聚集,送入head network中实现检测和追踪。
下面介绍一下这几部分的具体算法。
2.1 CenterNet
首先是CenterNet,一个基于目标中心点的检测器。
和YOLO这种基于多个候选框的检测器不同,CenterNet检测目标的时候,只使用了目标中心点来代替候选框,用高斯分布来覆盖目标,每个目标仅生成一个中心,不需要非极大值抑制等后处理,提高了运行速度。
对于输入的图像,CenterNet首先经过骨架网络提取特征f,再送进简单的全卷积层head network生成一个热力图,热力图上的峰值点就是目标中心点;基于这个中心点和相应的图像特征,可以直接回归得到目标的大小、尺寸等信息,相应计算得到目标的bbox。具体的推导过程及损失函数,在这里就不展开讲,大家可以直接看CenterNet的论文Objects as Points。
在本文的追踪器中,CenterNet的两部分网络被分别放在了追踪器的头尾(已在流程图中用红色框框标注出来),对于输入的每帧图像,骨架网络提取基础特征f,这个基础特征f经过中间一系列操作之后,整合了追踪信息,最后送进head network中,得到热力图,每个点表示目标中心点or背景点。
例子热力图中的两个点,分别对应车和人。
下面我们来看一下作者是如何将多帧图像之间的跟踪信息反哺给CenterNet检测,提高多目标跟踪的效果的。
2.2 CVA
CVA模块的总体思路:输入两帧图像,经过检测器的骨干网络分别提取基础特征,送入到CVA模块,开始计算两帧图像中目标的偏移,构建运动跟踪信息,进行数据关联。具体计算细节如下:
2.2.1 Cost Volume
首先将基础特征f送入embedding网络中,提取每帧图像的reID embedding特征,embedding网络由3个卷积层构成。
然后为提高计算速度,将两个embedding特征矩阵下采样,并直接进行矩阵相乘,得到一个四维的cost volume代价度量C,来存储两帧图像所有点之间的embedding相似度信息。
以这两张图为例,点(i,j)代表t时刻汽车中心点的位置,点(k,l)表示t-1时刻汽车中心点的位置,那么代价度量中的Cijkl表示:在t时刻点(i,j) 和t-1时刻点(k,l)的embedding的相似度。
2.2.2 Tracking Offset
基于这个代价度量cost volume C,进一步计算得出t 时刻所有的点到t − τ时刻所有点的偏移量。
假设现在要计算t时刻位于(i,j)的目标x,也就是汽车的偏移量,即从(k,l)到(i,j)的偏移量。
那么可以找到它在代价度量中对应的一个两维的cost volume图,Ci,j。Ci,j存储着目标x的中心点(i,j)与t − 1时刻所有点的embedding相似度。在拿到Ci,j之后,对Ci,j进行水平和垂直两个方向的最大值池化,池化核大小分别为Hx1,1xW,再经过softmax函数后,得到两个向量CW和CH,向量的取值范围在0到1之间,分别代表目标x出现在t-1时刻的水平和垂直方向上每个位置的可能性。
图中也可视化地展示这个过程,在(k,l)对应方向的位置,两个向量的取值最高,表示在t-1时刻,在水平方向的k、垂直方向的l处,目标中心点出现的可能性最高。
下一步,就是计算目标点的偏移量了。
首先作者定义了水平和垂直方向的两个偏移量模板M和V,给出了计算公式,其中,s是reID embedding 特征的步长,也就是下采样的倍数。Mijl就表示目标x出现在t-1时刻的(*,l)位置的水平位移。
最后,将偏移量模板M/V和偏移可能性CW/CH对应进行点积,再上采样恢复到原图大小,计算得出两个方向上的偏移距离矩阵。
图中,这个汽车中心点的偏移量计算结果就是(-19,0)。
2.2.3 re-ID LossTraining
整个CVA模块通过embedding网络提取每帧图像之间的reID embedding特征,经过矩阵计算,推理得到运动偏移,构成了追踪线索。
其中,这个embedding网络是需要学习训练的,以得到更有效真实的embedding特征。
之前有提到,普通Re-ID跟踪损失注重类内不同,与注重类间不同的检测损失不是很兼容,所以作者提出用cost volumn来监督网络的学习。
作者设定,当t时刻的点(i,j) 出现在t−1时刻的(k,l) 位置时,令Yijkl=1,否则为0。作者使用focal loss形式的逻辑回归损失构建CVA的损失函数,β是focal loss中的超参数。
使用cost volume来监督embedding网络学习的好处有两点:
因为CW和CH是由softmax函数计算得到,所以其中并不只是包含了位置(i,j)和前一帧位置(k,l ) 之间的相似度信息,还包含了(i, j) 和前一帧中其他点的相似度信息,所以当CW 和CH 向着1的方向进行优化时,可以使得目标不仅更加靠近前一帧中的自己,还能使得目标和其他目标以及背景之间的区别更大。也就是说,在学习reID embedding 过程中,这个损失函数不仅强调了类内差异,也强调了类间差异,能够和检测器的损失函数兼容,不再会干扰检测器的性能。
另一方面,跟踪偏移量是根据全局embedding的相似性来计算的,所以有助于检测大范围运动和低帧率下的跟踪目标。
2.3 MFW
说完了CVA模块,我们得到了运动线索,下一步就是使用这些运动线索来将前几帧的信息传播到当前帧,使得在当前帧进行的检测更加准确。
作者提出了一个基于运动指导的特征整理模块,分为两步。
2.3.1 Temporal Propagation
首先是temporal propagation,传递前几帧图像的特征。
因为整个模型的检测器是基于目标中心点的,所以作者想要对前一帧的基础特征图进行一个中心点注意力加强操作,将前一帧的基础特征图和其相应的中心点热力图进行按位相乘,得到前一帧图像的中心点注意力特征图。
然后将上一步算出的跟踪偏移矩阵Oc送入一个3x3的卷积γ后,得到OD,作为可变型卷积DCN要使用的偏移量;为了获得更多跟踪上的信息,作者也将f(t)-f(t-1)的残差特征作为γ的输入,和Oc一起卷积。
最后,偏移量和中心点注意力特征图送入可变性卷积网络中,得到传播特征,进行下一步的特征增强。
2.3.2Feature Enhancement
作者将当前帧的基础特征和传递过来的传播特征进行加权求和,得到增强特征。他融入了前几帧图像传递过来的运动信息,有助于对当前帧中模糊、被遮挡、运动偏移大的目标进行准确的检测追踪。权重w是自适应的,通过两层卷积和softmax函数预测得到。
2.4 Tracklet Generation
下面,将MFW模块输出的增强特征送入head network,进行目标检测,再和之前的轨迹进行关联,实现最终的追踪。
对于2维检测来说,head networks由一个3x3卷积、ReLU函数、1x1卷积组成,输出每个目标的检测框。
在得到检测结果之后,作者设计了一个两轮的数据关联,将目标检测框与之前的轨迹相连:
- 对于当前检测目标d,他的中心点为(i,j)
- 第一步,在上一帧中以(i,j)+Oci,j为圆心,Oci,j为(i,j)点在两帧图像之间运动偏移量,半径为r画圆作为候选区域,r是目标d检测框宽和高的均值,将目标d和圆中未匹配的最相近的检测目标进行关联。
- 如果在第一步中,目标d没有得到任何的匹配,来到第二步,计算目标d与所有未匹配到的以及历史中的轨迹的embedding之间的余弦相似度,如果最高的相似度高于阈值(文中设为0.3),则将其与最高得分的轨迹相连。
- 两轮匹配后,若新的检测依旧没有匹配到轨迹,则将其设为新开始的轨迹。
整个结构的总损失函数由CVA模块的损失函数和Centernet的检测损失组成,作者增加了Lmask分割损失,将检测拓展到分割上了;如果单独做跟踪检测的话,分割部分的网络和损失函数可以直接去掉。
这就是整个在线追踪器的具体流程。
3 Experiments
下面是实验部分,作者做了很多实验来验证性能。
3.1 Ablation Studies
首先是消融实验。
作者将CVA模块和常规的embedding网络进行对比,定量实验数据验证了,作者提出的基于cost volumn损失学习方式,与普通Re-ID跟踪损失相比,能够明显提高检测追踪的准确率和性能。
作者用热力图的方式可视化了cost volume图 和其计算过程:
亮度越亮,embedding的相似度越高。对于星星这个点,经过最大池化、模板相乘,得到了这个点在水平和垂直方向上的运动偏移,和真值相比非常接近。
下面是对两帧图像中运动偏移较大目标的偏移量计算,这个计算结果和真值也挺近的,表明了CVA模块在检测运动偏移上的鲁棒性。
对于MFW模块,作者做了两部分实验:
首先进行了是否采用运动偏移量Oc的对比实验,添加了偏移量之后的MOTA和IDF1指标均有所上升,验证MFW模块中可变性卷积DCN使用运动偏移的确能够传递前几帧的运动特征,有助于提高检测追踪的性能。
然后对比不同数量特征图对性能的影响,结果表明,结合前两帧图像的运动特征信息,能够在时间、准确率上达到最好的效果,在544x960这么大的图像上,实现57ms处理每帧图像,算是很快了。
再是Benchmark Evaluations:(这里暂时只看2D object tracking)
和其他近年来比较优秀的追踪算法比,在MOTA、IDF1指标上均比其他追踪器高,在FP、FN指标上也是,最终生成的轨迹的完整度也超过其他的追踪器。证明了采用跟踪的信息,是可以很大程度上提高检测的效果的。
这是在不同数据集上进行二维、三维、分割的追踪:
作者提供了一个视频,生动地展现了模型的追踪效果,B站链接:CVPR2021最新论文,TraDes:跟踪目标检测和分割:在线多对象跟踪器(代码开源)_哔哩哔哩_bilibili
4 Conclusion
This work presents a novel online joint detection and tracking model, TraDeS, focusing on exploiting tracking cues to help detection and in return benefit tracking.
The CVA learns a dedicatedly designed re-ID embedding and models object motions via a 4d cost volume.
The MFW takes the motions from CVA as the cues to propagate previous object features to enhance the current detection or segmentation.
TraDeS achieves state-of-the-art performance with an efficient inference time across 3 tasks including 2D object tracking, 3D object tracking, and instance segmentation tracking.
总结一下这篇文章的工作:
本文提出了一种新型的在线联合检测与跟踪模型TraDeS,主要利用跟踪线索来帮助检测并反馈给跟踪。
提出了两个模块,一个是CVA基于代价度量的关联模块,设计新的reID embedding学习模式,构建一个4维代价度量矩阵,学习图像中目标之间的运动偏移信息。
另一个MFW模块以CVA模块的运动为线索,传播前几帧图像的目标运动特征,增强当前的检测。
本文的在线追踪模型能够快速、高效地实现追踪,可以从2维拓展到3维和实例分割追踪上,性能达到最先进水平。
【论文】Track to Detect and Segment: An Online Multi-Object Tracker相关推荐
- Track to Detect and Segment: An Online Multi-Object Tracker
Track to Detect and Segment: An Online Multi-Object Tracker 论文和代码:https://jialianwu.com/projects/Tra ...
- 论文阅读笔记8——Track to Detect and Segment:An Online Multi-Object Tracker(TraDeS)
前言: 前段时间读了一些基于Transformer的方法,和它们一样,TraDeS同样也是端到端的方式,主要基于DCN和CenterNet,它最大的亮点是用跟踪结果来辅助检测,进而在困难场景下有更好的 ...
- 视频目标检测跟踪--Detect to Track and Track to Detect
Detect to Track and Track to Detect ICCV2017 https://github.com/feichtenhofer/detect-track 本文针对 ...
- 【论文翻译】FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
文章目录 PaperInfo Abstract 1 Introduction 2 Related Work 2D Object Detection Monocular 3D Object Detect ...
- 深度学习论文: An Energy and GPU-Computation Efficient Backbone Network for Object Detection及其PyTorch
An Energy and GPU-Computation Efficient Backbone Network for Real-Time Object Detection PDF:https:// ...
- 【论文阅读】Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud
最近在看3d目标检测的文章,感觉看完东西还是要记一下自己的想法,尤其是有思考的文章. 论文题目:Point-GNN: Graph Neural Network for 3D Object Detect ...
- DT(Detect to Track and Track to Detect)论文详读
abstract 近些年,视频目标分类与检测领域为了达到更高的准确率,不断融合各种复杂的处理方式,最终的网络结构也变得越来越复杂.本文提出一个名为ConvNet的结构,该结构比较简洁,且可以有效的进行 ...
- Detect to Track and Track to Detect
一作来自Graz University of Technology,论文发表在CVPR2017上面. tracklets:相邻若干帧的目标物体运动轨迹 摘要: 最近的准确率较高的视频目标检测和跟踪方法 ...
- [行为识别论文详解]TSN(Temporal Segment Networks)
摘要 本文旨在设计有效的卷积网络体系结构用于视频中的动作识别,并在有限的训练样本下进行模型学习.TSN基于two-stream方法构建. 论文主要贡献: 提出了TSN(Temporal Segment ...
最新文章
- 外挂学习之路(3)--- 内存遍历工具
- 帆软报表(finereport)点击事件对话框打开
- HttpClient Get/Post方式调用Http接口
- java发送http post请求报文_Java 用HTTP的方式发送JSON报文请求
- python中time模块的时间戳和格式化日期_Python中的time模块与datetime模块
- 函数03 - 零基础入门学习C语言34
- 【VB6 Gdi+进阶】序章
- 每日算法系列【LeetCode 907】子数组的最小值之和
- LabVIEW实现模糊PID控制
- linux 百度网盘 限速,哈哈,我终于找到解除百度网盘账号限速的方法了,可是........
- (Java实现) 工作分配问题
- 阿里云盘 网页版地址 阿里云盘pc版 阿里云盘下载
- 深入浅出PA和LNA
- 中标麒麟 NeoKylin 5.1 安装C++环境
- 机器学习——regression
- 首款国产8K 50P小型化广播级摄像机背后的故事
- 期刊卷号期号什么意思
- 2022年电工(初级)考试试题模拟考试平台操作
- Editplus扩展程序的删除
- 50兆 svg 文件超过_使用 SVGO 来减小 SVG 文件大小的三种方法