顏色保衛戰與VOT2016

VOT2016競賽 VOT2016 Challenge | Home,依然是VOT2015那60個序列,不過這次做了重新標註更加公平合理,今年有70位參賽選手(tracker),意料之中深度學習已經雄霸天下了,8個純CNN方法和6個結合深度特徵的CF方法大都名列前茅,還有一片的CF方法,最最最重要的是,良心舉辦方竟然公開了他們能拿到的38個tracker,部分tracker代碼和主頁,下載地址:VOT2016 Challenge | Trackers (以後媽媽再也不用擔心我找不到源碼了),注意部分是下載鏈接,部分是源碼壓縮包,部分源碼是二進位文件,好不好用一試便知,方便對比和研究,需要的趕快去試試。馬上來看競賽結果(這裡僅列舉前60個):

用戶上傳的圖片

標出來了前面介紹過的或比較重要的方法,結合多層深度特徵的相關濾波C-COT排第一名,而CNN方法TCNN是VOT2016的冠軍,作者和MDNet是同一人,純顏色方法DAT和ASMS都在中等水平,其他tracker的情況請參考VOT競賽論文。再來看速度,SMACF沒有公開代碼,ASMS依然那麼快,排在前10的方法中也有兩個速度比較快,分別是排第5的Staple,和其改進演算法排第9的STAPLE+,而且STAPLE+是今年的推薦實時演算法。首先恭喜Luca Bertinetto大牛的SiamFCStaple都表現非常不錯,然後在為大牛默哀三分鐘(VOT2016的paper原文):

This was particularly obvious in case of SiamFC trackers, which runs orders higher than realtime (albeit on GPU), and Staple, which is realtime, but are incorrectly among the non-realtime trackers.

VOT2016竟然發生了烏龍事件,Staple在論文中是80FPS,怎麼EFO在這裡只有11?幸好Staple和STAPLE+都公開了代碼,上面下載地址都有,有興趣您可以去實測下,雖然我電腦不如Luca Bertinetto大牛,但Staple我也能跑60-70FPS,而更可笑的是,STAPLE+比Staple慢了大約7-8倍,竟然EFO高出4倍,到底怎麼回事呢?

  • 首先看Staple的代碼,如果您直接下載Staple並設置params.visualization = 1來跑,Staple調用Computer Vision System Toolbox來顯示序列圖像,而恰好如果您沒有這個工具箱,默認每幀都會用imshow(im)來顯示圖像所以非常非常慢,而設置params.visualization = 0就跑的飛快(作者你是孫猴子派來的逗逼嗎),建議您將顯示圖像部分代碼替換成DSST中對應部分代碼就可以正常跑和顯示了。

  • 再來看STAPLE+的代碼,改進包括額外從顏色概率圖中提取HOG特徵,特徵增加到56通道(Staple是28通道),平移檢測額外加入了大位移光流運動估計的響應,所以才會這麼慢,而且肯定會這麼慢。

所以很大可能是VOT舉辦方把Staple和STAPLE+的EFO弄反了VOT2016的實時推薦演算法應該是排第5的Staple,相關濾波結合顏色方法,沒有深度特徵更沒有CNN,跑80FPS還能排在第五,這就是接下來主要介紹的,2016年最NIUBILITY的目標跟蹤演算法之一Staple。

顏色特徵,在目標跟蹤中顏色是個非常重要的特徵,不管多少個人在一起,只要目標穿不用顏色的一幅就非常明顯。前面介紹過2014年CVPR的CN是相關濾波框架下的模板顏色方法,這裡隆重介紹統計顏色特徵方法DAT Learning, Recognition, and Surveillance @ ICG,可能是由於相關濾波中HOG的效果太好了,所以作者展開了顏色保衛戰:

  • Possegger H, Mauthner T, Bischof H. In defense of color-based model-free tracking [C]// CVPR, 2015.

