論文地址:

https://

arxiv。org/abs/1908。0248

6

公司專利層面,尚未官方開源

本文是對浙大&商湯在今年ICCV2019上發表的《

STM: SpatioTemporal and Motion Encoding for Action Recognition

》的論文閱讀筆記。

論文提出了一個STM模組,包含一個Channel-wise Spatiotemporal Module來表示時空特徵和一個Channel-wise Motion Module來有效地編碼運動特徵。STM的與眾不同之處是

使用一個2D的框架

來學習

時空特徵

(Spatiotemporal features)和運動特徵(Motion features),也就是將動作識別領域的兩大流派:3D CNN學習時空特徵、Two-stream學習運動特徵,這兩者統一在一個2D的

卷積神經網路

中,在文中使用的是ResNet-50。值得注意的是,STM的兩個模組CSTM和CMM使用了大量的Channel-wise卷積操作,在降低引數量的同時獲得了良好的資訊交流與效能,那麼話不多說,直接進入正題。

1。 簡介

動作識別領域最重要的兩個特徵是時空特徵和運動特徵,運動特徵通常以光流的形式表示,代表了相鄰兩幀之間的運動。作者首先回顧動作識別中的兩大流派:

Two-stream

和3D CNN,並認為前者缺乏捕捉長期運動關係的能力,且光流提取的代價太大;而後者引數規模本身就很大,雖然在大規模資料集上表現較好,但許多方法會透過整合一個

光流分支

來提升效能,因此計算成本會大大增加。這兩類方法存在的問題都限制其在實際場景中的應用。

基於上述,作者提出STM網路,將時空和運動特徵融合在統一的2D CNN框架中,不需要額外的3D卷積以及提取光流的預處理工作。如圖1所示,CSTM模組學習到了時空特徵,與輸入相比較更注重動作的主體物件部分。而對於CMM模組,則能夠像光流一樣捕捉到邊緣的運動資訊。

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

圖1。對STM的視覺化:第一行是輸入幀,第二行是Conv2_1 block,第三行是CSTM的輸出,第四行是CMM的輸出,最後一行是TV-L1演算法提取的光流

2。 相關工作

本章總結了一些比較具有代表性的工作,有興趣可以在原文中檢視。

3。

網路架構

本節首先描述提出的CSTM和CMM,展示如何執行

channel-wise

的時空資訊融合以及提取特徵級別的運動資訊。之後將兩者組合成一個block,插入到現有ResNet中就得到了STM網路。

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

圖2。CSTM和CMM的網路結構

3.1 Channel-wise SpatioTemporal Module

CSTM是為高效的空間和時間建模而設計的。CSTM透過引入非常有限的額外計算成本,提取出豐富的時空特徵,可以顯著提高與時間相關的動作識別效能。如圖2(a)所示,給定一個輸入特徵圖

\mathbf{F} \in \mathbb{R}^{N \times T \times C \times H \times W}

,首先進行reshape操作

\mathbf{F} \rightarrow \mathbf{F}^{*} \in \mathbb{R}^{N H W \times C \times T}

,之後在時間維度上執行channel-wise的1D卷積操作。作者提出採用channel-wise卷積的兩個優點:一是對於特徵圖

\mathbf{F}^*

,不同通道的語義資訊通常不相同,所以其時序資訊的結合方式應該具有差異性,因此採用channel-wise使得每個通道有不同的卷積核;二是相對於普通卷積計算成本可以降低組卷積引數G倍,在此G設定為輸入的通道數,因此相當於是

一維卷積

中的depthwise convolution。這裡需要注意的是,對

\mathbf{F}^{*} \in \mathbb{R}^{N H W \times C \times T}

進行一維卷積操作,NHW相當於

batch-size

,卷積是對

C\times T

的特徵圖進行的,而channel-wise和普通1D卷積操作的區別如下圖所示。

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

形式上表示為:

\mathbf{G}_{c, t}=\sum_{i} \mathbf{K}_{i}^{c} \mathbf{F}_{c, t+i}^{*}

,其中

\mathbf{K}_{i}^{c}

表示屬於通道c、索引為i的時間組合核權重,

\mathbf{F}_{c, t+i}^{*}

是輸入的特徵序列,

\mathbf{G}_{c, t}

是channel-wise時域融合後的特徵。在此卷積核大小設為3因此

i \in[-1,1]

