system: [SYSTEM]

user: 3. 视觉跟踪发展及现状 Tian等2007年提出了一种在线SVM跟踪器，从关键的帧中获取样本来训练分类器，样本选取的好坏决定了该方法的性能。Zhang等提出CT (Compressive Tracking)跟踪算法，考虑到第一帧中样本不足，提出一种基于多尺度特征空间的特征提取方法，利用稀疏测量矩阵提取特征，建立一个健壮、稀疏的观测模型，速度得到了提升，但在性能上比TLD差。 2009年Boris Babenko发表了《Visual Tracking with Online Multiple Instance Learning》(MIL) [ 5 ] ，这篇多实例目标跟踪算法使用分类方法对目标进行跟踪，核心思想就是把一类的正样本和单个的负样本作为输入训练，保证能够学习到更多目标的外观模型，能够更好的对目标进行分类。该算法对光照和外观变化具有一定的鲁棒性，但对目标尺度变化和形变的处理效果不太好。 Bolme等人提出了MOSSE算法 [ 6 ] ，最早将相关滤波器引入到视觉跟踪，并于2010年在ICCV发表了《Visual Object Tracking using Adaptive Correlation Filters》。在跟踪应用中，使用样本图像训练滤波器建立目标外观模型，在第一帧中初选目标窗口并进行随机仿射变换，得到一组样本图像训练MOSSE滤波器，然后在后续帧中，将滤波器与搜索窗口进行相关操作，找到相关输出的最大值位置来表示目标的当前帧位置，以此实现跟踪，并基于新位置图像在线更新滤波器。相关滤波器最大的特点是可以利用快速傅里叶变换使得计算速度加快，使用MOSSE滤波器跟踪的速度可以达到数百帧每秒，且准确率比较高。文中只是最基本的应用，没有考虑一些复杂情况，且只使用了图像的亮度特征，后续许多方法在此基础上分别从提高计算速度、集成更有效多通道特征、尺度空间目标表示、利用上下文信息、处理遮挡等方面进行改进。 Zdenek Kalal等人2010年提出TLD (tracking-learning-detection)跟踪算法 [ 7 ] ，该算法是经典的长时跟踪算法。其跟踪模块采用基于前后向轨迹误差(FB-error)及NCC (normalized cross-correlation)相关性的中值光流法筛选特征点。检测模块由方差分类器、集合分类器(随机森林)和最近邻分类器三个部分级联构成，逐级筛选符合条件的扫描窗口。综合模块综合跟踪器跟踪到的单个目标和检测器检测到的多个可能目标，输出保守相似度最大的一个目标。学习模块是该算法的核心，作用是在跟踪的第一帧对目标模型初始化，并在后续过程中通过PN学习对当前帧中检测模块和跟踪模块的所有输出结果进行分析，找到目标出现可能性最大的区域来对目标模型进行不断更新。TLD提取的是基于LBP特征的2-bitBP特征描述目标，由于特征描述弱，其性能一般。 2011年Sam Hare等人提出Struck (Structured Output Tracking with Kernels) [ 8 ] 算法，该算法主要提出一种基于结构输出预测的自适应视觉目标跟踪的框架，通过明确引入输出空间满足跟踪功能，能够避免中间分类环节，直接输出跟踪结果。同时，为了保证实时性，该算法还引入了阈值机制，防止跟踪过程中支持向量的过增长。 2012年Henriques等人提出CSK算法(Exploiting the Circulant Structure of Tracking-by-Detection with Kernels) [ 9 ] ，又被称为核相关滤波算法，该算法采用循环位移的方法进行稠密采样，并且引入核函数映射，将低维线性不可分的模式映射到高维空间，提高相关滤波器的性能。但是该方法只采用了目标的原始灰度特征，对目标的描述不足。 2013年突出的贡献的是吴毅老师的OTB (Online object tracking: A benchmark) [ 10 ] ，影响力极大，成为之后研究跟踪算法必须运行的数据库。 2014年CSK的原作者在该算法的基础上进行改进，提出KCF (High-speed tracking with kernelized correlation filters)跟踪算法。该算法使用目标周围区域的循环矩阵采集正负样本，利用脊回归训练目标检测器，并成功利用循环矩阵在傅里叶空间可对角化的性质将矩阵的运算转化为元素的点乘，降低了运算量，提高了运算速度，满足实时性要求。算法把原始单通道灰度特征替换成多通道HOG特征，把特征扩展到了多通道非线性特征空间，在保持了CSK的速度优势上利用HOG对特征描述的优势，使得算法鲁棒性更强 [ 11 ] 。但由于其依赖循环矩阵，对多尺度的目标跟踪效果不理想，且由于HOG特征描述的是形状信息，对快速变形不鲁棒。 来自浙大的SAMF (A scale adaptive kernel correlation filter tracker with feature integration) [ 12 ] ，第一次把HOG特征和CN特征结合使用，同时使用了尺度池技术对目标进行尺度变化的检测跟踪，找到目标的最佳尺度。效果好于KCF，速度差于KCF。 Danelljan等人提出DSST (Discriminative Scale Space Tracking) [ 13 ] ，文中将目标跟踪看成目标中心平移和目标尺度变化两个独立问题，首先用HOG特征的DCF训练平移相关滤波，负责检测目标中心平移，然后用HOG特征的MOSSE训练另一个尺度相关滤波，负责检测目标尺度变化。该算法效果很好，但速度不尽人意。 Zhang等人在MOSSE和CSK方法的启发下提出STC (Spatio-Temporal Context)算法 [ 14 ] ，该算法通过贝叶斯框架对目标和其局部上下文区域的时空关系进行建模，得到目标和其周围区域低级特征的统计相关性，然后综合这一时空关系和生物视觉系统上的focus of attention特性来评估新一帧中目标出现位置的置信图，置信最大的位置就是新一帧目标位置。该算法在摄像机静止状态下表现良好。 2014年算法的大部分改进还是建立在KCF和DCF的基础上进行的，最大的改进主要是对跟踪过程当中尺度变化的改进，增加了算法对尺度变化序列的鲁棒性。 王乃岩博士的作品DLT (Learning a Deep Compact Image Representation for Visual Tracking) [ 15 ] 是第一个将深度网络运用于单目标跟踪的跟踪算法，首先提出了“离线预训练+在线微调”的思路，很大程度的解决了跟踪中训练样本不足的问题。但SDAE (栈式降噪自编码器stacked denoising autoencoder)全连接的网络结构使其对目标的特征刻画能力不够优秀，虽然使用了4层的深度模型，但效果仍低于一些使用人工特征的传统跟踪方法如Struck等 [ 16 ] 。2015年王乃岩等在DLT的基础上，提出一种新的跟踪算法SO-DLT (Transferring Rich Feature Hierarchies for Robust Visual Tracking)。该方法延续了DLT利用非跟踪数据预训练加在线微调的策略，来解决跟踪过程中训练数据不足的问题，同时也对DLT存在的问题做了很大的改进：使用CNN作为获取特征和分类的网络模型；在离线训练中使用ImageNet 2014的detection数据集使CNN获得区分目标和背景的能力。该方法性能远超当时其他跟踪算法。 Yang等人提出HCF (Hierarchical Convolutional Features for Visual Tracking) [ 17 ] ，该算法的基本跟踪框架是KCF，把原有论文当中所使用的HOG特征替换为深度卷积特征，该论文使用训练好的VGG-19当中的conv3-4、conv4-4、conv5-4的输出，而不是使用最后全卷积层的输出作为特征提取层，从三个层当中提取的特征分别经过相关滤波器学习得到不同的模板，然后对所得到的三个置信图进行加权融合得到最终的目标位置。作者发现低层特征有较高的分辨率能够对目标进行精准的定位，高层特征包含更多的语义信息，能够处理较大的目标变化和防止跟踪器漂移，能够对目标进行范围定位。HCF的不足是当目标被长时间遮挡的时，跟踪失败；背景颜色与目标颜色相似时，在高层特征中进行粗定位的时候跟踪器发生漂移，导致跟踪失败。 Danelljan等人对DCF进行改进提出了SRDCF (Learning spatially regularized correlation filters for visual tracking) [ 18 ] ，采用更大的检测区域，同时加入了空域正则化，惩罚边界的滤波器系数，目的是减小边界效应。将特征换为深度特征即为DeepSRDCF [ 19 ] ，该文章对不同特征进行试验，结果证明CNN特征在解决跟踪问题采取底层的特征效果会比较好。 韩国的POSTECH团队提出了MDNet (Learning Multi-Domain Convolutional Neural Networks for Visual Tracking) [ 20 ] ，该算法提出直接用跟踪视频预训练CNN获得general的目标表示能力的方法。MDNet的核心在于提出了Multi-Domain Network，多域学习的网络结构。该算法精度和鲁棒性都很好，除了完全被遮挡时会有跟踪失败的情况。 2015年的主要工作是第一，深度学习开始进入跟踪领域，使用深度学习可以更好的提取目标的特征，对目标进行更好的表达，但是深度学习的缺点在于网络的训练和速度，很难达到实时应用；第二，相关滤波领域依然占据主流地位，仍然有大量学者对相关滤波方面进行改进和提升，这一年最大的改进就是对边界造成的影响做处理。 Danelljan等人在2016年对相关滤波做了改进，提出C-COT(Continuous Convolution Operators for Visual Tracking) [ 21 ] ，该算法的核心思想是在每一帧到来的时候，把所需图片输入到已经训练好的网络中，从中间抽取出需要的层的特征，然后使用从不同层训练得到的滤波模版进行运算，得到不同的置信图，对所有的置信图进行加权求和得到最终的置信图，置信图中最大值所在的位置即为目标所在的位置。该论文主要的贡献是提出一个使用连续空间域的卷积操作的理论框架。该算法没有深度特征表示用于视频数据，作者下一步研究方向是将基于运动的深度特征结合到框架中。 Hyeonseob Nam等人提出TCNN (Modeling and Propagating CNNs in a Tree Structure for Visual Tracking) [ 22 ] ，在2016年的VOT竞赛中获得冠军，该算法的核心在于使用了树状CNN结构，跟踪的每个阶段都训练出新的CNN，即每个CNN学习到的特征是目标在不同阶段的特征，最后结果由多个CNN加权求和得到。因为之前的信息也能被CNN捕获，并且对最终结果有一定权重，所以可以减少模型飘移。 Torr等人提出了Staple (Complementary Learners for Real-Time Tracking) [ 23 ] ，该算法核心在于集合了HOG特征和颜色直方图，两种方法优势互补使得效果更加鲁棒。 同年还有Siamese FC (类似模版匹配) [ 24 ] 、基于深度学习的GOTURN、CF + AT (解决跟踪中快速运动和遮挡等问题引起的漂移)、HDT和CNT等算法的提出。这一年的跟踪算法逐渐被深度学习覆盖，相关滤波的改进也取得不错的效果。深度学习使得精度提高，但损失了速度，是实时应用的障碍所在。Siamese给出了一个解决的办法，但是Siamese对于变化过快的物体无法跟踪到。 随着特征维度越来越高，算法越来越复杂，跟踪效果在逐步提升，但跟踪速度在下降，导致速度降低的主要因素有：特征的复杂度、训练集大小、模型更新。Martin Danelljan针对以上问题的改进，提出了ECO (Efficient Convolution Operators for Tracking) [ 25 ] 。该算法效果较好的原因在于：特征全面，包含CNN、HOG、CN；在特征提取上做了降维简化，相关滤波器经过筛选更具代表性，防止过拟合；采用高斯混合模型(GMM)生成不同组合，每个组合对应一组相似样本，不同组合间差异较大，简化训练集的同时增加了多样性；降低模型更新帧率，节约时间且避免模型漂移。