Fully-Convolutional Siamese Networksfor Object Tracking 翻譯筆記

最近在研究牛津大學的Luca Bertinetto 的論文系列,這是第一篇開頭,希望把它研究透徹,tensorflow的代碼已經跑通,第一篇博客,如有不好,多多包涵。

摘要:傳統上,任意對象跟蹤的問題是通過僅僅在線地學習對象外觀的模型來解決,使用視頻本身作為唯一的訓練數據。 儘管這些方法取得了成功,但他們的在線方法本質上限制了他們可以學習的模型的豐富性。 最近,人們已經多次嘗試過利用深度卷積網路的強大表達能力。 但是,如果事先不知道要跟蹤的對象,則需要在線執行隨機梯度下降來適應網路的權重,嚴重影響系統的速度。 在本文中,我們配備了一個基本的跟蹤演算法,在ILSVRC15數據集(用於視頻中的目標檢測)上進行端到端的全卷積連體網路的訓練。 我們的跟蹤器以超過實時的幀率運行,儘管其極其簡單,卻能夠在多個基準測試中實現最高水平的性能。

關鍵詞:目標跟蹤,孿生網路,相似性學習,深度學習。

1:介紹

我們認為跟蹤視頻中的任意對象的問題,其中對象僅由第一幀中的矩形標識。 由於該演算法可能被要求跟蹤任意的對象,因此不可能已經收集到數據並訓練出特定的檢測器。

這幾年來,這個領域最成功的典範就是使用從視頻本身提取的樣本,以在線方式學習對象外觀的模型[1]。 這在很大程度上歸功於TLD [2],Struck [3]和KCF [4]等方法的顯示能力。 但是,使用僅從當前視頻衍生出的數據的明顯缺陷是只能學習比較簡單的模型。 雖然計算機視覺中的其他問題已經越來越普遍地採用由大型監督數據集訓練的深度卷積網路(卷積網路),但是監督數據的稀缺性和實時操作的約束阻礙了在每個視頻中學習一個檢測器的方式這種深度學習式的簡單的應用。

最近的一些工作的目的是通過一個預先訓練的深度網路來克服這個限制,這個網路是針對不同的但相關的任務而學的。 這些方法使用「淺」方法(例如相關性濾波),通過使用網路內部表達作為特徵[5,6]或者執行SGD(隨機梯度下降)來調整網路的多個層[7,8,9], 雖然使用淺層方法不能充分利用端到端學習的好處,但在跟蹤過程中應用SGD以實現最新結果的方法卻無法實時運行。

我們提出了一種替代方法,在這種方法中,深度網路被訓練來解決初始階段的更一般的相似性學習問題,然後在跟蹤過程中簡單地對這個函數進行在線評估。 本文的主要貢獻是證明這種方法在速度遠遠超過幀速率要求的情況下在現代跟蹤基準測試中實現了非常有競爭力的性能。 具體而言,我們訓練一個孿生網路,以在較大的搜索圖像內找到示例圖像。 另一個貢獻是對搜索圖像進行完全卷積的新型孿生結構:使用雙線性層來實現密集且有效的滑動窗口評估,該雙線性層計算兩個輸入的互相關。

我們認為相似性學習方法相對被忽視,因為跟蹤界無法訪問大量標記的數據集。 事實上,直到最近,可用的數據集只包含幾百個帶注釋的視頻。 然而,我們相信視頻中的目標檢測ILSVRC數據集(以後稱為ImageNet Video)的出現使得訓練這樣一個模型成為可能。 此外,使用來自同一領域的視頻進行跟蹤的深度模型的訓練和測試的公平性是爭議的焦點,因為最近VOT委員會已經禁止了這一點。 我們展示了我們的模型從ImageNet視頻域推廣到ALOV / OTB / VOT [1,11,12]域,使得跟蹤基準的視頻被保留用於測試目的。

2 跟蹤深度相似性學習

學習跟蹤任意目標可以使用相似性學習來解決。 我們提出去學習一個函數 f(z,x) ,將示例圖像 z 與相同大小的候選圖像 x 進行比較,如果兩幅圖像描繪相同的對象,則返回高分,否則返回低分。 為了找到新的圖像中的對象的位置,我們可以詳盡地測試所有可能的位置,並選擇與對象的過去的外觀具有最大相似性的候選。 在實驗中,我們將簡單地使用對象的初始外觀作為示例。 函數 f 將從具有標記的對象軌跡的視頻的數據集中學習。

