1. 程式人生 > >從MOSSE到KCF,再從KCF到C-COT,再從C-COT到ECO梳理

從MOSSE到KCF,再從KCF到C-COT,再從C-COT到ECO梳理

Table of Contents

                                         正文開始

                                                 MOSSE

2       背景

4    評估

5  結論

相關文獻

                                                 KCF

演算法產生

演算法塊建立

線性迴歸

迴圈轉換

迴圈矩陣

5 線性迴歸

7   多通道

8 實驗部分

8.2 推理

其他:

演算法衍生過程:看下圖(取自foolwood的維護圖)。

recent_develop

學習目的:為學習C-COT和其衍生的ECO打基礎。

Table of Contents

                                         正文開始

                                                 MOSSE

2       背景

4    評估

5  結論

相關文獻

                                         正文開始

                                                 MOSSE

演算法作者:David S. Bolme J. Ross Beveridge Bruce A. Draper Yui Man Lui

演算法提出時間:

相關濾波跟蹤(MOSSE)

相關濾波器在跟蹤領域在之前並沒有被很好地應用,但是相關性濾波器夠追蹤發生旋轉、遮蔽、和其他干擾的複雜物體,並且速度是當時技術的20倍以上,這這種特性正是優秀的目標跟蹤所需要的。

一開始,最簡單的相關性濾波器用簡單的模板,在應用於追蹤領域的時候通常以失敗告終。之後出現了更加先進的方法如:ASEF、UMACE等則表現較好,但是這些演算法的訓練需求和追蹤是很不匹配的。視覺追蹤需要從一個單個的幀訓練穩定而強健的濾波器,並能夠隨著物體外表發生變化而自適應。

作者一開始在論文中提了一下大環境,並舉出幾個當時表現不錯的幾個例子,指出其訓練需求難滿足,演算法結構複雜等缺點。然後提出了他自己的演算法————————最小輸出平方誤差(MOSSE)濾波器。MOSSE能夠在初始化單個幀的時候產生穩健的濾波器。作者提到,基於MOSSE過濾器的跟蹤器對照明、縮放、姿態和非剛性變形的變化非常有效,同時執行速度為669幀/秒。根據峰值-託旁比的比率(PSR)檢測到遮擋,這使得跟蹤器能夠暫停並當物件重新出現時的位置重新開始追蹤。

演算法在當時諸如:增量視覺跟蹤(IVT)[17],基於健壯的碎片跟蹤(FragTrack)[1],基於圖形的鑑別學習(GBDL)[19],以及多個例項學習(MILTrack)[2],雖然表現很好,但是這些演算法本身或者包含的技術都十分複雜,它們通常包含複雜的外觀模型和演算法結構,因此,這些演算法的幀率就顯得有些差強人意了——25~30FPS。

對比很明顯————在相同或者類似的準確度地情況下,MOSSE比其他演算法更簡潔,更加高速。

1      MOSSE與其他演算法的具體比較

MOSSE以一種更簡單的跟蹤策略實現。它對目標的外觀用自適應相關性濾波器來建模,並用卷積來追蹤。而以往簡單的建立過濾器的方法,例如從影象中裁剪模板,為目標生成強大的峰值,卻也會對背景產生錯誤的響應。因此,他們對目標外觀的變化並沒有特別的魯棒性,並且在具有挑戰性的跟蹤問題上失敗了。合成精確濾波器(ASEF)的平均值,不受約束的最小平均相關能(UMACE),以及最小輸出平方誤差(MOSSE)(本文介紹)產生的濾波器對外觀變化更有彈性,並且更好地區分目標和背景

如上圖2所示,結果顯示,以上提到的三種方法(ASEF、YMACE、MOSSE)比老套的過濾器在峰值上更高,換句話說,出現了更少的漂移和更少的掉落軌道。通常,ASEF和UMACE的過濾器都是離線訓練的,並用於物件檢測或者目標識別。作者在這些技術的基礎上做了線上訓練和自適應的改進,來用於視覺追蹤。結果,用改進後的演算法的追中保留了很多底層相關性方法的速度和簡單性。

儘管這種方法很簡單,但是基於修改後的ASEF、UMACE或者MOSSE過濾器在旋轉,刻度,照明,和部分遮擋方面的變化表現很好(看Figure 1)。主副峰比(PSR)用於測量相關性峰值的強度,能夠被用於遮擋或者追蹤失敗的檢測,來停止線上更新,並在目標重新以類似的外觀出現時重新開始追蹤。更一般地說,這些高階相關過濾器實現了與前面提到的更復雜的跟蹤器的效能一致;然而,基於過濾器的方法速度快了20倍,每秒可以處理669幀。

