相關濾波跟蹤(MOSSE)

轉載自:http://blog.csdn.net/autocyz/article/details/48136473

相關濾波跟蹤(MOSSE)

在信號處理中,有這麼一個概念——相關性(correlation),用來描述兩個因素之間的聯繫。而相關性又分爲cross-correlation(互相關,兩個信號之間的聯繫)和auto-correlation(自相關,本身在不同頻域的相關性)。

2010年CVPR,David S.Bolme在文章《visual object tracking using adaptive correlation filters》中首次將相關濾波用在了跟蹤領域,在其文章的基礎之上,很多改進的算法相繼出現,跟蹤的效果也越來越好。 
在介紹作者的算法之前,先介紹一下相關濾波的原理。 
假設有兩個信號f和g,則兩個信號的相關性(correlation)爲: 

(fg)(τ)=f(t)g(t+τ)dt
(fg)(n)=f[m]g(m+n)
其中f表示f的複共軛。correlation的直觀解釋就是衡量兩個函數在某個時刻相似程度。 
而將correlation filter應用與跟蹤最簡單的想法就是:兩個信號越相似,其相關值越高。在跟蹤,就是找到與跟蹤目標響應最大的項。 
作者提出的濾波器叫做Minimum Output Sum of Squared Error filter(MOSSE)(誤差最小平方和濾波器)。按照前面的思路,我們需要找到一個濾波器,使其在目標上的響應最大,則如下公式: 
g=fh
其中g表示響應輸出,f表示輸入圖像,h表示濾波模板。 
顯然,我們要是想獲得比較獲得響應輸出,只需確定濾波器模板h即可。上式的計算是進行卷積計算,這在計算機中的計算消耗時很大的,因此作者對上式進行快速傅里葉變換(FFT),這樣卷積操作經過FFT後就變成了點乘操作,極大的減少了計算量。上式變成如下形式: 
F(g)=F(fg)=F(f)F(h)

爲了方便描述,將上式寫成如下形式: 
G=FH

有了上面的式子,那麼後面跟蹤的任務就是找到H了: 
H=GF

但是在實際跟蹤的過程中我們要考慮到目標的外觀變換等因素的影響,所以需要同時考慮目標的m個圖像作爲參考,從而提高濾波器模板的魯棒性,所以作者就提出了MOSSE這個模型,其模型公式入下: 
minH=i=1m|HFiGi|2

因爲上式的操作都是元素級別的,因此要想找到,只要使其中的每個元素(w和v是H中每個元素的索引)的MOSSE都最小即可。因此上式可轉換爲如下形式: 
minHwvi=1m|HwvFwviGwvi|2

要想得到最小的H8wv,只需要對上式求偏導,並使偏導爲0即可。即: 
0=Hwvi|FiwvHwvGiwv|2

複數域求導和實數域求導時不一樣的,其求導過程如下: 
0=Hwvi(FiwvHwvGiwv)(FiwvHwvGiwv)

0=Hwv[(FiwvHwv)(FiwvHwv)(FiwvHwv)GiwvGiwv(FiwvHwv)+GiwvGiwv]

0=HwviFiwvFiwvHwvHwvFiwvGiwvHwvFiwvGiwvHwv+GiwvGiwv

0=i[FiwvFiwvHwvFiwvGiwv]

Hwv=iFiwvGiwviFiwvFiwv

上面得到是H中每個元素的值,最後得到H爲: 
H=iFiGiiFiFi

上式就是濾波器的模型公式。 
但是在跟蹤中該怎麼得到濾波器H呢?FiGi又該怎麼獲取? 
在作者的文章中,其對跟蹤框(groundtruth)進行隨機仿射變換,獲取一系列的訓練樣本fi,而gi則是由高斯函數產生,並且其峯值位置是在fi的中心位置。獲得了一系列的訓練樣本和結果之後,就可以計算濾波器h的值。注意:這裏的f,g,h的size大小都相同。 
作者爲了讓濾波器對與形變、光照等外界影響具有更好的魯棒性,採取瞭如下的模板更新策略: 
Ht=AtBt

At=ηFtGt+(1η)At1

Bt=ηFtFt+(1η)Bt1

作者將濾波器的模型公式分爲分子和分母兩個部分,每個部分都分別的進行更新,更的參數爲η。其中AtAt1分別表示的是當前幀和上一幀的分子。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章