Collaborative Spatioitemporal Feature Learning for Video Action Recognition


Collaborative Spatioitemporal Feature Learning for Video Action Recognition

摘要

時空特征提取在視頻動作識別中是一個非常重要的部分。現有的神經網絡模型要么是分別學習時間和空間特征(C2D),要么是不加控制地聯合學習時間和空間特征(C3D)。

作者提出了一個新穎的neural操作,它通過在可學習的參數上添加權重共享約束來將時空特征encode collaboratively。

特別地,作者沿着體積視頻數據的三個正交視圖進行二維卷積,這樣分別學到了空間表觀線索和時間動作線索。

通過在不同視角共享卷積核,空間和時間特征可以協作地被學習到並且互相優化,然后通過加權求和融合互補特征,加權求和的系數是端到端學習到的。

算法性能達到了state-of-the-art的效果並在Moments in Time Challenge2018中奪冠。

基於在不同視角中學到的系數,作者量化了空間和時間特征的貢獻,這個分析為模型提供了一定的可解釋性,也許為將來的視頻識別算法設計提供了一定的指導。

一、引言

時空特征的聯合學習對於動作識別任務非常關鍵,空間特征的提取與圖像識別任務類似,可以很輕松地提取出來,但是仍有兩個問題沒有被解決,一個是如何去學習時間特征,另一個問題是如何將空間特征和時間特征很好地結合起來。解決上述問題有幾種嘗試:1. 設計時間特征並將時間和空間特征作為輸入送到雙流網絡中。2. 3D卷積網絡將時間特征和空間特征緊密糾纏,共同學習,因此時空特征可以直接從網絡中學習得到。然而3D卷積網絡的大量參數和計算量限制了模型的性能。

作者提出了一種聯合時空特征學習操作(CoST),可以在權重共享約束下聯合學習時空特征。給出視頻序列的3D向量,作者首先從不同的角度將其分解成3個2D圖像集合,然后用卷積操作分別對三個圖像集合進行卷積。從三個角度得到的視頻序列分別是:

  1. 我們平時見到的\(H-W\)視角,即就是將\(H-W\)看做一個平面,\(T\)作為單獨一個維度將該平面擴充。
  2. \(T-W\)視角,即將\(T-W\)看做一個平面,\(H\)作為一個單獨的維度將該平面擴充。
  3. \(T-H\)視角,即將\(T-H\)看做一個平面,\(W\)作為一個單獨的維度將該平面擴充。

這樣的設計使得每一幀都包含有豐富的動作信息,而不是在兩幀之間有動作信息。使得2D卷積可以直接捕捉到時序動作線索。另外還使得作者可以用2D卷積學習到時空特征而不用3D特征。

不同視圖共享參數的原因有:

  1. 不同視圖生成的圖像是可以兼容的,從圖中可以看到,\(T-H\)\(T-W\)視同形成的圖像中仍然存在像邊、角一樣的邊緣信息。因此可以共享權重。
  2. C2D網絡的卷積核是內在冗余的,可以通過共享權重的方式進行學習時域特征。
  3. 模型的參數數量大大減少,網絡可以更容易地進行訓練。

另外,在空間域學習到的特征很容易通過巧妙設計網絡結構和預訓練參數遷移到時間域中。

不同視角的互補特征通過加權求和得到融合,算法為每一個視角的每一個通道學習出獨立的參數,從而可以按需學習出時空特征。基於這些參數,作者可以將時間域和空間域各自的貢獻量量化進行一些量化分析。

作者基於CoST操作,構建了一個卷積神經網絡。這個網絡和C2D相比,CoST可以聯合地學習到時空特征,和C3D相比,CoST是基於2D卷積的,CoST連接了C2D和C3D。實驗表明,CoST的性能比C2D和C3D都要好。

作者的貢獻總結如下:

  • 提出了CoST,用2D卷積代替3D卷積學出了時空特征
  • 這是第一個將空間和時間特征的重要性定量分析的工作
  • CoST性能比C3D以及它的變體要好一些,在大型數據集上達到了state-of-the-art的效果

二、相關工作

介紹了傳統的基於手工特征的算法,其中性能最好的是光流引導下沿軌跡的局部特征。介紹了雙流網絡結構以及LSTM對時序演變的建模。介紹了C3D以及C3D的演變模型。和作者提出的算法最為相似的是Slicing CNN,也是從不同視角學習模型進行crowd video understanding,不同的是,該算法從不同的網絡分支中獨立地學習出三個視角的特征,最后在網絡頂層進行合並。作者是聯合學習時空特征,時空特征的聚合在每一層都進行。

