基於Deep Learning的跟蹤算法總結(三)

本文是博主對最近看的相關跟蹤算法的總結,其中的算法有一些不是基於深度學習的。另外本文只是對各篇論文的核心亮點簡單描述,同時加上博主本身的一些見解。本文僅做爲學習筆記,供學習交流,若是有什麼錯誤或疑問,歡迎留言。php

知乎:王弗蘭克
https://www.zhihu.com/people/xue-sheng-er-yi/activitiesgit

這裏提供兩個連接,供你們學習參考。
目標跟蹤專欄(目前在更新):https://zhuanlan.zhihu.com/visual-tracking
」小白在閉關「我的博客:http://wh1te.me/index.php/tag/tracking/github

1、壓縮跟蹤(compressive tracking)

簡稱CT,發表於ECCV2012,升級版發表於PAMI2014,簡稱FCT。web

本文的核心在於使用壓縮感知的方法來進行特徵表示,實現了降維,同時獲得的低維信號能夠保持高維信號的特性。
這裏寫圖片描述
壓縮感知請參考:
http://blog.csdn.net/zhang11wu4/article/details/19699763算法

2、ECO( Efficient Convolution Operators for Tracking)

論文連接:
http://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1611.09224.pdf網絡

本文主要解決三個問題:
一、模型大小(使用了CNN提取特徵的跟蹤算法,參數過多,致使速度慢;又因爲訓練數據少,容易過擬合);
二、訓練集大小(這裏所指的訓練集是指保存了每一幀的跟蹤結果的訓練集,因此隨着跟蹤的進行,訓練集愈來愈大,通常的解決方案是保存比較新的樣本,丟棄老的樣本,這樣一來,模型仍是容易過擬合。由於當目標被遮擋或者丟失的時候,比較新的這些樣本自己就是錯的,那麼模型很容易有model drift,就是被背景或者錯誤的目標污染,致使跟蹤結果出錯。);
這裏寫圖片描述
三、模型更新(顯然,模型若是每幀都更新,速度確定比間歇更新要慢)。dom

本文的核心是Factorized Convolution Operator(因式分解的卷積操做)。其做用主要是爲了降維。另外,經過改變訓練樣本的分來,減小了數據的冗餘。更新規則是目前比較通用的,每隔幾幀更新一次,這樣能夠避免模型漂移。svg

因式分解卷積以及算法的流程請參見:
http://blog.csdn.net/discoverer100/article/details/62885860性能

3、TCNN(Modeling and Propagating CNNs in a Tree Structure for Visual Tracking)

論文連接:
http://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1608.07242.pdf學習

這篇其實剛剛是上一篇文章的精煉,這裏稍微提一下。
http://blog.csdn.net/whfshuaisi/article/details/70228930

本文的核心在於使用了樹狀CNN結構,能夠理解爲跟蹤的每一個階段都訓練出新的CNN,即每一個CNN學習到的特徵是目標在不一樣階段的特徵,最後結果由多個CNN加權求和獲得。由於以前的信息也能被CNN捕獲,而且對最終結果有必定權重,因此能夠減小模型飄移。
這裏寫圖片描述

4、Staple:Complementary Learners for Real-Time Tracking

論文連接:
http://link.zhihu.com/?target=http%3A//arxiv.org/pdf/1512.01355
代碼連接:
https://github.com/bertinetto/staple

本文的核心在於考慮了兩種特徵的結合,即Learning the template score(Hog特徵)+ Learning the histogram score(簡單的顏色直方圖)。

相關濾波用HOG特徵時對運動模糊和照度很魯棒,可是對形變不夠魯棒。而顏色直方圖對形變則很是魯棒。畢竟一個目標有了形變後,整個目標的顏色分佈是基本不會變的。另外一方面,顏色直方圖對光照變化不魯棒,這一點又能夠由HOG特徵進行互補。
這裏寫圖片描述

5、MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

