[行爲識別論文詳解]TSN(Temporal Segment Networks)

摘要
本文旨在設計有效的卷積網絡體系結構用於視頻中的動作識別,並在有限的訓練樣本下進行模型學習。TSN基於two-stream方法構建。

論文主要貢獻:

提出了TSN(Temporal Segment Networks),基於長範圍時間結構(long-range temporal structure)建模,結合了稀疏時間採樣策略(sparse temporal sampling strategy)和視頻級監督(video-level supervision)來保證使用整段視頻時學習得有效和高效。
在TSN的幫助下,研究了一系列關於視頻數據學習卷積網絡的良好實踐
數據集表現:HMDB51(69.4%)、UCF101(94.2%)

採用TSN進行行爲識別
TSN
two-stream 卷積網絡對於長範圍時間結構的建模無能爲力,主要因爲它僅僅操作一幀(空間網絡)或者操作短片段中的單堆幀(時間網絡),因此對時間上下文的訪問是有限的。視頻級框架TSN可以從整段視頻中建模動作。

和two-stream一樣,TSN也是由空間流卷積網絡和時間流卷積網絡構成。但不同於two-stream採用單幀或者單堆幀,TSN使用從整個視頻中稀疏地採樣一系列短片段,每個片段都將給出其本身對於行爲類別的初步預測,從這些片段的“共識”來得到視頻級的預測結果。在學習過程中,通過迭代更新模型參數來優化視頻級預測的損失值(loss value)。

TSN網絡示意圖如下:


由上圖所示,一個輸入視頻被分爲 KK 段(segment),一個片段(snippet)從它對應的段中隨機採樣得到。不同片段的類別得分採用段共識函數(The segmental consensus function)進行融合來產生段共識(segmental consensus),這是一個視頻級的預測。然後對所有模式的預測融合產生最終的預測結果。

注意:接下來“片段”代表文章中“snippet”,“段”代表文章中“segment”



其中,K是TSN使用的段數。TSN從整個視頻中學習模型參數而不是一個短的片段。與此同時,通過對所有視頻固定 KK,作者提出了一種稀疏時間採樣策略,其中採樣片段只包含一小部分幀。與先前使用密集採樣幀的方法相比,這種方法大大降低計算開銷。

學習TSN
爲了達到最佳表現,一些好的實踐如下:

網絡結構
一些工作表明更深的結構可以提升物體識別的表現。然而,two-stream網絡採用了相對較淺的網絡結構(ClarifaiNet)。本文選擇BN-Inception (Inception with Batch Normalization)構建模塊,由於它在準確率和效率之間有比較好的平衡。作者將原始的BN-Inception架構適應於two-stream架構,和原始two-stream卷積網絡相同,空間流卷積網絡操作單一RGB圖像,時間流卷積網絡將一堆連續的光流場作爲輸入。

網絡輸入
TSN通過探索更多的輸入模式來提高辨別力。除了像two-stream那樣,空間流卷積網絡操作單一RGB圖像,時間流卷積網絡將一堆連續的光流場作爲輸入,作者提出了兩種額外的輸入模式:RGB差異(RGB difference)和扭曲的光流場(warped optical flow fields)。


 
圖2 四種輸入模式的例子 
單一RGB圖像表徵特定時間點的靜態信息,從而缺少上下文信息。如上圖2所示,兩個連續幀的RGB差異表示動作的改變,對應於運動顯著區域。故試驗將RGB差異堆作爲另一個輸入模式。

TSN將光流場作爲輸入,致力於捕獲運動信息。在現實拍攝的視頻中,通常存在攝像機的運動,這樣光流場就不是單純體現出人類行爲。如上圖2所示,由於相機的移動,視頻背景中存在大量的水平運動。受到iDT(improved dense trajectories)工作的啓發,作者提出將扭曲的光流場作爲額外的輸入。通過估計估計單應性矩陣(homography matrix)和補償相機運動來提取扭曲光流場。如圖2所示,扭曲光流場抑制了背景運動,使得專注於視頻中的人物運動。

網絡訓練
由於行爲檢測的數據集相對較小,訓練時有過擬合的風險,爲了緩解這個問題,作者設計了幾個訓練策略。

交叉輸入模式預訓練
空間網絡以RGB圖像作爲輸入:故採用在ImageNet上預訓練的模型做初始化。對於其他輸入模式(比如:RGB差異和光流場),它們基本上捕捉視頻數據的不同視覺方面,並且它們的分佈不同於RGB圖像的分佈。作者提出了交叉模式預訓練技術:利用RGB模型初始化時間網絡。

首先,通過線性變換將光流場離散到從0到255的區間,這使得光流場的範圍和RGB圖像相同。然後,修改RGB模型第一個卷積層的權重來處理光流場的輸入。具體來說,就是對RGB通道上的權重進行平均,並根據時間網絡輸入的通道數量複製這個平均值。這一策略對時間網絡中降低過擬合非常有效。

正則化技術
在學習過程中,Batch Normalization將估計每個batch內的激活均值和方差,並使用它們將這些激活值轉換爲標準高斯分佈。這一操作雖可以加快訓練的收斂速度,但由於要從有限數量的訓練樣本中對激活分佈的偏移量進行估計,也會導致過擬合問題。因此,在用預訓練模型初始化後,凍結所有Batch Normalization層的均值和方差參數,但第一個標準化層除外。由於光流的分佈和RGB圖像的分佈不同,第一個卷積層的激活值將有不同的分佈,於是,我們需要重新估計的均值和方差,稱這種策略爲部分BN。與此同時,在BN-Inception的全局pooling層後添加一個額外的dropout層,來進一步降低過擬合的影響。dropout比例設置:空間流卷積網絡設置爲0.8,時間流卷積網絡設置爲0.7。

數據增強
數據增強能產生不同的訓練樣本並且可以防止嚴重的過擬合。在傳統的two-stream中,採用隨機裁剪和水平翻轉方法增加訓練樣本。作者採用兩個新方法:角裁剪(corner cropping)和尺度抖動(scale-jittering)。

角裁剪(corner cropping):僅從圖片的邊角或中心提取區域,來避免默認關注圖片的中心。

尺度抖動(scale jittering):將輸入圖像或者光流場的大小固定爲 256×340256×340,裁剪區域的寬和高隨機從 {256,224,192,168}{256,224,192,168} 中選擇。最終,這些裁剪區域將會被resize到 224×224224×224 用於網絡訓練。事實上,這種方法不光包括了尺度抖動,還包括了寬高比抖動。

測試TSN
由於在TSN中片段級的卷積網絡共享模型參數,所以學習到的模型可以進行幀評估。具體來說,作者採用與two-stream相同的測試方案——即從動作視頻中採樣25個RGB幀或光流堆。同時,從採樣得到的幀中裁剪4個邊角和1箇中心以及它們的水平翻轉來評估卷積網絡。

空間和時間流網絡採用加權平均的方式進行融合。相比於two-strean,TSN中空間流卷積網絡和時間流卷積網絡的性能差距大大縮小。基於此,設置空間流的權重爲1,設置時間流的權重爲1.5。當正常和扭曲光流場都使用時,將其權重1.5分出1給正常光流場,0.5給扭曲光流場。

在TSN部分說過,段共識函數在Softmax歸一化之前。爲了根據訓練測試模型,在Softmax之前融合了25幀和不同流的預測分數。

實驗
數據集和實現細節
實驗在兩個大型主流動作數據集HMDB51和UCF101上進行。UCF101數據集包含13,320個視頻剪輯,其中共101類動作。HMDB51數據集是來自各種來源的大量現實視頻的集合,比如:電影和網絡視頻,數據集包含來自51個動作分類的6,766個視頻剪輯。

作者使用小批量隨機梯度下降算法(mini-batch stochastic gradient descent algorithm)來學習網絡參數,batch size設置爲256,momentum設置爲0.9。用在ImageNet上預訓練的模型對網絡權重進行初始化。實驗中learning rate設置較小:對於空間網絡,初始化爲0.01,並且每2,000次迭代降爲它的 110110,訓練過程共迭代4,500次;對於時間網絡,初始化爲0.005,並且在第12,000和18,000次迭代之後降爲它的 110110,訓練過程共迭代20,000次。

作者使用TVL1光流算法來提取正常光流場和扭曲光流場。爲了加速訓練,使用多GPU數據並行策略,在修改過的Caffe和OpenMPI上實現。

UCF101訓練總時長(8塊TITANX GPUs):

空間TSNs:大約2小時
時間TSNs:大約12小時
探索研究
作者對四種方案進行實驗:(1)從零開始訓練;(2)僅僅預訓練空間流;(3)採用交叉輸入模式預訓練;(4)交叉輸入模式預訓練和部分BN dropout結合。結果總結在下表1中:


表1 在UCF101 split 1上對不同訓練策略進行實驗的結果 
 
由上表可以看出,從零開始訓練比基線算法(two-stream卷積網絡)的表現要差很多,證明需要重新設計訓練策略來降低過擬合的風險,特別是針對空間網絡。對空間網絡進行預訓練、對時間網絡進行交叉輸入模式預訓練,取得了比基線算法更好的效果。之後還在訓練過程中採用部分BN dropout的方法,將識別準確率提高到了92.0%。

在上文中提出了兩種新的模式:RGB差異和扭曲的光流場。不同輸入模式的表現比較如下表2。


表2 不同輸入模式的表現比較 
 
由上表可以看出:首先,RGB圖像和RGB差異的結合可以將識別準確率提高到87.3%,這表明兩者的結合可以編碼一些補充信息。光流和扭曲光流的表現相近(87.2% vs 86.9%),兩者融合可以提高到87.8%。四種模式的結合可以提高到91.7%。由於RGB差異可以描述相似但不穩定的動作模式,作者還評估了其他三種模式結合的表現(92.3% vs 91.7%)。作者推測光流可以更好地捕捉運動信息,而RGB差異在描述運動時是不穩定的。在另一方面,RGB差異可以當作運動表徵的低質量、高速的替代方案。

評估TSN
在公式 (1)(1) 中,段共識函數被定義爲它的聚合函數 gg,這裏評估 gg 的三種形式:(1)最大池化;(2)平均池化;(3)加權平均。實驗結果見表3。


表3 TSN不同段共識函數的實驗結果 
 
我們發現平局池化函數達到最佳的性能。因此在接下來的實驗中選擇平均池化作爲默認的聚合函數。然後比較了不同網絡架構的表現,結果總結在表4。


表4 在不同深度卷積網絡上的實驗結果 
 
具體來說,比較了3個非常深的網絡架構:BN-Inception、GoogLeNet和VGGNet-16。在這些架構中,BN-Inception表現最好,故選擇它作爲TSN的卷積網絡架構。

現在,可以按照上述分析好的設置實現TSN了。從準確率的角度進行組件分析,結果如下:


表5 從準確率的角度進行組件分析的結果 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章