鑒於它們在計算機視覺領域的廣泛成功[13,14,15,16],我們將使用深度網路作為函數 f 。 通常使用孿生結構來解決深度網路的相似學習[17,18,19]。 孿生網路對兩個輸入應用相同的變換,然後根據 f(z,x)=g(varphi(z),varphi(x)). 使用另一個函數 g 組合它們的表示。 當函數 g 是一個簡單的距離或相似性度量時,函數 varphi 可以被認為是一個嵌入。 以前的深度孿生轉換已被應用於人臉識別[18,20,14],關鍵點描述符學習[19,21]和單字元識別[22]等任務。

2.1 全卷積孿生結構

我們提出了一個關於候選圖像x的完全卷積的孿生結構。 我們說,如果一個函數是用變換的,那麼它是全卷積的。 為了給出更精確的定義,引入 L_{	au} 表示變換運算元 (L_{	au})[u]=x[u-	au]

將信號映射到信號的函數 h 與整數步長 k 完全卷積:

h(L_{k	au}x)=L_{	au}h(x)

對於任何變換 	au 。 (當 x 是一個有限的信號,這隻需要保持輸出的有效區域。

全卷積網路的優點是,我們可以提供一個大得多的搜索圖像作為輸入,而不是一個相同大小的候選圖像,它將計算密集網格上所有變換的子窗口的相似度 在一個單一的評估。 為了達到這個目的,我們使用卷積嵌入函數 varphi 並且使用互相關層組合所得到的特徵映射

f(z,x)=varphi(z)*varphi(x)+b1

其中 b1 表示在每個位置取值為 bin R 的信號。 這個網路的輸出不是一個單一的分數,而是一個有限網格 Dsubset Z^{2} 上定義的分數圖,如圖1所示。請注意,嵌入函數的輸出是一個具有空間支持的特徵映射,與普通矢量相反。 同樣的技術已經應用於當代立體匹配工作[23]。

在跟蹤過程中,我們使用以目標的上一個位置為中心的搜索圖像。 相對於分數圖中心的最大分數的位置乘以網路的步幅,給出了幀與幀之間目標的位移。 通過組裝縮小圖像的小批量,在單個前向搜索中搜索多尺度。

使用互相關組合特徵地圖和較大的搜索圖像上一次評估網路在數學上是等效於使用內積結合特徵的地圖和獨立地評估每個變換子窗口上的網路。 然而,互相關層提供了一個非常簡單的方法來有效地在現有的網路庫的框架內實現這個操作。 雖然這在測試過程中顯然是有用的,但在訓練期間也可以被利用。

2.2 用大的搜索圖像訓練

我們採用判別式的方法,用正樣本和負樣本兩方面對網路進行訓練,並採用邏輯損失

l(y,v)=log(1+exp(-yv))

其中 v 是單個樣本-候選對的真實值得分, y in { +1,-1 }是它的真值標籤。 我們利用訓練期間網路的全卷積特性,利用包含示例圖像和更大搜索圖像的對。 這將生成一個得分圖 v:D
ightarrow R ,每對有效地生成許多例子。 我們將分數圖的損失定義為所有的損失的平均值

L(y,v)=frac{1}{left| D
ight|} sum_{uin D}^{}{l(y[u],v[u])}

要求分數圖中的每個位置 uin D 都有一個真實的標籤 y[u]in left{ +1,-1 
ight} 。conv-net的參數 	heta 是通過對問題採用用隨機梯度下降(SGD)獲得的

arg min_{	heta} E_{z,x,y} L(y,f(z,x:	heta)).

通過提取以目標為中心的範例和搜索圖像,從注釋視頻的數據集中獲得配對,如圖2所示。圖像是從包含該對象的視頻的兩個幀中提取的,並且最多相隔 T 個幀, 訓練期間對象的類別被忽略。 每個圖像內的目標的比例被正則化而不破壞圖像的寬高比。 如果分數圖的元素在中心的半徑R內(考慮網路的步幅k),則認為分數圖的元素屬於正樣本

得分圖中正例和反例的損失被加權起來消除類失衡。

由於我們的網路是全卷積的,所以不存在對中心子窗口學習一個偏差的風險。 我們認為考慮以目標為中心的搜索圖像是高效的,因為最不利的子窗口和對跟蹤器性能影響最大的子窗口可能是那些與目標相鄰的子窗口。

請注意,由於網路是對稱的, f(z,x)=f(x,z) ,實際上它在範例中也是全卷積的。 雖然這允許我們在理論上為不同的目標使用不同大小的範例圖像,但是我們假定統一大小,因為它簡化了小批量實現。 但是,這個假設在未來可以放鬆。

2.3 ImageNet Video for tracking

ImageNet大規模視覺識別挑戰2015年版(ILSVRC)引入了ImageNet視頻數據集,作為視頻挑戰中新的目標檢測的一部分。 參賽者需要對來自30種不同類別的動物和車輛的物體進行分類和定位。 訓練和驗證集共包含近4500個視頻,總計超過一百萬個帶注釋的框架。 如果與VOT [12],ALOV [1]和OTB [11]中標記序列的數量相比,這個數字特別令人印象深刻,它們總共少於500個視頻。 我們認為,這個數據集應該對跟蹤社區極為有利,不僅因為它的規模龐大,而且還因為它描繪的是不同於標準跟蹤基準的場景和對象。 出於這個原因,它在這些基準測試中使用的視頻領域中,可以安全地用來訓練一個深度模型來跟蹤而沒有過擬合。

2.4 實際考慮

數據集合 在訓練過程中,我們採用 127	imes127 的範例圖像和搜索圖像是 255	imes255 像素。 對圖像進行縮放,使得邊界框加上上下文的添加邊界,具有固定區域。 更確切地說,如果緊密的邊界框具有大小 left( w	imes h 
ight) 並且上下文邊界是 p ,則選擇比例因子 s 以使得縮放的矩形的面積等於常數

s	imesleft( w+2p
ight)	imes sleft( h+2p 
ight)=A

我們使用範例圖像 A=127^{2} 的面積,並將上下文量設置為平均維數 p=(w+h)/4 。 為了避免訓練期間的圖像大小調整,離線提取每幀的範例和搜索圖像。 在這項工作的初步版本中,我們採取了一些啟發式方法來限制提取訓練數據的幀數。 對於本文的實驗,我們已經使用了全部4417個ImageNet Video視頻,這些視頻佔據了200多萬個標註邊界框。

網路結構 我們為嵌入函數 varphi 採用的體系結構類似於Krizhevsky等人的網路的卷積階段[16]。 參數和激活函數的維數在表1中給出。最大池化層在前兩個卷積層之後使用。 ReLU非線性跟隨每個卷積層,除了conv5最後一層。 在訓練過程中,在每個線性層之後立即插入批量歸一化[24]。 最終代表的步長是八。 設計的一個重要方面是網路中沒有引入填充。 雖然這在圖像分類中是很常見的做法,但是這違反了方程式的全卷積性質。

跟蹤演算法 由於我們的目的是要證明我們的全卷積孿生網路的有效性及其在ImageNet視頻訓練中的泛化能力,我們使用一個極其簡單的演算法來執行跟蹤。與更複雜的跟蹤器不同,我們不更新模型或保留過去的外觀記憶,我們不包含光學流或顏色直方圖等附加線索,而且我們也沒有用邊界框回歸來預測我們的預測。然而,儘管其簡單性,跟蹤演算法配備了我們離線學習的相似性度量時,卻取得了驚人的好成績。

在線跟蹤詩,我們確實包含了一些基本的時間約束:我們只在大約四倍於其以前的大小的區域內搜索對象,並將餘弦窗口添加到分數圖以懲罰大的位移。 通過縮放空間的跟蹤是通過處理幾個縮放版本的搜索圖像來實現的。 規模的任何變化都會受到懲罰,現有規模的更新也會受到阻礙。

3 相關的工作

近期的一些工作已經試圖訓練循環神經網路(RNN)來解決目標跟蹤問題。 Gan等人在[25]。 訓練一個RNN來預測每個幀中目標的絕對位置,Kahou等在 [26]同樣訓練一個RNN跟蹤使用一個可微的注意機制。 這些方法在現代基準測試中還沒有顯示出有競爭力的結果,但它對於未來的研究肯定是一個有希望的途徑。我們認為,這種方法和我們的方法可以通過解釋一個孿生網路作為展開的RNN來訓練 並對長度為2的序列進行評估。孿生網路因此可以作為循環模型的強有力的初始化。

(插入:最近也看了一篇多注意循環跟蹤HART,牛津大學的。處理現實世界中的跟蹤效果比較好,在KITTI數據上驗證效果很好,訓練難度比較大。)

下面就是相關的工作,感覺和本文的聯繫不大,實驗結果和實現的細節也都相對容易看,等把tensorflow的代碼看完,再針對代碼把網路結構梳理一下。

未完,待續。。。。


推薦閱讀:

乾貨 | TensorFlow的55個經典案例
機器學習 | 更進一步,用評估器給花卉分類
機器學習基礎:線性回歸
深度學習框架跑分測驗(TensorFlow/Caffe/MXNet/Keras/PyTorch)

TAG:深度学习DeepLearning | TensorFlow |