ECO: Efficient Convolutional Network for Online Video Understanding
目前視訊理解最新技術存在兩個問題:(1)推理的最大問題在於它只是在視訊中區域性進行,因此對於幾秒的動作,它丟失了動作行為之間的關係 (2)雖然存在快速處理的方法,但是整個視訊的處理效率不高並且妨礙了長期活動的快速視訊檢索或線上分類。
網路架構如圖1所示。輸入的視訊被分成N個子部分Si,i = 1,...,N,它們具有相同的大小,並且在每個子部分中隨機取樣一幀。這些幀中的每一幀都由單個2D卷積網路(權重共享)處理,其產生編碼幀外觀的特徵表示。通過聯合處理覆蓋整個視訊的時間段的幀確保捕獲動作中最相關的部分隨著時間的推移以及這些部分之間的關系。
隨機取樣幀的位置優於總是使用相同的位置,因為它在訓練期間導致更多的多樣性並且使網路適應動作例項化的變化。同時,網路必須在執行時只處理N個幀,這使得這種方法非常快。論文也採用了更聰明的分割槽策略,它們將子部分的內容考慮在內。
論文中共有兩個網路模型:ECO Lite和ECO Full.
網路具體結構:
2D-Net:對於分析單幀的2D網路(),使用BN-Inception架構的第一部分(直到inception-3c層)。它具有2D filters and pooling以及batch normalization。選擇這種架構是因為它的效率。每個單幀的輸出由96個特徵圖組成,大小為28×28。 3D-Net:對於3D網路(),採用了多層3D-Resnet18,這是一種用於許多視訊分類工作的高效架構。的輸出是不同類標籤的one-hot向量。 2D-NetS:在ECO整體設計中,使用2D-Nets與3D-net並行直接提供視訊的靜態視覺語義。對於這個網路,文章中使用BN-Inception架構中從inception-4a層到最後一個池化層。最後一個池化層將為每個幀生成1024維特徵向量。我們應用平均池來生成視訊級特徵,然後與從3D-net獲得的特徵連線。
訓練細節:
文章中使用具有Nesterov動量的mini-batch SGD訓練網路,並在每個全連線層利用dropout。將每個視訊分成N個片段,並從每個片段中隨機選擇一個幀。這種講降取樣對變化更有魯棒性,並使網路能夠充分利用所有幀。此外,文章使用了資料增強技術:將輸入幀的大小調整為240×320,並採用固定角落裁剪和水平翻轉的縮放抖動(由取樣提供的時間抖動)。然後執行每畫素平均減法並將裁剪區域的大小調整為224×224。
測試時間:
大多數先進的方法對網路結果進行一些後處理。 例如,TSN和ARTNet 每個視訊收集25個獨立的幀,並且對於每個幀樣本通過角落和中心裁剪以及它們的水平翻轉得到10個區域。 通過平均所有250個樣本的得分來獲得最終預測。 這種在測試時的推理在計算上是昂貴的,因此不適合實時設定。相比之下,ECO網路直接為整個視訊生成動作標籤而無需任何額外的聚合。 從視訊中取樣N幀,僅應用中心裁剪,然後將它們直接饋送到網路,通過單次傳遞提供整個視訊的預測。