三、方法

1. 2D ConNets

C2D模型(圖中(a)C2D模型)能夠提取出魯棒的空間特征,但是只用了很簡單的策略將空間和時間特征結合起來。作者以C2D為baseline模型,以ResNet作為骨架網絡,構建了一個網絡結構,如表所示是ResNet-50的結構。

ResNet網絡結構

2. 3D ConNets

C3D是C2D的改進,增加了時間維度,將\(h \times w\)的卷積核變成了\(t \times h \times w\)的卷積核。圖中(b)和(c)是是C3D的兩種卷積方式,很明顯地可以看到,(c)的參數量比(b)的參數量要小很多,而且實驗結果表明(c)的效果和(b)的效果不相上下,作者采用(c)結構來作為C3D的baseline模型。

3. CoST

下圖對比了CoST操作和\(C3D_{3 \times 3 \times 3}\)\(C3D_{3 \times 1 \times 1}\)\(C3D_{3 \times 3 \times 3}\)利用3D卷積將時間和空間特征聯合提取出來,\(C3D_{3 \times 1 \times 1}\)首先用\({3 \times 1 \times 1}\)的卷積核提取時間上的特征,然后用\({3 \times 3 \times 3}\)的卷積核提取空間特征。作者用3個\(3 \times 3\)的2D卷積核從三個視角分別進行卷積操作,然后通過加權求和將三個特征圖進行融合,注意,這里的三個卷積核參數是共享的(代碼怎么實現的參數共享呢),參數可以通過端到端的方法去訓練。

輸入的特征大小為\(T \times H \times W \times C_1\)\(C_1\)是輸入特征的通道數,三個視角的卷積操作可以表示為:

\[\begin{aligned} \boldsymbol{x}_{h w} &=\boldsymbol{x} \otimes \boldsymbol{w}_{1 \times 3 \times 3} \\ \boldsymbol{x}_{t w} &=\boldsymbol{x} \otimes \boldsymbol{w}_{3 \times 1 \times 3} \\ \boldsymbol{x}_{t h} &=\boldsymbol{x} \otimes \boldsymbol{w}_{3 \times 3 \times 1} \end{aligned} \]

其中,\(\otimes\)表示3D卷積操作,\(w\)是增加了一個維度的三個視角共享的\(3 \times 3\)的卷積。

這里的卷積可以這樣理解:對於\(T-W\)視角,將\(T-W\)看做一個平面,\(H\)看做是平面的堆疊,其中每個平面是有\(C_1\)個通道。如果單獨看一個平面,只對一個平面進行卷積操作,則卷積核的大小為\(C_1 \times 3 \times 3\),卷積結果大小為\(T \times W\)。然而從這個視角出發,共有\(H\)個這樣的平面,所以對每一個平面都用上述\(C_1 \times 3 \times 3\)的卷積核進行卷積,即每一個平面用完全一樣的\(C_1 \times 3 \times 3\)的卷積核進行卷積得到\(T \times W \times H\)大小的特征。因為共有\(C_2\)個卷積核,所以經過卷積后的特征圖大小為\(T \times H \times W \times C_2\),上述公式中\(w_{3 \times 1 \times 3}\)中忽略了平面的通道數\(C_1\),並且將\(H\)\(1\)代替。

得到三個視角的特征后,對其進行加權求和得到該層最終的輸出:

\[y=\left[\alpha_{h w}, \alpha_{t w}, \alpha_{t h}\right]\left[\begin{array}{l}{\boldsymbol{x}_{h w}} \\ {\boldsymbol{x}_{t w}} \\ {\boldsymbol{x}_{t h}}\end{array}\right] \]

\(\boldsymbol{\alpha}=\left[\alpha_{h w}, \alpha_{t w}, \alpha_{t h}\right]\)\(\boldsymbol{\alpha}\)是一個\(C_2 \times 3\)大小的矩陣,其中3表示3個視角。為了避免從多個視圖得到的響應發生巨大爆炸,\(\boldsymbol{\alpha}\)用SoftMax函數對每一行進行歸一化。

作者設計了兩種CoST結構,如圖所示:

CoST(a)

系數\(\boldsymbol{\alpha}\)被認為是模型參數的一部分,在反向傳播的時候可以被更新,當進行識別的時候參數是固定的

CoST(b)

