Adaptive Color Attributes for Real-Time Visual Tracking
這是CVPR2014年的文章。
首先介紹一下視覺目標跟蹤,他在計算機視覺中是一個很有挑戰性的問題,
簡單來說,就是在第一個frame標註一個目標框,然後tracker在後續frame緊跟住這個框。
挑戰在於要處理各種光照變化,外觀變形,背景相似干擾等等情況。
在這個領域有一個很有名的競賽叫做VOT,他每年都會更新dataset,
評比之後,然後會公布tracker的排名,像2016年有60個tracker,競爭很激烈。
基本上,視覺目標跟蹤方法主要分成兩大類:
生成(generative):
在當前frame對目標區域建模,下一幀尋找與模型最相似的區域就是預測位置。
例如:卡爾曼濾波,粒子濾波,mean-shift等。
判別(discriminative):
當前幀以目標區域為正樣本,背景區域為負樣本,用來訓練分類器,下一幀用訓練好的分類器找最優區域。
通常會使用到背景資訊,所以效果普遍比生成類方法好。
其中目前比較熱門的,是基於相關濾波(Correlation Filter)和深度學習的方法。
這篇論文屬於相關濾波中很經典的一篇。
相關濾波基本架構長這樣,
首先,輸入第一個frame,在要追蹤的區塊提取特徵,訓練後得到相關濾波器。
然後,下一個的frame也進行特徵提取,做傅立葉變換,然後與相關濾波器相乘,
最大響應點即為要追蹤目標的新位置,然後再用新位置區域訓練更新,
得到新的相關濾波器,用於之後的預測。
在本篇以前的視覺跟蹤方法,通常只使用了灰階影像,或是只用到簡單的色彩空間轉換。
這篇主要的貢獻在於他們證明了顏色屬性對於視覺跟蹤問題具有優越的表現,
他們把顏色屬性分為11類,然後提出一種類似PCA的方式來把顏色屬性降維,來做到real time的視覺跟蹤。
該方法比基於灰階度的跟蹤器提升了24%的距離精度,而且速度可達到100fps以上。
比目前所有的跟蹤方法都好。
他們的方法是基於CSK跟蹤器,CSK有非常快的運算速度,在2013年的VOT 排在前五名。
那一年前幾名幾乎都是相關濾波類的方法。
相關濾波法有點像template比對,
在訓練中得到了一個目標物體的template,然後拿測試樣本去逐個和template對比,找出最相似的。
他能這麼快的關鍵在於,使用了循環移位結構來進行frame的相關性檢測。
之前的檢測通常用滑窗法來做,要一步一步的移動window來計算相關性,會很慢。
而用循環移位產生的訓練樣本跟用滑窗法密集採樣產生的樣本很像,
而且還有個好處,
這樣的循環結構在計算相關性時,可看作是兩個frame之間做卷積(window的滑動步長為1)。
但在時域上做卷積的運算量是非常驚人的,所以他透過傅立葉轉換,
改在頻域上做點乘,運算量則小得多,所以他的速度才能這麼快。
CSK主要分為Training 和 detection兩階段。
通過訓練兩個相鄰frame的關係model,再偵測目標的運動方向,
不斷迭代後,就能完整地跟蹤目標。
首先,訓練label是由高斯函數產生的連續值,相關濾波是回歸而非分類,這點和以前的判別類方法區別較大。
如下訓練樣本是原始樣本通過循環移位產生,
原始圖像中心(紅點)移位後,對應高斯圖位置的值就是這個移位樣本的標籤(藍點)。
簡單來說,訓練的目的則是要找出當前幀對應的α ,就是相關濾波器。
y是根據起始位置中心所建立的高斯函數圖。
訓練完畢後,根據下一幀的核映射,可檢測出對應的響應圖像yˆ。
可看出,響應圖yˆ出現微弱的偏移,該偏移便是跟蹤對象的運動方向。
根據最新位置,更新下一幀的起始位置,並重複上述步驟,則能得到對象的位置的變化。
用實際例子來解釋:
首先讀入影片,在第一個frame中標定目標的位置還有大小,
然後以取目標中心四倍大小的子視窗,就是待會要處理的patch。
接著進行預處理,把patch乘上一個hann window,有點像是mask,為了消除邊緣效應和強調中心。
接下來取feature的部分CN跟CSK有些不同,CSK只有使用灰階值,
而CN將RGB轉換成11維顏色表示,然後總和為1。
例如紅色是(1,0,0) 綠色是(0,1,0),產生右邊的color map,
若這11維都要在頻域計算出他們的alpha,那計算量一定非常大。
所以,他們提出了一個自適應的顏色維度下降方法,
就是保留有用的資訊,移除無用的顏色維度,因此使得速度得到顯著提高。
首先做EVD特徵值分解,找到一個適合的降維映射矩陣(projection matrix)Bp 和 變異數矩陣 lamda。
他們用這個方法壓縮CN至2維,
Learning Rate: µ 學習率
另外,為了讓tracker 能夠容許目標外觀的改變,必須要不斷更新目標模型。
更新方式是以固定學習率更新分類器參數。
這裡的Ap就是前面求的alpha,分子跟分母分開更新,
已學習到目標外形的Xp 用來計算下一個frame的檢測分數Y,
這種機制使得模型更新不需要存儲以前所有的外型,僅僅只需要存儲當前模型 。
最後我們計算responses,將最大的響應值作為目標的中心位置
CN2是有使用降維方法的CN,
比較發現,CN2在速度上有很大的增加,超過100fps,而精確度只有掉一點。
跟其他的tracker比較,CN得到的結果比其他都好。
可以看到CN tracker 的距離精確度比CSK增加了14.8%。