MOSSE相关滤波目标跟踪论文

论文全名:Visual Object Tracking using Adaptive Correlation Filters

论文摘自CVPR 2010,由David S. Bolme、J.Ross Beveridge、Bruce A. Draper与Yui Man Lui撰写,简称MOSSE。

摘要

虽然不常用,但相关滤波器可以通过旋转,遮挡和其他干扰来跟踪复杂物体,其速度是当前最先进技术的20倍以上。最旧和最简单的相关过滤器使用简单模板,并且在应用跟踪时通常会失败。诸如ASEF和UMACE等方法表现优秀,但他们的训练的需求不太适合跟踪。视觉跟踪需要从单个帧训练强大的滤波器,并在目标对象的外观发生变化时动态调整。

本文提出了一种新型的相关滤波器,即最小平方误差输出和(MOSSE)滤波器,它在使用单帧初始化时产生稳定的相关滤波器。对于光照,缩放,姿势和非刚性变形的变化时,基于MOSSE滤波器的跟踪器具有鲁棒性,同时以669帧的速度运行。通过计算峰值与旁瓣比来判断目标是否被遮挡,当目标遮挡后又重新出现时,跟踪器可以暂停并恢复它停止的位置

注意:本文包含CVPR 2010中排除的其他数字和内容,以满足长度要求。

 1 前言

视觉跟踪在视频处理中有许多实际应用。当目标位于视频的一帧中时,在后续帧中跟踪该对象通常很有用。成功跟踪目标的每个帧会提供有关目标的信息和动作等信息。由于跟踪比检测更容易,因此跟踪算法可以在每个帧上运行对象检测器上使用更少的计算资源。

视觉跟踪近年来受到了很多关注。已经提出了许多强大的跟踪策略,目标通过复杂的运动改变了外观和跟踪目标。例子包括:增量视觉跟踪(IVT)[17],基于鲁棒碎片的跟踪(FragTrack)[1],基于图像的判别学习(GBDL)[19]和多实例学习(MILTrack)[2]。虽然有效,但这些算法并不简单。它们通常包括复杂的外观模型或复杂的优化算法,因此很难与许多现代相机产生的每秒25到30帧相持平(见表1)。

在本文中,我们研究了一种更简单的跟踪策略。目标外观由自适应相关滤波器进行建模训练,并且通过卷积进行测试跟踪。用于创建滤波器的朴素方法(例如,从图像中裁剪)会为目标生成峰值,但也会错误地响应背景,因此,它们对目标外观的变化鲁棒性较差,在挑战性跟踪问题上失败。平均合成精确滤波器(ASEF),无约束最小平均相关能量(UMACE)和平方误差的最小输出和(MOSSE)(本文介绍)产生的滤波器对于目标外观变化鲁棒性更好并且能很好地区分目标和背景。如图2所示,作者提出的方法转换为更少的漂移和更少的下降轨道,变成了一个更强的峰值。传统上,ASEF和UMACE滤波器离线训练数据,将其用于物体检测或目标识别。在本论文中,我们变成了在线训练数据,并采用自适应系统进行视觉跟踪。结果是在保证最先进的性能基础上,还保留了基础相关性方法的大部分速度和简单性。

该方法简单,并在旋转,缩放,光照和部分遮挡的变化下,基于改进的ASEF,UMACE或MOSSE滤波器的跟踪表现良好(参见图1)。测量相关峰值强度的峰值与旁瓣比(PSR)可用于检测遮挡或跟踪失败的情况,从而停止在线更新,当对象以相似外观重新出现则重新获取信息。更一般地说,这些高级相关滤波器实现的性能与前面提到的更复杂的跟踪器一致,但是,作者提出的这种方法速度提高了20多倍,每秒可处理669帧(见表1)。

本文的其余部分安排如下。第2节回顾了相关滤波技术,第3节介绍了MOSSE滤波器以及如何使用它来创建基于跟踪对象的鲁棒滤波器,第4节介绍了来自[17]的七个视频序列的实验结果,最后,第5节将重述本文的主要发现。 

2 回顾

在20世纪80年代和90年代,与相关滤波器相关的变体相继产生,包括合成判别函数(SDF)[7,6],最小方差合成判别函数(MVSDF)[9],最小平均相关能量(MACE)[11],最优权衡滤波器(OTF)[16]和最小平方误差综合判别函数(MSESDF)[10]。这些滤波器在具有不同外观和强制硬约束的目标对象的示例上进行训练,使得滤波器总是产生相同高度的峰值。最相关的是MACE,它产生尖峰和高PSR