2       背景

20世紀80年代和90年代,出現了很多相關性濾波器的變種,包括合成判別函式(SDF)[7,6]、最小方差合成判別函式(MVSDF)[9]、最小平均相關能(MACE)[11]、最優權衡濾波器(OTF)[16]和最小平方誤差合成判別函式(MSESDF)[10]。這些過濾器是根據不同外觀的物體和強制的硬約束的例子來進行訓練的,這樣過濾器就會產生同樣高的峰值。而MACE能產生高峰和高的PSRs,更具這種特性。

[12]中,研究發現,像MACE這樣的基於SDF的硬約束的過濾器會導致失真容限的問題。該問題的解決辦法是通過消除硬約束,而不是要求過濾器去產生一個高平均相關性迴應。這種新型的無約束相關性濾波器稱為稱為最大平均相關高度(MACH),這種濾波器也導致了一種叫做UMACE的MACE變體的產生。

一種稱為ASEF [3]的新型別的關聯過濾器引入了一種針對特定任務調優過濾器的方法。以前的方法只指定一個峰值值,ASEF指定每個訓練影象的整個相關性輸出。ASEF在眼睛定位[3]和行人檢測[4]方面都表現良好。不幸的是,在這兩項研究中,ASEF需要大量的訓練影象,這使得視覺跟蹤的速度太慢。

於是,作者開始通過引入一種適合於視覺跟蹤的ASEF的正則化變體來減少這種資料需求。

3       基於追蹤的相關性濾波器。

基於追蹤器的過濾器通過在例樣圖片上訓練過的過濾器來對物體外形進行建模。目標最初是基於一個以第一幀中的物件為中心的小型跟蹤視窗來選擇的。從這一點開始,跟蹤和過濾訓練一起工作。在下一幀中,通過將過濾器與搜尋視窗關聯起來,跟蹤目標。在相關輸出中對應於最大值的位置表示目標的新位置。然後根據這個新位置進行線上更新。

為了建立一個快速跟蹤器,在傅立葉域快速傅立葉變換(FFT)[15]中計算出相關性。首先,輸入影象的二維傅立葉變換:F=F(f)和濾波器:H=F(h)。卷積定理說,相關性成為傅立葉域的一個元素乘法。通俗地說,卷積定理中,影象在時域上的卷積等於影象在頻域上的乘法。使用這個符號⊙來顯式地表示元素的乘法並用∗表示複共軛,相關性如下形式表達:

                                                     G=F\bigodot{H^*}                                                                             (1)

然後通過反FFT將相關輸出從傅立葉域轉換回空間域。這個過程的瓶頸是前向計算和逆FFTs,這樣整個過程就有一個O(P log P)的上限時間P,P就是跟蹤視窗中畫素的數量

3.1   預處理

FFT卷積演算法的一個問題是影象和濾波器被對映到一個環面的拓撲結構。換句話說,它將影象的左邊緣連線到右邊緣,並將頂部與底部連線起來。在卷積的過程中,影象在環形空間中旋轉,而不是像在空間域中那樣進行轉換。人為地連線影象的邊界會引入一個工件,它會影響相關輸出。

通過遵循Average of synthetic exact filters. In CVPR, 2009(可以參考這篇部落格簡單瞭解)中列出的預處理步驟,可以減少這種效果。首先,畫素值是使用對數函式進行轉換的,這有助於低對比度的照明情況。畫素值被規範化為0.0的平均值和1.0的範數。最後,影象乘以一個餘弦視窗,它會逐漸減少邊緣附近的畫素值為0。這也有好處它將更多的重點放在目標中心附近

3.2 MOSSE過濾器

MOSSE是一種從較少的訓練影象中產生類似於ASEF相似的過濾器的演算法。首先,它需要一組訓練影象$f_i$和訓練輸出$g_i$,一般而言$g_i$能夠取任何形狀。在這種情況下,$g_i$是由正確的標註資料(即我們常說的label)產生的,它有一個緊湊的(\sigma=2.0)的二維高斯形狀的峰在訓練影象$f_i$的目標上。訓練是在傅立葉域進行的,以利用輸入和輸出之間簡單的元素之間的關係。和前一節一樣,我們定義大寫的變數$F_i$$G_i$和過濾器H_i是它們小寫字母的傅立葉變換.

                                                                 {H^*_i}=\frac{Gi}{Fi}                                                         (2)

