智库 KNOWLEDGE

视觉跟踪(Visual Tracking)

发布时间:2016-11-05 03:15:11

来源: 本站

视觉跟踪在过去的20年中发展迅速,有许多成功的应用,但在实际场景中的视觉追踪还是有一定难度的,因为要处理光照变化(illumination changes)、遮挡(occlusion)、杂乱场景(clutter)、相机的运动(camera motion)、低对比度(low contrast)、反光(specularities)等各种问题。下面我们介绍一下主流的方法:

一. 通过匹配跟踪(tracking using matching)
1、归一化互相关(normalized cross-correlation)
用一个矩形框把目标框住,并取框内所有像素的亮度值作为一个模板,在之后的视频帧中在该目标周围移动框计算互相关,值最大的认为是新一帧中的目标;
2、Lucas-Kanade跟踪器(Lucas-Kanade tracker)
和上一个方法类似,用前一帧目标附近的移动窗在新一帧中寻找,但它能找到仿射变换的匹配(affine-transformed match),对旋转、平移和缩放具有鲁棒性;
卡尔曼外观跟踪器(Kalman appearance tracker)
可以处理遮挡问题,目标区域被分成一堆20x20亮度信息的模板,每一个小模板都有一个独立对应的卡尔曼滤波器,然后在接下来的视频帧中,在大致的目标物体附近以20x20窗口扫描,把差异较大的异常值(outliers)去掉,剩下的作为新的目标,然后更新模板;
3、基于片段的鲁棒跟踪(fragments-based robust tracking)
可以处理遮挡和姿态变化问题,用一些小块片段来追踪物体变化,在新一帧中目标周围均匀设置窗口,并缩放各10%,每个窗口也由20个小块片段组成,计算直方图并和模板比较,取差异较小的窗口作为新的目标,本方法不更新模板;
4、均值偏移跟踪(mean shift tracking)
用匹配直方图来代替其他匹配像素空间信息的方法,使得可以应对目标剧烈的形状变化。本方法用RGB直方图来表示目标,然后通过度量备选移动窗口的RGB直方图和模板RGB直方图的Bhattacharyya距离,取最大值即找到新帧中的目标,整个跟踪过程不进行模板更新;
5、局部无序跟踪(locally orderless tracking)
选择目标后,目标窗口被分割成超像素(super pixels),每个超像素的值是该小区域的HSV值的平均,用带有高斯权重的粒子滤波对目标采样,每个粒子对应超像素图像中的一个候选窗(candidate window),新的目标状态(target state)是所有窗口似然权重的和,然后更新模板;
二. 带扩展外观模型通过匹配跟踪(tracking using matching with extended appearance model)
1、增量式视觉跟踪(incremental visual tracking)
通过运动模型的粒子滤波对候选窗口选择,获得的结果是原始目标位置附近的高斯分布,然后通过和模板比较获得距离值,取值最小的作为新帧中的目标位置;
2、仿射组跟踪(tracking on the affine group)
把传统的运动类型(motion type)比如平移、旋转、缩放等,扩展成一个二维的仿射矩阵组(affine matrix group),本算法会对目标所有可能的变换都通过高斯模型来采样;
3、通过尝试不同跟踪器来跟踪(tracking by sampling trackers)
真实世界的环境随着时间会发生非常大的变化,所以需要跟踪器来适应不同的环境条件,因此本方法通过尝试多种不同的跟踪器来跟踪目标,每个跟踪器由4部分组成:外观模型、运动模型、状态表示和观测模型,每个模型又有自己的组件。目标的状态存储中心位置、缩放和空间信息,运动模型由多个高斯分布组成,观测模型由亮度特征的高斯滤波构成。在新帧中,只有最佳的目标状态才会被选中;
三. 通过带约束的匹配 跟踪(tracking using matching with constraints)
1、蒙特卡洛采样跟踪(tracking by Monte Carlo sampling)
先获取图像边特征(edge features)和颜色直方图(color histograms),然后通过采样来建模,通过最大化后验估计来获取新帧中的目标位置;
2、自适应双层跟踪(adaptive coupled-layer tracking)
通过维护一个全局层(global layer),跟踪器在局部层(locall layer)中的约束可以发生变化。在每一个局部层,刚开始时候每个图像小块(patch)都会获得一个均匀权重,然后在目标框中进行分组,每层都是一个灰度直方图和位置。全局层中包括外观的表示、形状和运动。通过获取像素的似然概率,结合多个模型的似然概率可以获得这个像素是否属于目标的概率,这样就找到了目标,全局层通过局部层中稳定的小块(stable patches)缓慢更新;
3、L1最小化跟踪器(L1-minimization tracker)
以前一帧确定的目标位置为中心的高斯分布作为候选窗,也会对候选窗做一些仿射变换增加候选数量,最后选择L1误差(L1-error)最小的作为目标;
4、带遮挡检测的L1跟踪器(L1 tracker with occlusion detection)
改进了L1的稀疏优化(sparse optimization),用L2最小二乘优化提高速度。候选窗会依据重建误差(reconstruction error)来排序,超过一定阈值就会选中进行L1最小化。针对遮挡情况,如果遮挡超过30%,就停止模板更新;
四. 通过区别分类跟踪(tracking using discriminative classification)
1、前景背景跟踪器(foreground-background tracker)
通过目标区域的Gabor纹理特征向量(Gabor texture feature vectors)和周围局部背景的特征向量的对比,训练一个线性判断分类器。在前一帧目标附近移动窗搜索,获得最高分类得分的就是目标位置;
2、基于Hough的跟踪(Hough-based tracking)
当选取目标区域时,用矩形框选择会带来带来许多误差,本方法用霍夫森林(Hough forest)来定位目标;
3、超像素跟踪(super pixel tracking)
目的是处理缩放、运动和遮挡,用mean shift进行聚类,变成超像素图片,在新帧中,根据前一帧目标位置的高斯分布权重来选择,生成候选窗,也会考虑缩放情况来生成更多的候选窗,然后通过计算候选窗中超像素的置信度,选择置信度最高的作为目标位置,每15帧更新一次模板;
4、多实例学习跟踪(multiple instance learning tracking)
在前一帧目标的圆形范围内选择候选窗,提取图像的Haar特征信息,通过正反实例学习生成一个判断分类器(discriminative classifier),最后得分最高的就是目标位置;
5、TLD(tracking, learning and detection)
通过学习一些带标签(label)和不带标签的例子,来生成一个判断分类器,本方法通过检测器(detector)和一个光流跟踪器(optical flow tracker)相结合进行跟踪,可以处理短时的遮挡;
五. 通过带约束的判断分类器跟踪(tracking using discriminative classification with constraints)
1、STRuck(structured output tracking with kernels)
通过处理正面和反面的带标签的例子,就是包含目标的图片和不包含目标的图像,生成学习后的结构化的监督分类器(structured supervised classifier),同样获取Haar特征,在新帧中也是在前一帧目标附近来获取候选窗口,分类得分最高的最为目标位置。
长按二维码,一起嗨起来!