Facebook何愷明團隊提出SlowFast網絡,視頻識別無需預訓練

Facebook FAIR 何愷明團隊提出了用於視頻識別的SlowFast網絡。該網絡通過兩條路徑以不同的時間率(快和慢)進行視頻識別。在沒有預訓練的情況下,在Kinetics數據集上的準確率達到了79.0%,在AVA動作檢測數據集上實現了28.3mAP,實現了當前最佳水平。本文是AI前線第62篇論文導讀,我們對這篇論文的方法關鍵和實驗結果進行了全面解讀,以供大家參考。

閱讀更多優質論文請關注微信公衆號“AI 前線”(ID:ai-front)

摘要

本文提出了用於視頻識別的SlowFast網絡。該模型包含:1)Slow路徑,以低幀率運行,用於捕捉空間語義信息;2)Fast路徑,以高幀率運行,以較好的時間分辨率捕捉運動。可以通過減少Fast路徑的通道容量,使其變得非常輕,同時學習有用的時間信息用於視頻識別。該模型在視頻動作分類和檢測方面性能強大,而且SlowFast概念帶來的重大改進是本文的重要貢獻。在沒有任何預訓練的情況下,我們在Kinetics數據集上的準確率達到了79.0%,遠遠超過之前的最佳水平。在AVA動作檢測數據集上,我們也達到了28.3 Map,是當前最佳水平。論文使用的代碼後續將會開源。

介紹

在圖像識別領域,對稱地處理圖像I(x,y)中的兩個空間維度x和y是常見的做法。這是由於自然圖像具有第一近似各向同性(所有方向具有相同的可能性)和平移不變性。但是對於視頻信號I(x,y,t)來說,並非所有的時空方向都有相同的可能性。所以我們就不應該像時空卷積那樣對稱地處理時間和空間。相反,我們應該“分解”該架構,分別處理空間結構和時間事件。

視覺內容的類別空間語義變化通常十分緩慢,例如,揮手不會在這個動作進行期間改變“手”的識別結果,並且人也總是在“人”類別下,即使他/她從走路變成跑步。因此,類別語義(及其顏色、紋理、光照等)的識別可以相對緩慢地刷新。另一方面,正在執行的動作比其主體識別變化速度快得多,例如拍手、揮手、搖晃、走路或跳躍。應該用快速刷新幀(高時間分辨率)來有效建模可能快速變化的動作。

基於這種想法,本文提出了一種用於視頻識別的雙路徑Slow-Fast模型(如圖1)。其中一個路徑旨在捕獲由圖像或稀疏幀提供的語義信息,它以低幀率運行,刷新速度慢。而另一個路徑用於捕獲快速變化的動作,它的刷新速度快、時間分辨率高。儘管如此,該路徑的卻是輕量級的,只佔總計算開銷的20%左右。這是因爲第二個路徑通道較少,處理空間信息的能力較差,但這些信息可以由第一個路徑用較爲簡潔的方式來提供。根據二者不同的時間速度,作者將其分別命名爲Slow路徑和Fast路徑。二者通過橫向連接(lateral connection)進行融合。

image圖1 SlowFast 網絡包括低幀率、低時間分辨率的 Slow 路徑和高幀率、高時間分辨率(Slow 路徑時間分辨率的 α 倍)的 Fast 路徑。Fast 路徑使用通道數的一部分(β,如 β = 1/8)來輕量化。Slow 路徑和 Fast 路徑通過橫向連接融合。

這一想法爲視頻模型帶來了靈活、高效的設計。由於自身較輕,Fast 路徑不需要執行任何時間池化——它能以高幀率在所有中間層運行,並保持時間保真度。同時,由於時間速率較低,Slow 路徑可以更加關注空間域和語義。通過以不同的時間速率處理原始視頻,兩種路徑可以通過其特有的方式對視頻建模。

該方法部分受到靈長類視覺系統中視網膜神經節細胞的生物學研究啓發。研究發現,在這些細胞中,約80% 是P細胞,約15-20% 是M細胞。M細胞以較高的時間頻率工作,對時間變化更加敏感,但對空間細節和顏色不敏感。P細胞提供良好的空間細節和顏色,但時間分辨率較低。SlowFast框架與此類似:i)該模型有兩條路徑,分別以低時間分辨率和高時間分辨率工作;ii)Fast 路徑用來捕捉快速變化的運動,但空間細節較少,類似於M細胞;iii)Fast 路徑很輕,類似於較小比例的M細胞。

SlowFast網絡

Slow路徑