在這裡,除法是由元素來執行的

為了找到一個將訓練輸入對映到所需訓練輸出的過濾器,MOSSE找到一個濾波器H,它最小化了卷積的實際輸出和卷積的期望輸出之間的平方誤差之和。這個最小化問題的形式

                                                   \max \limits_{H^*} $$\sum_i {\left |{F_i}\bigodot{H^*-{G_i}}\right|}                                             (3)

將平方誤差(SSE)與輸出最小化的想法並不新鮮。實際上,方程(3)中的優化問題與Minimum squared error synthetic discriminant functions. Optical Engineering, 31:915, 1992. 2和Unconstrained correlation filters. Applied Optics, 33(17):3751–3759, 1994中給出的優化問題幾乎相同。不同之處在於,在這些作品中,我們假設目標總是在{f_i}中心處,而輸出({g_i})是固定在整個訓練集上的,而定製每個{g_i}是ASEF和MOSSE背後的基本思想。在跟蹤問題中,目標並不總是以中心為中心,而{g_i}的峰值則在f_i中跟隨目標。在更一般的情況下,g_i可以取任何shape。

解決這個優化問題並不是特別困難,但是確實需要一些注意,因為優化的函式是一個複雜變數的實值函式。首先,H的每個元素(索引\nu\omega)都可以獨立地解決,因為傅立葉域中的所有運算都是由元素來執行的。這涉及到從{H^*_{\omega\nu} }{H_{\omega\nu} }來重寫函式。然後,W.R.T. {H^*_{\omega\nu} }的部分被設定為零,同時把{H_{\omega\nu} }當作一個獨立的變數(D. Messerschmitt. Stationary points of a real-valued function of a complex variable. Technical report, EECS, U.C. Berkeley, 2006. 4, 10)

                                                        O=\frac{\partial }{\partial {H^*{\omega\nu}}} \sum _i \left | {F_{i\omega\nu}}{H^*_{\omega\nu}}-{G_{i\omega\nu}} \right |^2                 (4)

通過求解MOSSE濾波器的封閉形式表示式H^*,得到:

                                                                       H^* = \frac{\sum_i G_i \bigodot F_i^*}{\sum_i F_i \bigodot F^*_i}                               (5)

一個完整的推導是在附錄A中,方程式5中的術語有一個有趣的解釋。分子是輸入和期望輸出之間的關係,分母是輸入的能量譜

從方程5中,我們可以很容易地看出UMACE是一個特殊的MOSSE案例。UMACE被定義為H^* = D^{-1} m^*其中m是一個包含平均中心裁剪訓練影象FFT的向量,D是一個對角矩陣包含訓練影象的平均能量譜.因為D是一個對角矩陣,乘以它的逆本質上是一個元素的除法。當用當前的符號重寫時,UMACE會採用這種形式:

                                                             H^* = \frac{\sum_i F^*_i}{\sum_i F_i \bigodot F^*_i}                             (6)

然而,UMACE要求目標以F_i為中心。重新進入可以使用相關性進行。如果我們將G_i定義為克羅尼克三角洲(在目標中心有一個峰值,而在其他地方則為0),這將本質上重新進入目標並計算一個UMACE過濾器。這個和傳統的實現的區別在於我們在這裡裁剪然後轉換,傳統的方法是先轉換後裁剪。

為了證明MOSSE能產生比ASEF更好的過濾器,我們進行了一個實驗,它改變了用於訓練過濾器的影象的數量。通過對視訊的第一幀的跟蹤視窗應用隨機小的仿射干擾來初始化過濾器。第二幀的PSR被用作過濾質量的一種測量方法。圖3顯示,在對少量影象視窗進行訓練時,MOSSE會產生更好的過濾器。原因將在下一節中討論。

3.3 ASEF的正則化

ASEF採用了一種稍微不同的方法來最小化相關轉換中的錯誤。事實證明,當只有一個訓練影象F_i和一個輸出影象G_i時,有一個過濾器可以產生零錯誤。這個過濾器被稱為精確濾波器可以通過求解方程1來找到:

                                                       H^*_i = \frac{G_i}{F_i}=\frac{G_i \bigodot F^*_i }{F_i \bigodot F^*_i}                                 (7)

