MOT榜前算法探讨

    复工了,久违了。

    目标跟踪一直是计算机视觉里无法回避的课题,无论是单目标跟踪SOT还是今天要讨论的多目标跟踪MOT,是视频理解里的重要组成部分。其任务一般包括单目标跟踪(SOT,Single Object Tracking),多目标跟踪(MOT,Multi-Object Tracking),视频目标分割(VOS,Video Object Segmentation)等。今天我们主要讨论下多目标跟踪MOT相关论文框架和代码资源列表,单目标跟踪,相对简单点,本来也打算专门开一个版本介绍,没办法复工后有点懒了,后面再看吧,飙泪笑...

现状

    当前的多目标跟踪算法主流是基于检测的框架,即Detection based Tracking(DBT),所以检测的质量对于跟踪的性能影响是很大的。那么在MOT Challenge上也分别设置了两种赛道,一种是采用官方提供的几种公共检测器的结果,即public赛道,一种是允许参赛者使用自己的检测器,即private赛道。

任务介绍

数学上来看,可以定义如下:    

 

多目标跟踪问题最早出现在雷达信号中目标运动轨迹的跟踪,如同时跟踪飞过来的多架敌人的飞机和多枚导弹。这些算法后来被借鉴用于机器视觉领域的多目标跟踪任务,随着计算机视觉领域的深入研究,近年来研究者对多目标跟踪算法从不同的方面进行了扩展。比如通过扩展单目标跟踪算法来支持多目标的情况,更多的工作从整个视频场景出发,对所有的目标轨迹做了统一的考虑。根据不同的分类标准,多目标跟踪算法有不同的分类方法。比如按照预测校正的跟踪和按照关联方式的跟踪,按照离线方式的关联跟踪和按照在线方式的跟踪,按照确定性推导的跟踪算法和按照概率统计最大化的跟踪等。

按照轨迹形成的时间顺序,多目标跟踪可以分为在线方式的跟踪算法以及离线形式的跟踪过程。如果跟踪的顺序是逐帧方式的:即为在线方式的目标跟踪方法。在线多目标跟踪与人眼实时跟踪目标过程类似,是对每个目标的状态进行估计,然后考虑整体状态的合理性进行约束。这个过程也可以简化为:获得每帧图像检测结果,把检测结果同已有的跟踪轨迹进行关联。如果跟踪算法运行是在视频已经获取结束,所有检测结果都已经提前获取情况下,这种跟踪方法为离线形式的多目标跟踪。离线多目标跟踪算法把检测结果集合作为观察,把轨迹看作检测集合的一种划分,因此跟踪问题转化为子集优化的过程。

 

相关任务:

preview

 

更多介绍参见我的这篇文章。

算法探讨

1.Tracking without bells and whistles(Tracktor++)

作者:Philipp Bergmann,Tim Meinhardt,Laura Leal-Taixe 备注信息:ICCV2019,MOT15~17: 46.6, 56.2. 56.3 MOTA(public) 论文链接: https://arxiv.org/pdf/1903.05625.pdf 代码链接: https://github.com/phil-bergmann/tracking_wo_bnw

Tracktor++算法是去年出现的一类全新的联合检测和跟踪的框架,这类框架与MOTDT框架最大的不同在于,检测部分不仅仅用于前景和背景的进一步分类,还利用回归对目标进行了进一步修正,因此关于这类框架属于public还是private得争论也存在,这里我们就不做过多的讨论了。

只要熟悉两阶段目标检测算法的应该都能理解这个算法,其核心在于利用跟踪框和观测框代替原有的RPN模块,从而得到真正的观测框,最后利用数据关联实现跟踪框和观测框的匹配。流程图如下:

 

有了检测模块的加持,自然对于检测质量进行了增强,所以效果也得到了大幅提升:

可以看到,DPM、FRCNN和SDP三种检测器输入下的性能差距不大,然而DPM检测器的性能是很差的,所以Tracktor++这类算法对于平衡检测输入的效果提升很大。

 

2.Multiple Object Tracking by Flowing and Fusing(FFT)

作者:Jimuyang Zhang, Sanping Zhou, Xin Chang, Fangbin Wan, Jinjun Wang, Yang Wu, Dong Huang 备注信息:MOT15~17: 46.3, 56.5. 56.5 MOTA(public) 论文链接: https://arxiv.org/abs/2001.11180

这篇文章也是基于Tracktor++的模式,做了很直接的一步操作,即直接增加一个光流预测分支,将Tracktor++中的跟踪框+观测框变成了光流预测框+观测框。注:在MOT17等数据集上表现SOTA!优于Tracktor、LSSTO和FAMNet等网络

 