論文連接:
http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Nam_Learning_Multi-Domain_Convolutional_CVPR_2016_paper.pdf
代碼連接:
https://github.com/HyeonseobNam/MDNet

本文發表於2015年。2015年末的時候,Visual Tracking領域繼Object Detection以後,陸續將CNN引入,可是大部分算法只是用在大量數據上訓練好的(pretrain)的一些網絡如VGG做爲特徵提取器,結果證實確實用了CNN深度特徵對跟蹤結果是有較大的改進的。那麼其實本身設計一個網絡來作跟蹤是你們都可以想到的思路,Korea的POSTECH這個團隊就作了MDNet。

本文的核心在於提出了Multi-Domain Network,多域學習的網絡結構。
這裏寫圖片描述
直接用視頻數據來進行訓練,從視頻中隨機採起8幀做爲一個mini-batch,而後在這8幀裏隨機採起正負樣本。鑑於不一樣的視頻裏,目標不一樣,因此,MDNet從新設計了網絡結構,即fc6層是針對不一樣視頻的。這樣的訓練來學得各個視頻中目標的共性。訓練好的網絡在作test的時候,會新建一個fc6層,在線fine-tune fc4-fc6層,卷積層保持不變。

模型更新方面,採用採用long-term和short-term兩種更新方式。
這裏寫圖片描述


6、GOTURN(Generic Object Tracking Using Regression Networks)

第一個作到100FPS的深度學習跟蹤算法——GOTURN。
這裏寫圖片描述

本文的核心在於不對patch進行classification,而是對object的bounding-box進行迴歸,以得到更高的FPS。

輸入是當前幀和上一幀。

兩種假設:
網絡比較先後兩幀,並找到目標在當前幀的位置,有點verification的意思;網絡就想一個通用的object detector,找到最近的目標。

噹噹前幀出現較爲嚴重的遮擋/相機運動,此時tracker能夠從前一幀中得到很是大的性能提高,由於tracker記住了哪一個objcet是要跟蹤的,這種狀況中,第一個假設扮演了重要的角色。而當幀間變化劇烈時,相鄰幀的比較更爲困難,此時假設二佔主導,tracker表現的像一個通用object detector


最後,本身這段時間也把目標跟蹤方向的經典論文看了一遍,這裏對這個方向作個簡單的梳理。

總結:

①目前目標跟蹤主要分爲兩大類:基於相關濾波和基於深度學習。須要注意的是,由於訓練數據缺失的問題,這一領域暫時未被深度學習徹底統治。
②頂會上目標跟蹤論文主要有兩類:拼精度和拼速度。精度和速度一直是跟蹤領域的矛與盾。相比而言,基於深度學習方法的模型精度更好,但基於相關濾波(能夠用FFT加速)的模型速度快不少。
③目標跟蹤≠目標檢測。
參考:https://www.zhihu.com/question/36500536
④遮擋和劇烈形變,是目標跟蹤須要解決的關鍵問題。解決方法主要是使用long-term和short-term兩種更新方式。上面提到的TCNN其實也是這種思想。
⑤目標跟蹤論文的不一樣之處主要在於:訓練數據的處理,模型的結構,更新的規則。
⑥總的來講,讀論文時,目標跟蹤相比與目標檢測,路線不是那麼明確。由於目標檢測有RCNN系列,以及一連串改進,最後是基於迴歸方法的YOLO和SSD嘛。但目標跟蹤就比較雜,很差梳理髮展的路線。

展望:

最近GAN應用在了目標檢測上,能夠生成輔助樣本。博主目前在想如何把GAN應用在目標跟蹤上(也許已經有相關論文,歡迎指出)。同時,關注到3D Vision有崛起的勢頭(以前有3D CNN),由於3D模型在跟蹤場景其實更直觀明瞭,因此考慮是否是不要把視頻樣本當成是一幀幀2D圖像來處理,我對這個方向目前沒什麼頭緒,不知道今年CVPR放出來有沒有相關論文,歡迎有研究的同窗留言交流。