Temporal Pyramid Network for Action Recognition(CVPR2020)

Abstract

視覺節奏表徵了動作的動態和時間尺度。對不同動作的這種視覺節奏進行建模有助於動作的識別。以前的工作通常通過以多種速率採樣原始視頻,並構建輸入級幀金字塔來捕獲視覺節奏,而幀金字塔通常需要昂貴的多分支網絡來處理。本文提出了一種通用的時間金字塔網絡(TPN),該網絡以即插即用的方式靈活地集成到2D或3D主幹網絡中。TPN的兩個基本組件,特徵源和特徵融合,形成了主幹的特徵層次結構,因此它可以捕獲各種速度的動作實例。TPN在幾個動作識別數據集上也顯示出相對於其它具有挑戰性的基線的持續改進。具體來說,當配備TPN時,具有密集採樣的3D ResNet-50在Kinetics-400的驗證集上獲得2%的提高。進一步分析還顯示,TPN在視覺節奏有較大差異的動作類別中的改進較大,從而驗證了TPN的有效性

Introduction

上方的動作實例表明,即使時同一動作,人們也傾向於以不同的速度做動作。下圖顯示了不同的動作類別,按視覺節奏的方差排序。

如上圖所示,當執行相同的動作時,由於年齡,情緒和精力水平等各種因素,每個演員可以按自己的視覺節奏來做動作。例如,老人的運動往往比年輕人慢,具有較重體重的人也是如此。對動作實例的視覺節奏中的類內和類間差異進行精確建模,可能會顯著改善動作識別準確度

Related Work

Visual Tempo Modeling in Action Recognition

動作實例複雜的時間結構,特別是各種視覺節奏方面的複雜時間結構,對動作識別提出了挑戰。近年來,研究人員開始探索這一方向。SlowFast[5] 使用輸入層金字塔對視覺節奏的變化進行硬編碼,該輸入層金字塔具有以不同速率採樣的逐級幀。金字塔的每一層也由一個網絡分別處理,這些網絡中的中間層特徵被交互組合。藉助金字塔和特定層的網絡,SlowFast可以魯棒地處理視覺節奏的變化。視頻內複雜的時間結構,尤其是速度變化,對動作識別提出了挑戰。DTPN[35]還對具有不同FPS的幀進行採樣,來構建自然的金字塔型表示。但是,這種硬編碼方案往往需要多個幀,特別時當金字塔放大時。與以往的特徵層金字塔網絡[11, 19, 20, 17]不同,該網絡在目標檢測中處理空間範圍的較大差異,我們改爲利用特徵層次來處理時間信息(即視覺節奏)的差異。這樣可以在單個網絡內部來考慮視覺節奏,並且只需要在輸入層以單一速率採樣幀。

Temporal Pyramid Network

識別動作實例的關鍵因素是視覺節奏,尤其是在其它因素含糊不清的情況下。例如,我們無法根據其視覺外觀來判斷某個動作實例是否屬於步行,慢跑或跑步。但是,由於視覺節奏在在不同視頻中類間和類內的差異,很難捕捉到視覺節奏。

一個網絡中多個深度的特徵已經覆蓋了各種視覺節奏,受到這一觀察的啓發,我們提出了一種特徵級的時間金字塔網絡(TPN),用於對視覺節奏建模。TPN可以只在一個網絡上運行,不管它有多少層。此外,TPN可以以即插即用的方式應用到不同的結構中。爲了完整實現TPN,必須正確設計TPN的兩個關鍵部分,即1) 特徵源和2) 特徵融合

TPN的框架:主幹網絡提取多個層次的特徵。空間語義調製在空間上下采樣特徵以對齊語義。時間速率調製在時間上下采樣特徵來調整各個層次之間的相對速度。信息流在各個方向上聚合特徵來加強和豐富層次的表示。最終預測重新縮放並連接了沿通道維度的所有金字塔等級。爲簡潔起見,省略了最終預測中的通道維度和對應的操作。

Feature Source of TPN

