視頻動作識別調研(Action Recognition)

視頻動作識別調研(Action Recognition)


本文首發於微信公衆號“StrongerTang”,可打開微信搜一搜,或掃描文末二維碼,關注查看更多文章。
原文鏈接:(https://mp.weixin.qq.com/s?__biz=Mzg3NDEzOTAzMw==&mid=2247483899&idx=1&sn=da9ad193c218c0321b4486d09eac1b70&chksm=ced41d0df9a3941be132629546e870a5bb1ba1860b5c7eadf60e2c1591411634e2c1ed3d7f5b&token=361221201&lang=zh_CN#rd)
1.視頻動作識別概述
動作識別(Action Recognition)是視頻理解方向很重要的一個問題,至今爲止已經研究多年。深度學習出來後,該問題被逐步解決,現在在數據集上已經達到了比較滿意的效果。動作識別問題簡單的來說就是:對於給定的分割好的視頻片段,按照其中的人類動作進行分類。比如打球、跑步、喫飯等。該任務不需要確定視頻中行爲的開始時間和結束時間。
2. 研究難點
動作識別雖然研究多年,但是至今還是處於實驗室數據集測試階段,沒有實現真正的實用化和產業化。由此可見該任務目前還是沒有非常魯棒的解決方案。
2.1 任務特點
動作識別和圖像分類其實很相似,圖像分類是按照圖像中的目標進行軟分類,動作識別也類似。起初類似於UCF數據集,都是採用單標籤,也就是一段視頻只對應一個標籤。現在CPVR舉辦的Activitynet(Kinetics數據集)每段視頻中包含多個標籤。相比於圖像分類,視頻多了一個時序維度,而這個問題恰恰是目前計算機領域令人頭疼的問題。
2.2 任務難點
動作識別處理的是視頻,所以相對於圖像分類來說多了一個需要處理的時序維度動作識別還有一個痛點是視頻段長度不一,而且開放環境下視頻中存在多尺度、多目標、攝像機移動及不同視角等衆多的問題。此外,動作的類內差異性和類間相似性也是難點之一。這些問題都是導致動作識別還未能實用化的重要原因。
3 數據集介紹
目前比較常用的數據庫主要有3個,UCF101、HMDB51和Kinetics。

4 技術原理
在深度學習出現之前,表現最好的算法是iDT[1][2],之後的工作基本上都是在iDT方法上進行改進。深度學習出來後,陸續出來多種方式來嘗試解決這個問題,具體包括:Two-Stream[3][4]、C3D(Convolution 3 Dimension)[6],還有RNN[7]方向等。
4.1 iDT方法
在深度學習之前,iDT(improved Dense Trajectories)方法是最經典的一種方法。雖然目前基於深度學習的方法已經超過iDT,但是iDT的思路依然值得學習,而且與iDT的結果做ensemble後總能獲得一些提升。
iDT的思路主要是在《Dense Trajectories and Motion Boundary Descriptors for Action Recognition》和《Action Recognition with Improved Trajectories》兩篇文章中體現。這兩篇都是Wang H的文章,前者要更早一些,介紹了DT(Dense Trajectories)算法。後者則在前者的基礎上進行了改進。DT算法的基本思路爲利用光流場來獲得視頻序列中的一些軌跡,再沿着軌跡提取HOF,HOG,MBH,trajectory 4種特徵,其中HOF基於灰度圖計算,另外幾個均基於dense optical flow計算。最後利用FV(Fisher Vector)方法對特徵進行編碼,再基於編碼結果訓練SVM分類器。而iDT改進的地方在於它利用前後兩幀視頻之間的光流以及SURF關鍵點進行匹配,從而消除、減弱相機運動帶來的影響,改進後的光流圖像被成爲warp optical flow。
4.2 TWO STREAM方法
Two-Stream方法是深度學習在動作識別方向的一大主流方向。最早是VGG團隊在NIPS上提出來的。其實在這之前也有人嘗試用深度學習來處理動作識別,例如李飛飛團隊通過疊加視頻多幀輸入到網絡中進行學習,但不幸的是這種方法比手動提取特徵更加糟糕。當Two-Stream CNN出來後才意味着深度學習在動作識別中邁出了重大的一步。
4.2.1 TWO-STREAM CNN
Two-Stream CNN網絡顧名思義分爲兩個部分,一部分處理RGB圖像,一部分處理光流圖像。最終聯合訓練,並分類。這篇文章主要有以下三個貢獻點。
1)論文提出了two-stream結構的CNN網絡,由空間(RGB)和時間(光流)兩個維度的網絡組成;
2)作者提出了利用網絡訓練多幀密度光流,以此作爲輸入能在有限訓練數據的情況下取得不錯的結果;
3)採用多任務訓練的方法將兩個動作分類的數據集聯合起來,增加訓練數據,最終在兩個數據集上都取得了更好的效果(作者提到,聯合訓練也可以去除過擬合的可能)。
網絡結構:
因爲視頻可以分爲空間和時間兩個部分。空間部分,每一幀代表的是空間信息,比如目標、場景等等。而時間部分是指幀間的運動,包括攝像機的運動或者目標物體的運動信息。所以網絡相應的由兩個部分組成,分別處理時間和空間兩個維度。每個網絡都是由CNN和最後的softmax組成,最後的softmax的fusion主要考慮了兩種方法:平均,在堆疊的softmax上訓練一個SVM。網絡的結構圖如下所示。
在這裏插入圖片描述
光流棧(Optical flow Stacking):
光流棧,或者叫做光流的簡單疊加。簡單的來說就是計算每兩幀之間的光流,然後簡單的stacking。
考慮對一小段視頻進行編碼,假設起始幀爲T,連續L幀(不包含T幀)。計算兩幀之間的光流,最終可以得到L張光流場,每張光流場是2通道的(因爲每個像素點有x和y方向的移動)。
在這裏插入圖片描述
最後將這些光流場輸入,得到相應的特徵圖。
該方法在UCF-101和HMDB-51上取得了與iDT系列最好的一致效果。在UCF-101上準確度爲88.0%,在HMDB上準確度爲59.4%。
4.2.2 TSN
TSN(Temporal Segments Networks)[5]是在two-Stream CNN基礎上改進的網絡。目前基於two-stream的方法基本上是由TSN作爲骨幹網絡。

