SlowFast Networks for Video Recognition 論文學習

Abstract

本文針對視頻識別提出了 SlowFast 網絡。該模型有一個 Slow 分支,以較低的幀率運算,獲取空間語義;還有一個Fast分支,以較高的幀率運行,獲取精確的時間運動信息。通過降低通道數量,Fast分支可以變得很輕,但也能夠學到有用的時域信息。該方法在視頻動作分類和檢測任務上都取得了很強的表現。作者在主要的視頻識別基準(Kinetics, Charades, AVA)都獲得了 SOTA 的準確率。代碼放在了:https://github.com/facebookresearch/SlowFast.

1. Introduction

在圖像識別I(x,y)I(x,y)時,人們通常會對稱地看待兩個空間維度x,yx,y。通過對自然圖像的統計分析,人們證明了其合理性,自然圖像在第一次近似時具備各向同性(所有方向具有相同的可能性)和平移不變性 。但是視頻信號I(x,y,t)I(x,y,t)又是什麼樣呢?運動 — motion可以看作爲方向在時空域的對應,但是所有的時空方向的可能性又不一樣。慢動作要比快動作更有可能發生(事實上,我們所看到的的大部分世界在給定的時刻都是靜止的),這已經在使用貝葉斯模型描述人類如何感知運動刺激中得到利用 。例如,如果我們看到一個邊在單獨移動,我們能感知它,是因爲它朝着垂直於自己的方向運動,儘管原則上它也可能有一個與自身相切的任意移動組件(光流中的孔徑問題)。如果前者傾向於慢動作,這種感知就是合理的。

如果所有的時空方向不是均等可能的,那麼我們就沒有理由像基於時空卷積的視頻方法那樣,對稱地對待空間和時間。我們可能就要分解開網絡結構,分開處理空間結構和時間事件。具體些,我們將這一想法放到識別的語境中。視覺內容的類別空間語義通常變化比較。例如,揮手並不會在這個動作進行期間改變”手“的類別,哪怕一個人從走路變爲跑步,他/她也一直是”人“這個類別。因此類別語義的識別(以及顏色、材質、光照等)都可以比較的速度刷新。另一方面,相較於它們的主體識別,動作可以較快的速度進行,如拍手、揮手、搖擺、走路或跳躍。它就需要用較快的幀率刷新(高時間分辨率),來對潛在的、快速變化的動作進行建模。

基於此,作者提出了一個 two-pathway 的 SlowFast 模型來做視頻識別(如圖1)。一條 pathway 用於獲取語義信息,這些信息可由圖片或稀疏的幀來提供,它以較低的幀率運算,刷新速度也比較慢。另一條pathway則用於捕捉迅速變化的動作,刷新速度快,時間分辨率高。儘管它的時間分辨率高,這條 pathway 非常輕量,只佔整體計算量的20%20\%。這是因爲這條pathway的通道較少,處理空間信息的能力較弱,而空間信息可以交給第一條pathway來處理。根據二者的時間速度,第一條pathway被稱作Slow pathway,第二條被稱作 Fast pathway。這兩條pathways通過側連接(lateral connections)來融合。

在這裏插入圖片描述

這一想法爲視頻模型帶來了靈活、高效的設計。由於Fast pathway非常輕量,無需進行任何的時間池化,它能以高幀率在所有中間層運行,並保持時間保真度。同時,由於較低的速率,Slow pathway 可以更多關注在空間域和語義上。通過對視頻按不同的速率處理,該方法使得兩條pathways對視頻建模時各有所長。

視頻識別領域也有另一個非常有名的網絡結構[44],它有 two-stream 結構設計,在概念上與本文視角不同。該方法沒有研究不同時間速度的可能,而這是本文的核心所在。該方法在兩條 stream 採用了一樣的主幹結構,而本文的 Fast pathway要更輕量。本文方法也沒有計算光流,因此,本文方法是端到端地學習原始視頻。通過實驗,作者發現,SlowFast網絡更加高效。

