入坑也算有些日子了,一直在看论文并没有对目标跟踪的研究进展和算法有一个系统性的了解。是时候好好整理一下了,希望能对后面的研究有所帮助吧!内容中来自经典论文和博客部分,如有侵权请提醒删除。(小白一颗,不足之处希望各位大神驻足指正!!!万分感谢!!!)

1、背景

    目标跟踪算法研究难点与挑战:实际复杂的应用环境 、背景相似干扰、光照条件的变化、遮挡等外界因素以及目标姿态变化,外观变形,尺度变化、平面外旋转、平面内旋转、出视野、快速运动和运动模糊等。而且当目标跟踪算法投入实际应用时,不可避免的一个问题——实时性问题也是非常的重要。正是有了这些问题,才使得算法研究充满着难点和挑战。

2、目标跟踪

    目标跟踪的一般由4个基本部分构成:特征提取、运动模型、外观模型、在线更新机制。

     特征提取(Feature Extraction):适用于目标跟踪的特征一般要求,既能较好地描述跟踪目标又能快速计算。常见的图像特征有灰度特征、颜色特征、纹理特征、Haar-like 矩形特征、兴趣点特征、超像素特征等,当然也还有许多其他特征。 

 

    运动模型( Motion Model):运动模型旨在描述帧与帧目标运动状态之间的关系,显式或隐式地在视频帧中预测目标图像区域,并给出一组可能的候选区域.经典的运动模型有均值漂移(Mean shift)、滑动窗口(Slide window)、卡尔曼滤波( Kalman Filtering)、粒子滤波( Particle Filtering) 等.

    外观模型(Appearance Model):外观模型的作用是在当前帧中判决候选图像区域是被跟踪目标的可能性.提取图像区域的视觉特征,输入外观模型进行匹配或决策,最终确定被跟踪目标的空间位置.在视觉跟踪的4 个基本组成中,外观模型处于核心地位,如何设计一个鲁棒的外观模型是在线视觉跟踪算法的关键.

    在线更新机制(Online Update Mechanism):为了捕捉目标( 和背景) 在跟踪过程中的变化,目标跟踪需要包含一个在线更新机制,在跟踪过程中不断更新外观模型.常见的外观模型更新方式有模板更新、增量子空间学习算法及在线分类器等.如何设计一个合理的在线更新机制,既能捕捉目标( 和背景) 的变化又不会导致模型退化,也是目标跟踪研究的一个关键问题。

3、算法研究进展

    目标跟踪算法主要分为两类:

    生成式(generative)模型:通过在线学习方式建立目标模型,然后使用模型搜索重建误差最小的图像区域,完成目标定位。这一类方法没有考虑目标的背景信息,图像信息没有得到较好的应用。通俗点讲就是在当前帧对目标区域建模,下一帧寻找与模型最相似的区域就是预测位置,比较著名的有卡尔曼滤波,粒子滤波,mean-shift等。

    判别式(discrimination)模型:将目标跟踪看作是一个二元分类问题,同时提取目标和背景信息用来训练分类器,将目标从图像序列背景中分离出来,从而得到当前帧的目标位置。CV中的经典套路图像特征+机器学习, 当前帧以目标区域为正样本,背景区域为负样本,机器学习方法训练分类器,下一帧用训练好的分类器找最优区域:与生成类方法最大的区别是,分类器采用机器学习,训练中用到了背景信息,这样分类器就能专注区分前景和背景,所以判别类方法普遍都比生成类好。

以下是按年份记录的经典的跟踪算法:

2009

MIL    

    Boris Babenko,的论文(MIL)Robust Object Tracking with Online Muliple instance Learning多示例目标跟踪算法使用分类的方法对目标进行跟踪,核心思想就是在以前使用的分类器中把单个样本作为输入去训练,在这个算法当中,把一类的样本(正样本)和单个的负样本作为输入训练,保证能够学习到更多的目标的外观模型,能够更好的对目标进行分类。具体的介绍可以去看我的另一篇博客:

https://blog.csdn.net/zhu_hongji/article/details/79943559

2010

MOSSE

  David S. Bolme, J. Ross Beveridge, Bruce A. Draper, Yui Man Lui. “Visual Object Tracking using Adaptive Correlation Filters.” ICCV (2010). 

