【CVPR2020】Temporal Pyramid Network for Action Recognition

〇、基本信息:

  • Title:Temporal Pyramid Network for Action Recognition
  • Author:港中文和商湯的工作,有大佬周博磊的參與
  • 一句話概括一下:This work addresses the importance of visual tempo within action recognitiong problem, and inspired by this, the author proposed a module named TPN at feature level for tempo modeling. And the two components in TPN (the source and the fusion of features respectively), forming the feature hierarchy for a given backbone. Then the model can capture action instance at various tempos!(其實不知道大家有沒有看過何凱明SlowFast的工作,個人目前對此的理解其實就是一個在feature 層面的上的SlowFast的工作,這樣的情況下網絡的總輸入就還是固定的單一的frame rate比如一次8幀或者一次16幀,這樣的。)

一、讀完摘要後的疑問:

  1. 什麼是visual tempo?

二、讀完Introduction後的一些想法:

還和之前的想法一樣,這個工作就是一個Feature層面的SLow Fast的工作,這樣的化輸入的frame rate就是固定的了,比如8frame或者16frame這樣的。
該方法產生的動機呢???
原文是這麼說的:
(1)之前的工作雖然利用多分支的方式進行了不同frame rate的輸入,但是這樣的方式是非常的對算力不友好的,並且事先去定義不同的tempo也是不顯示的(可能每個動作就有一種tempo,那動不動幾百種的動作類別的難道我們要去定義上百種的分支嗎?這是不現實的,當然不知道自己這樣理解對不對)
(2)常見的C3D這樣的方法經常堆疊一些列的時序卷積,這樣子隨着網絡層數的增加,時序感受野也隨之增大,作爲結果呢,單一model中不同深度的feature就已經有了一定的fast-tempo或者slow-tempo了,那如此來說在去multi-branches是不是就顯得有點多餘了(至少在C3D相關的方法中而言)

三、看結論的收穫

(1)對proposed method的總結(提出了什麼,是什麼樣子,如何使用等)
(2)後續工作將應用在video understanding中,action recognition已經可以理解爲一種視頻理解的一小部分了吧,那還有什麼和時序建模相關呢?action prediction?

四、正文部分

首先映入我眼簾的依據就是第一句:
The visual tempo of an action instance is one of the key factors for recognizing it, especially when other factors are ambiguous.
沒錯,作者的意思是visual tempo可以區分那些模棱兩可動作(比如走路,慢跑以及跑步這樣的非常像的)的重要因素?我自己是很好奇這個結論是怎麼來的呢?

接着,作者說之前的對visual tempo進行獲取的方案主要就是利用frame pyramid進行的,具體而言就是輸入的frame rate是pre-defined的,並且沒中不同的rate對應一個特殊的network來處理,最典型的例子就是SlowFast了,這樣的弊端就是需要極大的運算量,尤其當frame rate不止一種的時候。

所以這篇TPN就出現了,如圖,
在這裏插入圖片描述
可以看出來整個結構就是這五個框,核心就是中間的三個框,然後爲了解決Slow-Fast那種input frame multi-rate的問題,這裏是利用不同的feature map進行的。這樣整個網絡的輸入就還是是一個frame rate的。然後取不同深度的feature map,也就是第一個框Bacbone中的主要工作。

1. Backbone:

看作是特徵提取器把,就是對不同層的特徵進行提取,一般有兩種:
(1)第一種本文稱之爲single-depth pyramid,這種就是對特定層的feature map進行temporal dimension上的分級劃分,比如有100個channel, 那麼就10, 20, 30, 40這樣劃分出四組,那這個single depth的金字塔就有四層。這樣做的缺陷就是,無論你怎麼劃分金字塔,你都知識來自於一個層的feature map,並沒有什麼有衝擊性的東西,就好比你選了100個50歲的人,無論你怎麼進行組合,劃分,都改變不了他們都是50歲的人的事實,大家能提供的信息也基本上就在50歲上下,所以作者又提供了第二種思路。
(2)Multi-depth pyramid:這個就和上面不一樣了,在不同的深度選取feature map,然後把這些特徵融合在一起(注意由於來源不一樣,所以融合的是偶得格外小心,比如通道數啊,特徵圖大小啊什麼的,總之就是得求同存異吧),這樣這個新構造出來的feature map就更加有料了!再舉個例子,比如還是選拔了100個人,其中10個20歲的,20個30歲的,30個50歲的,40個80歲的,這下好了,你把這麼100個人放在一起,那20歲的也可以瞭解到80歲的一些東西,80歲的老頭也能知道20歲的世界最近流行什麼歌曲了。當然第二種的還需要強調的就是feature fusion,原文的最後一句也強調了要careful treatment!

