Quo Vadis, Action Recognition? A New Model and the Kinetics

arXiv鏈接:[1705.07750] Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset

nn

這篇文章有兩個看點,一是發布了新的trimmed video dataset——Kinetics,二是在這個數據集上訓練了一個新網路Inflating 3D ConvNets,文章梳理了各個時期用深度學習來做行為識別的典型方法並用實驗驗證,前後做了七八個實驗。

一些典型網路的結構:

Kinetics:

nn

Kinetics數據集來源於油管,包含400類行為,每一類有>400條的視頻並且一條視頻都是截取於獨立的視頻。包含4種主要分類:1,個人行為。2,人際的交互行為。3,需要時間推理的行為。4,強調對對象進行區分的行為。每一段視頻大概10s左右,測試集每一類大概有100段。(詳細的數據集介紹:[1705.06950] The Kinetics Human Action Video Dataset

nn

在推出Kinetics之前還有一個miniKinetics,包含了213類,共120k條視頻。測試集每一類有150—1000條,驗證集有25條,測試集有75條。文章中很多實驗是在minikinetics上訓練的。

nn

I3D

nn

以往的Conv3D效果很差的原因之一就是數據集太小,喂不飽網路。

nn

文章中的3D網路並不是隨機初始化的,而是將在ImageNet訓好的2D模型參數展開成3D,之後再訓練。因此叫Inflating 3D ConvNets。

nn

展開的細節:

nn

本文選用的網路結構為BN-Inception(TSN也是),但做了一些改動。如果2D的濾波器為N*N的,那麼3D的則為N*N*N的。具體做法是沿著時間維度重複2D濾波器權重N次,並且通過除以N將它們重新縮放。(之所以再除以N是為了每一層的權重之和不變?)。這樣來確保濾波器的響應相同。每一個卷積層的輸出在時域上是固定的,對於非線性層和池化層和2D的相同。(關於時域上的池化後面還有介紹)

nn

2D的卷積其實包含了x和y兩個方向,一般來說這兩個方向的步長可以一致,但對於3D來說,時間維度不能縮減地過快或過慢。因此改進了BN-Inception的網路結構。在前兩個池化層上將時間維度的步長設為了1,空間還是2*2。最後的池化層是2*7*7。訓練的時候將每一條視頻採樣64幀作為一個樣本,測試時將全部的視頻幀放進去最後average_score。除最後一個卷積層之外,在每一個都加上BN層和Relu。

nn

I3D的結構圖為:

雙流的I3D網路也是分別獨立訓練的。(不同於文章中2D的雙流網路包括初始的Two-Stream和3D-Fused Two-Stream,光流和RGB都是聯合訓練的

nn

數據增加:

nn

在訓練期間,spatial上是先將原始幀resize成256*256的,然後隨機剪裁成224*224的。在temporal上,盡量選擇前面的幀以保證足夠光流幀的數目足夠多。短的視頻循環輸入以保證符合網路的input_size。在訓練中還用到了隨機的左右翻轉。(2*還是4*的數據量?

nn

測試的時候選用中心剪裁224*224,將整條視頻的所有幀輸入進去,之後average_score。

nn

將剪裁尺度變成256*256的並不會有明顯的提升。但如果在測試時候用到左右翻轉或是訓練時考慮到photometric應該會有效果的提升。

nn

計算光流使用是TV-L1演算法。

nn

實驗結果:

結論是:

nn

1. I3D是一個好模型,並且在ucf101和hmdb51這種小數據集上表現也不錯,歸因於ImageNetnPre-training model的強大作用。

nn

2. miniKinetics數據集要比ucf101難分類,hmdb51很難分類是因為類與類之間的動作太相似。

nn

3. 不同的網路結構在同一數據集上排名大致相同。

nn

4. LSTM和3D-ConvNet在miniKinetics上效果要再小的數據集上時好一些,可能是因為這倆模型都需要大量數據來訓練。

nn

5. 在UCF101或是HMDB51上時,two-stream中光流的效果要遠遠好於RGB,但在miniKinetics上並不是這樣。原因之一可能是miniKinetics採集視頻時相機移動更多,造成提取出的光流效果欠佳。在miniKinetics上,I3D的光流網路要好於RGB的原因之一是有更長的時序接受域。(64vs10

nn

在Kinetics訓練的模型應用到UCF101和HMDB51上。

nn

有兩種方法:一是將模型套用在新數據集上,產生特徵之後,只訓練最後的softmax分類器。二是在新的模型上微調。當然是微調的效果好了。

nn

在miniKinetics預訓練的模型上操作效果如下:

對於I3D的效果為什麼好,作者解釋說I3D有64幀的感受野。可以更好地學習時序信息。再就是先用ImageNet的模型做了預訓練。(但沒有解釋池化時,步長不同時是如何處理初始化模型參數的

nn

作者還將第一個卷積層的濾波器可視化了

上為光流的濾波器,中為RGB的,下面是原始Inception-V1的,作者說:」Curiously the filters of thenflow network are closer to the original Inception-v1 filters, while the filtersnin the RGB I3D network are no longer recognizable」.(我沒有看出來光流濾波器更接近原始Inception-v1濾波器

nn

在展望中作者提到了action tubes和 attention mechanisms,以及用於在雙流架構中確定行為發生者的空間和時間範圍。這些都不是我熟悉的,暫且不提。

nn

一些感想:

nn

似乎I3D這個網路結構的提出是很顯然,但用2D的ImageNet模型做預訓練以及參數展開分配還是挺具有創新性的,雖然在TSN中處理光流的第一個卷積層時就有使用過類似的方法。

nn

這個實驗室真有能力,以往的數據集上效果很難提升,自己就搞了個大數據集。本文中前後訓練的模型有二三十個,光訓練調參就得幾個月吧。那個Kinetics的I3D模型是在64塊GPU上跑出來的,64塊啊旁友們!我只有一塊k80((╥╯^╰╥)

這些實驗是在TensorFlow上完成的,什麼時候放出源碼和模型,肯定會造福很多土碩啊。

nn

這倆作者還挺有人文修養的,」Quo Vadis」,拉丁文,我查了一下是1859年波蘭作家顯克維支 Henryk Sienkiwicz 所作,描寫羅馬暴君尼祿時代的歷史小說。跟action recognition想到一起,不太像理工狗。

nn

(完

推薦閱讀:

五分鐘喝不完一杯咖啡,但五分鐘可以帶你入門TensorFlow
Tensorflow源碼解讀(一):AttentionnSeq2Seq模型
配置深度學習主機與環境(TensorFlow+1080Ti) | 第一章:硬體選購與主機組裝
ChatGirl 一個基於 TensorFlow Seq2Seq 模型的聊天機器人
從三大神經網路,測試對比TensorFlow、MXNet、CNTK、Theano四個框架

TAG:深度学习DeepLearning | arXiv | TensorFlow |