層次特徵的集合。雖然TPN是建立在一組M個層次特徵上,這些特徵從下到上具有越來越大的時間接受域,但是有兩種替代方法可以從主幹網絡收集這些特徵。1) 單深度金字塔:一種在某個深度選擇大小爲CxTxWxH的特徵Fbase的簡單方法,並且以M個不同的速率{r1, ..., rM; r1 < r2 < ... < rM} 在時間維度上採樣。我們將這種TPN稱爲由大小爲{C x T/r1 x W x H, ..., C x T/rM x W x H}的{Fbase(1), ..., Fbase(M)}組成的單深度金字塔。以這種方式收集的特徵可以減輕融合的工作量,因爲它們除時間維度外,都有相同的形狀。但是,由於它們僅以單個時間粒度表示視頻語義,可能在有效性上受限2) 多深度金字塔: 一種更好的方法是隨着深度的增加收集M個特徵集,這使得TPN由大小爲{C1 x T1 x W1 x H1, ..., CM x TM x WM x HM} 的 {F1, F2, ..., FM}組成,特徵的維度通常滿足{Ci1 >= Ci2, Wi1 >= Wi2, Hi1 >= Hi2; i1 < i2}。這種多深度金字塔在空間維度上含有更豐富的語義,但在特徵融合中也需要仔細處理,以確保特徵間的正確信息流

空間語義調製。爲了對齊多深度金字塔中特徵的空間語義,將空間語義調製用於TPN。空間語義調製以兩種互補的方式工作。對除頂層特徵以外的每個特徵,都會對其應用一組具有特定層次步幅的卷積,使其空間形狀和接受域與頂層特徵相匹配。此外,還附加了一個輔助分類頭,以接受更強的監督,從而增強了語義。因此,採用TPN的主幹網絡的目標將變爲:

其中LCE, o是原始的交叉熵損失,LCE, i是第i個輔助頭的損失。{λi}是平衡係數。經過空間語義調製後,特徵在空間維度上有對齊的形狀和一致的語義。但是,它在時間維度上仍未校準,因此引入了本文所提出的時間速率調製。

時間速率調製。在SlowFast[5]中使用的輸入層幀金字塔,可以動態調整幀的採樣率以提高其適用性。相反,因爲TPN對主幹網絡的特徵進行操作,因此其靈活性受限,所以這些特徵的視覺節奏僅僅受其在原始網絡中的深度控制。爲了使TPN具有與輸入層幀金字塔中類似的靈活性,將一組超參數{αi}i=1到M進一步引入TPN以進行時間速度調製。具體而言,αi表示在空間語義調製之後,使用參數子網在第i層對更新後特徵用αi的一個因子進行臨時下采樣。這些超參數的加入能夠更好地控制特徵在時間尺度上的相對差異,從而更有效地進行特徵聚合。

圖3. 信息流:黑色的箭頭表示聚集的方向,而橙色的箭頭表示從圖二的時間調製到最終預測的IO流。忽略了通道維度和上/下采樣操作

Information Flow of TPN

按照上一節的要求收集並預處理了特徵的層次結構後,使它們在視覺節奏上是動態的,並在空間語義上是一致的。讓Fi'爲第i層的聚合特徵,通常有三個基本選擇:

其中的十字符號表示按元素相加。並且爲了確保在連續特徵之間相加的兼容性在聚合期間沿着時間維應用了一種向下/上採樣的操作g(F, δ),其中F是特徵向量,δ是因子。請注意,自上而下/自下而上流的頂部/底部特徵不會被其它特徵聚合。除了上述的基本流在TPN中聚合特徵外,還可以將它們結合起來實現兩個附加的選擇,即級聯流和並行流。在自上而下流之後應用自底向上流將導致級聯流,同時應用它們將會導致並行流。值得注意的是,可以在這些流的基礎上構建更復雜的流(例如[20]中的路徑聚合)。然而,我們在這方面的研究並沒有顯示出進一步的改進。最終,按照圖2,將對TPN中所有聚合的特徵重新縮放和連接,以進行後續的預測。

Implementation

繼FlowFast之後,由於inflated ResNet在各個數據集上出色的性能[1],我們將其作爲3D主幹網絡,同時使用原始的ResNet[12]作爲我們的2D主幹網絡。我們使用res2, res3, res4, res5的輸出特徵來構造TPN,與輸入幀相比,它們在空間上分別下采樣4, 8, 16和32倍。在空間語義調製中,M級TPN中處理第i層特徵的M維卷積將使特徵維數減小或增加到1024.此外,對每個特徵的時間速率調製是通過一個卷積層和一個最大池化層實現的。最後,在通過上一節描述的5個流中的1個進行特徵聚合後,TPN的特徵將通過最大池化操作單獨重新縮放,並將連接的特徵輸入到一個全連接層來實現最終的預測。TPN也可以與主幹網絡以端到端的方式聯合訓練。

Experiments