Slow路徑可以是任何對視頻片段做時空卷積的模型。Slow路徑的關鍵想法是輸入幀上的大時間步長τ,即它只處理τ幀中的一幀。我們取步長τ的典型值爲16:對於30fps的視頻,這個刷新速度大約是每秒採樣2幀。將Slow路徑採樣的幀數表示爲T,原始視頻長度則爲T×τ幀。

Fast路徑

高幀率

Fast路徑的目標是在時間維度上得到一個良好的表示。Fast路徑爲小時間步長τ/α,其中α>1,是Fast路徑和Slow路徑之間的幀率比。我們的兩條路徑在同一個原始視頻片段上操作,因此Fast路徑採樣αT幀,密度約爲Slow路徑的α倍。在實驗中設置α=8。α是SlowFast概念的關鍵。它明確表示了兩條路徑在不同的時間速度上工作,從而驅動兩個子網絡以特有的方式通過兩條路徑分別實例化。

高時間分辨率特徵

Fast路徑不僅具有高輸入分辨率,而且在整個網絡結構上追求高分辨率的特徵。在我們的實例中,整個Fast路徑中均不使用時間下采樣層(既不使用時間池化也不使用時間步長的卷積操作),直到分類之前使用全局池化層。這樣一來,我們的特徵張量在時間維度上總是具有αT幀,儘可能地保持時間保真度。

低通道容量

Fast路徑與其他模型相比,可以使用顯著更低的信道容量來實現SlowFast模型的良好精度。這使Fast路徑很輕。

Fast路徑是與Slow路徑類似的卷積網絡,但是通道數是Slow路徑的β(β<1)倍。在我們的實驗中β=1/8。注意,公共層的計算量(浮點數運算,或FLOP)通常是信道縮放比率的二次方。這使Fast路徑比Slow路徑的計算效率更高。在我們的實例中,Fast路徑一般佔用總計算量的20%。有趣的是,靈長類視覺系統中的M細胞(對快速運動敏感,但不對顏色或空間細節敏感)佔視網膜細胞的比例也約爲15%-20%。

低通道容量也可以理解爲表示空間語義信息的能力較弱。Fast路徑對空間維度沒有任何特殊處理,所以其空間建模容量也比Slow路徑要低。但是結果顯示,削弱Fast路徑的空間建模能力的同時增強其時間建模能力是正向的折衷。我們也研究了其他削弱Fast路徑空間容量的方法,包括降低輸入的空間分辨率和移除顏色信息。結果均顯示這些方法都能達到較好的準確率,意味着輕量級的空間容量較低的Fast路徑是有好處的。

橫向連接

兩條路徑的信息是融合的,所以一條路徑是知道另一條路徑學習的表示的。我們通過橫向連接實現這一點。在圖像目標檢測中,橫向連接是合併不同空間分辨率和不同語義級別的常用方法。我們在每個“階段”的兩個路徑之間附加一個橫向連接(圖1)。兩條路徑具有不同的時間維度,因此橫向連接需要進行轉換以匹配它們。我們使用單向連接,將Fast路徑的特徵融合到Slow路徑。最後,對每個路徑的輸出進行全局平均池化。然後將兩個合併的特徵向量連接,作爲全連接分類器層的輸入。

網絡實現

我們提出的SlowFast是一個通用思想,但是網絡可以通過不同的主幹結構有不同的實現。表1給出了一個SlowFast模型的實例化示例。

image表1 SlowFast 網絡的實例化示例

內核的維度由 {T×S^2 , C} 表示,T 表示時間分辨率、S 表示空間語義、C 表示通道數。步長由 {時間步長, 空間步長^2} 表示。此處 速度比例是α = 8,通道比例是 β = 1/8。τ = 16。綠色表示 Fast 路徑較高的時間分辨率,橙色表示 Fast 路徑較少的通道數。下劃線爲非退化時間濾波器(non-degenerate temporal filter)。方括號內是殘差塊。骨幹網絡是 ResNet-50。

實驗:Kinetics動作分類

數據庫

我們在Kinetics-400數據庫上進行Ablation Study,有大約240000個訓練視頻,20000個驗證視頻,包含400個人類動作類別。對於每個實驗,我們給出了top-1和top-5的分類準確率 (%),以及空間大小爲224^2的單視頻片段輸入的計算複雜度(單位爲 GFLOPs)。

消融實驗

從零開始基線模型訓練

image表2a 從零開始基線模型訓練結果

