文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182201
中文引用格式: 黃友文,萬超倫. 基于深度學習的人體行為識別算法[J].電子技術應用,2018,44(10):1-5,10.
英文引用格式: Huang Youwen,Wan Chaolun. Human behavior recognition algorithm based on deep learning[J]. Application of Electronic Technique,2018,44(10):1-5,10.
0 引言
人體行為識別是計算機視覺領域的一個重要的課題。其在行為檢測、視頻監(jiān)控等領域都有著廣泛的應用價值。與單純的圖片識別不同,人體行為識別會受到諸多因素的干擾,例如光照、背景等。傳統(tǒng)方法中,通常通過手動設計某些特定的特征,對數(shù)據(jù)集中特定的動作進行識別,典型的有HOG/HOF[1]等。文獻[2]提出一種基于稠密光流軌跡與稀疏編碼算法的行為識別方法,將融合框架提取出的行為特征進行處理后,送入支持向量機中得到模型進行分類;文獻[3]利用顯著性檢測獲取到動作主體位置并提取稠密軌跡,采用Fisher Vector去增強特征,再利用SVM進行識別;文獻[4]利用序列化的思想提取骨骼特征矢量,利用SVM訓練并識別靜態(tài)特征。然而,傳統(tǒng)方法在面對諸多與現(xiàn)實場景接近的情況時,往往很難取得好的識別效果[5]。
近些年,隨著人工智能技術的崛起,深度學習模型也被應用到了人體行為識別任務中去。利用深度學習模型去自動提取特征,良好地避免了人工設計特征過程中的盲目性和差異性。深度學習模型的一種——卷積神經(jīng)網(wǎng)絡,通過對輸入數(shù)據(jù)的卷積操作,逐層提取特征,從而對圖像進行識別分類,其在圖像識別領域已經(jīng)取得了優(yōu)異的成果。2012年的AlexNet網(wǎng)絡[6],將ImageNet數(shù)據(jù)集上的top-5錯誤率降低到了16.4%;2015年的Inception v2網(wǎng)絡[7],提出了批量歸一化的方法;2017年的SeNet網(wǎng)絡[8],再次取得了ILSVRC比賽的冠軍。
而針對視頻人體行為識別問題,由于幀與幀之間具有著時間相關性,因此,單純將提取到的RGB數(shù)據(jù)輸入卷積神經(jīng)網(wǎng)絡進行分類并不能得到一個很好的結果。文獻[9]將視頻數(shù)據(jù)的稠密光流與RGB數(shù)據(jù)分別送入CNN進行訓練,使網(wǎng)絡良好處理了時空信息,再將雙流網(wǎng)絡各自得到的結果進行融合;文獻[10]將數(shù)據(jù)通過一組硬連接內(nèi)核進行處理后,利用3D卷積網(wǎng)絡訓練提取信息進行人體行為識別。
除此之外,遞歸神經(jīng)網(wǎng)絡(RNN)也經(jīng)常被采用來處理此類問題。RNN是一個具有循環(huán)的網(wǎng)絡,可以被看作對同一神經(jīng)網(wǎng)絡的多次賦值,其允許了信息的持久化。然而,RNN有著梯度消失的問題,為此HOCHREITER S等人提出了一個新的RNN單元,長短期記憶遞歸神經(jīng)網(wǎng)絡單元[11],通過刻意的設計避免了長期依賴問題的出現(xiàn)。文獻[12]首次將CNN與LSTM進行結合運用在了視頻識別與視頻描述領域;文獻[13]用3D卷積提取數(shù)據(jù)特征,再送入LSTM網(wǎng)絡中,用于行為識別。
本文設計了一種采用批歸一化方法的CNN與LSTM結合的網(wǎng)絡,將批歸一化處理運用到了設計的CNN中,通過全連接層,送入LSTM單元對得到的特征序列進行處理,采用Softmax層映射類別。算法提取視頻數(shù)據(jù)的RGB圖像作為空間流輸入,光流場圖像作為時間流輸入,再將各自得出的分類結果進行加權融合,得出最終的分類結果,用于人體行為識別。該算法在KTH視頻數(shù)據(jù)集上的識別率達到了95.8%,可有效地運用在人體行為識別任務上。
1 模型結構
1.1 雙流模型框架
視頻數(shù)據(jù)具有時間和空間兩部分的特性。空間部分RGB圖像包含了物體的外觀信息,時間部分光流場圖像包含了物體的運動信息。因此,分別提取出視頻的光流場圖像與RGB圖像作為輸入數(shù)據(jù),得出各自分類結果后進行加權融合,網(wǎng)絡結構如圖1所示。
1.2 卷積神經(jīng)網(wǎng)絡
卷積神經(jīng)網(wǎng)絡通常由卷積層、池化層、全連接層堆疊而成。卷積層利用多個不同的卷積核,提取目標的特征,生成特征圖;池化層用來進行下采樣,將相鄰特征圖的特征進行合并,減小維度;全連接層起到將學到的分布式特征映射到樣本標記空間的作用。
然而深度神經(jīng)網(wǎng)絡在訓練時,各層網(wǎng)絡的輸入分布會受到上一層的影響,隨著網(wǎng)絡的不斷加深,網(wǎng)絡層的微小變動產(chǎn)生的影響會被放大,從而導致梯度消失、梯度爆炸、網(wǎng)絡收斂到一個局部最優(yōu)值等問題。為此,本文將批歸一化思想[7]從圖像分類領域引入到了行為識別領域,對網(wǎng)絡輸入的樣本進行小批量歸一化處理。
傳統(tǒng)的批歸一化操作公式如下:
而對于此式,由于需要對全部的訓練樣本集合進行操作,計算其協(xié)方差矩陣,計算量極其龐大。對此,文獻[7]提出了兩點改進措施:
(1)輸入數(shù)據(jù)的每一維進行獨立的批歸一化處理;
(2)采用小批量(mini-batch)。
對于有d維輸入x=(x(1)…x(d))的神經(jīng)網(wǎng)絡層,利用式(3)去歸一化每一維:
式(3)的期望與方差在每個mini-batch上對每層進行運算得出。該歸一化操作能加速收斂,即使特征之間不具有相關性。并且通過mini-batch的方式,批歸一化所需的信息能被運用在了反向傳播之中。
同時,對每一個輸入?yún)?shù)x(k)都引入一對參數(shù)λ(k)和β(k),如式(4)所示:
1.3 長短期記憶神經(jīng)網(wǎng)絡
人體動作識別的數(shù)據(jù)是一組連續(xù)的數(shù)據(jù),相鄰幀之間有著極大的相關性,因此遞歸神經(jīng)網(wǎng)絡被用來處理這種問題。傳統(tǒng)的遞歸神經(jīng)網(wǎng)絡包含輸入序列X,隱藏序列H,輸出序列Y。其隱藏層中包含著時間序列的歷史信息,前向公式可表述為:
1.4 融合模型
本文的CNN結構由卷積層、池化層、全連接層堆疊而成,并在每個卷積層之后加入batchnorm操作進行小批量歸一化。
實驗數(shù)據(jù)采用25 f/s的圖像序列,對提取的每幀圖片,將尺寸擴充為227×227。輸入數(shù)據(jù)的維度為25×227×227×3。25為視頻數(shù)據(jù)幀數(shù),227×227為圖片尺寸,3為RGB圖片的3個通道。融合模型的CNN部分如圖2所示。
圖2中上方的是特征圖的維度大小,下方的是神經(jīng)網(wǎng)絡的操作層。人體行為識別CNN部分的模型一共有5個卷積層,每個卷積層后都有一個非線性激活函數(shù)ReLU去增加非線性,同時,每個卷積層之后也都有一個batchnorm層與scale層組合共同完成小批量歸一化操作。CNN的最后是一個全連接層,將輸入的數(shù)據(jù)進行矢量化操作后,再送入LSTM網(wǎng)絡中。
數(shù)據(jù)輸入LSTM中后,在長短期遞歸神經(jīng)網(wǎng)絡中按時序做遞歸運算,每次遞歸運算的結果是之前所有特征和當前特征的總和。本文采用一層的LSTM模型,結構如圖3所示。
融合后的模型如圖4所示,將視頻數(shù)據(jù)的光流場與RGB形式分別作為時間與空間兩種數(shù)據(jù)流輸入設計的網(wǎng)絡中進行分別的訓練,再將各自得到的分類結果進行加權融合,最終用于人體行為識別任務。
2 實驗過程
2.1 數(shù)據(jù)集
本文使用公開的KTH視頻數(shù)據(jù)集作為實驗數(shù)據(jù)來檢驗算法的效果,部分動作的示意圖如圖5所示。數(shù)據(jù)集包含由固定攝像機拍攝的600個動作視頻。視頻的幀數(shù)為25 f/s,視頻每幀圖片的分辨率都為160像素×120像素。共有25名不同的實驗對象,4個不同的實驗場景:室外、室內(nèi)、室外尺度變化、室外著裝變化,6種不同的人體行為:散步、慢跑、奔跑、揮手、拍手、拳擊。
2.2 實驗結果與分析
本文在Linux系統(tǒng)下搭建的平臺上用單核GTX 1070 GPU進行訓練。將KTH數(shù)據(jù)集以動作類別進行劃分,每個動作的前80%作為訓練集,后20%作為測試集。視頻數(shù)據(jù)的光流場圖像與RGB圖像被預先提取出來,提取出的每張圖片被擴充為227×227,在保證特征不損失的情況下,為加載該訓練網(wǎng)絡的CNN部分在ImageNet數(shù)據(jù)集下訓練30萬次的預訓練模型參數(shù)做準備,用以增強模型的魯棒性,防止過擬合,并加速收斂。
圖6顯示了訓練過程中,光流場時間網(wǎng)絡和RGB空間網(wǎng)絡隨著訓練次數(shù)的增加,對訓練數(shù)據(jù)識別準確率的變化情況。從圖中可以看出,在空間流上,當?shù)螖?shù)接近10 000次時,準確率達到86%,趨于穩(wěn)定,隨著迭代的進行,準確率緩慢上升;在時間流上,當?shù)螖?shù)接近16 000次時,準確率達到90%以上,隨著迭代的進行,準確率增長趨于平緩,收斂近乎飽和。
在得到時空網(wǎng)絡各自訓練出的模型后,將雙流的分類結果進行加權融合。圖7中, RGB空間網(wǎng)絡分類結果的權重以0.05的步長進行增加,逐步提高占比。
可以看出,當純粹以空間流網(wǎng)絡或者時間流網(wǎng)絡進行人體行為識別時,時間流網(wǎng)絡提取出的運動信息比空間流網(wǎng)絡提取出的外觀與背景信息具有更高的識別率,這也說明了在行為識別任務中,光流數(shù)據(jù)所包含的運動信息比RGB數(shù)據(jù)包含的外觀信息更為有效。當識別的權重比為RGB:光流場=0.35:0.65時,本文設計的模型達到最好的識別效果,以一定權重比融合的時空雙流神經(jīng)網(wǎng)絡能有效改善單獨的網(wǎng)絡在識別上的準確率。
在表1中,本文選取了融合的時空雙流網(wǎng)絡在KTH數(shù)據(jù)集上得到的最好的識別結果與已有的一些算法模型進行了對比。
可以看出,本文設計的基于批歸一化的卷積神經(jīng)網(wǎng)絡與LSTM結合的網(wǎng)絡結構在將其在RGB空間圖像與光流場時間圖像分別得到的分類結果以0.35:0.65的比例進行加權融合之后,可以得到優(yōu)于文獻[2]與文獻[3]提出的兩種傳統(tǒng)算法的結果。在和同樣是以深度學習為基礎的算法進行對比時,本文設計的模型結構同樣也優(yōu)于文獻[10]與文獻[13]提出的兩種算法。這充分說明本文提出的算法在人體行為識別任務上具有可行性。
表2所示的混淆矩陣對測試集中6種不同的動作行為的識別結果做了可視化,對角線元素表示正確識別率??梢钥闯?,在KTH數(shù)據(jù)集中模型對“拳擊”和“揮手”動作的識別率最高,由于“拍手”與“揮手”之間有部分的相似性,因此,有部分“拍手”被識別成了“揮手”。 “慢跑”和“散步”、“跑步”之間相似性較高,因此,這三者之間產(chǎn)生了一些誤識別率。但就總體而言模型依舊具有良好的泛化能力和魯棒性。
3 結論
本文提出了一種采用批歸一化的卷積神經(jīng)網(wǎng)絡與LSTM網(wǎng)絡結合的深度學習網(wǎng)絡結構。采用視頻數(shù)據(jù)的RGB圖像與光流場圖像分別作為空間流網(wǎng)絡輸入與時間流網(wǎng)絡輸入,再將時空雙流網(wǎng)絡分別得到的分類結果以一定的權重比例進行融合。本文模型在KTH數(shù)據(jù)集的測試集上的識別率達到了95.8%。相較于文中對比的兩種傳統(tǒng)方法與兩種深度學習方法,本文模型能更好地提取視頻中的時序特征與空間特征,識別率較好。整個模型基于深度神經(jīng)網(wǎng)絡,無需先驗經(jīng)驗,具有良好的泛化性與實用性。
參考文獻
[1] LAPTEV I,MARSZALEK M,SCHMID C,et al.Learning realistic human actions from movies[C].IEEE Conference on Computer Vision and Pattern Recognition,2008.CVPR 2008.IEEE,2008:1-8.
[2] 趙曉健,曾曉勤.基于稠密光流軌跡和稀疏編碼算法的行為識別方法[J].計算機應用,2016,36(1):181-187.
[3] 鹿天然,于鳳芹,楊慧中,等.基于顯著性檢測和稠密軌跡的人體行為識別[J].計算機工程與應用,2018,54(4):163-167.
[4] 胡青松,張亮.人體行為序列化識別算法研究[J].電子技術應用,2018,44(4):122-125.
[5] 羅海波,許凌云,惠斌,等.基于深度學習的目標跟蹤方法研究現(xiàn)狀與展望[J].紅外與激光工程,2017(5):6-12.
[6] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.Imagenet classification with deep convolutional neural networks[C].Advances in Neural Information Processing Systems,2012:1097-1105.
[7] IOFFE S,SZEGEDY C.Batch normalization: accelerating deep network training by reducing internal covariate shift[C].Proceedings of the 32nd International Conference on Machine Learning,2015:448-456.
[8] HU J,SHEN L,SUN G.Squeeze-and-excitation networks[J].arXiv preprint arXiv:1709.01507,2017,7.
[9] 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.
[10] JI S,XU W,YANG M,et al.3D convolutional neural networks for human action recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(1):221-231.
[11] HOCHREITER S,SCHMIDHUBER J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.
[12] DONAHUE J,ANNE HENDRICKS L,GUADARRAMA S,et al.Long-term recurrent convolutional networks for visual recognition and description[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:2625-2634.
[13] 秦陽,莫凌飛,郭文科,等.3D CNNs與LSTMs在行為識別中的組合及其應用[J].測控技術,2017(2):28-32.
作者信息:
黃友文,萬超倫
(江西理工大學 信息工程學院,江西 贛州341000)