two-stream方法很大的一個弊端就是不能對長時間的視頻進行建模,只能對連續的幾幀視頻提取temporal context。爲了解決這個問題,TSN網絡提出了一個很有用的方法,先將視頻分成K個部分,然後從每個部分中隨機的選出一個短的片段,然後對這個片段應用上述的two-stream方法,最後對於多個片段上提取到的特徵做一個融合。下圖是網絡的結構圖。
在這裏插入圖片描述
4.3 C3D方法
C3D(3-Dimensional Convolution)[6]是Two-Stream之外的另一大主流方法,但是目前來看C3D的方法得到的效果普遍比Two-Stream方法低好幾個百分點。但是C3D仍然是目前研究的熱點,因爲該方法比Two-Stream方法快很多,而且基本上都是端到端的訓練,網絡結構更加簡潔。該方法思想非常簡單,圖像是二維,所以使用二維的卷積核。視頻是三維信息,那麼可以使用三維的卷積核。所以C3D的意思是:用三維的卷積核處理視頻。
網絡結構:
C3D共有8次卷積操作,5次池化操作。其中卷積核的大小均爲333,步長爲111。池化核爲222,但是爲了不過早的縮減在時序上的長度,第一層的池化大小和步長爲122。最後網絡再經過兩次全連接層和softmax層後得到最終的輸出結果。網絡的輸入爲316112112,其中3爲RGB三通道,16爲輸入圖像的幀數,112112是圖像的輸入尺寸。
在這裏插入圖片描述
4.4 RNN方法
因爲視頻除了空間維度外,最大的痛點是時間序列問題。而衆所周知,RNN網絡在NLP方向取得了傲人的成績,非常適合處理序列。所以除了上述兩大類方法以外,另外還有一大批的研究學者希望使用RNN網絡思想來解決動作識別問題。