在一個影象上訓練的精確過濾器幾乎總是超出了這個影象。當應用到一個新影象時,這個過濾器通常會失敗。平均用於產生更一般的過濾器。平均的動機來自於Bootstrap Aggregation(出自L. Breiman. Bagging Predictors. Machine Learning, 24(2):123–140, 1996. 5),其中弱分類器的輸出可以被平均地產生一個更強的分類器。通過一些操作,ASEF過濾器的方程可以顯示為:

                                                        H^* = \frac{1}{N} \sum_i \frac{G_i \bigodot F^*_i}{F_i \bigodot F^*_i}                               (8)

如果只使用一個影象進行訓練,MOSSE和ASEF都能產生精確的過濾器

ASEF過濾器在對少量影象進行訓練時是不穩定的,因為當訓練影象中的頻率幾乎沒有能量時(或者分母接近於零)時,方程8中的元素的劃分就變得不穩定了。平均大量的精確過濾器彌補了這個問題,併產生了健壯的ASEF過濾器。因為MOSSE的分母是能量除以更多影象的總和,它很少會產生小的數字因此更穩定。

另一種方法是,正則化可以用來校正低能量頻率,併產生更穩定的ASEF過濾器。這是通過在能量譜中新增一個小值來實現的。F_i \bigodot F^*_ii被替換為F_i\bigodot F_i^* +\epsilon其中\epsilon是正則化引數.

正則化類似於OTF理論的結果,它通常與UMACE過濾器一起使用。這一結果表明,將背景噪音的能量譜新增到訓練影象中,將產生一個更好的噪聲容差(出自P. Refregier. Optimal trade-off filters for noise robustness, sharpness of the correlation peak, and Horner efficiency. Optics Letters, 16:829–832, June 1991.)。這裡我們添加了白噪聲。

圖4顯示了調整%的效果。通過適當的正則化所有的過濾器都產生了良好的峰值並且應該足夠穩定以產生良好的追蹤。

3.4 過濾器初始化和線上更新

方程式8和5描述了在初始化過程中如何構造過濾器。訓練集是使用隨機仿射變換構造的,在初始幀中產生8個小的擾動(F_i)。訓練輸出(G_i)也會產生與目標中心相對應的峰值。

在跟蹤過程中,目標通常可以通過改變其旋轉、尺度、姿態,通過不同的光照條件,甚至是通過非剛性的變形來改變外觀。因此,過濾器需要快速適應以跟蹤物件。執行平均值用於此目的。例如,從座標系i中學習的ASEF過濾器被計算為:

                                                        H_i^* = \eta \frac{G_i \bigodot F_i^*}{F_i \bigodot F^*_i} +(1-\eta){H^*_{i-1}}              (9)

MOSSE過濾器則是這樣的:

                                                                 H_i^* = \frac {A_i}{B_i}                                                                (10)

                                                               A_i = \eta G_i \bigodot F_i^* + (1- \eta) A_{i-1}                           (11)

                                                               B_i = \eta F_i \bigodot f^*_i + (1-\eta)B_{i-1}                            (12)

其中\eta代表學習速率。這將使最近的幀更有分量,並讓前幀的效果隨著時間的推移呈指數衰減。在實踐中,我們發現\eta=0.125允許過濾器快速適應外觀的變化,同時仍然保持一個健壯的過濾器。

3.5  失敗檢測和PSR

正如前面提到的,一個簡單的峰值強度測量被稱為峰到斜比(PSR)。為了計算PSR,相關輸出g被分割成最大值,也就是最大值和側面,也就是畫素的其餘部分,不包括在峰值附近的11 ×11個視窗。PSR被定義為\frac{g_{\max}-\mu_{s1} }{\sigma _{s1} }g_{\max}是峰值值而\mu _{s1}\sigma _{s1}是側面的平均值和標準偏差。

根據我們的經驗,在正常跟蹤條件下,PSR、ASEF和MOSSE通常在20.0到60.0之間,這表示非常強的峰值。我們發現,當PSR下降到7時左右,這表明物體被遮擋或跟蹤失敗了。對於簡單的實現PSR在3.0到10.0之間,對於預測跟蹤質量沒有用處。

4    評估

