Minimum Output Square Sum Error Filter (MOSSE)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CF
相关滤波跟踪(MOSSE)
在信号处理中,有这么一个概念——相关性(correlation),用来描述两个因素之间的联系。
而相关性又分为cross-correlation(互相关,两个信号之间的联系)和auto-correlation(自相关,本身在不同
频域的相关性)。
2010年CVPR,David S.Bolme在文章《visual object tracking using adaptive correlation filters》中首次将相关滤波用在了跟踪领域,在其文章的基础之上,很多改进的算法相继出现,跟踪的效果也越来
越好。
在介绍作者的算法之前,先介绍一下相关滤波的原理。
假设有两个信号f和g,则两个信号的相关性(correlation)为:
(f⊗g)(τ)=∫−∞∞f∗(t)g(t+τ)dt
(f⊗g)(n)=∑−∞∞f∗[m]g(m+n)
其中f∗表示f的复共轭。
correlation的直观解释就是衡量两个函数在某个时刻相似程度。
而将correlation filter应用与跟踪最简单的想法就是:两个信号越相似,其相关值越高。
在跟踪,就是找到与跟踪目标响应最大的项。
作者提出的滤波器叫做Minimum Output Sum of Squared Error filter(MOSSE)(误差最小平方和滤
波器)。
按照前面的思路,我们需要找到一个滤波器,使其在目标上的响应最大,则如下公式:
g=f⊗h
其中g表示响应输出,f表示输入图像,h表示滤波模板。
显然,我们要是想获得比较获得响应输出,只需确定滤波器模板h即可。
上式的计算是进行卷积计算,这在计算机中的计算消耗时很大的,因此作者对上式进行快速傅里叶变换(FFT),这样卷积操作经
过FFT后就变成了点乘操作,极大的减少了计算量。
上式变成如下形式:
F(g)=F(f⊗g)=F(f)⋅F(h)∗
为了方便描述,将上式写成如下形式:
G=F⋅H∗
有了上面的式子,那么后面跟踪的任务就是找到H∗了:
H∗=GF
但是在实际跟踪的过程中我们要考虑到目标的外观变换等因素的影响,所以需要同时考虑目标的m个图像作为参考,从而提高滤波器模板的鲁棒性,所以作者就提出了MOSSE这个模型,其模型公式入下:
min H∗=∑i=1m|H∗F i−G i|2
因为上式的操作都是元素级别的,因此要想找到,只要使其中的每个元素(w和v是H中每个元素的索引)的MOSSE都最小即可。
因此上式可转换为如下形式:
min H∗wv∑i=1m|H∗wv F wvi−G wvi|2
要想得到最小的H8wv,只需要对上式求偏导,并使偏导为0即可。
即:
0=∂∂H∗wv∑i|F iwv H∗wv−G iwv|2
复数域求导和实数域求导时不一样的,其求导过程如下:
0=∂∂H∗wv∑i(F iwv H∗wv−G iwv)(F iwv H∗wv−G iwv)∗
0=∂∂H∗wv∑[(F iwv H∗wv)(F iwv H∗wv)∗−(F iwv H∗wv)G∗iwv−G iwv(F iwv H∗wv)∗+G iwv G∗iwv] 0=∂∂H∗wv∑i F iwv F∗iwv H wv H∗wv−F iwv G∗iwv H∗wv−F∗iwv G iwv H wv+G iwv G∗iwv
0=∑i[F iwv F∗iwv H wv−F iwv G∗iwv]
H wv=∑i F iwv G∗iwv∑i F iwv F∗iwv
上面得到是H中每个元素的值,最后得到H为:
H=∑i F i⋅G∗i∑i F i⋅F∗i
上式就是滤波器的模型公式。
但是在跟踪中该怎么得到滤波器H呢?F i和G i又该怎么获取?
在作者的文章中,其对跟踪框(groundtruth)进行随机仿射变换,获取一系列的训练样本f i,而g i则是由高斯函数产生,并且其峰值位置是在f i的中心位置。
获得了一系列的训练样本和结果之后,就可以计算滤波器h的值。
注意:这里的f,g,h的size大小都相同。
作者为了让滤波器对与形变、光照等外界影响具有更好的鲁棒性,采取了如下的模板更新策略:
H t=A t B t
A t=ηF t⋅G∗t+(1−η)A t−1
B t=ηF t⋅F∗t+(1−η)B t−1
作者将滤波器的模型公式分为分子和分母两个部分,每个部分都分别的进行更新,更的参数为η。
其中A t和A t−1分别表示的是当前帧和上一帧的分子。