DAT統計前景目標和背景區域的顏色直方圖並歸一化,這就是前景和背景的顏色概率模型,以後每幀線性插值更新顏色直方圖;檢測時對檢測區域每個像素,根據其像素顏色值在前景和背景中的概率,貝葉斯方法判別這個像素屬於前景的概率,得到像素級顏色概率圖,在加上高斯權值函數抑制邊緣相似顏色物體,就能得到目標的區域了:

用戶上傳的圖片

具體定位和尺度方法請參考論文。DAT在VOT上都略高於ASMS,幀率15FPS,這就是顏色保衛戰DAT。

如果要用一句話介紹Luca Bertinetto(牛津大學)的Staple Staple tracker,那就是把模板特徵方法DSST(基於DCF)和統計特徵方法DAT結合

  • Bertinetto L, Valmadre J, Golodetz S, et al. Staple: Complementary Learners for Real-Time Tracking [C]// CVPR, 2016.

前面分析了相關濾波模板類特徵(HOG)對快速變形和快速運動效果不好,但對運動模糊光照變化等情況比較好;而顏色統計特徵(顏色直方圖)對變形不敏感,而且不屬於相關濾波框架沒有邊界效應,快速運動當然也是沒問題的,但對光照變化和背景相似顏色不好。綜上,這兩類方法可以互補,也就是說DSST和DAT可以互補結合:

用戶上傳的圖片

簡單嗎?非常不簡單,兩個框架的演算法高效無縫結合,25FPS的DSST和15FPS的DAT,而結合後速度竟然達到了80FPS。DSST框架把跟蹤劃分為兩個問題,即平移檢測和尺度檢測,DAT就加在平移檢測部分,相關濾波有一個響應圖,像素級前景概率也有一個響應圖,兩個響應圖線性加權得到最終響應圖,其他部分與DSST類似,平移濾波器、尺度濾波器和顏色概率模型都以固定學習率線性加權更新。

  • 既然是顏色特徵,DSST+DAT換成DSST用HOG+CN一樣嗎?

肯定是不一樣的。1. CN特徵是模板類特徵,DAT中統計顏色直方圖是概率特徵,舉個例子,跟蹤目標是人,穿白色上衣,黑色褲子,CN特徵學習到上白下黑的模板,顏色直方圖學習到目標60%是白色,40%是黑色。如果這個人倒立了,CN模板對不上就認為這個不是目標,而顏色直方圖依然60%白40%黑,判定就是目標。2. HOG+CN任然在相關濾波框架中,具有相關濾波的固有缺陷,而像素級概率顏色概率響應不受這一影響,能正確檢測快速變形和快速運動情況,某種程度上來說DAT緩解了CF的邊界效應,所以對快速運動情況不像DSST那麼差。

  • Staple為什麼能控制計算量,比DSST和DAT都快還不損失性能?

首先,Staple中檢測和更新的圖像塊大小限制在150*150以內,即HOG特徵解析度在38*38以內,這樣DSST的速度就會很快。但前面也分析過即使2因子下採樣精度已經比較低了,那為什麼Staple的精度不受影響呢?因為平移相關濾波響應和顏色概率響應要線性加權,而顏色概率響應得解析度在150*150左右下降不是很多,這就彌補了平移相關濾波的精度損失。舉個例子,原始檢測圖像塊解析度是400*400,如果限制解析度到100*100,HOG特徵解析度是25*25,響應圖也是25*25,1像素位移對應跟蹤框16像素位移;而加入DAT後,顏色概率響應解析度是100*100,相關濾波響應先上採樣到100*100,再兩個響應結合,最終響應的解析度是100*100,1像素位移對應跟蹤框4像素位移,跟蹤精度提高了很多且保持低計算量。其次,像素級顏色概率圖到顏色概率響應採用積分圖加速計算,積分圖是加速神器不用多說。這兩種策略分別提高了DSST和DAT的速度,而且Staple並沒有破壞封閉解,所以非常非常之NIUBILITY。

  • 兩種響應圖線性加權,會不會太簡單,效果不夠好?