我們使用與論文“Non-local neural networks”相同的網絡結構,在沒有ImageNet預訓練的情況下,我們的訓練方法達到了相當的結果。“t-reduce”是網絡的時間下采樣參數。

獨立路徑

image表2b 單獨訓練Fast路徑和Slow路徑的結果

從表中可以看出獨立路徑與3D R-50相比沒有優勢,準確率較低。這是由於獨立路徑相比於3D R-50量級較輕:Slow路徑幀數較少,Fast路徑通道數較少。

SlowFast融合

image表2c 不同融合方式的結果

作爲融合基線,我們給出了沒有橫向連接的模型變體結果。該變體的準確率爲73.5%,略優於Slow-only的模型0.8%。通過橫向連接T-conv將Slow路徑和Fast路徑融合的準確率比僅有Slow路徑的基線結果提高了3.0%。

image圖2 Slow-only模型(72.6%)和SlowFast模型(75.6%)的訓練過程

我們給出了top-1訓練誤差和驗證誤差曲線圖。很明顯,在整個訓練過程中,SlowFast模型始終優於Slow-only模型。

Fast路徑通道容量比例

image表2d β值(Fast路徑的通道容量比例)不同的結果

弱化Fast路徑的空間輸入

image表2e 不同方法弱化Fast路徑空間輸入的結果,β=1/8

Slow+Slow

image表2f Slow-only模型變體對比

將2個單獨訓練的Slow-only的模型相結合(2-Slow ens),或者用Slow路徑替代Fast路徑,形成“SlowSlow”模型。實驗結果顯示2-Slow ens僅提升了0.5%的準確率,但計算量爲之前的2倍,而SlowSlow模型嚴重過擬合。

不同SlowFast示例化

image表2g 不同示例化SlowFast模型結果

不同的SlowFast模型表現大致相同,提供了不同的準確率和FLOPs的折衷。最小的SlowFast模型僅需要13.9 GFLOPs,但準確率仍達到了73.4%。

先進骨幹網絡

image表2h 先進網絡作爲骨幹網絡結果

我們研究了使用更深的網絡作爲骨幹網絡的結果,例如ResNet-101和非局部(NL)版本。使用先進的骨幹網絡與我們的SlowFast概念是正交的,並且相比於我們的SlowFast基線模型具有額外的改進。

與其他方法對比

image表 3 SlowFast 網絡與當前最優模型在 Kinetics-400 數據集上的對比結果

image表 4 SlowFast 網絡與當前最優模型在 Kinetics-600 數據集上的對比結果

實驗:AVA動作檢測

數據集

AVA數據集關注人類動作的時空定位。數據取自437部電影。每幀每秒都提供了時空標籤,每個人都有邊界框和動作標註。有211000個訓練視頻片段,和57000個驗證視頻片段。我們對60類動作進行了評估,實驗結果通過平均精度(mAP)和幀級別的IoU閾值進行衡量。

image表 5 AVA 動作檢測基線:Slow-only vs. SlowFast。我們的方法提高了5.2mAP

image圖 3 在 AVA 數據集上的類別精度:Slow-only 基線模型 (19.0 mAP) vs. SlowFast 網絡 (24.2 mAP)。黑色加粗類別是淨增長最高的5個類別,橙色類別是和Slow-only AP > 1.0 對比相對增長最高的5個類別。類別按照樣本數來排序。該實驗中的 SlowFast 實例並非我們的性能最優模型。

image表 6 SlowFast 模型在 AVA 數據集上的更多實例。他們的表現與Kinetics動作分類準確率相同,體現了模型的魯棒性。

image表 7 SlowFast與當前最優模型在 AVA 數據集上的對比。++ 表示使用多尺度和水平翻轉增強進行測試的SlowFast網絡版本。

可視化結果

image

image

image圖 4 SlowFast 網絡在 AVA 數據集上表現的可視化結果。SlowFast 網絡在 AVA 驗證集上的預測結果(綠色,置信度 > 0.5)vs. 真實值標籤(紅色)。此處僅展示了中間幀的預測/標籤。上圖展示的是T×τ = 8×8的SlowFast 模型,mAP爲26.8。

總的來說,即使我們的預測與實際情況之間存在一些差異,我們的結果在視覺上也是合理的。

總結

時間軸是一個特殊的維度。本文研究了一種沿該軸的處理速度不同的網絡架構設計。它達到了目前視頻動作分類和檢測的最高精度。我們希望這個SlowFast概念將促進視頻識別的進一步研究。

查看論文原文:

https://arxiv.org/abs/1812.03982v1

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