2.Spatial Semantic Modulation:

也就是框架中的第二個框框,作用就是上面提到的要把這些來自不同depth的feature map進行spatial domin上的對其,或者說整合,畢竟大家都有差異,那麼如何讓其和平共處就顯得格外重要了。這裏自己有些疑惑,原文說這裏空間對齊的部分是通過兩個互補的方式來進行的
(1)對於除過最高一層的feature,其他層的feature map都將被施加level-specific stride的一系列卷積操作,使得其他的feature map在spatial shap以及感受野上都於最高一層保持一致,問題是這個感受野怎麼一致呢?深度都不一樣,感受野怎麼保持一致?
(2)此外呢,還有個叫做 'auxiliary classification head’的東西被施加到這些feature map上,用來實現更強的監督,從而達到增強語言的目的,然後下面列個個Loss function,這個還沒思考明白。

3. Temporal Rate Modulation

上面的spatial上的操作在空間大小是是把來自於各個深度的feature map給對其了,整合在一起了,但是在時序上還沒有得到標定。所以在temporal Rate Modulation這個模塊,也就是框架圖中第三個框框裏面,對時序rate進行整合。
原文說之前的SlowFast這樣的方法因爲輸入的是不同rate的frame,所以控制起來非常靈活,但是本文的話是針對不同深度的feature 進行的,所以顯得有些笨拙,因此爲了讓這個來自於feature map的方法在時序rate上也能顯得靈活一些,就引入了超參數來進行調節,我這個舉個例子,比如一共用到了4層的feature,a1就是對第一層的featurezai 在經過了Spatial Semantic Modulation之後需要進行temporal sampling的參數,相應的a4就是對取的第四層feature 在經過了空間對其後的時序採樣參數,這樣四層的feature就又可以放在一起了!

這一部分其說說白了就是temporal 維度的sampling了吧,明天看看代碼到底是不是這樣的。最後就得到了四組先後經過了spatial 以及temporal整合後的feature了。

4. Information Flow of TPN

這一部就到了用上面得到的feature,前面的步驟可以說是如何進行數據的獲取,後面的步驟就是怎麼用!
兩個basic的down/up-sampling operation
(注意這裏都是僅在temporal dimension進行的!)
(1)Top-down
在這裏插入圖片描述
(2)Bottom-up
在這裏插入圖片描述
然後通過這兩個basic的操作又可以構成兩個複雜一點的
(1) Cascade:先top-down後bottom-up
在這裏插入圖片描述

(2) Parrallel:把兩個基礎的操作同時使用
在這裏插入圖片描述

5.Final Prediction

這個就是對各個level整合信息後的(包括了空間時間的兩個Modulation以及information flow)feature 的rescale和拼接。

6. Implementation

(1)3D的TPN是在SlowFast工作上進行的;
(2)2D的TPN實在2D ResNet上進行的;
其中呢,主要在利用res2, res3, res4以及res5四個stage output出來的feature map來進行TPN的構建,且上述相應的地方都對feature map在spatial上進行了4,8,16以及32倍的下采樣。

五、實驗

先掃了一眼,蠻充分的,自己取讀一下代碼,之後完成剩下的。

六、其他

輔助理解在知乎上看到了一些大佬的簡介,表述的要清晰很多,繼續努力積累
https://zhuanlan.zhihu.com/p/127366929

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