最初,一個實時的基於MOSSE的跟蹤系統是在網路攝像頭的實時視訊中建立和評估的。實時反饋可以很容易地測試跟蹤器配置的小變化,並對各種目標和跟蹤條件的跟蹤效能進行定性分析。這些測試為跟蹤器的操作提供了有價值的見解,並幫助生成了本文中介紹的快速和健壯的跟蹤器。

對7個常用的測試視訊進行了更有控制的評估,這些視訊可以從http://www.cs.toronto.edu/∼dross/ivt/免費下載。測試視訊都是灰度級的,包括在照明、姿勢和外觀方面的挑戰。攝像機本身在所有的視訊中都在移動,這增加了目標的不穩定運動。這七個序列包括兩個車輛跟蹤場景(car4,car11),兩個玩具跟蹤場景(fish,sylv)和三個面部跟蹤場景(davidin300,dudek和trellis70)。

4.1  過濾器比較

節評估UMACE、ASEF和MOSSE過濾器的跟蹤質量。這些都與一個簡單的過濾器進行了比較,該過濾器基於一個平均預先處理的跟蹤視窗,並帶有線上更新。跟蹤輸出被手動標記為良好的跟蹤,跟蹤是偏離中心的,或者是丟失的軌跡(見圖5)

從定性上說,所有的過濾器,包括單純的過濾器,都能夠在測試集中的範圍、旋轉和光照變化的範圍內追蹤物體的軌跡,而大多數的漂移和失敗都發生在目標經歷了一個大的外平面旋轉時。請參見圖6中的davidin300序列示例。過濾器傾向於跟蹤目標中心的一個點。當目標旋轉時,這個點移動到目標邊界,跟蹤器最終進入一個狀態,其中大部分跟蹤視窗都被背景所覆蓋。過濾器適用於這個半背景視窗當目標旋轉回到一個正面的位置時,過濾器有時會轉移到一個新的位置或者它們可能會鬆開目標並跟蹤背景。

這些結果表明,先進的相關濾波器跟蹤目標的時間比單純的方法要長。峰值也有好處,PSR可以很好地預測軌跡質量,而PSR對天真的過濾器來說並不是特別有用。對於高階過濾器來說,漂移和故障總是與低PSRs有關。如圖7所示,這表明MOSSE PSR可以定位該視訊中最具挑戰性的部分。

對於基於過濾器的追蹤器來說,很難斷言任何一個過濾器型別都能很好地執行另一個過濾器。在這七個視訊序列中的四個,相關過濾器執行得很好。在davidin300上所有的過濾器在相同的平面旋轉過程中從臉部的中心漂移到眼睛裡在這個序列的相同的困難部分中過濾器漂移。這兩個序列表明,篩選型別的選擇並不特別重要,因為過濾器以完全相同的方式失敗。

只有在dudek序列中,這三個過濾器之間有顯著的區別。雖然MOSSE完美地完成了這一過程,但UMACE和ASEF在視訊的部分內容上遇到了問題。儘管在第3節中提供的證據表明MOSSE可能是這個任務的最佳過濾器,但是在一個視訊序列上的單個故障不足以支援一個強有力的宣告;還需要更多的研究

4.2  與其他追蹤器的比較