好处在于光流网络和Faster RCNN可以联合训练,在训练的时候RPN保留,不过从论文来看光流部分好像是固定权重的,其效果相对来说的确更好了:

 

3.Tracking Objects as Points(CenterTrack)

作者:Xingyi Zhou( CenterNet的作者), Vladlen Koltun, and Philipp Krähenbühl 备注信息:同时实现了2D/3D多目标跟踪,包含人和车辆,MOT17:61.4(public)、67.3(private) MOTA, 22FPS!!! KITTI:89.4MOTA 论文链接: http://arxiv.org/abs/2004.01177 代码链接: https://github.com/xingyizhou/CenterTrack

CenterTrack是CenterNet作者基于Tracktor++这类跟踪机制,通过将Faster RCNN换成CenterNet实现的一种多目标跟踪框架,因此跟踪框也就变成了跟踪中心点。

通过上图我们可以大致分析出算法框架,除了对相邻两帧利用CenterNet进行检测之外,还利用了D&T框架的策略,预测同时存在于两帧中目标的相对位移,由此进行跟踪预测。对于提供的观测框,作者通过将这些观测框的中心点映射到一张单通道的heatmap上,然后利用高斯模糊的方式将点的附近区域也考虑进去。

因此CenterTrack相对于CenterNet的不同之处在于,输入维度增加了(两幅3维图像和一张观测位置heatmap),输出变成了两张图像的目标中心位置、大小和相对偏移。

对于测试环节的数据关联部分,作者直接通过中心点的距离来判断是否匹配,是一种贪婪的方式,并非匈牙利算法那种全局的数据关联优化。在训练过程中,作者并非只用相邻帧进行训练,允许跨3帧。

CenterTrack在MOT、KITTI和nuScenes等数据集上的2D/3D多行人/车辆跟踪任务上均取得了SOTA的成绩。

 

4.Towards Real-Time Multi-Object Tracking(JDE)

作者:Zhongdao Wang,Liang Zheng,Yixuan Liu,Shengjin Wang 备注信息:MOT16 74.8 MOTA(private), 22FPS!! 论文链接: https://arxiv.org/pdf/1909.12605v1.pdf 代码链接: https://github.com/Zhongdao/Towards-Realtime-MOT

JDE这篇跟这次的主题不是很相符,但是考虑到这也是近期比较热门的实时多目标跟踪算法,我们也一起讲。它的框架出发点是为了增加特征的复用性,基于检测算法(作者采用的是YOLOv3),在原本的分类和回归分支上增加了一个表观特征提取的分支。

文中作者重点介绍了多任务网络框架的训练方式,首先分析了三种Loss:

对于triplet loss,这个在表观模型的metric learning任务中很常见,作者采用了batch hard模式,并提出了triplet loss的上界,推导很简单,关键在于多的那个1。为了更好地跟交叉熵损失函数进行比较,作者将上界进行了平滑。那么区别就在于g,g表示的正负样本的权重。在交叉熵损失函数中,所有的负样本都会参与计算,然而在triplet loss中,负样本是采样出来的,所以:

作者通过实验也论证了上面的结论,所以在metric learning中作者采用了交叉熵损失函数。最后关于各个任务的损失函数的权重,作者提出了一种自适应平衡的加权方式:

其中的s是一种度量不同任务下个体损失的不确定性因子,详细的原理可参见CVPR2018的《 Multi-task learning using uncertainty to weigh losses for scene geometry and semantics》关于方差不确定性对于多任务权重的影响分析。

速度和效果俱佳:

5.A Simple Baseline for Multi-Object Tracking
作者团队:华科&微软亚研院
备注:MOT15~20(private):59.0、68.7、67.5、58.7 MOTA 速度30fps
代码链接:https://github.com/ifzhang/FairMOT

近期又开源了一篇MOT的新SOTA,也是实时的,也是CenterNet为底层的(CenterTrack刚开源了)。

这篇论文的立意是两部分,一个是类似于CenterTrack的基于CenterNet的联合检测和跟踪的框架,一个是类似于JDE,但是却又不同的,探讨了检测框架与ReID特征任务的集成问题。

作者称这类框架为one-shot MOT框架,论文一开始作者讨论了检测框架和ReID任务的关系:

作者的意思是anchor-based的检测框架中存在anchor和特征的不对齐问题,所以这方面不如anchor-free框架。作者因为这个问题而选择了anchor-free算法——CenterNet,不过其用法并不是类似于CenterTrack[2]中采取的类似于D&T的孪生联合方式,而是采用的Tracktor++的方式。