在[12]中,发现基于SDF(合成判别函数)的滤波器(如MACE)的硬约束导致了失真容限问题。解决方案是消除硬约束,而不是要求滤波器产生高平均相关响应,这种称为最大平均相关高度(MACH)的新型“无约束”相关滤波器导致称为UMACE(无约束MACE)的MACE变体。

一种称为ASEF [3]的新型相关滤波器引入了一种调整特定任务滤波器的方法。早期方法只指定单个峰值,ASEF提出每个训练图像的整个相关输出。 ASEF在眼睛定位[3]和行人检测[4]方面表现良好。但在这两项研究中,ASEF都需要大量的训练图像,这使得视觉跟踪速度太慢本文通过引入适用于视觉跟踪的ASEF的正则化变体来降低此数据要求。

3 基于跟踪的相关滤波

基于跟踪的滤波器原理为,用示例图像上训练的滤波器来建立目标外观模型。最初基于以第一帧中的目标为中心的小跟踪窗口来选择目标,在此之后,跟踪和滤波训练将同时进行,通过在下一帧中的搜索块上关联之前的滤波器来跟踪目标,该帧中输出的最大值的位置表示目标的新位置。然后基于该新位置进行在线更新。

为了创建快速跟踪器,在傅立叶域上进行快速傅立叶变换(FFT)[15]中计算相关性。首先,计算输入图像的2D傅立叶变换:F=F(f)和滤波器:H=F(h)。卷积定理指出相关性计算傅里叶域中的元素乘法等同。使用⊙符号表示逐元素乘法而*表示复共轭,相关性计算采用以下形式:G=F\odot H^{*}(1)。使用逆FFT将相关计算的输出变换回空间域。此过程中的瓶颈是计算正向和反向FFT,以便整个过程的上限时间(计算复杂度)为O(PlogP),其中P是跟踪图像块的像素数。

在本节中,我们将讨论基于跟踪的滤波器的组成部分:

3.1节讨论在跟踪窗口上进行的预处理模块;

3.2节介绍MOSSE滤波器,它是从少量图像构建稳定相关滤波器的改进方法;

3.3节介绍了如何使用正则化计算来生成更稳定的UMACE和ASEF滤波器。

3.4节讨论了用于在线更新过滤器的简单策略。

3.1 预处理模块

FFT卷积算法的一个问题是图像和滤波器被映射到环面的拓扑结构。 换句话说,它将图像的左边缘连接到右边缘,将顶部连接到底部。在卷积时,图像旋转通过环形空间而不是像在空间域中那样进行平移。 人为地连接图像的边界引入了影响相关输出的伪像,而利用[3]中的预处理步骤可以减少这种影响。 首先,使用对数函数转换像素值,这有助于低对比度照明情况。 将像素值平均归一化为0.0至1.0的范数。 最后,图像乘以余弦窗,它会逐渐将边缘附近的像素值减小到零。 这也有利于它将更多的重点放在目标的中心附近。

3.2 MOSSE滤波器

MOSSE是一种用于从较少的训练图像产生类似ASEF滤波器的算法。 首先,它需要一组训练图像f_{i}和输出g_{i}。 通常,g_{i}可以是任何形状。 在这种情况下,g_{i}是由GT(ground truth)生成的,因此它具有以训练图像f_{i}中的目标为中心的紧凑(标准差σ= 2.0)2维高斯形状的峰值。在傅里叶域中进行训练,通过简单的元素信息提取输入f_{i}和输出g_{i}之间的关系。 与前一节一样,我们将大写变量F_{i}G_{i}和滤波器H定义为它们的小写对应的傅立叶变换,其中除法是按元素执行的:H_{i}^{*}=\frac{G_{i}}{F_{i}} (2)。

为了找到将训练输入映射到所需训练输出的滤波器,MOSSE定义了一个滤波器H:最小化卷积的实际输出期望输出的平方误差之和。这种最小化问题采用以下形式:\min_{H^{*}}\sum_{i}\left |F_{i}\odot H^{*}-G_{i} \right |^{2} (3)。

在输出上最小化平方误差和(SSE)的想法并不是最新提出的。 事实上,(3)式中的优化问题几乎与[10]和[12]中提出的优化问题相同。 不同之处在于,在这些工作中都是假设目标始终以f_{i}为中心并且输出(g_{i})对于整个训练集是固定的,其中每个g_{i}是基于ASEF和MOSSE建立的。 在跟踪问题中,目标并不总是在图像框中心,并且g_{i}的峰值随f_{i}的目标移动。 在更一般的情况下,g_{i}可以具有任何形状。 例如,在[4]中,当f_{i}包含多个目标时,g_{i}具有多个相应的峰值。