典型工作有中科院深圳先進院喬宇老師的工作:《RPAN:An End-to-End Recurrent Pose-Attention Network for Action Recognition in Videos》[7]。這篇文章是ICCV2017年的oral文章。但是與傳統的Video-level category訓練RNN不同,這篇文章還提出了Pose-attention的機制。
在這裏插入圖片描述
這篇文章主要有以下幾個貢獻點:
1)不同於之前的pose-related action recognition,這篇文章是端到端的RNN,而且是人體姿態的時空演變;
2)不同於獨立的學習關節點特徵(human-joint features),這篇文章引入的pose-attention機制通過不同語義相關的關節點(semantically-related human joints)分享attention參數,然後將這些通過human-part pooling層聯合起來;
3)視頻姿態估計,通過文章的方法可以給視頻進行粗糙的姿態標記。

此外,RNN方向比較新的研究包括如下:

1)2018 Zhenxing ZHENG等人的《Multi-Level Recurrent Residual Networks for Action Recognition》,提出了一種新的多層次循環殘差網絡(MRRN),它結合了三種識別流。每個流由一個剩餘網絡(resnet)和一個循環模型組成。該模型通過使用兩個可選的網格從靜態幀中學習空間表示,並使用疊加簡單循環單元(SRU)來建模時間動態,從而捕獲時空信息。通過計算SoftMax分數的加權平均值來融合三個獨立學習的低、中、高級別表示的不同級別流,以獲得視頻的互補表示。與以前以時間複雜度和空間複雜度爲代價提高性能的模型不同,該模型通過使用快捷連接降低了複雜度,並以更高的效率進行端到端培訓。與CNN-RNN框架基線相比,MRRN顯示出顯著的性能改進,並獲得了與最新技術相當的性能,在HMDB-51數據集上達到51.3%,在UCF-101數據集上達到81.9%,儘管沒有額外的數據。
在這裏插入圖片描述
2)2019年Lin Sun等人的《Coupled Recurrent Network (CRN)》,提出了一種新的循環結構,稱爲耦合循環網絡(CRN),用於處理多個輸入源。在CRN中,RNN的並行流耦合在一起。CRN的關鍵設計是一個循環解釋塊(RIB),它支持以循環方式從多個信號中學習互易特徵表示。與在每個時間步或最後一個時間步疊加訓練損失的RNN不同,也提出了一種有效的CRN訓練策略。實驗證明了該方法的有效性。特別是,在人類動作識別和多人姿態估計的基準數據集上取得了新的進展。

5 小結
視頻動作識別是視頻理解的重要內容,也是計算機視覺領域的重要組成部分,在視頻信息檢索、日常生活安全、公共視頻監控、人機交互、科學認知等領域都有廣泛的應用前景和社會價值,是值得長期投入的課題。

但動作識別和檢測的關係就類似於圖像識別和圖像檢測,可以說識別是檢測的一部分或者說是前期準備,因而目前的研究熱點主要集中於難度更大的動作檢測部分。動作檢測將在下一篇文章中予以介紹。

參考文獻
[1] Wang H, Schmid C. Action recognition with improved trajectories[C]//Computer Vision (ICCV), 2013 IEEE International Conference on. IEEE, 2013: 3551-3558.
[2] Wang H, Kläser A, Schmid C, et al. Dense trajectories and motion boundary descriptors for action recognition[J]. International journal of computer vision, 2013, 103(1): 60-79.
[3] Simonyan K, Zisserman A. Two-stream convolutional networks for action recognition in videos[C]//Advances in neural information processing systems. 2014: 568-576.
[4] Feichtenhofer C, Pinz A, Zisserman A P. Convolutional two-stream network fusion for video action recognition[J]. 2016.
[5] Wang L, Xiong Y, Wang Z, et al. Temporal segment networks: Towards good practices for deep action recognition[C]//European Conference on Computer Vision. Springer, Cham, 2016: 20-36.
[6] Tran D, Bourdev L, Fergus R, et al. Learning spatiotemporal features with 3d convolutional networks[C]//Computer Vision (ICCV), 2015 IEEE International Conference on. IEEE, 2015: 4489-4497.
[7] Du W, Wang Y, Qiao Y. Rpan: An end-to-end recurrent pose-attention network for action recognition in videos[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 3725-3734.
[8] Karpathy A, Toderici G, Shetty S, et al. Large-scale video classification with convolutional neural networks[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2014: 1725-1732.

本文參考了衆多網絡資料及論文原文,在此表示感謝!!
在這裏插入圖片描述 (關注微信公衆號“StrongerTang”,看更多文章,和小湯一起學習,一同進步!)

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