MOSSE(Minimum Output Sum of Square Error)
题目:Visual Object Tracking using Adaptive Correlation Filters
来源:CVPR2010
作者:David S. Bolme等, Colorado State University
MOSSE可以算是相关滤波(CF)类跟踪器的开山之作。
1. 信号相关
信号处理中,用相关性描述两个因素的关系。分为自相关(auto-correlation,自身信号在频域的关系)和互相关(cross-correlation,两个信号之间的关系)。
互相关,也被称为“滑动内积”(sliding inner-product)或“滑动点乘”(sliding dot product),通常用于在一个长序列(g)中寻找一个短序列(f)(即特征)。假设有两个信号f(t)和g(t),则两个信号的相关性(correlation)为
(f⋆g)(τ)=def(f⋆g)[n]=def∫−∞+∞f∗(t)g(t+τ)dt=∫−∞+∞f∗(t−τ)g(t)dtm=−∞∑+∞f∗[m]g[m+n](1.1)
其中⋆表示互相关操作,f∗表示f的共轭,τ表示信号f在t轴上向右滑动的大小(lag)。
- 互相关与卷积有相似的性质,只是没有信号翻转的步骤,即[f(t)⋆g(t)](t)=[f∗(−t)∗g(t)](t)(1.3)
- 如果f 是一个Hermitian函数(即f(t)=f∗(−t)),则f⋆g=f∗g.
- 根据卷积定理,有
F{f⋆g}F{f(−t)}=F{f}∗⋅F{g}=F{f(t)}∗(1.4)
- 自相关用于找出一个信号序列中的周期重复模式,lag=0 时取得峰值,峰值幅度表示信号能量。
2. 原理介绍
两个信号越相似,其相关值越高。在视觉跟踪领域,就是找到与跟踪目标响应最大的项。
设输入灰度图像为f,滤波器为h,响应输出为g,(注意,文中f,h,g 的尺寸相等)则可表达为g=h⋆f(2.1)
设定期望的输出g是高斯函数(g可以为任意函数,文中取二维高斯形函数,σ=2,以训练图像f中的目标为中心),即在目标位置处相应最大,则只需解出滤波器h。为了简化运算,可以利用卷积定理和互相关的性质,在傅里叶频域求解,表达式为
F{g}=F{h}∗⊙F{f},即G=H∗⊙F,(2.2)
待求的H∗可由H∗=G/F 得到。但是为了获得更加鲁棒的滤波器(应对目标发生形变等),需要同时考虑多个包含目标的训练图像fi。由Parseval定理(下式第二个等号, 能量守恒),可得
error=i∑∥h⋆fi−gi∥2=MN1i∑∥H∗⊙Fi−Gi∥2(2.3)
其中fi,gi,h的尺寸均为M×N。可以通过优化下式得到H∗
minH∗i∑∥H∗⊙Fi−Gi∥2.(2.4)
设Hwv 为H 矩阵的元素。由于在傅里叶频域都是元素级运算(element-wise),因此上边的优化目标等价于优化每个Hwv ,即对上式求偏导,并使偏导为0:
0=∂Hwv∗∂i∑∥Hwv∗Fiwv−Giwv∥2.(2.5)
经过频域中复杂的求导推算,可以得到Hwv=∑iFiwvFiwv∗∑iFiwvGiwv∗, 最后得到H∗=∑iFi⊙Fi∗∑iGi⊙Fi∗. 当只有一个训练样本时,Hi∗=FiGi=Fi⊙Fi∗Gi⊙Fi∗, 过拟合会比较严重,使用平均化策略效果会比较好,即
H∗=N1i∑Fi⊙Fi∗Gi⊙Fi∗.(2.6)
为了保障求解的稳定性,在分母上加一个较小的正则项ε(相当于在频谱上增加一个白噪声),试验发现ε=0.1时PSR(参见第3节)最高。
在第一帧时,对跟踪框(groundtruth)进行随机仿射变换(random affine transformations),获取多个训练样本(文中为8个)fi。在 fi 上以目标为中心做出对应的期望高斯相应gi.
为了使输出连续光滑,作者加入了平滑滤波的更新策略,第i帧的MOSSE滤波器由下式得到
Hi∗AiBi=BiAi=ηGi⊙Fi∗+(1−η)Ai−1=ηFi⊙Fi∗+(1−η)Bi−1(2.7)
其中η为学习率;较近帧在本帧的决策中的权重较大。作者通过实验,发现η=0.125 能够使滤波器快速适应目标形变,还能保持较好的鲁棒性。
当在当前帧内 M×N 大小的检测区域 Z 进行检测时,检测结果为
y=F−1H∗⊙Z(2.8)
新目标的估计位置即为相关分数矩阵y 的最大值位置。
3. 算法性能
3.1 跟踪效果评估指标 PSR
PSR(The Peak-to-Sidelobe Ratio)峰值旁瓣比,衡量相关性峰值,检测遮挡或跟踪失败,或获取新出现的跟踪目标。论文中定义检测响应输出矩阵y的最大值为峰值ymax,峰值附近11×11之外的区域定义为旁瓣(Sidelode)。μsl和σsl为“旁瓣”区域的均值和标准差,则PSR定义为
PSR=σslymax−μsl.(3.1)
作者通过实验发现,当PSR取值在20~60之间,表明有很强的峰值(检测结果显著);当PSR跌落到7附近时,则表明出现遮挡或检测失败。
3.2 速度
669fps (2.4Ghz Core 2 Duo)
3.3 效果展示

参考资料
https://blog.****.net/autocyz/article/details/48136473
https://en.wikipedia.org/wiki/Cross-correlation