Temporal Segment Networks: Towards Good Practices for Deep Action Recognition
- 文章概要
-
- 視訊級架構:時間分段網絡
- 有限的訓練樣本下學習模型
- 時間分段網絡
-
- 架構
- 學習時間段網絡
-
- 網絡體系結構
- 網絡輸入
- 網絡訓練。
- 測試時間分段網絡
- 實驗
-
- 資料集和實施細節
- 探索研究
-
- 時間分段網絡的評估
- 與最新技術的比較
文章概要
論文旨在發現為視訊中的動作識别設計有效的ConvNet架構的原理,并在有限的訓練樣本下學習這些模型。
第一個貢獻是時間分段網絡(TSN):這是一種基于視訊的動作識别的新穎架構。這是基于遠端時态結構模組化的思想。它結合了稀疏的時間采樣政策和視訊級别的監督,可以使用整個動作視訊進行有效的,高效的學習。
第二個貢獻是作者研究了在時間分段網絡的幫助下學習視訊資料上的ConvNet的一系列良好實踐。
視訊級架構:時間分段網絡
該架構使用稀疏采樣方案在長視訊序列上提取短片段,其中采樣沿着時間次元均勻分布。在這其上,采用分段結構來聚合來自采樣片段的資訊。從這個意義上說,時間分段網絡能夠對整個視訊進行遠端時間結構模組化。此外,這種稀疏的采樣政策以較低的成本儲存了相關資訊,進而可以在合理的時間和計算資源預算下,在長視訊序列上進行端到端學習。
有限的訓練樣本下學習模型
文章中探索了一些好的方法來克服上述有限的訓練樣本所造成的困難,包括1)交叉-模态預訓練; 2)正規化; 3)增強資料擴充。
同時,為了充分利用視訊中的視覺内容,對兩流ConvNets的四種類型的輸入模式進行了實證研究,即單RGB圖像,堆疊的RGB差異,堆疊的光流場和堆疊的扭曲光流場。
時間分段網絡
時間分段網絡:将一個輸入視訊分為K個段,并從每個段中随機選擇一個簡短的小片段。不同片段的類别分數由分段共識函數融合,以産生分段共識,這是視訊級别的預測。然後将來自所有模态的預測融合在一起,以産生最終的預測。所有片段上的ConvNets共享參數。

