文章目录


目标跟踪的位置

目标跟踪(Object Track)综述_目标检测

如果把计算机视觉分为四类基本问题,目标跟踪可以看作目标检测的一个延申。目前目标检测还有一些未解决的问题,是一个值得研究的方向

早期普遍利用人工设计的特征描述符(如SIFT、SURF)训练若干分类器,并利用Boosting集成模型

目标检测发展历程

按照时间线,发展历程如下:

目标跟踪(Object Track)综述_数据集_02

以2012年的AlexNet为分界,其后深度学习的方法开始大行其道。注意AlexNet本身是用来做分类的,但是也可以用于目标跟踪

一个简单的分类

目标跟踪可以笼统分类为单目标检测(SOT)和多目标检测(MOT)

SOT中近来火热的方法是以Siamese为基础的一系列方法(SiameseFC、SiameseRPN、SiameseRPN++、SiameseMask)

MOT中近来火热的方法有比如SORT、DeepSORT(SORT与DeepSORT的检测与特征提取是分开的,又称为SDE:Separate Detection and Embedding)、JDE(并非某一个模型,而是说检测与特征提取在一起Jointly learns the Detector and Embedding model,但是值得注意的是,JDE​只是​同时输出了检测框和embedding信息。后面还是要通过​卡尔曼滤波​和​匈牙利算法​进行目标的匹配。总的来说,还是分为检测和匹配双阶段)、CentorTrack。其中CentorTrack是anchor-free的

让我们复习一下目标检测的分类法: 按照阶段可以分为一/二阶段,按照是否有anchor可以分为anchor-based与anchor-free

目标跟踪(Object Track)综述_数据集_03

多目标跟踪

多目标检测是比较有用的,目前的研究也已多目标检测为主

1. 基于Tracking-by-detection的MOT(SDE)

这是最自然的想法,先检测出目标,再根据帧序列之间的相关性来进行跟

目标跟踪(Object Track)综述_数据集_04

目标跟踪(Object Track)综述_目标检测_05

根据如下五分步骤得到运动轨迹:

(1)给定视频的原始帧;

(2)运行对象​检测器​以获得对象的边界框;(检测Detection)

(3)对于每个检测到的物体,​计算出不同的特征​,通常是视觉和运动特征;(FeatureExtraction、MotionPrediction)

(4)之后,​相似度计算步骤​计算两个对象属于同一目标的概率;(AffinityComputation)

(5)最后,​关联步骤​为每个对象分配数字ID。(DataAssociation)

代表方法:SORT、DeepSORT

2. 基于检测和跟踪联合的MOT(JDE)

代表方法:JDE、FairMOT、CenterTrack、ChainedTracker等

3. MOT三种框架——基于注意力机制的MOT()

代表方法:TransTrack、TrackFormer等

评价指标与数据集

目标跟踪(Object Track)综述_目标跟踪_06


  1. Classical metrics: 一些经典指标,现在没人用了
  2. 06年提出的CLEAR MOT。现在用的​最多​的就是​MOTA​。但是这个指标FN、FP的权重占比很大,更多衡量的是​检测的质量​,而不是​跟踪的效果​。
  3. 第三个是16年提出的ID scores。因为都是基于匹配的指标,所以能更好的衡量​数据关联​的好坏。


目标跟踪(Object Track)综述_目标检测_07


数据集:

  1. 数据集用的最多的是​MOTChallenge​,专注于行人追踪的。

  2. KITTI的是针对自动驾驶的数据集,有汽车也有行人,在MOT的论文里用的很少。

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

15年的都是采集的老的数据集的视频做的修正。

16年的是全新的数据集,相比于15年的行人密度更高、难度更大。特别注意这个​DPM检测器​,效果非常的差,全是漏检和误检。

17年的视频和16年一模一样,只是提供了​三个检测器​,相对来说更公平。也是现在论文的​主流数据集​。

19年的是针对特别拥挤情形的数据集,只有CVPR19比赛时才能提交。

作者:Harlek

著作权归作者所有。商业载请联系作者获得授权,非商业转载请注明出处


一些典型方法

P-N Learing(【CVPR 2010】)

//TODO

SiamFC(【ECCV 2016】Fully-Convolutional Siamese Networks for Object Tracking)

SiamFC是一种单目标跟踪方法


基于Siamese网络的目标跟踪算法,始于SiamFC。SiamFC在VOT15上超过了SRDCF,VOT2016,基于ResNet的SiamFC-R第12,基于AlexNet的SiamFC-A第21;VOT2017,公测第22,速度测试的冠军。


SiamFC网络的backbone是SiameseNetwork(孪生网络)

所谓SiameseNetwork,是一种共享权值的网络,是一种结构,而不是某种具体的网络​,如Network1与Network2,可以是RNN也可以是CNN:

目标跟踪(Object Track)综述_目标跟踪_08

其中Network1与Network2相同,并且共享权值。其作用一般是用来衡量输入1(Input 1)与输入2(Input 2)的相似度。

另外也有伪孪生网络,两个网络不共享权值甚至可以不同

目标跟踪(Object Track)综述_数据集_09

SiamFC 主要学习相似度函数,用于目标匹配。 也就是说其​主要思想是利用孪生网络对相似性的学习来进行目标跟踪

孪生网络​分别输入初始帧模板以及当前帧的搜索区域​,分别使用相同的全卷积网络提取特征,再用相关操作进行模板匹配,生成响应图。响应图中最大值 的位置即是目标在搜索区域内的相应位置。网络​训练时​,SiamFC 采用 ImageNet VID 的视频数据,选取视频中相隔不远的两帧输入网络进行​相似度函数学习​;​跟踪时​,训练好的网络无需调整,目标模板也无需更新,从而实现实时跟踪。

CREST

典型的端到端(One-Shot方法) https://cxybb.com/article/shenziheng1/80358610

//TODO

多目标关节检测

KE

//TODO

SIE

//TODO

FairMOT(【OJCV 2021】)

//TODO

ByteTrack(【CVPR 2022】Multi-Object Tracking by Associating Every Detection Box)

ByteTrack是目前多目标检测(MOT)的SOTA

//TODO

参考文献