人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

深思考人工智慧發表於2018-10-24

導讀:行為識別是指透過分析影片、深度感測器等資料,利用特定的演算法,對行人的行為進行識別、分析的技術。這項技術被廣泛應用在影片分類、人機互動、安防監控等領域。行為識別包含兩個研究方向:個體行為識別與群體行為(事件)識別,而基於深度學習的人體行為識別成為了最近影像識別的標配。深度學習的方法包括基於無監督學習的行為識別、基於卷積神經網路的行為識別、基於迴圈神經網路以及一些擴充模型的方法,深思考小夏帶給你最前沿的演算法總結。

一 Two-stream

1. Two-Stream Convolutional Networks for Action Recognition in Videos

主頁連結:http://www.robots.ox.ac.uk/~vgg/software/two_stream_action/

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

14年提出雙流,利用幀影像和光流影像作為CNN的輸入得到很好的效果。光流能夠描述出影片幀的運動資訊,一路是連續幾幀的光流疊起來作為CNN的輸入;另一路就是普通的單幀的CNN。其實就是兩個獨立的神經網路了,最後再把兩個模型的結果平均一下。另外,它利用multi-task learning來克服資料量不足的問題。其實就是CNN的最後一層連到多個softmax的層上,對應不同的資料集,這樣就可以在多個資料集上進行 multi-task learning。

2.Convolutional Two-Stream Network Fusion for Video Action Recognition

主頁連結:http://www.robots.ox.ac.uk/~vgg/software/two_stream_action/

Github連結: https://github.com/feichtenhofer/twostreamfusion人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

16年針對雙流融合問題進行研究,得到卷積結束之後在全連結之前融合效果比較好,左邊是單純在某一層融合,右邊是融合之後還保留一路網路,在最後再把結果融合一次。論文的實驗表明,後者的準確率要稍高。

3.Action Recognition with Trajectory-Pooled Deep-Convolutional Descriptors

Github連結:  https://wanglimin.github.io/tdd/index.html

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

論文考慮了時間維的特性,引進了軌跡控制策略來取樣,將手工設計的特徵和深度學習結合。首先多個空間尺度上密集取樣特徵點,然後特徵點跟蹤得到軌跡形狀特徵,同時需要更有力的特徵來描述光流,Fisher Vector方法進行特徵的編碼,最後svm採用one-against-rest策略訓練多類分類器。

4.Temporal Segment Networks: Towards Good Practices for Deep Action Recognition

Github連結:  https://github.com/yjxiong/temporal-segment-networks

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

16年香港中文大學針對雙流不能很好利用長時間資訊,提出segment思路,將視屏分為前中後三段,每段經過雙流然後融合結果。其中港中文還做了很多其他工作,https://arxiv.org/abs/1507.02159 

5.Spatiotemporal Residual Networks for Video Action Recognition

Github連結:  https://feichtenhofer.github.io/

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

使用了兩個流,但是名字不是取為空間流和時間流,而是motion stream和appearance stream,但是本質不變,運動流接收的輸入依然是堆疊的多幀光流灰度圖片,而appearance stream和原來的空間流一致,接收的輸入都是RGB圖片,但是這裡使用的 雙流的兩個流之間是有資料交換的,而不是像TSN網路一樣在最後的得分進行融。單幀的潛力挖盡之後自然就會有人上3D Conv,Recurrent CNN,Grid RNN之類的東西。雖然深度學習大法好,不過也得按基本法來,直接上fancy的模型有較大機率吃力不討好。

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

LSTM 結構 

Long Short Term 網路一般就叫LSTM,它是一種 RNN 特殊的型別。LSTM 透過刻意的設計來避免長期依賴問題。記住長期的資訊在實踐中是 LSTM 的預設行為,而非付出很大代價才能獲得的能力!

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

1.Fusing Multi-Stream Deep Networks for Video Classification

主頁連結:https://arxiv.org/abs/1509.06086

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

文章先CNN提取特徵,包括rgb圖光流圖和語音訊譜圖,然後經過lstm最後融合。

2.Action Recognition using Visual Attention

主頁連結:http://shikharsharma.com/projects/action-recognition-attention/

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

注意力模型終於來啦,人在看東西的時候,目光沿感興趣的地方移動,甚至仔細盯著部分細節看,然後再得到結論。Attention就是在網路中加入關注區域的移動、縮放機制,連續部分資訊的序列化輸入。採用attention使用時間很深的lstm模型,學習視屏的關鍵運動部位。

Attention相關:

http://www.cosmosshadow.com/ml/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/2016/03/08/Attention.html

3.RNN Fisher Vectors for Action Recognition and Image Annotation

主頁連結:http://www.eccv2016.org/files/posters/P-4A-30.pdf

文章典型的特徵提取,分類思路文章採用卷積網路提取特徵之後進過pca降維,然後Fisher Vector編碼扔給RNN再pca降維,最後svm分類。Ucf101上實驗結果到了94%.

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

三 C3D

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

3D CNN 應用於一個影片幀序列影像集合,並不是簡單地把影像集合作為多通道來看待輸出多個影像(這種方式在卷積和池化後就丟失了時間域的資訊,如圖6上), 而是讓卷積核擴充套件到時域,卷積在空域和時域同時進行,輸出仍然是有機的影像集合。

1.Learning Spatiotemporal Features with 3D Convolutional Networks

主頁連結:https://github.com/facebook/C3D

https://gist.github.com/albertomontesg/d8b21a179c1e6cca0480ebdf292c34d2

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

將影片分成多個包含16幀的片段作為網路的輸入。第一個池化層d=1,是為了保證時間域的資訊不要過早地被融合,接下來的池化層的d=2。有所卷積層的卷積核大小為3x3x3,相對其他尺寸的卷積核,達到了精度最優,計算效能最佳。

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

https://deepmind.com/research/publications/quo-vadis-action-recognition-new-model-and-kinetics-dataset/

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

以往的Conv3D效果很差的原因之一就是資料集太小,喂不飽網路。文章中的3D網路並不是隨機初始化的,而是將在ImageNet訓好的2D模型引數展開成3D,之後再訓練。因此叫Inflating 3D ConvNets. 本文選用的網路結構為BN-Inception(TSN也是),但做了一些改動。如果2D的濾波器為N*N的,那麼3D的則為N*N*N的。具體做法是沿著時間維度重複2D濾波器權重N次,並且透過除以N將它們重新縮放. 在前兩個池化層上將時間維度的步長設為了1,空間還是2*2。最後的池化層是2*7*7。訓練的時候將每一條影片取樣64幀作為一個樣本,測試時將全部的影片幀放進去最後average_score。除最後一個卷積層之外,在每一個都加上BN層和Relu。對於I3D的效果為什麼好,作者解釋說I3D有64幀的感受野。可以更好地學習時序資訊。再就是先用ImageNet的模型做了預訓練。

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

 I3D這個網路結構的提出是很顯然,但用2D的ImageNet模型做預訓練以及引數展開分配還是挺具有創新性的,雖然在TSN中處理光流的第一個卷積層時就有使用過類似的方法。這個實驗室真有能力,以往的資料集上效果很難提升,自己就搞了個大資料集。那個Kinetics的I3D模型是在64塊GPU上跑出來的。

四 其他

1.A Key Volume Mining Deep Framework for Action Recognition

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

現即便是 trimmed video (例如 UCF101 資料集),實際的動作發生的時空位置也是非常不確定的:我們既不知道做動作的人在什麼空間位置,也不知道真正的動作發生的精確時間位置。更糟糕的是,和動作類別直接相關的,具有區分性的 (discriminative)key volume 往往佔比非常小,這在 flow stream 上表現得尤為突出。

於是我們就想能否先把這些 key volume 找出來,直接用以訓練分類器,這樣可以免受噪聲資料的干擾,更加聚焦在動作本質上。但實際上,在得到一個好的分類器之前我們是很難自動地將key volume 挑出來的。於是我們陷入了一個雞生蛋,蛋生雞的困境。

借鑑 Multiple Instance Learning 的思想,我們把雞和蛋的問題放在一起來最佳化解決:在訓練分類器的同時,挑選 key volume;並用挑出來的 key volume 更新分類器的引數。這兩個過程無縫地融合到了 CNN (卷積神經網路)的網路訓練的 forward 和 backward 過程中,使得整個訓練過程非常優雅、高效。

2.Dynamic Image Networks for Action Recognition

https://github.com/hbilen/dynamic-image-nets

人體行為識別的十八般武藝是否樣樣精通,本文給你最全的總結

CNN的輸入一般是圖片,針對輸入時視屏,能否將視屏壓縮成一張圖,以圖來表徵視屏的資訊?答案是可疑的,針對對影片中的RGB影像進行rank pooling處理,以此作為cnn的輸入。雖然最終的效果不是特別好,但是想法很nice。

相關文章