該方法部分受到靈長類視覺系統中視網膜神經節細胞的生物學研究的啓發,儘管這種類比有些粗糙、不成熟。這些研究發現,在這些細胞中約80%80\%都是小細胞(P-cell),約1520%15-20\% 是大細胞(M-cell)。M-cells 以高時間頻率工作,對快速時間變化作出響應,但是對空間細節和顏色不敏感。P-cells 則提供更精細的空間細節和顏色信息,但是時間分辨率較低,對刺激反應比較慢。本文方法與之有以下相似之處:(i) 它有兩個pathways,分別處理低和高的時間分辨率;(ii)Fast pathway 用於捕捉快速變化的動作,較少細節信息,與M-cell類似;(iii)Fast pathway 則輕量,與M-cell類似。研究者希望這些關係能夠啓發更多用於視頻識別的計算機視覺模型。

2. Related Work

時空濾波 動作可以用時空目標來表示,通過時空中的定向濾波來獲取,HOG3D[31]和cuboids[10]就是這麼做的。3D卷積網絡[48,49,5] 將 2D 圖像模型至時空域,同時處理空間和時間維度。也有一些方法關注在 long-term 濾波和池化上,使用時間步長,以及將卷積分解爲獨立的2D空間濾波和1D時間濾波。

本文超越了時空濾波,使用兩個不同的時間速度,將各分支所擅長的技能更加徹底地分離開來。

視頻識別的光流。另一個經典的研究分支則是聚焦在基於光流的人工時空特徵上。這些方法在深度學習普及之前,包括光流直方圖、運動邊界直方圖、軌跡等,對於動作識別都有很強的表現。

深度神經網絡出現之後,two-stream 方法將光流看作爲另一個輸入模態,探索利用光流。這個方法已經成爲許多論文結果的基礎。但是由於光流是人工設計的特徵表示,方法論上它就無法令人滿意,此外 two-stream 方法無法協同光流,做到端到端地學習。

3. SlowFast Networks

SlowFast 網絡可以描述爲一個 stream 網絡結構,但以兩個不同幀率運行,作者使用了 pathway 的概念來與生物學上的大小細胞類比。該網絡結構有一個 Slow pathway 和一個 Fast pathway,通過側連接融合進一個 SlowFast 網絡。圖1展示了其概念。

3.1 Slow Pathway

Slow pathway 可以是任意的在視頻片段(時空體)上運行的卷積模型[12,49,5,56]。Slow pathway 的核心概念就是在輸入幀上的時間步長τ\tau較大。根據作者研究,τ\tau的值一般設爲16,這個刷新速度差不多是在30FPS的視頻中每秒採樣2幀。假設Slow pathway 採樣的幀數是TT,那麼原始視頻片段的長度就是T×τT\times \tau

3.2 Fast Pathway

Fast pathway與Slow pathway 平行,它是另一個卷積模型,有以下特性。

高幀率。目的是在時間維度上有更精細的特徵表示。Fast pathway 以較小的時間步長τ/α\tau /\alpha工作,其中α>1\alpha>1 是 Fast 和Slow pathway 的幀率比。這倆pathways 在同一個視頻上計算,所以 Fast pathway 採樣αT\alpha T幀,比Slow pathway 要密集α\alpha倍。在本文實驗中,一般α=8\alpha=8

α\alpha是 SlowFast 的核心概念(圖1,時間軸)。它表示這兩條pathways工作的時間速度不同,促使這倆子網絡術業有專攻。

高時間分辨率特徵。Fast pathway 不僅輸入分辨率高,而且在整個網絡裏面都是要求高分辨率的特徵。貫穿 Fast pathway,直到分類前的全局池化層,作者都沒有用時間下采樣層(沒有時間池化或時間-步長卷積)。因此,該特徵張量在時間維度上一直有 αT\alpha T 幀,儘可能地維持時間保真度。

低通道容量。Fast pathway 與現有的模型還有一點不同,它爲了實現高準確率,只用了很低的通道容量。這樣就變得很輕量。

總之,該 Fast pathway 是一個卷積網絡,與Slow pathway 相似,但是通道數只是Slow pathway 的β(β<1)\beta(\beta < 1)。實驗中一般β=1/8\beta=1/8。注意,某一層的計算量(浮點數運算量,FLOPs)通常是通道縮放比的平方。這就使得Fast pathway 計算起來要比Slow pathway更加高效率。在實驗中,Fast pathway 通常只佔總計算量的20%20\%。更有趣的是,證據顯示靈長類視網膜細胞中的15% 20%15\%~20\%是M-cell(該細胞對快速運動更敏感,對顏色或空間細節不敏感)。