我们知道原始的anchor-free框架的大多数backbone都是采用了骨骼关键点中的hourglass结构:

 

谈到了Re-ID网络中典型的多尺度问题,所以就提出要将hourglass结构改成上图中的多尺度融合的形式。最后通过两个分支完成了检测和Re-ID任务的集成,那么接下来的部分就是如何训练。

在训练部分呢,同样地,考虑到正负样本不均衡问题,作者采用了focal loss的形式:

其中M(x,y)表示的是heatmap在(x,y)处存在目标的概率,而对于box size和offset则采用L1 loss:

最后对于Re-ID分支而言,作者采用了identification式的分类框架,这里面的L就是不同的ID的one-hot表示,p就是网络预测的分类置信度。

在实验部分,作者先是通过实验证明anchor-free的框架比anchor-based框架更适合reid:

 

紧接着论证了多尺度融合框架对于Re-ID的影响:

结果: 

private赛道:

020-7-24更新:可能有人会对这里的embedding映射到分类的做法,提出一些质疑,当在后续帧中出现大量新的人的时候,FairMot能给这些新的人赋予一正确的新id吗?作者在解决这个问题的时候,在训练的时候采用的是分类loss,测试阶段采取用cos距离做判断。并且,当reid不可靠的时候,就用bbox IOU来匹配。具体地,对 reid embedding没匹配上bbox,用IOU得到前一帧中可能的追踪框,计算他们之间的相似度矩阵,最后用匈牙利算法得到最后的结果

 

 

资源

数据集

MOT:包含2D MOT2015、3D MOT2015、MOT16、MOT17和MOT17Det等多个子数据集,提供了ACF、DPM、Faster RCNN、SDP等多个检测器输入。包含不同的相机视角、相机运动、场景和时间变化以及密集场景。

KITTI:提供了汽车和行人的标注,场景较稀疏。

TUD Stadtmitte:包含3D人体姿态识别、多视角行人检测和朝向检测、以及行人跟踪的标注,相机视角很低,数据集不大。

ETHZ:由手机拍摄的多人跟踪数据集,包含三个场景。

EPFL:多摄像头采集的行人检测和跟踪数据集,每隔摄像头离地2米,实验人员就是一个实验室的,分为实验室、校园、平台、通道、篮球场这5个场景,每个场景下都有多个摄像头,每个摄像头拍摄2分钟左右。

KIT AIS:空中拍摄的,只有行人的头

PETS:比较早期的视频,有各式各样的行人运动。

DukeMTMC:多摄像头多行人跟踪。

MOTS:多目标跟踪与分割。

评价体系

ClearMOT

IDF1

Code: pythonmatlab

Top 算法

Tracking Objects as Points | [pdf][code] | arXiv(2019) | CenterTrack

Refinements in Motion and Appearance for Online Multi-Object Tracking| [pdf][code] |arXiv(2019) | MIFT

Multiple Object Tracking by Flowing and Fusing |[pdf] |arXiv(2019) |FFT

A Unified Object Motion and Affinity Model for Online Multi-Object Tracking |[pdf][code]|CVPR2020 |UMA

Towards Real-Time Multi-Object Tracking | [pdf][code] | arXiv(2019) | JDE(private)

A Simple Baseline for Multi-Object Tracking | 【pdf】| [code] arXiv(2020) | FairMOT(public&private)

 

综述

Multiple Object Tracking: A Literature Review

Machine Learning Methods for Solving Assignment Problems in Multi-Target Tracking

Deep Learning in Video Multi-Object Tracking_ A Survey

Globally-Optimal Greedy Algorithms for Tracking a Variable Number of Objects

 

工具

DarkLabel: 可构建目标检测、目标跟踪、ReID数据集的标注软件

 

CVPR 2020 AI城市挑战赛4大赛道(车辆计数、车辆重识别、车辆跟踪、交通异常检测)优胜团队代码官方汇总!

NVIDIAAICITYCHALLENGE/2020AICITY_Code_From_Top_Teams

 

参考文献:

1.https://zhuanlan.zhihu.com/p/126558285

2.https://zhuanlan.zhihu.com/p/125395219

3.https://zhuanlan.zhihu.com/p/107908399

4.https://zhuanlan.zhihu.com/p/109181757

5.https://zhuanlan.zhihu.com/p/108670114

6.https://zhuanlan.zhihu.com/p/97449724

 

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值