為了評估演算法維護軌跡的能力,我們將我們的輸出與IVT 17和MILTrack 2的作者釋出的視訊進行了比較(見第4節)。這些視訊還包含了健壯的線上外觀模型(漫遊)8、線上Ada-Boost(OAB)14和碎片1的示例結果。我們考慮過為其他演算法下載程式碼但我們選擇研究作者自己的視訊這代表了這些演算法的最佳效能同時也減少了我們未能正確實現或優化這些演算法的論點。在這些比較中,我們的方法能夠保持軌跡,或者比那些演算法更好。本著這種精神,我們還將我們的結果釋出到我們的網站youtube上(http://youtube.com/users/bolme2008),這樣其他人就可以進行相同的比較。圖8描述了視訊中的格式和註釋。

在D. Ross, J. Lim, R. Lin, and M. Yang. Incremental learning for robust visual tracking. IJCV, 77(1):125–141, 2008. 1, 2, 7中,IVT 和ROAM在圖5的四個序列中進行了比較。其中,davidin300和dudek的序列成功地完成了。IVT在sylv的第620幀附近失敗了,在框架330的框架下也失敗了。在已釋出的視訊序列中,漫遊跟蹤器執行得很好。這兩個追蹤器所缺少的兩個追蹤器的一個特點是,它們估計了目標的規模和方向,提供了關於它在空間位置的更多資訊。

I在[2]中,MILTrack [2]、OAB [14]和FragTrack [1]davidin300sylv序列上進行了比較。所有的追蹤器都顯示出明顯的漂移,在davidin300上失敗了。這些追蹤器的漂移與過濾器所看到的完全不同。在這些視訊中,跟蹤視窗在目標之間來回移動。當過濾器漂移時,當目標發生改變時,它們傾向於偏離中心,然後它們被鎖定在一個新的中心點。

4.3  實時效能

測試是在一個2.4 Ghz的核心2雙核MacBook Pro的處理器上進行的。本文中測試的跟蹤器是用Python編寫的,使用PyVision庫、OpenCV和SciPy。最初的Python實現在使用64 64跟蹤視窗時,平均每秒大約250次跟蹤更新。為了更好地測試跟蹤器的執行時效能,程式碼中一些較慢的部分在C中重新實現,其中包括更好的記憶體管理和更有效的時間消耗任務,如標準化、FFTs和PSRs。這些優化的結果是,幀速率為每秒669次,如圖9所示。

基於過濾器的跟蹤的計算複雜度是O(P log P),其中P是過濾器中畫素的數量。這來自於相關操作和線上更新中使用的FFTs。跟蹤初始化會產生一種O(NP log P)的時間成本,其中N是用來初始化第一個過濾器的仿射擾動的數量。雖然這比線上更新慢很多倍,但是初始化仍然比實時的速度快,每秒66.32幀更新。

5  結論

摘要本文研究了利用重權分類器、複雜的外觀模型和隨機搜尋技術來解決的視覺跟蹤問題,可以用高效、簡單的MOSSE相關濾波器代替。其結果是一種易於實現的演算法,可以是準確的,而且速度要快得多。

在這篇論文中,跟蹤器被簡單地用來評估過濾器的跟蹤和適應困難的跟蹤場景的能力。有很多簡單的方法可以改進這個跟蹤器。

例如,如果目標的外觀相對穩定,可以通過偶爾重新進入基於初始幀的過濾器來減輕漂移。跟蹤器還可以通過在更新後過濾跟蹤視窗的log極座標轉換來估計規模和旋轉的變化。

相關文獻

[1] A. Adam, E. Rivlin, and I. Shimshoni. Robust fragmentsbased tracking using the integral histogram. In CVPR, 2006. 1, 2, 7

[2] B. Babenko, M.-H. Yang, and S. Belongie. Visual Tracking with Online Multiple Instance Learning. In CVPR, 2009. 1, 2, 7

[3] D. S. Bolme, B. A. Draper, and J. R. Beveridge. Average of synthetic exact filters. In CVPR, 2009. 2, 3

[4] D. S. Bolme, Y. M. Lui, B. A. Draper, and J. R. Beveridge. Simple real-time human detection using a single correlation filter. In PETS, 2009. 2, 3

[5] L. Breiman. Bagging Predictors. Machine Learning, 24(2):123–140, 1996. 5

[6] D. Casasent. Unified synthetic discriminant function computational formulation. Appl. Opt, 23(10):1620–1627, 1984. 2

[7] C. Hester and D. Casasent. Multivariant technique for multiclass pattern recognition. Appl. Opt., 19(11):1758–1761, 1980. 2

[8] A. Jepson, D. Fleet, and T. El-Maraghi. Robust online appearance models for visual tracking. T-PAMI, 25(10):1296–1311, 2003. 7

[9] B. Kumar. Minimum-variance synthetic discriminant functions. J. Opt. Soc. of America., 3(10):1579–1584, 1986. 2

[10] B. Kumar, A. Mahalanobis, S. Song, S. Sims, and J. Epperson. Minimum squared error synthetic discriminant functions. Optical Engineering, 31:915, 1992. 2, 3

[11] A. Mahalanobis, B. V. K. V. Kumar, and D. Casasent. Minimum average correlation energy filters. Appl. Opt., 26(17):3633, 1987. 2

[12] A. Mahalanobis, B. Vijaya Kumar, S. Song, S. Sims, and J. Epperson. Unconstrained correlation filters. Applied Optics, 33(17):3751–3759, 1994. 2, 3

[13] D. Messerschmitt. Stationary points of a real-valued function of a complex variable. Technical report, EECS, U.C. Berkeley, 2006. 4, 10

[14] N. C. Oza. Online Ensemble Learning. PhD thesis, U.C. Berkeley, 2001. 7

[15] W. Press, B. Flannery, S. Teukolsky, and W. Vetterling. Numerical Recipes in C. Cambridge Univ. Press, 1988. 3

[16] P. Refregier. Optimal trade-off filters for noise robustness, sharpness of the correlation peak, and Horner efficiency. Optics Letters, 16:829–832, June 1991. 2, 5

[17] D. Ross, J. Lim, R. Lin, and M. Yang. Incremental learning for robust visual tracking. IJCV, 77(1):125–141, 2008. 1, 2, 7

[18] M. Savvides, B. Kumar, and P. Khosla. Face verification using correlation filters. In AIAT, 2002. 4

[19] X. Zhang, W. Hu, S. Maybank, and X. Li. Graph based discriminative learning for robust and efficient object tracking. In ICCV, 2007. 1, 2

                                                 KCF

演算法作者:João F. Henriques, Rui Caseiro, Pedro Martins, and Jorge Batista

演算法提出時間:

相關濾波跟蹤在跟蹤領域的突破(MOSSE)

在MOSSE成功地將相關濾波加入到追蹤領域,並利用卷積定理:在時域的卷積即傅立葉域中元素的點乘。

Real-time compressive tracking,Tracking-learning-detection,Robust object tracking with online multiple instance learning,On-line random forests等演算法都是當時最流行的演算法型別----------------判別模型類。判別模型類包括在網路上訓練一個分類器,受統計機器學習方法的啟發,來預測影象中目標的存在與否。跟蹤-檢測正規化的典型例子包括那些基於Support Vec-tor Machines (SVM) , Random Forest classifiers, or boosting variants。以上提到的幾種演算法都必須適應線上學習,以便對跟蹤有用。

作者的目標是能夠在轉換過的影象塊上能夠有效地學習和檢測。和KCF不一樣,大多數其他的方法都把心思花在去除不相關的影象塊上。在檢測方面,可以使用分支定界來查詢分類器的最大響應,避免在不相關的候選塊花費資源。

演算法產生

作者的idea萌生於MOSSE網路的產生。

這一工作的初步版本早在29年就提出了。它第一次證明了脊迴歸與週期性變化的樣本和經典相關濾波器之間的聯絡。這使得快速學習與O(n log n)快速的傅立葉變換而不是消耗的矩陣代數。第一個核相關過濾器也被提出,儘管僅限於一個單獨的通道。此外,它還提出了在所有迴圈移位中計算核心的封閉形式的解決方案。這些都帶有相同的O(n log n)的計算成本,並且它們是由徑向基和點積核推匯出來的

演算法塊建立

線性迴歸

脊迴歸能夠提供一個簡單封閉性的解決方案,並且能夠實現與更復雜方法如SVM相當的效能。訓練的目標是找到一個函式:f_{(Z)}= w^Tz.能夠最小化樣本x_{i}和它們的迴歸值y{i}之間的平方差。:

\min_w \sum_i (f_{(X_i)}-y_i)^2+\lambda \left \|w \right \|^2                               (1)

\lambda是一個正則化引數用於控制過擬合。正如之前提到的,這個最小化函式有一個閉合形式:

w =(X^TX+\lambda I )^{-1}X^Ty                                     (2)

矩陣X每一行X有一個樣本,y的每一個元素都是一個迴歸目標y i。I是一個單位矩陣.

在4.4中,作者的工作不得不在傅立葉域中進行,而在傅立葉域中數量通常是複雜的。但是隻要用EQ(2)來處理就不會變得更困難。

w =(X^HX+\lambda I )^{-1}X^Ty

X^H是厄米矩陣的轉置,也就是X^H = (X^*)^T,X^*是X的複共軛。對於實數等式3會降級到等式2

迴圈轉換

考慮一個n個向量,它表示一個帶特徵的物體的patch,表示為x。我們將把它作為基本樣本。我們的目標是用基本樣本(一個積極的例子)和通過轉換獲得的幾個虛擬樣本(作為反面例子)來訓練一個分類器。我們可以用一個迴圈移位運算元來模擬這個向量的一維變換,也就是置換矩陣

乘積Px = [x_n,x_1,x_2,...,x_{n-1}]^T通過一個元素轉換x,建模一個小的轉換。我們可以通過使用矩陣P^ux來把u移到更大的轉換

由於迴圈性質,我們每n次移動得到相同的訊號x。這意味著所有的移位訊號都是通過(5)獲得的

                          \{P^\mu |\mu = 0,...n-1\}                                     (5)

由於迴圈性質,我們可以把這個集合的前半部分看成是正的負向,而下半部分則是負方向的變化

迴圈矩陣

為了用轉換過的樣本來計算迴歸,用式子(5)作為矩陣X的一行資料

所有的迴圈矩陣都是由離散傅立葉變換(DFT)對角化的,可以表達為:

                            X= F diag(\hat{x})) F^H                                              (7)