被优化的函数是复变量的实值函数。 首先,H的每个元素(由wv索引)可以独立求解(傅立叶域中的所有操作都是逐元素进行),部分关于H_{wv}^{*}为零,同时将H_{wv}视为独立变量[13]。通过求解H^{*},找到MOSSE滤波器的闭合表达式(附录A):

最优化问题-->将多变量优化转为独立优化每个元素
对等式右侧函数取极值即为所求值
将等式右端(元素)分解
对等式右端合并求偏导
将Hwv提取
将其转化为向量形式
共轭转置

 

 可以看出,分子是输入和输出之间的相关性,分母是输入的能谱。从公式5中,我们可以很容易地证明UMACE是MOSSE的一个特例。其中,UMACE滤波器的闭合表达式为:

 为了表明MOSSE比ASEF性能更好,我们在实验中改变了进行滤波器训练的图像数量。在初始化滤波器时,对视频的第一帧的跟踪patch加入一些随机小仿射扰动,在第二帧时用峰值与旁瓣比PSR作为衡量滤波器好坏的标准。图3表明在少量图像进行训练的前提上,MOSSE表现更好,原因将在下一节中讨论。

3.3 ASEF正则化

事实证明,当只有一个训练图像Fi和一个输出图像Gi时,存在产生零误差的滤波器,但会造成过拟合现象,而该过滤器被称为精确过滤器,其公式为:。建立一个平均滤波器的动机来自Bootstrap Aggregation [5],其中一些弱分类器的输出可以用平均法产生更强的分类器。 通过一些操作,ASEF滤波器为:

当训练少量图像时,ASEF滤波器不稳定,因为(8)式分母接近于零。作者提出在(8)式的分母中的每个元素加入正则化参数\epsilon,以产生更具鲁棒效果的ASEF滤波器,正则化类似于OTF理论的结果,该理论通常与UMACE滤波器结合使用。该结果表明,将背景的噪声添加到训练图像中将产生更好的滤波器[16],这里我们添加了白噪声。图4显示了调整大小\epsilon变化的效果,通过适当的正则化,所有滤波器都能产生良好的峰值。

3.4 滤波器的初始化与更新

在初始帧中,对跟踪窗进行八个随机仿射变换的小扰动f_{i},构造训练集,同时生成训练输出g_{i},其峰值对应于目标中心。在跟踪期间,目标通常可以通过改变其旋转,比例,姿势,通过在不同的光照条件下移动,或者甚至通过非刚性变形来改变外观。 因此,过滤器需要快速适应以跟踪对象。 用平均值可达到此目的。 例如,从第i帧学习的ASEF滤波器与MOSSE滤波器分别为:

 

 其中,\eta为学习率,在最初几帧的权重较大,之前帧的结果随时间推移,呈指数衰减。 作者发现\eta= 0.125时,滤波器快速适应目标变化,并同时保持良好的鲁棒性。

 3.5 误检与PSR(峰值与旁瓣比)

如前所述,峰值强度的简单测量称为峰值与旁瓣比(PSR)。 为了计算PSR,对于除了峰值周围的11×11窗口之外的其余像素,相关输出g分为两类:一是作为最大值的峰值,二是旁瓣。 PSR定义为:,其中gmax是峰值,μs1和σsl分别是旁瓣的平均值和标准差。

在正常跟踪条件下,UMACE,ASEF和MOSSE的PSR通常介于20.0和60.0之间。 我们发现当PSR下降到7.0左右时,表示目标遮挡或跟踪失败。 而PSR在3.0到10.0之间时,对于预测目标运动无效。

4 评估

最初,基于实时MOSSE的跟踪系统在网络摄像头视频上创建和评估。通过实时反馈,可以轻松测试跟踪器配置的微小变化,并对各种跟踪器性能进行定性分析。这些测试为跟踪器的操作提供了有价值的见解,并有助于生成本文中介绍的快速而稳定的跟踪器。

对七种常用的测试视频进行了更加可控的评估,这些视频可以从http://www.cs.toronto.edu/~dross/ivt/免费下载。测试视频都是灰度级的,包括照明,姿势和外观,都具有挑战性。相机本身的移动增加了目标的不稳定性。七个序列包括两个车辆跟踪场景(car4,car11),两个玩具跟踪场景(fish,sylv)和三个面部跟踪场景(davidin300,dudek和trellis70)。

4.1 滤波器对比

在本节,将评估UMACE,ASEF和MOSSE滤波器的跟踪效果。这些与基于具有在线更新的平均预处理跟踪窗口Naive滤波器进行比较,跟踪输出被手动标记为良好的跟踪,跟踪框偏离中心或丢失(参见图5)。