我們在各種動作識別數據集上評估了TPN,包括Kinetics-400 [1], Something-Something V1 & V2 [10]以及Epic-Kitchen [2]。此外,我們提供了一些實證分析以驗證TPN的動機,即單個主幹網上的特徵級時間金字塔有助於捕獲視覺節奏的變化。除非特別說明,否則所有實驗均以MMAction[37]上的單一模式(即RGB幀)進行,並在驗證集上進行評估。

Training. 除非特別說明,我們的模型默認通過ImageNet [3]上預訓練的模型進行初始化。按照 [5]中的設置,輸入幀以特定的間隔τ從一組連續的64幀中採樣輸入幀。每個幀都是隨機裁剪的,因此其短邊範圍在 [256, 320]像素之間,和 [32, 5, 25]中一樣。 採用水平翻轉增強和0.5的dropout來減少過擬合。並且BatchNorm(BN)[14]沒有凍結。我們使用0.9的momentum,0.0001的權重衰減和在8塊GPU [9]上同步的SGD進行訓練。每塊GPU的batch-size爲8,因此總共有64個mini-batch。對於Kinetics-400,學習率爲0.01,在第100,125個週期(共150個週期)時,學習率分別降低10倍。對於Something-Something V1 & V2 [10] 以及Epic-Kitch [2], 模型分別以150和55個epochs進行訓練。

Inference. 有兩種推斷方法:three-crop和ten-crop測試。a)three-crop測試指從原始幀中隨機抽取三個大小爲256 x 256的隨機裁剪,首先調整大小使其較短的邊上有256個像素。Three-crop測試被用作空間完全卷積測試的近似值,如 [25, 32, 5]中所示。b)Ten-crop測試基本遵循 [31](TSN) 中的程序,即提取5種大小爲224 x 224的裁剪,並進行翻轉。特別地,我們在Kinetics-400上進行了Three-crop測試。我們也在整個視頻上均勻地採樣10個片段,並將所有片段softmax概率的平均值作爲最終的預測。對於另外兩個數據集,採用了ten-crop測試和與TSN類似的8個片段的方法。

Backbone. 我們在2D和3D主幹網絡上評價TPN。具體來說,SlowFast [5]的slow-only分支因其在各種數據集上出色的性能,被應用爲我們的主幹網絡(記爲I3D)。I3D的結構在表1中展示,其通過inflating kernels [32, 1]將2D的ResNet轉爲3D版本。具體地,一個大小爲k x k的2D核心將會被膨脹爲t x k x k的大小,它的原始權重被複制t次,並被重新縮放爲1/t。需要注意的是,slow-only主幹上沒有時間下采樣操作。ResNet-50被用作2D主幹網絡,以顯示TPN能夠與各種主幹網絡結合。除非特別說明,最終預測遵循TSN的標準協議。

Ablation study

在Kinetics-400上對TPN的組件進行消融研究。具體來說,除非另有說明,否則採用I3D-50主幹和稀疏採樣策略(即 8 x 8)

哪個特徵源對分類的貢獻最大?如3.1所述,有兩種方法從主幹網絡中收集特徵,即單深度和多深度方法。對於單深度金字塔,res5的輸出分別以 {1, 2, 4, 8} 的間隔沿時間維度採樣。對於多深度金字塔,我們選擇表6a所示的三種可能的組合。並行流被用作特徵聚合的默認選項。選擇多深度金字塔的超參數 {αi}i=1到M與單深度金字塔的形狀匹配。例如,如果res4和res5被選爲特徵源,超參數將是 {4, 8}。

使用不同特徵原的結果在表6a中顯示,結果表明當從相對較淺的源中提取特徵,例如res2或res3,TPN的性能將會下降。直觀地來說,存在兩個相關的因素:1)與目標檢測中低層次的特徵有助於位置迴歸不同,動作識別主要依賴於高層次的語義。2)另一個因素可能是I3D主幹 [5]僅擴大了res4和res5中的卷積塊,因此res2和res3無法捕捉有用的時間信息。不幸的是,膨脹主幹網中所有的2D卷積將顯著增加計算複雜度,並損害 [5]中報告的性能。與多深度金字塔相比,單深度金字塔通過直接從單個源中採樣,來提取各種速度表示。雖然也觀察到了改進,但是僅以單個空間粒度來表示視頻語義可能還不夠。