其中,F是一個常量矩陣無關於X,並且\hat{x}表示離散傅立葉變換生成的向量,\hat{x} = \mathcal{F}(x)。從現在起我們將會用 \hat{ }來標記離散傅立葉變換產生的向量。

常數矩陣F已知為DFT矩陣。並且是用來計算任何輸入向量的DFT的唯一矩陣,寫為\mathcal{F}(z) = \sqrt{n}Fz。因為DFT是一個線性操作,所以寫為這樣是完全可行的。

組合以上部分

當訓練資料由迴圈轉換組成時,我們可以運用新的知識來簡化等式3中的線性迴歸問題。

X^HX,它可以被看作是一個非中心的協方差矩陣。取代等式7中的部分。

                    X^HX = F diag(\hat{x}^*)F^HF diag(\hat{x}F^H)                    (8)

因為對角矩陣是對稱的,取厄密共軛的轉置只留下了一個複共軛,\hat{x}^*.

另外,我們可以消去因子F^HF=I.這個性質是F的單位性可以在很多表達式中被消掉,我們只剩下
                              X^HX = F diag(\hat{x}^*) diag(\hat{x})F^H                             (9)

因為對角矩陣的運算是元素的,我們可以定義元素的乘積並得到

                  X^H = F diag(\hat{x}^* \bigodot\hat{x} )F^H                                  (10)

