使用自适应相关滤波器的视觉对象跟踪(Mosses)2(翻译)

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

4.1过滤比较

       本节评估UMACE的跟踪质量,ASEF和MOSSE过滤器。 这些与a进行了比较朴素过滤器,基于平均预处理通过在线更新跟踪窗口。 跟踪输出被手动标记为良好的跟踪,跟踪哪个已偏离中心或失去轨道(见图5)。

      定性地,所有过滤器包括Naive过滤器能够跟踪很少漂移的物体全尺寸的比例,旋转和照明变化在测试集中找到。 大多数漂移和失败发生在目标经历大的平面外旋转。 看到图6是davidin300序列的一个例子。过滤器倾向于跟踪目标中心的一个点。当目标旋转时,该点移向目标边界,跟踪器最终处于一个很大的状态跟踪窗口的背景覆盖。该过滤器适应这个半背景窗口和时间目标有时会旋转回正面姿势转移到新的位置或他们可能会松开目标和跟踪背景。

    这些结果表明了高级相关滤波器跟踪目标比Naive方法更长。 尖锐的峰值也有益于PSR是一个很好的预测因子轨道质量,而PSR不是特别丰富的信息对于Naive过滤器。 适用于漂移的高级过滤器并且故障总是与低PSR相关联。 这是如图7所示,表明MOSSE PSR可以找到该视频中最具挑战性的部分。

      对于基于过滤器的跟踪器,很难声称任何一种过滤器类型清楚地执行另一种。 四点相关滤波器执行的七个视频序列中的一个
完美。 在davidin300上,所有滤波器都会漂移在相同的外板中面对眼睛的中心旋转和在sylv中过滤器在相同的过程中漂移该序列的困难部分。 这两个序列建议过滤器类型的选择并不是特别重要,因为过滤器的失败完全相同办法。

图5:该图显示了基于过滤器的性能跟踪所有七个视频序列。 每个输出视频手是注释,绿色表示一个好的轨道,黄色表示轨道偏离中心,红色表示跟踪失败。 黑色线条显示剪裁到该范围的PSR[0,20]并指示每帧的轨道质量视频。

    只有在dudek序列上才有明显的区别在三个过滤器中。 虽然MOSSE完美地完成了序列,但UMACE和ASEF遇到了问题具有挑战性的视频部分。 尽管有证据表明在第3节中表明MOSSE可能是最好的过滤器对于此任务,一个视频序列上的单个故障是不足以支持强有力的主张; 更多的研究是需要。

4.2与其他跟踪器的比较

        评估算法维护的能力我们将我们的输出与发布的视频进行了比较IVT [17]和MILTrack [2]的作者(参见章节4.1)。 这些视频还包含示例结果对于强大的在线外观模型(ROAM)[8],在线Ada-Boost(OAB)[14]和FragTrack [1]。 我们考虑下载这些其他算法的代码但我们选择研究作者自己的视频它代表了那些算法的最佳性能这也减轻了我们失败的论点正确实施或调整这些算法。 在那些比较我们的方法能够保持轨道为与那些算法一样好或更好。 本着这种精神,我们还将结果发布到我们的网站/ YouTube(http://youtube.com/users/bolme2008)所以其他人可以进行相同的比较。 图8
描述视频中的格式和注释。

      在[17]中,IVT [17]和ROAM [8]进行了比较图5中的四个序列。其中,davidin300和dudek序列成功完成。 IVT失败了在框架620附近用于sylv,在框架330附近用于网格70。在已发布的视频序列中,ROAM跟踪器执行完美; 然而sylv和trellis70的视频在IVT失败后不久就停止了,目前还不清楚如果ROAM成功完成了那些序列。 这两个跟踪器的功能是基于过滤器的跟踪器缺乏的是,他们估计目标的规模和方向它提供了有关其位置的更多信息空间。

         在[2]中,MILTrack [2],OAB [14]和FragTrack [1]在davidin300和sylv序列上进行了比较。所有的跟踪器都显示出明显的OAB和OAB漂移FragTrack在davidin300上失败了。 为这些漂流跟踪器与过滤器看到的非常不同。在这些视频中,跟踪窗口向后徘徊跨越目标。 当过滤器漂移时,它们当目标经历姿势时,往往偏离中心变化,然后他们锁定到一个新的中心点。

图8:这显示了来自davidin300序列的样品对于MOSSE过滤器。 帧号和PSR如图所示左上角。 脸部周围的灰色小盒子显示出来
每帧的跟踪窗口的起始位置。该粗红框显示轨道窗口的更新位置。红点显示跟踪窗口的中心点有助于确定窗户是否已脱离原件
地点。 在Taz视频中,启用故障检测并显示红色在窗口中绘制X以指示失败或遮挡已被发现。 视频底部是图像是输入(从灰色矩形裁剪),更新过滤器从这个帧,和相关输出。

4.3实时性能

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

  图9:该图显示了各种磁道更新速率过滤器尺寸。 红色x表示初始化期间的速率。

      基于滤波器的跟踪的计算复杂性是O(P log P),其中P是中的像素数过滤。 这来自相关期间使用的FFT操作和在线更新。 跟踪初始化导致一次性成本为O(NP log P),其中N为用于初始化的仿射扰动的数量第一个过滤器。 虽然这比在线慢很多倍更新,初始化仍然比66.32的实时更快每秒更新。

5结论

     本文展示了视觉跟踪问题,传统上使用重量来解决分类器,复杂的外观模型和随机搜索技术可以被有效和简单的取代MOSSE相关滤波器。 结果是一个算法这很容易实现,可以同样准确快多了。

     在本文中,跟踪器很容易评估过滤器遵循并适应难以跟踪的能力场景。 这有很多简单的方法跟踪器可以改进。 例如,如果外观目标相对稳定,漂移可以减轻通过偶尔重新定位基于的过滤器初始帧。 跟踪器也可以扩展到估计通过过滤logpolar来改变比例和旋转更新后转换跟踪窗口。

图7:该图显示可以通过在PSR中找到低点来定位视频中最具挑战性的部分。

最小化平方误差的输出和

    这里我们包括MOSSE过程的更详细的推导。 本文涵盖了主要步骤和最终结果结果。 这里的解释显示了大多数中间步骤。 找到MOSSE过滤器的第一步是设置将优化的最小化问题:

   其中Fi和Gi是输入图像和傅里叶域中相应的所需输出,目标是找到滤波器H最小化平方输出误差之和。 因为傅立叶域中的相关是元素乘法,滤波器H的每个元素可以独立优化。 优化问题可以因此,从多变量优化问题转变为优化H的每个元素的问题独立。

其中ω和ν索引H的元素

     这个函数是实值,正和凸,所以它只有一个最优。 通常要找到最佳值一个函数,通过将导数设置为零来找到稳定点,然后求解变量利益。 找到此函数的稳定点是不同的,因为它是复变量的实值函数。需要注意正确解决这个问题。 事实证明找到这种功能的稳定点是没那么难。 总而言之,它涉及根据Hων和H *ων重写函数。 然后,部分W.R.T. H *ων设定为等于零,同时将H视为独立变量。

  可以证明,满足该等式的任何Hωv都是稳定点。 关于这种技术的简短教程可以见于[13]。 改变这个等式会导致:

计算偏导数会导致:

然后我们可以分配求和并求解Hων。

最后,我们用原始数组表示法重写此表达式:

猜你喜欢

转载自blog.csdn.net/zzdxxn/article/details/86479235