架構
時間分段網絡如上圖所示,它能夠對整個視訊進行動态模組化。具體來說,作者提出的時間分段網絡架構旨在利用整個視訊的視覺資訊來執行視訊級别的預測,它也由空間流ConvNet和時間流ConvNet組成。時間分段網絡是在從整個視訊中稀疏采樣的一系列短片段上運作。此序列中的每個片段都将對動作類别産生自己的初步預測。然後,片段之間的共識将被導出為視訊級别的預測。在學習過程中,通過疊代更新模型參數來優化視訊級預測的損失值。
形式上,給定視訊V,将其分為相等持續時間的K個段{S1,S2,···,SK}。然後,時間段網絡對片段序列進行如下模組化:
(T1,T2,…,TK):是一系列片段, 分别從其對應的片段Sk中随機采樣每個片段Tk。
F(Tk; W):是表示帶有參數W的ConvNet的函數,該函數在短代碼段Tk上運作并為所有類别産生類别分數。
分段共識函數G:組合了多個簡短摘要的輸出,以獲得其中的類假設的共識。
預測函數H:預測整個視訊每個動作類别的機率。
PS:H選擇了廣泛使用的Softmax函數。結合标準的分類交叉熵損失,關于分段共識的最終損失函數G = G(F(T1; W),F(T2; W),··· F(TK; W))形成為
C:動作類别的數量,
yi:有關類别i的基本标簽。
在實驗中,根據先前的時間模組化工作,片段的數量K設定為3 。共識函數G的形式仍然是一個懸而未決的問題。在這項工作中,我們使用最簡單的G形式,其中Gi = g(Fi(T1),…,Fi(TK))。在這裡,使用聚合函數g從所有片段上的相同類别的分數推斷出類别分數Gi。我們根據經驗評估了聚合函數g的幾種不同形式,包括我們實驗中的平均,平均和權重平均。其中,均勻平均用于報告我們的最終識别準确性。取決于g的選擇,該時間段網絡是可區分的或至少具有子梯度。這使我們能夠利用多個片段,通過标準反向傳播算法共同優化模型參數W。在反向傳播過程中,可以得出模型參數W相對于損耗值L的梯度如下
K:時間分段網絡使用的分段數。
當使用基于梯度的優化方法(如随機梯度下降(SGD))來學習模型參數時,優勢如下:
- 保證參數更新利用了從所有片段級預測中得出的分段共識G。
- 時間分段網絡可以從整個視訊中學習模型參數,而不是一小段。
稀疏的時間采樣政策優勢:與以前使用密集采樣幀的工作相比,它大大降低了評估幀上的ConvNets的計算成本
學習時間段網絡
實作最佳性能,必須注意一些實際問題,例如訓練樣本數量有限。
網絡體系結構
原始的兩流ConvNets采用了相對較淺的網絡結構(ClarifaiNet)。
作者選擇具有批歸一化的初始(BN-Inception)作為建構基塊。(由于其在準确性和效率之間的良好平衡),将原始的BN-Inception體系結構調整為兩流ConvNets的設計。像在原始的兩流ConvNets 中一樣,空間流ConvNet在單個RGB圖像上運作,而時間流ConvNet将一堆連續的光學場作為輸入。
網絡輸入
最初,兩流ConvNets将RGB圖像用于空間流,将堆疊的光場用于時間流。
作者建議研究兩種額外的模式,即RGB差和扭曲的光學場。
RGB圖像:單個RGB圖像通常會在特定時間點編碼靜态外觀,并且缺少有關上一幀和下一幀的上下文資訊。
RGB差異:兩個連續幀之間的RGB差異描述了外觀變化,該變化可能與運動顯着區域相對應。作者嘗試添加疊加的RGB差異作為另一種輸入方式,并研究其在動作識别中的性能。
光流場:時間流ConvNets以光流場為輸入,旨在捕獲運動資訊。但是,在逼真的視訊中,通常會發生錄影機運動,并且光學視場可能不會集中在人類的動作上。如圖所示,由于錄影機的運動,大量的水準運動在背景中突出顯示。
扭曲的光流場:将扭曲的光學場作為附加的輸入形式。首先通過估計單應性矩陣然後補償錄影機的運動來提取變形的光學流。如圖所示,扭曲的光學流抑制了背景運動并使運動集中在演員身上。
網絡訓練。
由于用于動作識别的資料集相對較小,是以訓練過度的ConvNets面臨過度拟合的風險。為了減輕這個問題,設計了以下幾種在時間段網絡中訓練卷積網絡的政策。
cross modality pre-training:
當目标資料集沒有足夠的訓練樣本時,預訓練已成為初始化深層ConvNets的有效方法。
空間網絡上:由于空間網絡将RGB圖像作為輸入,是以很自然地利用ImageNet 上訓練的模型作為初始化。
時間網絡上:作者提出了跨模态的預訓練技術,即利用RGB模型初始化時間網絡,步驟如下:
- 通過線性變換将光場離散化為從0到255的間隔。此步驟使光場的範圍與RGB圖像相同。
- 修改RGB模型的第一卷積層的權重,以處理光流場的輸入。具體來說,作者對RGB通道上的權重取平均值,然後用時間網絡輸入的通道數複制該平均值。這種初始化方法對于時間網絡非常有效,并減少了實驗中過度拟合的影響。
RGB差異,光流場,扭曲的光流場都是時間網絡上的輸入。
正則化技術:
-
批次歸一化是處理協變量偏移問題的重要組成部分。
在學習過程中,批次歸一化将估計每個批次内的激活平均值和方差,并使用它們将這些激活值轉換為标準的高斯分布。由于根據有限數量的訓練樣本對激活分布進行了有偏差的估計,是以該操作加快了訓練的收斂速度,但同時也導緻傳遞過程過度拟合。
-
是以,在使用預訓練模型進行初始化之後,選擇當機除第一層以外的所有批處理歸一化層的均值和方差參數。
由于光流的分布與RGB圖像不同,是以第一卷積層的激活值将具有不同的分布,是以我們需要相應地重新估計均值和方差。我們稱此政策為partial BN。同時,我們在BN-Inception體系結構的全局池層之後添加了一個額外的dropout層,以進一步減少過度拟合的影響。對于空間流ConvNet,丢包率設定為0.8;對于時間流ConvNet,丢包率設定為0.7。
資料擴充:
資料擴充可以生成各種訓練樣本,并防止嚴重的過度拟合。
在原始的兩流ConvNet中使用随機裁剪和水準翻轉
作者使用兩種新的資料增強技術:角點裁剪和比例抖動。
- 角點裁剪技術:僅從圖像的角點或中心選擇提取的區域,以避免隐式聚焦于圖像的中心區域。在多尺度裁剪技術中,我們将ImageNet分類中使用的尺度抖動技術應用于動作識别。
- 比例抖動:我們将輸入圖像或光學場的大小固定為256×340,并且裁剪區域的寬度和高度是從{256,224,192,168}中随機選擇的。最後,将這些裁剪區域的大小調整為224×224,以進行網絡訓練。實際上,此實作不僅包含比例抖動,而且還涉及縱橫比抖動。
測試時間分段網絡
- 遵循原始兩流ConvNets的測試方案,在該方案中,從動作視訊中采樣了25個RGB幀或光學流堆棧。同時,從采樣幀中裁剪出4個角和1個中心,并對其進行水準翻轉以評估ConvNet。
- 對于空間和時間流網絡的融合,對它們進行權重平均。在時間分段網絡架構中學習時,空間流ConvNets和時間流ConvNets之間的性能差距比原始的兩流ConvNets小得多。基于這一事實,我們通過将空間流的權重設定為1,将時間流的權重設定為1.5,來給予更多功勞。當同時使用正常和扭曲的光流場時,對于正常光流,時間流的權重被分為1,對于扭曲的光流,權重設定為0.5。 在Softmax歸一化之前應用了分段共識函數。為了測試模型是否符合其訓練條件,在Softmax歸一化之前融合了25個幀和不同流的預測分數。
實驗
資料集和實施細節
資料集:HMDB51和UCF101。
UCF101資料集包含101個動作類和13,320個視訊剪輯。遵循THUMOS13挑戰的評估方案,并采用三個訓練/測試單元進行評估。
HMDB51資料集由來自51個動作類别的6,766個視訊剪輯組成。實驗遵循原始的評估方案,使用了三個訓練/測試部分,并報告了這些部分的平均準确性。
實施細節:
- 使用小批量随機梯度下降算法來學習網絡參數,其中批量大小設定為256,動量設定為0.9。
-
使用來自ImageNet 的預訓練模型初始化網絡權重。在實驗中設定了較小的學習率。
空間網絡:學習速率被初始化為0.001,并且每2,000次疊代減小到其1/10。整個訓練過程在4,500次疊代時停止。
時間網絡:學習率初始化為0.005,經過12,000和18,000次疊代,學習率降低為1/10。最大疊代次數設定為20,000。
- 關于資料增強,使用了位置抖動,水準翻轉,拐角裁剪和比例抖動的技術。在OpenCV中使用CUDA實作的TVL1光學流算法提取光學流和扭曲光學流。
- 為了加快訓練速度,采用了帶有多個GPU的資料并行政策,并通過我們的改進版本的Caffe 和OpenMPI 2實施。
-
對于空間TSN,UCF101的整個訓練時間約為2小時。
對于時間TSN,整個訓練時間約為9小時。 4個TITANX GPU。
探索研究
在這項探索性研究中,使用改編的具有深度結構的兩流ConvNets,并對UCF101資料集的split 1進行所有實驗。
文章中提出了兩種訓練政策,即cross modality pre-training和partial BN。具體來說,比較了四種設定:(1)train from scratch(2)僅對空間流進行預訓練(3)cross modality pre-training(4)cross modality pre-training與partial BN結合。結果總結在表中。
文章中提出了兩種新型的模态:RGB差異和扭曲的流場。表中報告了比較不同模式性能的結果。
- 此結果表明RGB圖像和RGB差異可以編碼補充資訊。然後表明,光學流和彎曲光學流的性能相當相似(87.2%對86.9%)
- 結合所有四種模式可得出91.7%的準确性,還評估了将其他三種模式組合在一起的性能,這帶來了更好的識别精度(92.3%vs 91.7%)。推測光學流可以更好地捕獲運動資訊,并且有時RGB差異對于描述運動可能是不穩定的。另一方面,RGB差異可以用作運動表示的低品質,高速替代方案。
時間分段網絡的評估
- 研究分段共識函數的作用:在UCF101資料集的split 1上比較不同的ConvNet體系結構。為了公平地比較,在此探索中,僅将RGB圖像和光學場用作輸入模态。K設定為3,分段共識函數由其聚合函數g定義。實驗結果總結在表中。
論文閱讀:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition文章概要時間分段網絡實驗 - 比較了不同網絡體系結構的性能,結果總結在表中。 具體來說,比較了三種非常深的體系結構:BN-Inception ,GoogLeNet 和VGGNet-16 。由結果選擇BN-Inception 作為時間段網絡的ConvNet體系結構。
論文閱讀:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition文章概要時間分段網絡實驗 - 在表中提供了根據識别準确性對元件進行逐項分析。 可以看到,所有讨論的結果都很好,時間分段網絡也能夠提高模型的性能。實踐證明了對長期時間結構進行模組化對于更好地了解視訊中的動作至關重要,它是通過時間分段網絡實作的。
論文閱讀:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition文章概要時間分段網絡實驗