信息流有多重要?在3.2節中,引入了一些信息流來做特徵聚合。表6c在保持TPN中其它組件不變的情況下,列出了不同信息流的性能。令人驚訝的是,只有Isolation Flow的TPN也以0.58%提升了性能,表明在適當的調製下,這些具有不同時間接收域的特徵確實有助於動作識別,即使它們只來自單一的主幹網。具有Parallel Flow的TPN獲得了最佳的結果,識別準確率達到了76.1%。並行流的成功表明低層次的特徵能夠通過自頂向下流由高層特徵加強,因爲自頂向下流具有更高的時間接收域。高層次特徵的語義特徵可以通過自底向上流,被低層次的語義特徵豐富。更重要的是,這兩個相反的流並不矛盾,而是互補。

空間語義調製和時間速率調製有多重要?分別引入空間語義調製和時間速率調製來解決空間維度中的語義不連續性,以及調整時間維度種不同層次的相對速率。這兩種調製的效果在表6b中進行研究,從中可以觀察到1)具有所有組件的TPN能達到最好的結果。2)如果空間語義調製沒有包含空間卷積,我們需要同時在TPN的空間和時間維度上/下采樣特徵,這對時間特徵融合無效。

輸入幀的數量有多重要?雖然我們在研究實驗中以步長爲8採樣8幀爲默認輸入,但是我們同時也研究了不同的採樣策略。我們以T x τ 表示以步長τ採樣T幀。並且在表6d中,包含了I3D-50和I3D-101用不同採樣策略獲得的結果。因此,與稀疏的採樣策略(8 x 8)相比,較密集的採樣策略(32 x 2)往往會帶來豐富和冗餘的信息,從而導致I3D-50的輕微過擬合。然而,I3D-50 + TPN並沒有遇到這種過擬合,獲得了2%的增長。此外,對於更強的主幹I3D-101,可以觀察到一致的改進。

Empirical Analysis

爲了驗證TPN是否捕捉到了視覺節奏的變化,對TPN進行了一些實證分析。

每一類的性能提升 vs. 每一類的視覺節奏差異。首先,必須測量一組動作實例的變化。與物體檢測中尺度的概念不同,精確計算動作實例的視覺節奏並非易事。因此,我們提出了一種基於模型的測量方法,其利用逐幀分類概率曲線的半最大全寬(FWHM)。FWHM由變量值等於其最大值一半的兩個點的差定義。我們使用訓練好的2D TSN在驗證集中對動作實例收集每一幀的分類概率,並對每一個實例計算FWHM作爲其視覺節奏的度量,因爲當採樣fps固定後,大的FWHM直觀地表明動作節奏慢,反之亦然。因此,我們可以對每個動作類計算視覺節奏方差。圖1的底部顯示了所有動作類別的視覺節奏方差,這表明不僅某些類的視覺節奏方差很大,而且不同類別的視覺節奏方差也明顯不同。

隨後,我們還估計了採用TPN模塊時,每一類識別準確率增益和每一類的視覺節奏方差之間的相關性。首先,我們將圖1中的條形圖以10爲間隔分成若干個箱子,使其平滑。我們接着計算每個箱子中性能提升的平均值。最後,圖4展示了所有箱子的統計結果,其中性能提升與視覺節奏的變化呈正相關。這項研究有力地支持了我們的假設,即TPN可以在視覺節奏變化很大的情況下,提升此類動作的識別準確率。

TPN對視覺節奏變化的魯棒性。儘管視覺節奏變化很大,人類仍可以輕鬆識別動作。我們提出的TPN模塊是否也具有這種魯棒性?爲了對此進行研究,我們首先在Kinetics-400 [1] 上訓練了一個輸入幀爲8 x 8 (T x τ)的I3D-50 + TPN,然後分別以步長{2, 4, 6, 10, 12, 14, 16}對原始的8 x 8輸入重新採樣來重新縮放,以便調整給定動作實例的視覺節奏。例如,當將採樣的8 x 16或8 x 2輸入到訓練的I3D-50 + TPN中,由於時間範圍相對增加/減小,我們實際上在加速/減速原始動作實例。圖5包括了I3D-50和I3D-50 + TPN的不同視覺節奏的精度曲線。從中可以看出TPN有助於提高I3D-50的魯棒性,從而形成緩和曲線。此外,因爲TPN可以根據需要進行動態調整,隨着視覺節奏的變化,TPN對視覺節奏變化的魯棒性變得更加清晰。

Conclusion

在本文中,提出了一種稱爲Temporal Pyramid Network的通用模塊來捕捉動作實例的視覺節奏。TPN作爲一種功能級金字塔,可以以一種即插即用的方式應用到現有的2D/3D架構中,並帶來一致的改進。實證分析揭示了TPN的有效性,支撐了我們的假設和設計。我們在未來的工作中會將TPN擴展到其它的視頻理解任務中。

 

 

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