,之後對

\mathbf{G}

進行reshape回原始輸入形狀

[N, T, C, H, W]

並使用一個卷積核大小3x3的2D卷積來建模區域性空間資訊。

在圖1中可視化了CSTM的輸出

特徵圖

,以幫助理解這個模組。將第二行和第三行特徵進行比較,可以發現CSTM學習了時空特徵,在第一列的手等動作的主體部分更加註意,而背景特徵較弱。

3.2 Channel-wise Motion Module

在之前的文章中發現,除了3D CNN從RGB stream中直接學習到的時空特徵外,加入光流表示的

motion stream

仍然可以大大提高效能。因此,除了CSTM之外,本文還提出了一個輕量級的channel-wise Motion Module(CMM)來提取相鄰幀之間的特徵級運動模式。需要注意的是,這裡僅需要找到能夠有效識別運動資訊的特徵表示,而不是得到精確的兩幀之間的運動資訊(如光流),因此只使用RGB幀,而不需要預先提取光流。

如圖2(b)所示,在給定輸入特徵圖

\mathbf{F} \in \mathbb{R}^{N \times T \times C \times H \times W}

,首先使用1x1的卷積層將通道數減小到原先的1/16,以減少計算開銷。然後對連續的兩幀生成特徵級別的運動資訊,以

\mathbf{F}_t

\mathbf{F}_{t+1}

為例,先對

 \mathbf{F}_{t+1}

進行2D的channel-wise卷積之後再減去

\mathbf{F}_t

就得到了近似的運動表示特徵

\mathbf{H}_{t}=\sum_{i, j} \mathbf{K}_{i, j}^{c} \mathbf{F}_{t+1, c, h+i, w+j}-\mathbf{F}_{t}

在此

c,t,h,w

分別表示時間、空間通道以及特徵圖的兩個空間維度,

i, j \in[-1,1]

。在時間維度上每相鄰兩幀產生一個運動表示,因此最後一共有

T-1

個,為保持輸入與輸出之間時間的相容性,在最後一個時間節點用零填充,然後在時間維度上concat在一起。最後使用另一個1x1的卷積層將通道數恢復到原始輸入的

C

從最後的實驗結果來看,雖然CMM的設計比較簡單,但是所提出的CMM可以提高整個模型的效能,證明了CMM得到的運動特徵與CSTM得到的時空特徵是互補的。在圖1中可以看出,與CSTM的輸出相比,CMM能夠像光流一樣捕捉到邊緣清晰的運動特徵。

3.3 STM Network

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

圖3。STM網路的總體結構。首先將輸入的影片平均分成N段,然後每段取樣一幀。我們採用2D ResNet-50作為骨幹網路,用STM塊替換所有殘差塊。除最後一個評分融合階段外,不減少時間維度尺寸。

將CSTM和CMM結合到一起並加入了shortcut就形成了STM Block,第一個1x1卷積層負責減小通道維數,之後分別透過CSTM和CMM模組提取時空特徵和運動特徵。之後的聚合方式經實驗從concat和element-wise sum中選擇了element-wise sum。由於

shortcut結構

以及輸入輸出之間保持相同的形狀,因此可以簡單地將其插入到任何現有的ResNet體系結構中,以非常有限的額外計算成本組成STM網路。

在圖3的上半部分說明了STM網路的總體架構。STM網路是一個

二維卷積網路

,它不需要三維卷積和預先提取光流。作者選擇2D ResNet-50作為骨幹網路,並用提出的STM塊替換所有殘差塊。

4。 實驗

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

圖4。時間相關資料集與場景相關資料集之間的差異

作者將動作識別的資料集分為兩類,一類是時間相關如Something-Something v1 & v2以及Jester,一類是場景相關包括

Kinetics-400

,UCF-101和HMDB-51。並表示由於提出的方法是為有效的時空融合和運動資訊提取而設計的,所以我們主要關注那些與時間相關的資料集。然而,對於場景相關的資料集,我們的方法也取得了具有競爭力的結果。

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)

這些指標看下來,提出的STM確實十分給力,尤其是在使用2D卷積的情況下,能夠與3D卷積和雙流的方法媲美甚至更好,屬實厲害,也算是給動作識別提出了一個新的思路。

最後看一下時間開銷和引數規模

【論文解讀】STM:用於動作識別的時空和運動編碼(ICCV2019)