[paper][project]

    在很长一段时间以内,相关滤波((Correlation Filters. CF)被用来检测场景中特定的模式,它具有对于图像中感兴趣的特定模式响应很大,而对其他背景模式响应很小的特性。虽然这种特性可以被用来进行目标定位,但是需要大量的样本来训练,因此不适合在线目标跟踪。直到Bolme等提出最小输出均方误差(Minimum OutputSum of Squared Error MOSSE)滤波算法,相关滤波才真正意义上用于在线目标跟踪。MOSSE滤波基于一种自适应的训练方式,仅需要一帧图像就能产生稳定的相关滤波。该算法不仅展现了应对光照变化、尺度变化、姿态变化、非刚性变形等复杂场景的鲁棒性,计算效率也非常高,每秒处理速度可以达到几百帧。由于其鲁棒性及计算高效性,基于相关滤波的目标跟踪得到了研究领域的广泛关注。MOSSE滤波可以看成是一组线性分类器,因此基于它的跟踪算法整体性能可能受到限制,另外只能处理单通道的灰度信息,性能也有一定限制。

    

       这个处理速度也太快了吧,可以准确率上不去。

TLD

Z. Kalal, J. Matas, and K. Mikolajczyk. P-N Learning: Bootstrapping Binary Classifiers by Structural Constraints. [Paper][Project] 

      Kalal等提出一种新颖的跟踪一学习一检测(Tracking-Learning-Detection)的目标跟踪框架,尝试实现目标完全被遮挡或者目标离开视场等复杂场景下的长时间目标跟踪。该框架将长时间目标跟踪划分为三个子模块,即跟踪、学习和检测,跟踪模块基于光流实现目标在相邻图像帧的短期跟踪,检测模块通过一个级联检测器全局地定位所有己经观测到的外观,学习模块则通过“正、负专家”识别和纠正检测器误差,从而降低漂移误差。

                                        

2011

Struck

Struck: Structured Output Tracking with Kernels. Paper  ,Project 

 

    Sam Hare, Amir Saffari, Philip H. S. Torr等人于2011年发表在Computer Vision (ICCV)上的一篇文章。Struck与传统跟踪算法的不同之处在于:传统跟踪算法(下图右手边)将跟踪问题转化为一个分类问题,并通过在线学习技术更新目标模型。然而,为了达到更新的目的,通常需要将一些预估计的目标位置作为已知类别的训练样本,这些分类样本并不一定与实际目标一致,因此难以实现最佳的分类效果。而Struck算法(下图左手边)主要提出一种基于结构输出预测的自适应视觉目标跟踪的框架,通过明确引入输出空间满足跟踪功能,能够避免中间分类环节,直接输出跟踪结果。同时,为了保证实时性,该算法还引入了阈值机制,防止跟踪过程中支持向量的过增长。

 

                                     

2012

CSK

F. Henriques, R. Caseiro, P. Martins, and J. Batista. Exploiting the Circulant Structure of Tracking-by-Detection with Kernels.

[Paper][Project] 

    大体上,大部分运动跟踪都是通过查找两个相邻帧的相互关系,再确定目标对象的运动方向,无限迭代后,能完整地跟踪对象,CSK也是如此。在确定跟踪对象后,根据目标位置扣出该帧的目标窗和下一帧的目标窗,再对这两个窗进行FFT,转化后在频域图直接点乘。这个过程可简单理解为是求两个相连帧的频域共振位置,然后将共振频域图利用核函数进行核映射,再进行训练。 训练过程引入原始响应Y,Y可以理解为是对象的起始位置,因为起始位置都是第一帧的中心,所以能看到Y的图像是根据跟踪窗大小的建立的高斯函数。 
训练的目的则是要找出当前帧对应的α,其训练公式如下

                      

训练完毕后,根据下一帧的核映射,可检测出对应的响应图像yˆyˆ,检测公式如下:

                     

通过输入图片与目标区域,由下面公式得到核矩阵k。

                    

算法步骤:

                    

2013

很厉害的两个数据集:

         Wu Y, Lim J, Yang M H. Object tracking benchmark [J]. TPAMI, 2015.【Paper】 

        这两个数据库已经是现在做Tracking必须跑的两个数据集了,所以就把他们放在一块了;database的意义非常重大,直接促进了跟踪算法的发展,后来又扩展为OTB100发到TPAMI,有100个序列,难度更大更加权威。上面给出了数据库的链接。

下面是29跟踪算法提出时间和在上面数据库测试的性能:

而且这个数据集还把测试序列分成了9类,他们也代表着目标跟踪需要解决的问题:

2014

        在2014年又出现一个新的标准VOT【VOT】的问世,VOT选取了25个序列集,使用的标准和Benchmark有略微的差别,使用精度,鲁棒性,总的误差率,速度等。

 

Kristan M, Pflugfelder R, Leonardis A, et al. The visual object tracking vot2013 challenge results [C]// ICCV, 2013.Kristan M, Pflugfelder R, Leonardis A, et al. The Visual Object Tracking VOT2014 Challenge Results [C]// ECCV, 2014.Kristan M, Matas J, Leonardis A, et al. The visual object tracking vot2015 challenge results [C]// ICCV, 2015.Kristan M, Ales L, Jiri M, et al. The Visual Object Tracking VOT2016 Challenge Results [C]// ECCV, 2016.

        OTB和VOT区别:OTB包括25%的灰度序列,但VOT都是彩色序列,这也是造成很多颜色特征算法性能差异的原因;两个库的评价指标不一样,具体请参考论文;VOT库的序列分辨率普遍较高。对于一个tracker,如果论文在两个库(最好是OTB100和VOT2016)上都结果上佳,如果两个库都能调好,那肯定是非常优秀的,如果只跑了一个,个人更偏向于VOT2016,因为序列都是精细标注,且评价指标更好(人家毕竟是竞赛,评价指标发过TPAMI的),差别最大的地方,OTB有随机帧开始,或矩形框加随机干扰初始化去跑,作者说这样更加符合检测算法给的框框;而VOT是第一帧初始化去跑,每次跟踪失败(预测框和标注框不重叠)时,5帧之后重新初始化,VOT以short-term为主,且认为跟踪检测应该在一起不分离,detecter会多次初始化tracker。

 

这一年的Tracker主旋律变成了相关滤波(Correlation Filter):

KCF

 High-Speed Tracking with Kernelized Correlation Filters [J]. IEEE TPAMI, 2015.【Paper】【Project】 

 

    KCF是一种鉴别式追踪方法,这类方法一般都是在追踪过程中训练一个目标检测器,使用目标检测器去检测下一帧预测位置是否是目标,然后再使用新检测结果去更新训练集进而更新目标检测器。而在训练目标检测器时一般选取目标区域为正样本,目标的周围区域为负样本,当然越靠近目标的区域为正样本的可能性越大。

 

KCF的主要贡献

  • 使用目标周围区域的循环矩阵采集正负样本,利用脊回归训练目标检测器,并成功的利用循环矩阵在傅里叶空间可对角化的性质将矩阵的运算转化为向量的Hadamad积,即元素的点乘,大大降低了运算量,提高了运算速度,使算法满足实时性要求。

  • 将线性空间的脊回归通过核函数映射到非线性空间,在非线性空间通过求解一个对偶问题和某些常见的约束,同样的可以使用循环矩阵傅里叶空间对角化简化计算。

  • 给出了一种将多通道数据融入该算法的途径

SAMF

Li Y, Zhu J. A scale adaptive kernel correlation filter tracker with feature integration[C]// ECCV, 2014【Paper】【Project】 

算法步骤:

这篇文章是浙大Yang Li的工作,KCF问世不久之后出现的,基于KCF,第一次把HOG特征和CN特征进行结合使用的。同时使用了尺度池技术,多尺度方法是平移滤波器在多尺度缩放的图像块上进行目标检测,取响应最大的那个平移位置及所在尺度。

 

DSST

Martin Danelljan Accurate scale estimation for visual tracking【Paper】【Project】 

Martin Danelljan的DSST ,只用了HOG特征,DCF用于平移位置检测,又专门训练类似MOSSE的相关滤波器检测尺度变化,开创了平移滤波+尺度滤波,之后转TPAMI做了一系列加速的版本fDSST。在这篇论文里面将目标跟踪看成目标中心平移和目标尺度变化两个独立问题,首先用HOG特征的DCF训练平移相关滤波,负责检测目标中心平移,然后用HOG特征的MOSSE(注意区别,不加padding)训练另一个尺度相关滤波,负责检测目标尺度变化,(标配)步长1.02的33个尺度。 效果也是相当的好,是VOT2014的冠军,但是速度上并没有那么近人意,因为使用了33个尺度,速度自然就下了。

Danelljan M, Häger G, Khan F, et al. Accurate scale estimation for robust visual tracking [C]// BMVC, 2014.Danelljan M, Hager G, Khan F S, et al. Discriminative Scale Space Tracking [J]. IEEE TPAMI, 2017.

 

 VOT2014竞赛的前几名的性能:

2015

    VOT2015竞赛 VOT2015 Challenge | Home ,这一年有60个精挑细选的序列,62个tracker,最大看点是深度学习开始进击tracking领域,MDNet直接拿下当年的冠军,而结合深度特征的相关滤波方法DeepSRDCF是第二名,主要解决边界效应的SRDCF仅HOG特征排在第四:

 

MDNet

Learning Multi-Domain Convolutional Neural Networks for Visual Tracking【Paper】 

    一张图说完MDNet,这张图包含了MDNet 的核心思想,训练的时候,对每一个domain单独进行训练,同时更新共享层的参数,使得共享层的参数能够适应所有的数据集,之后保存共享层的参数,domain域也只保留下一个分支供跟踪使用,跟踪阶段,使用预训练的CNN网络对目标进行跟踪,找到目标的位置所在

 

SRDCF

M. Danelljan, G. Hager, F. S. Khan, and M. Felsberg. Learning spatially regularized correlation filters for visual tracking.

【Paper】【Project】

Martin Danelljan的SRDCF 主要思路:既然边界效应发生在边界附近,那就忽略所有移位样本的边界部分像素,或者说限制让边界附近滤波器系数接近0。SRDCF基于DCF,类SAMF多尺度,采用更大的检测区域(padding = 4),同时加入空域正则化,惩罚边界区域的滤波器系数,由于没有闭合解,采用高斯-塞德尔方法迭代优化。检测区域扩大(1.5->4),迭代优化(破坏了闭合解)导致SRDCF只有5FP,但效果非常好是2015年的baseline.


另一种方法是Hamed Kiani提出的MOSSE改进算法,基于灰度特征的CFLM Correlation Filters with Limited Boundaries 和基于HOG特征的BACF Learning Background-Aware Correlation Filters for Visual Tracking,主要思路是采用较大尺寸检测图像块和较小尺寸滤波器来提高真实样本的比例,或者说滤波器填充0以保持和检测图像一样大,同样没有闭合解,采用ADMM迭代优化:

  • Kiani Galoogahi H, Sim T, Lucey S. Correlation filters with limited boundaries [C]// CVPR, 2015.
  • Kiani Galoogahi H, Fagg A, Lucey S. Learning Background-Aware Correlation Filters for Visual Tracking [C]// ICCV, 2017.

DeepSRDCF

Martin Danelljan, Gustav Häger, Fahad Khan, Michael Felsberg. “Convolutional Features for Correlation Filter Based Visual Tracking. 

采用的是深度特征,在CPU上难以实现实时性。

CFLB

Kiani Galoogahi H, Sim T, Lucey S. Correlation filters with limited boundaries .【Paper】【Project】 
首先,使用更大的训练和检测图像块,同时给循环移位样本左乘一个0-1组成的掩膜矩阵P,以使真实训练样本的比例增加,优化目标函数:

MEEM

Robust Tracking via Multiple Experts using Entropy Minimization【Paper】【Project】 

RPT

Yang Li, Jianke Zhu and Steven C.H. Hoi. “Reliable Patch Trackers: Robust Visual Tracking by Exploiting Reliable Patches.”

【Paper】 【Project】 

HCF

Chao Ma, Jia-Bin Huang, Xiaokang Yang and Ming-Hsuan Yang. “Hierarchical Convolutional Features for Visual Tracking.” 

【Paper】【Project】 深度学习的重磅之作

其他一些深度学习的算法:

RATM: Samira Ebrahimi Kahou, Vincent Michalski, Roland Memisevic. “RATM: Recurrent Attentive Tracking Model.【Paper】

RAJSSC: Mengdan Zhang, Junliang Xing, Jin Gao, Xinchu Shi, Qiang Wang, Weiming Hu. “Joint Scale-Spatial Correlation Tracking with Adaptive Rotation Estimation【Paper】

SO-DLT: Naiyan Wang, Siyi Li, Abhinav Gupta, Dit-Yan Yeung. “Transferring Rich Feature Hierarchies for Robust Visual Tracking.” 【Paper】

15年,深度学习开始进军跟踪领域,使用深度学习可以更好的提取目标的特征,对目标进行更好的表达,但是深度学习的缺点就在于网络的训练和速度,即使如HCF等使用离线的训练,很难达到实时性的要求;另一个就是相关滤波领域还是一如既往的那么火,还是有前仆后继的人对这方面进行改进和提升,算法的最大的改进就是对边界效应的处理。

边界效应:(后补)

2016

    VOT2016竞赛【Index】深度学习已经雄霸天下了,8个纯CNN方法和6个结合深度特征的CF方法大都名列前茅,还有一片的CF方法。38个tracker,部分tracker代码和主页【下载地址】,其中 部分是下载链接,部分是源码压缩包,部分源码是二进制文件。

 

排名靠前的算法paper:

C-COT

Beyond Correlation Filters: Learning Continuous Convolution Operators for Visual Tracking【Paper】【Project】 

TCNN:

Hyeonseob Nam, Mooyeol Baek, Bohyung Han. “Modeling and Propagating CNNs in a Tree Structure for Visual Tracking.”【Paper】【Project】

Staple:

Luca Bertinetto, Jack Valmadre, Stuart Golodetz, Ondrej Miksik, Philip H.S. Torr. “Staple: Complementary Learners for Real-Time Tracking.”【Paper】【Project】 

SiameseFC:

Luca Bertinetto, Jack Valmadre, João F. Henriques, Andrea Vedaldi, Philip H.S. Torr. “Fully-Convolutional Siamese Networks for Object Tracking[Paper[Project 

GOTURN:

David Held, Sebastian Thrun, Silvio Savarese. “Learning to Track at 100 FPS with Deep Regression Networks. 

 

CF+AT:

 

Adel Bibi, Matthias Mueller, and Bernard Ghanem. “Target Response Adaptation for Correlation Filter Tracking.” 【Paper】 

HDT:

Yuankai Qi, Shengping Zhang, Lei Qin, Hongxun Yao, Qingming Huang, Jongwoo Lim, Ming-Hsuan Yang. “Hedged Deep Tracking[Paper[Project

CNT: Kaihua Zhang, Qingshan Liu, Yi Wu, Minghsuan Yang. “Robust Visual Tracking via Convolutional Networks Without Training.”【Paper】【Project】

2017

总共11篇,相关滤波7篇,其中1篇是oral,3篇用到卷积特征,相关滤波占了64%,(非卷积特征的)CNN相关4篇,可以看出目标跟踪现在最火的是相关滤波和深度学习。

论文

一篇oral相关滤波类:

  • CA+CF: Matthias Mueller, Neil Smith, Bernard Ghanem. "Context-Aware Correlation Filter Tracking." CVPR (2017 oral). [paper] [project] [code]

六篇相关滤波:

  • ECO: Martin Danelljan, Goutam Bhat, Fahad Shahbaz Khan, Michael Felsberg. "ECO: Efficient Convolution Operators for Tracking." CVPR (2017). [paper] [project] [github]

    • CSR-DCF:Alan Lukežič, Tomáš Vojíř, Luka Čehovin, Jiří Matas, Matej Kristan. "Discriminative Correlation Filter with Channel and Spatial Reliability." CVPR (2017). [paper]
    • LMCF: Mengmeng Wang, Yong Liu, Zeyi Huang. "Large Margin Object Tracking with Circulant Feature Maps." CVPR (2017). [paper] [zhihu]
    CFNet: Jack Valmadre, Luca Bertinetto, João F. Henriques, Andrea Vedaldi, Philip H. S. Torr. "End-to-end representation learning for Correlation Filter based tracking." CVPR (2017). [paper] [project] [github]

ACFN: Jongwon Choi, Hyung Jin Chang, Sangdoo Yun, Tobias Fischer, Yiannis Demiris, and Jin Young Choi. "Attentional Correlation Filter Network for Adaptive Visual Tracking." CVPR (2017). [paper] [project] [test code] [training code]

其他四篇:

  • RaF: Le Zhang, Jagannadan Varadarajan, Ponnuthurai Nagaratnam Suganthan, Narendra Ahuja and Pierre Moulin. "Robust Visual Tracking Using Oblique Random Forests." CVPR (2017). [paper] [project] [code]

  • ADNet: Sangdoo Yun, Jongwon Choi, Youngjoon Yoo, Kimin Yun, Jin Young Choi. "Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning ." CVPR (2017 Spotlight). [paper] [project]

  • BranchOut: Bohyung Han, Jack Sim, Hartwig Adam. "BranchOut: Regularization for Online Ensemble Tracking with Convolutional Neural Networks." CVPR (2017).

  • Donghun Yeo, Jeany Son, Bohyung Han, Joonhee Han. "Superpixel-based Tracking-by-Segmentation using Markov Chains." CVPR (2017).

  •  

     

     

     


    参考链接:https://www.zhihu.com/question/26493945/answer/156025576(来源:知乎)
Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