系數\(\boldsymbol{\alpha}\)是基於特征被網絡預測得到的,這個設計靈感來自於最近的自適應機制。每個樣本的系數值取決於樣本自己。首先用global pooling將三個視角的特征pooling為\(1 \times 1 \times 1\),然后然后用\(1 \times 1 \times 1\)的卷積核進行卷積,這里的參數也是共享的,接着將拼起來的三個特征送到FC層中,最后用Softmax函數進行歸一化。

4. 與C2D和C3D的聯系

如圖所示,如果\(T-W\)\(T-H\)的系數是0,這時候就退化成C2D了,因此,CoST是嚴格一般化的C2D

CoST可以看做是特殊化的C3D,3D卷積核參數量是\(k^3\),可以看做是一個\(3 \times 3\)的立方體空間,而CoST的參數量為\(3 k^{2}-3 k+1\),可以看做圖中的立方體去了八個角的剩余的部分。如果參數沒有共享,CoST非常接近C3D除了八個角的參數被設置成0並且不可以被學習,如果有參數共享,雖然感受野的大小只有19個,對應的19個參數可以從不同視圖之間共享的9個可學習參數中派生出來。對於計算量,CoST也遠勝於C3D。

三、實驗結果

作者在Moments in Time和Kinetics進行了實驗,Moments in Time共有來自於339個動作類的802245個訓練視頻和39900個驗證視頻,每個視頻被修剪得是的持續時間有3秒,Kinetics有236763個訓練視頻和19095個驗證視頻分別來自400個人體動作類別,每個視頻持續時間有10秒。

1. 實驗細節

對於一個視頻,采樣64個連續的視頻幀,然后每隔8幀抽一幀樣本,這樣對於每一個視頻有8個視頻幀。從一個按比例縮放的視頻中隨機裁剪出大小為224×224像素的圖像塊,該視頻的短邊隨機采樣在256到320像素之間。模型用在ImageNet上預訓練的2D模型進行初始化。用8個GPU進行訓練,為了加快速度,8個GPU被分為兩組並且權重在兩個組之間異步更新。每個GPU上的mini-batch的大小為8個視頻,即對於一個組的四個GPU,總共的mini-batch大小為32。用SGD方法迭代600次,momentum為0.9且weight decay為0.0001.學習率初始化為0.005且在300k和450k次迭代的時候下降10倍。

在推理過程中,作者對短邊重調到256像素的視頻執行空間完全卷積推理。而對於時域,從一個完整的視頻中平均采樣10個片段,並分別計算它們的分類分數。最后的預測是所有剪輯的平均得分。

2. 消融實驗

分別在兩個數據集上驗證了CoST(b)的效果更好、共享權重效果更好、CoST的效果比C2D和C3D的效果更好。

3. 和state-of-the-art相比

4. 不同視角的重要性

作者將\(W-H\)視角的系數定義為空間特征的影響力,將\(T-W\)\(T-H\)視角的系數定義為時間特征的影響力。從圖8可以看到空間特征在兩個數據集上的作用都非常重要,Moments in Time比Kinetics更需要時間特征。隨着層數的增加,空間特征的影響力在下降,時間特征的影響力在上升,說明網絡底層更關注空間特征的學習,網絡高層更關注時間特征的提取。而且作者還用一些實例化的圖像來說明對於一些視頻樣本,時間特征更重要,對於另外一些視頻樣本,空間特征更重要。

5. 討論

對於視頻分析,如何高效地對時空特征進行編碼仍然是一個開放性的問題。雖然實驗表明參數共享在一定程度上提升了動作識別的性能,但是空間維度T是否可以被當做一個普通的空間維度,從直觀上來講,空間特征和時間動作是屬於兩種不同的模態信息。促使作者協同學習的動機是不同視圖的可視化(如圖1所示)。有趣的是,我們的實驗結果表明,至少在某種程度上,它們具有相似的特征,可以使用具有相同網絡架構的單一網絡共同學習並且共享卷積內核。 在物理學中,根據Minkowski時空,三維空間和一維時間可以統一為四維連續體。 作者的發現可能在特征表示學習的背景下由時空模型解釋和支持。

四、結論

從3D視頻數據中學習特征是動作識別的主要挑戰,在本文中,作者提出了一種新穎的特征學習操作,它從多個視角聯合學習時空特征。 它可以很容易地用作C2D和C3D的直接替代品。在大規模的數據集上驗證了作者提出的關鍵的優越性。基於不同視角學習到的系數,可以看到空間和時間特征對動作識別任務的具體貢獻量。系統分析表明了一些有前途的算法設計方向,將來的工作將向這方面發展。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM