Table of Contents
算法衍生过程:看下图(取自foolwood的维护图)。
学习目的:为学习C-COT和其衍生的ECO打基础。
ECO论文地址:http://www.robots.ox.ac.uk/~joao/publications/henriques_tpami2015.pdf
Table of Contents
正文开始
MOSSE
算法作者:David S. Bolme J. Ross Beveridge Bruce A. Draper Yui Man Lui
算法提出时间:
算法论文地址:http://www.cs.colostate.edu/~vision/publications/bolme_cvpr10.pdf
相关滤波跟踪(MOSSE)
相关滤波器在跟踪领域在之前并没有被很好地应用,但是相关性滤波器够追踪发生旋转、遮蔽、和其他干扰的复杂物体,并且速度是当时技术的20倍以上,这这种特性正是优秀的目标跟踪所需要的。
一开始,最简单的相关性滤波器用简单的模板,在应用于追踪领域的时候通常以失败告终。之后出现了更加先进的方法如:ASEF、UMACE等则表现较好,但是这些算法的训练需求和追踪是很不匹配的。视觉追踪需要从一个单个的帧训练稳定而强健的滤波器,并能够随着物体外表发生变化而自适应。
作者一开始在论文中提了一下大环境,并举出几个当时表现不错的几个例子,指出其训练需求难满足,算法结构复杂等缺点。然后提出了他自己的算法————————最小输出平方误差(MOSSE)滤波器。MOSSE能够在初始化单个帧的时候产生稳健的滤波器。作者提到,基于MOSSE过滤器的跟踪器对照明、缩放、姿态和非刚性变形的变化非常有效,同时运行速度为669帧/秒。根据峰值-托旁比的比率(PSR)检测到遮挡,这使得跟踪器能够暂停并当对象重新出现时的位置重新开始追踪。
算法在当时诸如:增量视觉跟踪(IVT)[17],基于健壮的碎片跟踪(FragTrack)[1],基于图形的鉴别学习(GBDL)[19],以及多个实例学习(MILTrack)[2],虽然表现很好,但是这些算法本身或者包含的技术都十分复杂,它们通常包含复杂的外观模型和算法结构,因此,这些算法的帧率就显得有些差强人意了——25~30FPS。
对比很明显————在相同或者类似的准确度地情况下,MOSSE比其他算法更简洁,更加高速。
1 MOSSE与其他算法的具体比较
MOSSE以一种更简单的跟踪策略实现。它对目标的外观用自适应相关性滤波器来建模,并用卷积来追踪。而以往简单的创建过滤器的方法,例如从图像中裁剪模板,为目标生成强大的峰值,却也会对背景产生错误的响应。因此,他们对目标外观的变化并没有特别的鲁棒性,并且在具有挑战性的跟踪问题上失败了。合成精确滤波器(ASEF)的平均值,不受约束的最小平均相关能(UMACE),以及最小输出平方误差(MOSSE)(本文介绍)产生的滤波器对外观变化更有弹性,并且更好地区分目标和背景
如上图2所示,结果显示,以上提到的三种方法(ASEF、YMACE、MOSSE)比老套的过滤器在峰值上更高,换句话说,出现了更少的漂移和更少的掉落轨道。通常,ASEF和UMACE的过滤器都是离线训练的,并用于对象检测或者目标识别。作者在这些技术的基础上做了在线训练和自适应的改进,来用于视觉追踪。结果,用改进后的算法的追中保留了很多底层相关性方法的速度和简单性。
尽管这种方法很简单,但是基于修改后的ASEF、UMACE或者MOSSE过滤器在旋转,刻度,照明,和部分遮挡方面的变化表现很好(看Figure 1)。主副峰比(PSR)用于测量相关性峰值的强度,能够被用于遮挡或者追踪失败的检测,来停止在线更新,并在目标重新以类似的外观出现时重新开始追踪。更一般地说,这些高级相关过滤器实现了与前面提到的更复杂的跟踪器的性能一致;然而,基于过滤器的方法速度快了20倍,每秒可以处理669帧。
2 背景
20世纪80年代和90年代,出现了很多相关性滤波器的变种,包括合成判别函数(SDF)[7,6]、最小方差合成判别函数(MVSDF)[9]、最小平均相关能(MACE)[11]、最优权衡滤波器(OTF)[16]和最小平方误差合成判别函数(MSESDF)[10]。这些过滤器是根据不同外观的物体和强制的硬约束的例子来进行训练的,这样过滤器就会产生同样高的峰值。而MACE能产生高峰和高的PSRs,更具这种特性。
在[12]中,研究发现,像MACE这样的基于SDF的硬约束的过滤器会导致失真容限的问题。该问题的解决办法是通过消除硬约束,而不是要求过滤器去产生一个高平均相关性回应。这种新型的无约束相关性滤波器称为称为最大平均相关高度(MACH),这种滤波器也导致了一种叫做UMACE的MACE变体的产生。
一种称为ASEF [3]的新类型的关联过滤器引入了一种针对特定任务调优过滤器的方法。以前的方法只指定一个峰值值,ASEF指定每个训练图像的整个相关性输出。ASEF在眼睛定位[3]和行人检测[4]方面都表现良好。不幸的是,在这两项研究中,ASEF需要大量的训练图像,这使得视觉跟踪的速度太慢。
于是,作者开始通过引入一种适合于视觉跟踪的ASEF的正则化变体来减少这种数据需求。
3 基于追踪的相关性滤波器。
基于追踪器的过滤器通过在例样图片上训练过的过滤器来对物体外形进行建模。目标最初是基于一个以第一帧中的对象为中心的小型跟踪窗口来选择的。从这一点开始,跟踪和过滤训练一起工作。在下一帧中,通过将过滤器与搜索窗口关联起来,跟踪目标。在相关输出中对应于最大值的位置表示目标的新位置。然后根据这个新位置进行在线更新。
为了创建一个快速跟踪器,在傅里叶域快速傅里叶变换(FFT)[15]中计算出相关性。首先,输入图像的二维傅里叶变换:和滤波器:。卷积定理说,相关性成为傅里叶域的一个元素乘法。通俗地说,卷积定理中,图像在时域上的卷积等于图像在频域上的乘法。使用这个符号⊙来显式地表示元素的乘法并用∗表示复共轭,相关性如下形式表达:
(1)
然后通过反FFT将相关输出从傅里叶域转换回空间域。这个过程的瓶颈是前向计算和逆FFTs,这样整个过程就有一个O(P log P)的上限时间P,P就是跟踪窗口中像素的数量
3.1 预处理
FFT卷积算法的一个问题是图像和滤波器被映射到一个环面的拓扑结构。换句话说,它将图像的左边缘连接到右边缘,并将顶部与底部连接起来。在卷积的过程中,图像在环形空间中旋转,而不是像在空间域中那样进行转换。人为地连接图像的边界会引入一个工件,它会影响相关输出。
通过遵循Average of synthetic exact filters. In CVPR, 2009(可以参考这篇博客简单了解)中列出的预处理步骤,可以减少这种效果。首先,像素值是使用对数函数进行转换的,这有助于低对比度的照明情况。像素值被规范化为0.0的平均值和1.0的范数。最后,图像乘以一个余弦窗口,它会逐渐减少边缘附近的像素值为0。这也有好处它将更多的重点放在目标中心附近
3.2 MOSSE过滤器
MOSSE是一种从较少的训练图像中产生类似于ASEF相似的过滤器的算法。首先,它需要一组训练图像和训练输出,一般而言能够取任何形状。在这种情况下,是由正确的标注数据(即我们常说的label)产生的,它有一个紧凑的(=2.0)的二维高斯形状的峰在训练图像的目标上。训练是在傅里叶域进行的,以利用输入和输出之间简单的元素之间的关系。和前一节一样,我们定义大写的变量,和过滤器是它们小写字母的傅里叶变换.
(2)
在这里,除法是由元素来执行的
为了找到一个将训练输入映射到所需训练输出的过滤器,MOSSE找到一个滤波器H,它最小化了卷积的实际输出和卷积的期望输出之间的平方误差之和。这个最小化问题的形式
(3)
将平方误差(SSE)与输出最小化的想法并不新鲜。实际上,方程(3)中的优化问题与Minimum squared error synthetic discriminant functions. Optical Engineering, 31:915, 1992. 2和Unconstrained correlation filters. Applied Optics, 33(17):3751–3759, 1994中给出的优化问题几乎相同。不同之处在于,在这些作品中,我们假设目标总是在中心处,而输出()是固定在整个训练集上的,而定制每个是ASEF和MOSSE背后的基本思想。在跟踪问题中,目标并不总是以中心为中心,而的峰值则在中跟随目标。在更一般的情况下,可以取任何shape。
解决这个优化问题并不是特别困难,但是确实需要一些注意,因为优化的函数是一个复杂变量的实值函数。首先,H的每个元素(索引和)都可以独立地解决,因为傅里叶域中的所有运算都是由元素来执行的。这涉及到从和来重写函数。然后,W.R.T. 的部分被设定为零,同时把当作一个独立的变量(D. Messerschmitt. Stationary points of a real-valued function of a complex variable. Technical report, EECS, U.C. Berkeley, 2006. 4, 10)
(4)
通过求解MOSSE滤波器的封闭形式表达式,得到: