基於3D卷積神經網絡的行爲識別:3D Convolutional Neural Networks for Human Action Recognition

 


 

簡介:算法

這是一片發表在TPAMI上的文章,能夠看見做者有餘凱(是百度的那個餘凱嗎?)網絡

本文提出了一種3D神經網絡:經過在神經網絡的輸入中增長時間這個維度(連續幀),賦予神經網絡行爲識別的功能。函數

相應提出了一種3D卷積,對三幅連續幀用一個3D卷積核進行卷積(能夠理解爲用三個二維卷積核卷積三張圖)。學習


 

3D神經網絡結構圖:spa

input—>H1設計

      神經網絡的輸入爲7張大小爲60*40的連續幀,7張幀經過事先設定硬核(hardwired kernels)得到5種不一樣特徵:灰度、x方向梯度、y方向梯度、x方向光流、y方向光流,5個channels一共33個maps。對於這個作法,原文這麼解釋「相比於隨機初始化,經過先驗知識對圖像的特徵提取使得反向傳播訓練有更好的表現」。對此個人理解是,梯度表徵了圖像的邊沿的分佈,而光流則表徵物體運動的趨勢,3DCNN經過提取這兩種信息來進行行爲識別。3d

H1—>C2blog

     用兩個7*7*3的3D卷積覈對5個channels分別進行卷積,得到兩個系列,每一個系列5個channels共23個maps。而後爲卷積結果加上偏置套一個tanh函數進行輸出。(典型神經網。)圖片

    卷積後map大小爲54*34.資源

C2—>S3

    2x2池化,下采樣

S3—>C4

    爲了提取更多的圖像特徵,用三個7*6*3的3D卷積核分別對各個系列各個channels進行卷積,得到6個系列,每一個系列依舊5個channels的大量maps。而後加偏置套tanh。

C4—>S5

3X3池化,下采樣。

S5—>C6

      進行了兩次3D卷積以後,時間上的維數已經被壓縮得沒法再次進行3D卷積(兩個光流channels只有兩個maps)。此時對各個maps用7*42D卷積核進行卷積,加偏置套tanh(煩死了!),得到C6層。C6層維度已經至關小,flatten爲一列有128個節點的神經網絡層。

C6—>output

      經典神經網絡模型兩層之間全連接,output的節點數目隨標籤而定。


 

相關概念——3D卷積:

老師說:「看圖說話」,上圖:

     3D卷積能夠理解爲爲想領的3幅圖用3個不一樣卷積核進行卷積,並把卷積結果相加。能夠這麼說,經過這種3幅圖之間的卷積,網絡提取了時間之間某種的相關性。

 


訓練:

      同CNN,本網絡使用典型的隨機初始化——反向傳播算法進行訓練。反向傳播的算法在NN中的實現之前已經說過,請翻博文。不知到CNN中會不會有改進,具體方法之後貼一CNN論文出來。


 

效果:

     使用3DCNN對3個標籤的veido(CellToEar, ObjectPut, Pointing)進行行爲識別,效果與其餘三種行爲識別方法進行對比。發如今前兩中標籤下效果怒好與其餘方法,Pointing則略遜。

 


MORE:在與其餘方法進行對比的時候做者積極歪歪了各類特徵我不知道他在說什麼。另外,做者之後可能回訪出DBN版本的行爲識別,或非監督版本的3DCNN。

 

 


      我學完UFLDL以後就成天想3幀放在一塊兒學習能不能行爲識別啊有木有!可是多幀大圖片使用普通NN的話參數過多不實用,CNN則用局部連接+池化很好的解決了參數過多這個問題。本文做者對CNN在時間維度上進行擴充,實現了一個行爲識別的功能,實乃快人一步。實際效果還得見同行評議(不知到老師的實驗室搞不搞)。

  從這篇論文看出,目前的DL研究方法仍然十分Tricky,網絡的搭建和參數的選擇很大程度上依賴直覺與實驗,這個就比較考研研究人員的天賦 與……………………資源了。不知到何時纔能有系統的NN設計方法出來。(仍是已經有了我不知道?)

相關文章
相關標籤/搜索