具體實現中採用比較簡單的線性加權,最終響應 = (0.7*相關濾波響應 + 0.3*顏色概率響應),可以看出Staple更加相信相關濾波的結果,而顏色概率只是起到輔助作用,看代碼作者實現了另一種加權方式fit_gaussian,可能效果不好最終沒用。

用戶上傳的圖片

相關濾波響應值是判別器輸出的置信度,可以表示平移濾波器的可靠程度,跟蹤越可靠峰值越大;顏色概率響應值表示當前像素點屬於前景的置信度,像素點及附近像素屬於前景的概率越高,響應值越大,也可以表示顏色概率模型的可靠程度。所以作者說這種線性加權是置信度加權,CF代表相關濾波的峰值點,PWP代表顏色概率響應的峰值點:

  1. 如果CF和PWP大小相似時,以相關濾波響應為主,顏色響應僅微調跟蹤框的位置;

  2. 如果CF比較大,PWP比較小時,說明相關濾波響應更可靠,此時顏色概率響應幾乎沒有貢獻;

  3. 如果CF比較小,PWP比較大時,說明顏色響應更可靠,以顏色峰值所在區域的CF局部峰值為主;

以上就是非常推薦而且比較快的Staple,在VOT資料庫上性能非常高,競賽結果已經看到了,前面也提到過顏色特徵方法在OTB上不會很好,在OTB50上Staple略低於SRDCF。

Staple雖然簡單高效,但也有不足之處,例如,僅以峰值判斷置信度並不可靠,以上策略並不總是正確的。如果能有更全面可靠的指標,讓我們知道相關濾波的檢測置信度,那加權係數就可以自適應確定,在相關濾波檢測置信度較低時更多地相信顏色概率的結果,也許會更加合理(個人拙見僅供參考)。也可以用更好的模板特徵和統計特徵在這個框架中完美結合,提升性能。

另一種相關濾波結合顏色概率的方法是CSR-DCF,基於DSST(當然也是沒有Kernel),提出了空域和通道可靠性

  • Luke?i? A, Vojí? T, ?ehovin L, et al. Discriminative Correlation Filter with Channel and Spatial Reliability [C]// CVPR, 2017.

空域可靠性通過前背景顏色直方圖概率和中心先驗計算空域二值約束掩膜,讓濾波器自適應學習和跟蹤顏色比較顯著的目標部分,緩解邊界效應:

用戶上傳的圖片

通道可靠性用於區分檢測時每個通道的權重,由兩個指標決定:訓練通道可靠性指標表示響應峰值越大的通道可靠性越高,檢測可靠性指標表示響應圖中第二和第一主模式之間的比值:

用戶上傳的圖片

其實,CSR-DCF中的空域可靠性得到的二值掩膜就類似於CFLM中的掩膜矩陣P,在這裡自適應選擇更容易跟蹤的目標區域且減小邊界效應;以往多通道特徵都是直接求和,而CSR-DCF中通道採用加權求和,而通道可靠性就是那個自適應加權係數。

CSR-DCF也屬於傷筋動骨類方法,和CFLM一樣也用ADMM迭代優化求解。同樣是顏色方法,僅HOG+CN特徵的CSR-DCF,在OTB100上接近SRDCF,在VOT2015上超過DeepSRDCF,在VOT2016上超過C-COT,速度13FPS,感覺也是非常NIUBILITY,等代碼實測吧,如果非常注重性能,那這個接近實時的方法也非常推薦。

相關濾波還有個排在第一名的CCOT,下次在結合深度特徵的相關濾波中一起介紹。
推薦閱讀:

1.23【OpenCV圖像處理】直方圖均衡化和計算
遙感圖像亮度地形糾正
1.29【OpenCV圖像處理】輪廓邊界框
[171118] PyQt5 滑動條控制 Canny 邊緣閾值並繪製 OpenCV 圖像

TAG:图像处理 | 计算机视觉 | 机器学习 |