最近在看visual tracking部分的內容,看到別人總結的很不錯,做一次搬運工:
鏈接: http://www.cnblogs.com/hanhuili/p/4266990.html
Visual Object Tracking using Adaptive Correlation Filters 一文發表於2010的CVPR上,是筆者所知的第一篇將correlation filter引入tracking領域內的文章,文中所提的Minimum Output Sum of Squared Error(MOSSE),可以說是後來CSK、STC、Color Attributes等tracker的鼻祖。Correlation Filter(以下簡稱CF)源於信號處理領域,後被運用於圖像分類等方面。Correlation包含Cross-correlation和Auto-correlation,在這裏我們一般指的就是Cross-correlation。首先看看維基百科上Cross-correlation的定義,假設有
其中
而Correlation Filter應用於tracking方面最樸素的想法就是:相關是衡量兩個信號相似值的度量,如果兩個信號越相似,那麼其相關值就越高,而在tracking的應用裏,就是需要設計一個濾波模板,使得當它作用在跟蹤目標上時,得到的響應最大,如下圖所示:
CF方法最大的優勢在於其速度之快,是任何其他跟蹤方法都無法比擬的,如本篇所寫的MOSSE,其速度可以到669幀每秒,把跟蹤算法從real time 級別提升到了high speed級別;而且其跟蹤準確率高,在wuyi他們的online benchmark上,帶核函數的CSK方法可以得到73%左右的準確率。有着如此明顯的優點,相信此類方法將會成爲跟蹤領域內繼sparse方法的又一重要分支。
好,言歸正傳,我們先來介紹CF中的元老,MOSSE。按照我們剛剛的思路,我們需要尋找一個濾波模板,使得它在目標上的響應最大,那麼寫成公式就是如(2)所示
其中
其中
但是在實際應用中,因爲目標的外觀變換等因素影響,我們需要同時考慮目標的
求解式(5)並不困難,而且根據卷積定理,在頻率域的操作都是元素級別的,因此我們可以分別求解
然後對(6)式求導並使其爲0即可求解,但要注意的是,論文中特別指出在複數域的求導與在實數域的有一點區別:
按以上方式處理所有
就可以開始跟蹤了。在跟蹤的過程中,我們只需要把以上模板與當前幀的圖像作相關操作,將得到的響應結果中最大的那點對應座標作爲目標在當前幀位置就可以了(相當於在2維上平移我們的模板)。然後,模板的更新方式可以按照如下的方式進行:
本文的內容大體就這樣了,剩下的就是在(8)上面進行一些修改,比如在分母裏引進一個