MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记
2D/3D聯合卷積模塊MiCT:全面提升行為識別的性能和效率
編者按:行為識別是計算機視覺領域的一個重要研究方向,在監控、自動駕駛等日常場景中具有廣泛的應用前景。為了提升3D CNN在行為識別分析中的性能,微軟亞洲研究院網絡多媒體組在CVPR 2018上提出了一個簡單而高效的3D/2D混合卷積模塊(MiCT)。MiCT模塊使3D CNN能夠以更少的3D時空融合、更小的模型、更快的速度來提取到更深的視頻時空特征,進而大幅提升行為識別的表現。
行為識別
計算機幫助攝像師自動分析視頻中的動作類型,給出相應的動作標簽便于后續的視頻檢索及編輯;在機器人及自動駕駛領域,系統捕捉、理解、預判人類的動作行為,從而及時做出相應的判斷及反應;監控系統通過攝像頭自動檢測某些特定或異常行為,例如打架、搶劫、老人/兒童摔倒、虐童等,并自動采取報警或警告措施。
這些已經或者即將出現在我們日常生活中的應用場景中,都應用到了計算機視覺領域中的一個基礎研究方向——行為識別。行為識別的本質是視頻理解,既對于給出的一段視頻,機器對視頻中主要行為類型的一個判斷。它在視頻監控、人機交互、自動駕駛等很多現實場景中具有重要的應用價值。
但是,基于視頻的行為分析是一個很有挑戰的問題。在現實環境中,由于姿態、角度、光照、以及遮擋等問題,一個相同的動作在不同的視頻中可以呈現出巨大的差異性,同類行為間的類內距可能大于不同類行為之間類間距。目前,部分大多數人可以輕而易舉分辨的動作,讓機器準確判斷還是很困難的。
2D CNN與3D CNN對比
行為分析中的一個關鍵問題是確定魯棒的特征。基于提取的魯棒特征,機器學習相應的分類器來給出視頻中主體行為的一個判斷。早期關于魯棒特征提取的研究工作集中于人為定義或設計的一些特征,如灰度、梯度、光流等。隨著深度學習的日益普及,基于深度學習的行為分析方法不斷涌現。實驗結果顯示,目前基于深度網絡自主學習的特征表達的性能已經超越了基于人為設計的特征方法。目前面向行為識別的深度學習方法大體可分為兩類:基于二維(2D)卷積神經網絡(CNN)特征和基于三維(3D)CNN特征的方法。
基于2D CNN特征的方法
一個6層的2D卷積神經網絡
簡言之,基于2D CNN特征的方法的共性在于涉及的特征都是通過2D CNN獲得的。在視頻中使用2D CNN的一個簡單方法就是對視頻中的每一幀使用2D卷積,但是視頻是三維數據,這種方法忽略了視頻中時間維度的信息,沒有利用連續幀間的運動信息。于是,雙流(two-stream)體系結構應運而生。它的基本思想就是分別訓練兩個2D卷積網絡分別學習外觀(RGB幀)和運動(光流)兩路輸入信息的特征,并基于這兩類2D特征來做出行為的判斷。此外,遞歸神經網絡(RNN)也被用于動作識別,例如通過LSTM網絡來探索幀級2D特征的時空關系。
基于3D CNN特征的方法
一個6層的3D卷積神經網絡
基于3D CNN特征的方法在建立在3D卷積神經網絡的基礎上。如圖1和圖2顯示,2D CNN和3D CNN在結構上其實是相似的,但是3D CNN在卷積過程中可以將視頻中的連續幀堆疊為立方體,并在此立方體中運用3D卷積核,從而能夠提取時空混合特征。此類方法的代表工作是C3D,它基于3D CNN來提取3D時空特征并用于行為識別。
但是,由于3D CNN比2D CNN結構復雜,參數量大,通常其網絡深度有限,難于訓練。于是,出現了一些近似的深度神經網絡,如I3D或P3D。這些方法通過2D卷積網膨脹(inflation)或2D+1D卷積網絡來逼近3D卷積網絡。此外,同基于2D特征的方案類似,遞歸神經網絡,如LSTM,也被引入基于3D特征的算法中來實現更復雜的時空融合策略。
3D/2D混合卷積模塊(MiCT)
2D CNN在圖像等二維信號處理和分析的相關任務中取得了令人矚目的性能。然而其相對應的3D CNN在三維信號(比如視頻信號)的處理和分析中并沒有取得相應的高性能。就行為識別而言,目前實驗室測試結果顯示最佳的性能仍然是基于2D CNN特征的雙流網絡獲得的。
為什么3D CNN在視頻分析中沒有獲得它應有的性能呢?事實上,3D CNN理論上能夠有效地提取時空特征。然而,將時空維度混合在一起的同時,也增加了3D CNN網絡的優化難度。與相應的2D卷積相比,3D 卷積的參數量大,大量參數堆疊在一起形成3D CNN,這極大地增加了優化的難度、內存使用和計算成本,使得訓練一個深度3D CNN變得非常困難。除此之外,我們也缺少一個可以用來訓練深度3D CNN網絡所需的大型(如ImageNet數量級的)視頻數據。
面對這些挑戰,通過3D CNN來有效地學習深度時空融合特征是否依然可行呢?
我們在CVPR 2018上發表的MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition論文中,提出了一個簡單而高效的模塊——3D/2D混合卷積模塊(MiCT),來處理視頻數據,嘗試解決這一挑戰。
3D/2D串聯混合模塊?(Concatenate Connection)
視頻圖像中時空信息的分布并不是均衡的,同空域信息相比,視頻中時域信息的冗余度較高,相鄰兩幀的內容通常很相似,如下圖所示。因此,我們把特征學習中的研究重點更多地放在有關空域的分析上。
此外,我們也發現每個3D卷積都會產生一個混合了時空信息的2D特征圖,如下圖所示。所以,增強2D特征圖的分析學習能力也能夠進一步提升3D卷積的性能。
因此,我們首先提出3D/2D串聯混合模塊 (Concatenate Connection)。如下圖所示,在3D/2D串聯模塊中,我們提出在每個3D卷積之后串聯一個深度2D CNN。通過3D/2D串聯模塊的使用,我們可以有效地增加3D CNN的深度,加強2D空域的學習能力,從而生成更深更強的3D特征,并使得3D CNN可以充分利用在圖像數據上預先訓練的2D CNN模型。在相關的網絡設計中,我們提出相應地減少3D卷積的數量,從而進一步減小模型的大小,提升模型的效率。
3D/2D跨域殘差并聯模塊?(Cross-domain Residue Connection)
通過3D/2D串聯模塊的使用,我們得到一個更深的3D卷積神經網絡。然而,更深的CNN通常意味著更難的訓練過程。如果只是通過簡單的層數堆疊來加深網絡可能造成梯度消失并導致更大的訓練錯誤。為了解決這個問題,我們提出利用3D和2D特征圖之間的相關性,讓3D和2D卷積共享空間信息,如下圖所示。 由于2D空間特征相對容易學習,我們可以利用2D卷積并通過殘差學習的方式來促進3D特征的學習。
?
因此,我們進一步提出了一個3D/2D跨域殘差并聯模塊 (Cross-domain Residue Connection)。如下圖所示,我們提出在3D卷積的輸入和輸出之間引入另一個2D CNN的殘差連接,以進一步降低時空融合的復雜性,并有效地促進整個網絡的優化。
與之前ResNet中的殘差連接不同,我們方案中的2D CNN捷徑(shortcut)是跨域的。并聯的兩路并不是相同的兩路2D或3D卷積,其中一路是處理3D輸入的3D卷積,另一路是處理2D輸入的2D卷積。
由于視頻流通常包含大量的相似連續幀,這導致沿著時間維度的特征圖中包含大量的冗余信息。通過引入2D卷積塊來提取信息豐富但靜態的2D特征,MiCT中的3D卷積僅需要沿時間維度學習殘差信息。同時,2D和3D卷積共享空域信息。因此,跨域殘余連接在很大程度上降低了3D特征學習的復雜性。
最終,我們提出的MiCT模塊結合了上面提出的兩個子模塊:3D/2D串聯混合模塊和3D/2D跨域殘差并聯模塊,實現了性能和效率兩方面的全面提升。
深度MiCT網絡MiCT-Net
為了驗證MiCT的有效性,我們通過將MiCT堆疊在一起,構建一個簡單的3D CNN網絡MiCT-Net。如下圖所示,MiCT-Net由四個MiCT組成,這也意味著我們使用了4個3D卷積。MiCT-Net將RGB視頻序列作為輸入,可進行端到端訓練。表1中提供了網絡體系結構的更多信息。我們在網絡的最后一層使用時間維度上的全局池,以使網絡能夠接受任意長度的視頻作為輸入。
MiCT-Net網絡。綠色塊表示3D卷積;橘色和藍色塊分別表示2D跨域殘差并聯和串聯混合模塊。馬賽克塊表示n-路特征圖。
同基礎網絡C3D相比,MiCT-Net包含較少的用于時空融合的3D卷積,但是產生了更深的特征圖,同時有效地控制了整個深度模型的復雜性。此外,與傳統的3D CNN不同,我們的框架能夠利用在大型圖像數據集上預訓練的2D模型。大圖像數據集上預先訓練的參數有可能為MiCT中的2D卷積模塊提供更好的初始化。
魯棒特征提取性能全面提升
為了驗證MiCT-Net的性能,我們使用了三個行為識別的公共數據集(UCF101、Sport-1M和HMDB-51)來進行測試。和基礎網絡C3D相比,MiCT-Net取得了全方面的提升。如下表所示,MiCT-Net以更小的模型、更快的速度實現了更高的準確性。
?
......................................................................................................................................................................................................................................................................................................................................................................................................................
論文主要內容:
本文考慮到在識別人體動作的時候,3D CNN的水平不及2D CNN在識別靜態圖片時的水平,認為這是由于3D CNN消耗的計算資源和存儲資源過大導致不能很好的訓練,因此在本文中提出了一個2D和3D CNN結合的模型進行動作識別。
摘要:首先介紹背景,即目前有人探索使用3D CNN進行動作識別。接著就指出當前方法的不足,就是說3D CNN在處理視頻的時候,達到的水準并不及CNN在處理2D靜態圖片時達到的水準。接著進行了簡要的分析分析原因以便引出自己的模型。原因的分析是3D卷積所需要的spatio-temporal fusion帶來的訓練復雜度以及所需的存儲消耗限制了3D CNN的表現。接著引出本文的模型,將2D和3D CNN混合得到的mixed convolutional tube(MiCT),這個模型將2D3D CNN結合起來,以便生成更深的且更加informative的feature map,并同時減少每一輪spatio-temporal fusion的訓練復雜度。這種模塊堆疊在一起還能形成新的端到端的深度網絡MiCT-Net,用來探索人體動作中的spatio-temporal信息。最后作者介紹了一下實驗結果,在一些數據集上取得了state-of-the-art的結果。
技術部分,本文提出了兩種混合2D和3D卷積的方式,concatenating connections和cross-domain residual connections。首先,下圖是使用了2D3D concatenated connection的模型的示意圖:
? ? ? ???
用數學語言來描述的話,在t時刻的feature map表示為,那么將可以表述為
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
其中是從t時刻到時刻的切片張量,上式不是最終版本,M其實只是時-空域特征圖的線性融合操作,最終版本是另外提出了一個函數,這個,而這里的H其實就是2D卷積,也就是說這個數學描述描述的就是上圖所示的過程,先進行3D卷積,接著對feature map進行2D卷積。這個過程可以理解為:3D卷積聚合了時空兩個維度的信息,之后如果像是3D CNN那樣繼續疊加3D卷積層的話,會極大增加計算復雜度,因此退而求其次,使用2D卷積繼續提升feature map的abstract level,同時又不會增加太大的計算負擔。
跨域 residual connection的模型示意圖如下所示:
這里的cross-domain residual指的是添加的residual不是普通意義上的直接將輸入加到卷積后的結果上,而是將輸入先用2D卷積處理一下,再添加到3D卷積的輸出上,稱之為cross-domain residual,數學描述如下
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
這里o指的就是3D卷積的輸出結果,而H和之前一樣指的是2D卷積,是輸入tensor在t0時刻的slice,并且,這個2D卷積不是在所有的幀上都進行,而是經過采樣的某些幀上進行。作者指出,引入這種residual的原因是考慮到視頻信息中,相鄰的幾幀經常是差不多的,造成了冗余信息,而模型中2D卷積只在采樣的某幾幀進行,抓取了穩定而且更加抽象的feature,3Dconvolution就只需要在這些經過2D卷積處理的,冗余大大減少的數據上進行卷積了。
最終作者還將這兩種connection合起來形成一個MiCT模型,如下圖所示
這個模型前面用了residual的,后面又加了一層2D卷積,像concatenate connection的。
進行實驗的時候,作者用四個這種MiCT模塊搭建了深度網絡,網絡用端到端的方式訓練,整個網絡就只有4層3D卷積,大大減少了訓練的復雜度。具體來講整個網絡如下圖所示
具體每一層的參數如下表
這里面2D網絡用的是別人提出來的inception block,如下圖所示
采取不同的卷積,然后將結果合并在一起。模型中的2D卷積層可以使用在大的image dataset上訓練好的參數,作為一個很好的初始化,這也增加了模型的能力。
本文的實驗部分做的并不是很復雜,但是也算豐富,首先是對比了MiCT網絡和基礎的3D CNN的表現,然后是和其他state-of-the-art的方法的對比,這個對比進行了兩項,一個是直接的對比,另一個是和一些two-stream的模型對比(MiCT也設置成2stream的),最后,文章對模型進行了一下可視化,指出模型能夠適應不同速度的action,具有不錯的能力。
總結一下本文的模型,我認為本文的模型主要的貢獻是cross-domain residual connection的這個操作,通過sample一些frames進行2D卷積,結合3D卷積,大大減少了模型的復雜度,并且使得很多冗余數據不需要再去學習。主要貢獻就是改進了3D CNN的網絡模型。
參考文獻:
論文?http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhou_MiCT_Mixed_3D2D_CVPR_2018_paper.pdf
博客?https://zhuanlan.zhihu.com/p/54844623
https://blog.csdn.net/b224618/article/details/82533177
我覺得論文描述的也挺清晰的,這篇博客轉載了這兩篇的內容。
總結
以上是生活随笔為你收集整理的MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition论文笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: My Thirty-First Page
- 下一篇: 方钢管弹性模量计算方式_方管的强度计算公