该图显示了对所有七个视频序列的跟踪性能。 其中 绿色表示跟踪良好, 黄色表示跟踪偏离目标中心, 红色表示跟踪失败。
黑线表示PSR缩短到范围[0,20]。

当目标变化较小时,所有滤波器都能准确跟踪。当目标经历大的平面外旋转时,大多数目标偏离和跟踪失败会发生(图6有关davidin300序列的示例)。滤波器倾向于跟踪目标中心的点。当目标旋转时,该点朝向目标边界移动,并且跟踪器的大部分跟踪框最终由背景代替(即跟踪失败)。滤波器适应半个背景窗,当目标旋转回正面姿势时,过滤器有时会移动到新位置,或者一直跟踪背景。

这些结果表明,作者提出的相关滤波器跟踪的目标比Naive方法更长。尖峰还具有以下优点:PSR是目标轨道运动的良好预测器,而PSR对于Naive滤波器无感。对于论文提出的滤波器,目标偏离和目标丢失与低PSR有关(图7)

在七个视频序列中的四个中,相关滤波器表现完美。在davidin300上,所有滤波器在相同的平面外旋转期间从面部中心偏移到眼睛,并且在sylv中,滤波器在该序列的相同问题部分也出现了偏移。这两个序列表明滤波器类型的选择并不是特别重要。仅在dudek序列上,三个滤波器之间存在显着差异:MOSSE跟踪很好,但UMACE和ASEF在挑战视频部分时遇到问题。尽管第3节中表明MOSSE可能是此视频任务的最佳滤波器,但需要之后更多的研究。

4.2 与其他跟踪器的比较

为了评估算法跟踪能力,我们将输出与IVT [17]和MILTrack [2]的作者发布的视频进行了比较(见4.1节)。这些视频还包含Robust Online Appearance Model(ROAM)[8],Online Ada-Boost(OAB)[14]和FragTrack [1]。基于下载这些其他算法的代码,作者选择研究论文中提供的视频,这些视频代表了这些算法的最佳性能,并且还减轻了我们未能正确实现或调整这些算法。在那些比较中,作者提出的方法能与那些算法一样好或更好,结果:YouTube(http://youtube.com/users/bolme2008)。

在[17]中,IVT [17]和ROAM [8]也在图5中的四个序列上进行了比较。其中,davidin300和dudek视频序列成功跟踪。对于sylv视频序列,IVT在帧620附近失败;对于trellis70视频序列,IVT在帧330附近失败。在已发布的视频序列中,ROAM跟踪器表现完美,然而,在IVT在sylv和trellis70视频系列很快跟踪失败。这两个跟踪器的一个特征是它们考虑了目标的比例和方向,提供了关于其在空间中的位置的更多信息。

在[2]中,MILavck [2],OAB [14]和FragTrack [1]在davidin300和sylv视频序列上进行了比较。所有跟踪器都显示出显着的偏离,OAB和FragTrack在davidin300上跟踪失败。这些跟踪器的偏离与作者提出的滤波器的偏离截然不同。在这些视频中,跟踪窗在目标之间来回徘徊:当目标经历姿势变化时,它们倾向于偏离中心,然后它们锁定到新的中心点。

4.3 实时性能

测试是在2.4Ghz Core 2 Duo MacBook Pro的单个处理器上进行的。本文测试的跟踪器用了Python中的PyVision库,OpenCV和SciPy。使用64×64跟踪窗口时,原始Python实现平均每秒大约250个磁道更新。为了更好地对跟踪器的运行时性能进行基准测试,代码的一些较慢部分在C中重新实现,其中包括更好的内存管理和更高效的计算耗时任务,如规范化,FFT和PSR。这些优化使速率为每秒669帧,如图9所示。

基于滤波器的跟踪计算复杂度是O(PlogP),其中P是滤波器中的像素数,这来自相关操作和在线更新期间使用的FFT。跟踪初始化导致O(NPlogP),其中N是用于初始化滤波器的仿射扰动的数量。虽然这比在线更新慢很多倍,但初始化(每秒66.32帧)速度仍然比实时快。

5 总结

本文已经表明,传统上使用高权重分类器,复杂外观模型和随机搜索技术解决的视觉跟踪问题可以由有效且更简单的MOSSE相关滤波器代替。 它是一种易于实现的算法,可以同样准确,并且速度更快。

在本文中,跟踪器保持简单。 有许多简单的方法可以改进此跟踪器。 例如,如果目标的外观相对稳定,则可以通过基于初始帧偶尔重新定位滤波器来减轻偏离。 通过在更新之后对跟踪窗口的对数进行极坐标变换,还可以扩展跟踪器以估计比例和旋转的变化。

猜你喜欢

转载自blog.csdn.net/weixin_39467358/article/details/83622766