天天看點

時空模組化新文解讀:用于高效視訊了解的TSM

SIGAI推薦

SIGAI 資源大彙總

SIGAI特約作者

Fisher Yu@Oulu

CV在讀博士

研究方向:情感計算

接着之前的《淺談動作識别TSN,TRN,ECO》,我們來談談最近 MIT和IBM Watson 的新文 Temporal Shift Module(TSM)[1]。

時空模組化新文解讀:用于高效視訊了解的TSM

圖1. Something-SomethingV1 資料集上的個算法性能對比

看看上圖,文章的主要貢獻一目了然:

1. 對比主流的輕量級線上視訊了解ECO系列, TSM系列在參數量少三倍的情況下,性能仍然超越ECO系列

2. 另外文章的TSM子產品的實作非常簡潔而且硬體友好:通過在2D CNN中位移 temporal 次元上的 channels,來實作時間上的資訊互動。故不需要添加任何額外參數,且能捕捉Long-term 時空上下文關系。

Related Work:

大概過一下之前的幾個重要工作(也是本文性能對比的主要幾個state-of-the-art):

1. TSN[2]:視訊動作/行為識别的基本架構,将視訊幀下采樣(分成K個Segment,各取一幀)後接2D CNN對各幀進行處理+fusion

2. TRN[3]:對視訊下采樣出來的 frames 的deep feature,使用 MLP 來融合,建立幀間temporal context 聯系。最後将多級(不同采樣率)出來的結果進行再一步融合,更好表征short-term 和 long-term 關系。

3. ECO[4]系列:

ECO-Lite:輕量級網絡,使用 TSN的中間層 feature maps,來組成 feature clips,然後使用3D CNN來融合時空特征。

ECOen-Lite:在ECO-Lite基礎上,concat上幀間fusion後的 TSN 特征,再做決策。

4. NL I3D+GCN[5]: @Xiaolong Wang大佬ECCV2018的工作。使用 non-local I3D來捕獲long-range時空特征,使用 space-time region graphs 來擷取物體區域間的關聯及時空變化。

故上述性能特别高的 ECO系列 和 NL I3D+GCN,都是或多或少都是使用了3D卷積或者僞3D卷積運算,故在大規模線上視訊了解上用,運算量和效率還是有一定瓶頸。

算法架構

啟發

為了解決上述的3D卷積運算量問題,作者提出了可嵌入到2D CNN中的 TSM 子產品。作者發現:一般的卷積操作,可以分解成 位移shift + 權值疊加 multiply-accumulate 兩個過程。

比如說對一個1D vector X 進行 kernel size=3 的卷積操作 Y = Conv(W; X) 可以寫成:

yi = w1Xi-1 + w2Xi + w3Xi+1

故分解後的兩個操作分别為:

1. 位移(基本不消耗計算資源,正常位址偏移指針操作)

Xi-1= Xi-1 ,Xi0 = Xi , Xi+1= Xi+1

2. 權值疊加

Y = w1X-1 + w2X0 + w3X+1

故作者認為,設計TSM子產品時候,盡可能多使用位移操作(幾乎0計算量),把權值疊加操作放到2D CNN本身的卷積裡去做,這樣就可在不加任何參數計算量基礎上,實作更多功能。

TSM子產品

那麼問題來了,怎麼在時空模組化的視訊了解任務裡,用好這個位移操作呢?

時空模組化新文解讀:用于高效視訊了解的TSM

圖2. Temporal shift module

上圖中最左邊的二維矩陣是Ti時刻 tensor中 temporal和 channel次元(不需要考慮 batch 和 spatial 次元先); 中間是通過STM子產品位移後的的矩陣,可見前兩個channel向前位移一步來表征Ti-1的 feature maps,而第三、四個channel 則向後位移一步來表征Ti+1,最後位移後的空缺 padding補零;右邊的與中間的類似,不過是 circulant 方式來 padding,後面實驗會對比兩種不同padding方式的性能差異。

這裡就涉及一個超參:究竟多少比例的channel進行 temporal shift 才比較合适呢?

作者也考慮到了這個問題,因為如果太多channel進行時間位移,那麼原始固定時刻幀的 2D CNN空間特征就會受到損害,但如果太少channel進行時間位移,那麼網絡又會因temporal上下文互動太少而學不到準确的temporal representation。

為了解決這個問題,作者提出了殘差TSM,這樣就可以整合位移前後的特征。

時空模組化新文解讀:用于高效視訊了解的TSM

圖3. 原地TSM與殘差TSM

最後我們來看看用作動作/行為識别的整個架構:

時空模組化新文解讀:用于高效視訊了解的TSM

圖4. TSM整體架構

文中使用的backbone是ResNet-50,且在每個 residual unit 後都會加入 殘差TSM 子產品,當用2D 3x3的卷積時,每次插入TSM子產品後的時間感受野都會擴大2,故整個架構最後的時間感受野會很大,足以進行複雜的時空模組化。

實驗結果

1. 首先在經典的動作/行為識别資料集上,與純2D CNN架構的 TSN baseline 進行對比。由于兩者都使用相同的backbone網絡和下采樣方式,故唯一的不同就是有無加 TSM 子產品。從表中可見,加入TSM後,特别在 複雜行為 Something-Something 集上性能有極大的提升。

時空模組化新文解讀:用于高效視訊了解的TSM

圖5. TSM與TSN性能對比

2. 下圖是與 TSN, ECO, NL I3D+GCN 系列的性能綜合對比,可見TSM即使在輸入隻有 8 frames的情況下,用最少的參數和浮點運算次數,來取得最高的識别性能,确實BT~~

時空模組化新文解讀:用于高效視訊了解的TSM

圖6. Something-Something集上 識别性能與速度性能對比

3. 從下面兩圖可見,使用了Residual shift後,網絡變得更加穩定,對 shifted channel數比例的依賴更小。而 zero padding 的性能明顯比 環形 padding 要好,因為後者的話會把 temporal 的順序打亂,導緻學出來的時間特征變混亂。

時空模組化新文解讀:用于高效視訊了解的TSM

圖7. 殘差/原地TSM及channel shift比例的超參實驗

時空模組化新文解讀:用于高效視訊了解的TSM

圖8. 不同Padding方式的性能對比

總結及展望

文章 first 提出了 temporal shift 這個視角(感覺像是搞硬體底層或晶片的人來跨界融合搞算法一樣~~),通過人為地排程 temporal channel 的順序讓網絡學到其互動的時空特征,非常地高效實用。

未來的可能性能否探索3D卷積與channel shift之間的新可能性?Temporal 次元multi-scale shifted 是否更有效?channel shift 的思想能否進一步放在其他複雜任務裡,比如4D的任務?

Reference:

[1]Ji Lin, Temporal Shift Module for Efficient Video Understanding

[2] Limin Wang, Temporal Segment Networks: Towards Good Practices for Deep Action Recognition, ECCV2016

[3]Bolei Zhou, Temporal Relational Reasoning in Videos,ECCV2018

[4]Mohammadreza Zolfaghari, ECO: Efficient Convolutional Network for Online Video Understanding,ECCV2018

[5] Xiaolong Wang, Videos as Space-Time Region Graphs, ECCV2018