劉巖石 張君秋 李溶真 劉貴鎖 趙建光



關鍵詞:卷積神經網絡;3D CNN;殘差網絡; 雙流網絡;動作識別
0 引言
近年來,計算機視覺領域在人體動作識別方面的研究進展迅速。傳統的特征提取方式逐漸被基于深度學習的神經網絡識別方法所取代。傳統方式主要依靠人體幾何信息、運動信息、時空興趣點信息等提取特征來完成動作識別。人體幾何特征可以通過人體四肢關系或光流場進行提取,運動信息特征可以通過運動歷史圖像或運動能量圖像等進行提取,提取時空興趣點特征可以利用Harris3D 時空興趣點、SURF3D時空興趣點、HOG3D時空興趣點等方式。
因為深度學習的飛速發展和大規模視頻數據集的出現,采用深度學習的方法進行人體行為識別被科研人員重視起來,很多使用深度學習方法的模型被開發出來。由于深度學習的算法能夠實現端到端的訓練,可以自己從海量的數據集中學習相同的特征,因此利用深度學習來進行行為動作的識別會具有更好的泛化能力,具有比傳統方法更好的識別效果。
當下得益于計算機軟硬件的飛速發展,建立一套智能的人體動作識別系統的條件已經越來越成熟。智能的人體動作識別系統應用場景非常廣泛,如果能夠得到較好的使用,將極大地提高目前視頻監控系統的質量,節約大量的安保力量和經費支出。
1 相關研究
為了實現視頻中人體動作的識別,最主要的是從圖片序列中提取特征。在傳統人體動作識別方法中,主要有兩種特征提取的方法:全局特征提取以及局部特征提取。全局特征提取方法可以看作是一種自上而下的方法,這種方法通常是通過背景減圖或者是對運動目標的跟蹤最終實現對人體的檢測,然后對檢測出來的人體目標進行編碼,從而形成全局的特征。局部特征提取的方法是一種自下而上的方法,這種方法首先對視頻中感興趣點的特征進行提取,然后再提取這些點旁邊的圖像,最終將這些信息融合在一起從而表征某個特定的動作。
Davis等人[1]是最先使用全局特征提取方法來實現人體動作識別的。在他們的研究中提出了著名的MEI(運動能量圖像)和MHI(運動歷史圖像)[2],其中MEI用來標識運動發生的位置,MHI既能標識運動發生的空間位置也能標識運動發生的時間順序。Li等人[3]提出一種超圖內聚類搜索算法,同時進行多人跟蹤與行為識別。包括單人行為識別,成對交互關系識別和群組行為識別。Deng等人[4]提出一種基于概率圖模型的深度神經網絡結構,用于分析養老院走廊和食堂中是否有老人跌倒的情況。Ramanathan等人提出一種基于注意力機制的群組行為識別方法,通過檢測活動場景中每個人的動作,為每個人分配不同權重,并重點關注 活動中的關鍵人物,使用LSTM網絡捕獲關鍵人物的時序信息,最后對群組行為進行識別。Vahora等人[5]提出一種基于關系內容的學習模型,采用自下而上的方法從活動場景中依次學習單人行為和群組行為。底層采用CNN提取場景中每個人的動作特征;高層采用RNN模型捕獲時間信息;最后通過一個推斷機制進行群組行為識別。Singh等人[6]提出一種基于Scatter Net的混合深度學習網絡模型,用于分析無人機拍攝視頻中的暴力行為。
當前基于神經網絡的人體動作識別技術主要包括雙流網絡[7]、LSTM以及3D卷積網絡[8]等,本文通過對3D卷積核進行修改,改善網絡結構來保證準確率和提升運算效率。
2 理論方法
針對目前所存在的問題,我們提出了一種改進的三維卷積神經網絡融合的動作識別新算法。該網絡結構由拆分后的三維卷積網絡模型分為時間數據流和空間數據流架構組成。其網絡結構如圖1所示。
2.1 改進的3D 卷積神經網絡
二維的卷積網絡更適用于提取空間維度的特征,三維卷積雖然增加了對視頻連續幀中時序信息的卷積操作,但是導致了神經網絡模型參數較2D成倍增加,訓練時間加長。本文將大小為h×t×w 的3D卷積核拆分成了1×h×w 和t×1×1的卷積核,其中h和w分別代表卷積核的高和寬,t為時間維度,這樣就分別提取了二維圖像的空間特征和多幀視頻流的時間信息,再將二者特征進行融合來完成分類預測。雙流網絡是基于深度學習的行為識別算法中的三種主流算法之一,根據視頻的時空信息,將網絡分為空間流和時間流兩個分支。相較傳統的3D CNN,本文改進后的網絡模型借鑒雙流卷積網絡結構,將單流向的網絡框架拆分為空間域和時間域。空間域參考ResNet網絡及其Bottleneck結構的設計思想,采用1×1×1和1×3×3 的卷積核,時間域采用3×1×1的卷積核,然后相加進行特征融合。
網絡的基本結構如圖2所示,采用1×1×1和1×3×3的卷積核處理空間信息,采用3×1×1的卷積核處理時序信息,對視頻流進行卷積,然后送入池化層采用最大池化并保留圖片的紋理,將二者相加進行特征融合后分別送入下一層網絡。
調整后的網絡參數數量為1×3×3+1×1×1+1×1×1=11,改進前的參數數量為3×3×3=27,參數量減少了59.3%。可見,改進后的網絡模型訓練參數量得到大幅減少,加快了神經網絡的運算速度。
2.2 網絡模型框架
網絡流程圖如圖3所示,圖中有5個基礎卷積結構以及兩個全連接層,最后用softmax做分類預測。
網絡模型流程說明:
1) 數據預處理過程中對每個視頻取16幀,每幀圖像尺寸設置為48×48。處理后生成16×48×48×3的數據大小作為數據輸入。
2) 空間數據流采用1×1×1、1×3×3、1×1×1的3D卷積核卷積,并使用1×1×1的卷積核作為殘差結構,輸入數據經首個1×1×1的卷積核后生成個數為32的特征圖,經后兩個卷積核特征圖的個數保持不變。時間數據流采用3×1×1的三維卷積核。之后各自經過尺寸為1×2×2,步長為1×2×2的池化層,時間維度仍保持為16幀,生成16×24×24×32大小的輸出。之后將兩個數據流輸出相加作為下一層基礎卷積結構空間流的輸入,時間流輸出作為下一層基礎卷積結構時間流的輸入。
3) 后四個網絡基礎結構使用相同的空間流+時間流卷積和ResNet結構,卷積后的特征圖數量從32依次上升為64、128、256、512。使用尺寸為1×1×1,步長為2×2×2 的池化層進行最大池化,降低了空間分辨率,同時使時間維度的數據量減半,最終輸出數據維度為1×2×2×512。隨后進行數據平坦化,生成一維數據后輸入到兩層節點數為2 048的全連接層,每個全連接層后使用dropout隨機丟棄部分參數防止網絡過擬合,最后利用softmax層完成分類預測。
3 實驗
3.1 數據集
為了驗證該網絡模型的有效性,本文選用的行為識別數據集為UCF101,對數據進行打亂后選取其中的70%作為訓練集,其余部分作為測試集。UCF101 數據集內含13 320個短視頻,視頻來源為YouTube,視頻背景存在雜波、相機抖動、部分遮擋等;視頻種類有101種,主要包含人和物體交互、只有肢體動作、人與人交互、玩音樂器材和各類運動5大類動作。
3.2 實驗環境及參數設置
實驗中的硬件環境如表1所示。
網絡訓練采用小批量樣本迭代的方式,由于考慮到顯卡的性能以及收斂速度等多方面的因素影響,設置mini-batch值為36,Relu作為激活函數,迭代輪數大小為1000,偏置初始化為0.01。網絡模型訓練參數設置詳見表2。
3.3 學習率的選取
本文選取了0.0001、0.0002、0.0003三種學習率進行實驗,預測準確值如圖四所示,當學習率選用0.0001時,模型損失率的震蕩頻率更低,收斂速度更快,準確率的上升更早。選用0.0002和0.0003的學習率時,前期收斂較慢,需要更多次的迭代。為加快網絡訓練速度,選用0.0001作為初始的學習率。
3.4 評價
為了能直觀地展示本文算法的優勢,與目前在行為識別領域先進的深度學習算法進行了比較,Top-1 精度和Top-5 精度通常用于評價行為識別模型。Top-1準確性是指模型預測得分最高的類別與實際類別一致的準確性,Top-5是指模型預測得分的前5個類別包含實際結果的準確性。表3比較了UCF101數據集上各種行為識別算法的Top-1精度。可見,本文的方法在一定程度上取得了更好的識別效果。
4 結論
本文研究了基于改進的三維卷積神經網絡的動作識別算法。首先對視頻數據進行預處理,分別進行空間維度和時間維度的卷積操作,同時引入殘差網絡,最后在UCF101行為識別數據集上進行驗證并對模型進行了評估,實驗表明,該方法具有較好的識別效果并大幅降低了訓練周期。
雖然動作識別目前已經取得了一定的研究成果,但仍沒有非常成熟的識別框架。由于樣本差異性和實際應用復雜性等因素,本文提出的方法尚難以應用于生產生活的實際場景。下一步工作將采用更多數據集進行網絡優化,提高網絡識別效果,使研究可以在多種實際場景中得到應用。