以上的步驟總結了通常採用的方法-----用迴圈矩陣在對角表示式中。通過運用這些方法,可以將它們遞迴到完整的線性迴歸的表示式(等式3),我們將大部分的表示式放入對角矩陣中:

                    \hat{w} = diag(\dfrac{\hat{x}^*}{\hat{x}^*\bigodot\hat{x +\lambda }})\hat{y}                              (11)

或者更好:

                        \hat{w} = \dfrac{\hat{x}^*\bigodot\hat{y}}{\hat{x}^*\bigodot\hat{x}+\lambda}                                        (12)

分數部分表示為元素級別的除法。我們可以輕易地將w用反向DFT轉換回空間域,這和前向DFT所花費的代價一樣。

另外,在這一點上作者剛剛發現了一個來自經典訊號處理的意外公式解決方案是一個正則化的相關濾波器。在進一步探索這種關係之前,我們必須對Eq的計算效率進行高強度的計算,與一般的提取patch的方法相比,並解決一般的迴歸問題。

和相關濾波器的關係

自80年代以來,相關濾波器一直是訊號處理的一部分,在傅立葉域中有無數個目標函式的解。這些過濾器的解決方案看起來像Eq.12,但是有兩個關鍵的區別。首先,MOSSE篩選器是從一個在傅立葉域中特別制定的目標函式中得到的.其次,正則化器以一種特別的方式新增,以避免按零分。我們上面所展示的推導增加了相當的洞察力,通過將起始點指定為帶迴圈移位的脊迴歸,併到達相同的解。

迴圈矩陣使我們能夠通過經典的訊號處理和現代的相關濾波器來豐富工具集,並將傅立葉的技巧應用到新的演算法中。在下一節中,我們將看到一個這樣的例子,在培訓非線性濾波器中。

5 線性迴歸

允許更強大的非線性迴歸函式f(z)的一種方法是使用核心技巧23。最吸引人的特性是優化問題仍然是線性的,儘管是在不同的變數集合中(雙空間)。在不利方面,評估f(z)通常會隨著樣本數量的增加而增長。

然而,使用我們的新分析工具,我們將證明有可能克服這一限制,並獲得與線性相關濾波器一樣快的非線性過濾器,用於培訓和評估。

5.1 Kernel trick(核方法) 簡要概述

本節將簡要回顧核心技巧,並定義相關的符號。

.將線性問題的輸入對映到非線性特性空間(x)和核心技巧包括:

    (1)  將解決方案w表示為樣本的線性組合:

                           w = \sum_i \alpha_i\varphi (x_i)