Hierarchical convolutional Features for visual tracking
算法概要
這篇文章所提出的算法在本質上還是cf那一套框架,作者着重改變的是目標的特徵描述。在以往的cf中,大家用的都是常用的物體特徵描述,比如HOG,但是這種特徵畢竟是manual的,當目標本身的appearance發生較大的改變時,manual型的特徵不能很好的適應。注意到在物體檢測識別領域中,採用CNN提取的物體特徵,具有很好的魯棒性。因此將CNN引入到tracking領域中。
算法總體流程:
1、在第
2、對用到的CNN的3、4、5層,都構造一個cf,由後向前,將每一層的特徵與對應的cf進行卷積,計算confidence score
3、在新的中心位置周圍提取CNN特徵,用以跟新cf參數。
算法實現細節
一、用CNN提取convolutional features
作者採用已經用CNN訓練好的卷積特徵圖(convolutional feature map),來對目標的appearance進行編碼。其使用的CNN框架是目前效果很好的
隨着CNN的前向傳播,不同物體的semantic區別就會越明顯,但同時會造成空間分辨率的降低和空間位置的模糊,如圖:
這幅圖指示了CNN層數與semantic和spatial detail的關係。可看出,在靠前的layer中,圖像的空間信息有較好的保留,但是semantic卻比較少,這有點類似於對圖像進行Gabor濾波;在靠後的layer中,圖像的語義信息較爲豐富,但是空間信息卻又缺失了很多。
在跟蹤中,我們既希望特徵能夠有很好的semantic表達,又能保留準確的空間信息,因此作者想了個折衷的辦法,即在用CNN提取目標特徵時,不僅保留其最後一層輸出結果,同時中間層的輸出也保留下來,作者具體保留的是3、4、5三個layer。至於三種特徵的使用,其實結合CF進去的,後面會再做介紹。
二、雙線性插值進行upsample
在CNN中,由於pooling operation的存在,使得隨着layer深度的增加,特徵的spatial resolution(空間分辨率)會逐漸減小。比如,對於size爲224x224的圖像,在VGG-Net的第五層,其輸出size只有7x7。這樣的特徵圖太小,沒法對目標進行精確的定位,因此需要對特徵進行升採樣,升採樣的方式爲:
這裏
三、構造correlation filte
對於每一層的輸出特徵,(其size爲
上式中,
將目標函數用FFT變換轉換到頻域,可以得到目標函數的最優解爲:
其中
當給定下一幀圖像的searching region後,提取區域的特徵(
相關性濾波器的跟新策略:
四、coarse-to-fine translation estimation
上文說過CNN提取的特徵,隨着深度的增加,特徵的語義信息增強,空間信息減少。所以作者採用CNN的3、4、5層的輸出作爲特徵,並對每各層的輸出均構造一個獨立的CF:
由上圖可知,首先求出第五層的最高響應位置:
然後根據下列關係求出前一層的最高響應位置:
即後一層的response影響前一層的response,並且其影響的範圍是在後一層最高響應點的附近。