低通道容量可以理解爲較弱的空間語義信息表示。技術上,Fast pathway 的空間建模能力應該弱於 Slow pathway,因爲它的通道更少。該模型的結果表明這反而是有利的,它弱化了空間建模能力,卻增強了時間建模能力。

受此啓發,作者也研究了 Fast pathway 中不同的弱化空間能力的方法,包括降低輸入空間分辨率,去除顏色信息等。實驗證明了,所有的這些方法都可以給出不錯的準確率,較低空間容量、輕量的 Fast pathway 是有益的。

3.3 側連接

兩條pathways的信息會被融合起來,所以每個pathway都不知道另一條pathway學到的特徵。作者通過側連接來實現,它在 two-stream 網絡中有用到,將光流信息融合起來。在目標檢測任務上,側連接非常流行,將不同的空間分辨率和語義信息融合起來。

與[12,35]類似,本文在兩條pathway 的每個 stage 上都使用一個側連接(如圖1)。對於 ResNets,這些連接就位於 pool1,res2,res3,res4pool_1,res_2,res_3,res_4之後。這兩條pathways的時間維度不同,所以側連接就通過變換來將它們匹配在一起。作者使用單向連接將 Fast pathway 的特徵融合入 Slow pathway(如圖1)。作者也嘗試了雙向融合,得到了相似的結果。

最終,對每個pathway的輸出進行了全局平均池化。池化後的特徵向量被拼接在一起,作爲全連接分類器的輸入。

3.4 實例化

在這裏插入圖片描述

SlowFast 的思想很通用,它可以用不同的主幹網絡來實現。這一節,作者介紹網絡結構實例化。

SlowFast 的模型實例如表一所示。作者用T×S2T\times S^2 來表示時空大小,TT是時間長度,SS是一個正方形空間裁剪區域的高度和寬度。細節在下面介紹。

Slow Pathway。表一中的Slow pathway 是一個時間步長的3D ResNet。它有T=4T=4幀作爲網絡輸入,從64幀視頻片段中稀疏採樣得到,時間步長爲τ=16\tau=16。在這個實例化中,作者沒有進行時間下采樣,因爲如果輸入步長比較大的話,這樣做是有害的。

和一般的 C3D/I3D模型不同,作者只在res4res_4res5res_5使用了非退化時間卷積(時間核大小>1>1,表一中的下劃線標出);在這條pathway上,所有從conv1conv_1res3res_3的濾波器本質上都是2D卷積核。

這是由作者的實驗觀察得到的,在早期層使用時間卷積會降低準確率。作者認爲這是因爲當物體快速移動,且時間步長較大時,它在一個時間感受野內的相關性就很小,除非空間感受野也足夠地大。

Fast Pathway。表一顯示了 Fast Pathway 的例子,它的α=8,β=1/8\alpha=8,\beta=1/8。它的時間分辨率較高(綠色),通道容量較低(橙色)。

Fast pathway 在每個模塊中都用了非退化時間卷積。這是因爲作者發現,這條pathway的時間卷積有很好的時間分辨率,可以捕捉細節動作。而且,Fast pathway 在設計上沒有使用時間下采樣層。

側連接。側連接是由 Fast pathway 連到 Slow pathway的。在融合之前,它需要匹配特徵的大小。Slow pathway 的特徵大小是{T,S2,C}\{T,S^2,C\},Fast pathway 的特徵大小是{αT,S2,βC}\{\alpha T, S^2, \beta C\}。作者在側連接上進行了如下的變換實驗:

  • Time-to-channel:作者對{αT,S2,βC}\{\alpha T, S^2, \beta C\} 進行變形和轉置,得到{T,S2,αβC}\{T, S^2, \alpha\beta C\},意思就是將所有的α\alpha幀放入一幀的多個通道內。
  • Time-strided sampling: 每α\alpha幀,採樣一幀,所以{αT,S2,βC}\{\alpha T, S^2, \beta C\} 就變爲了{T,S2,βC}\{T, S^2, \beta C\}.
  • Time-strided convolution:進行3D卷積,卷積核大小是5×125\times 1^2,輸出通道數爲2βC2\beta C,步長 =α=\alpha

通過求和或拼接的方式,將側連接的輸出融入 Slow pathway。

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