馮 宇,席志紅
(哈爾濱工程大學(xué) 信息與通信工程學(xué)院,哈爾濱 150001)
近年來隨著對于計算機視覺領(lǐng)域研究的不斷深入,越來越多的技術(shù)成果在不斷滿足人們生產(chǎn)生活的需求,人體行為識別技術(shù)也隨之受到越來越多的關(guān)注,應(yīng)用場景也變得越來越豐富,例如虛擬現(xiàn)實技術(shù)、視頻監(jiān)控領(lǐng)域和醫(yī)療健康等方面,目前研究人體行為識別技術(shù)的方法主要有基于深度學(xué)習(xí)的方法和傳統(tǒng)的基于手工提取特征的方法。
基于手工提取特征的方法實際上就是對特定的視頻圖像采用傳統(tǒng)的機器學(xué)習(xí)算法先提取其中的人體行為目標(biāo)局部或者全局特征,然后對提取的特征采取編碼以及規(guī)范化的形式,最后通過訓(xùn)練構(gòu)建好的模型來得到預(yù)測分類結(jié)果。目前在傳統(tǒng)方法中采用局部特征提取的方法應(yīng)用較為廣泛,其中Laptev等[1]通過將Harris特征角點檢測方法擴展到三維時空中,提出了時空興趣點(STIPs,spatio- temporal interest points)。之后通過不斷對時空特征的研究發(fā)現(xiàn)可以將STIPs與方向梯度直方圖(HOG,histogram of oriented gradient)[2]等局部描述子結(jié)合,采用聚類降維以及詞袋模型和分類器相結(jié)合的方法進(jìn)行姿態(tài)識別。Richardson等[3]提出了馬爾科夫邏輯網(wǎng)絡(luò)(Markov Logic Networks),該網(wǎng)絡(luò)對動作之間的時空關(guān)系進(jìn)行描述,改善了復(fù)雜人體姿態(tài)情況的識別效果。Wang等采用光流軌跡對視頻幀間的時序關(guān)系進(jìn)行模仿,提出密集軌跡(DT,dense trajectory)算法[4]用于人體行為識別,為去除由于相機運動而對特征提取造成的影響,則對光流圖像進(jìn)行優(yōu)化,進(jìn)一步提出改進(jìn)的密集軌跡(iDT,improved dense trajectory)算法[5]用于人體行為識別。雖然基于手工提取特征的方法相對較為成功,但是該類方法是針對固定視頻設(shè)計提取特征,無法滿足輸入視頻的通用性,并且計算速度非常慢,很難滿足現(xiàn)實世界中實時性的要求。
基于深度學(xué)習(xí)的行為識別方法主要是先通過設(shè)計好的神經(jīng)網(wǎng)絡(luò)對輸入視頻進(jìn)行自動行為特征提取并不斷訓(xùn)練模型,之后將訓(xùn)練好的模型用于分類識別。目前基于深度學(xué)習(xí)的行為識別算法主要通過三維卷積神經(jīng)網(wǎng)絡(luò)、雙流網(wǎng)絡(luò)、循環(huán)卷積神經(jīng)網(wǎng)絡(luò)和注意力網(wǎng)絡(luò)進(jìn)行構(gòu)建。早在2013年Ji等[6]通過詳細(xì)的實驗提出了使用三維卷積神經(jīng)網(wǎng)絡(luò)提取視頻的時空特征來對人體行為進(jìn)行有效識別。隨后Simonyan等[7]利用視頻的圖像幀和光流幀分別輸入空間流網(wǎng)絡(luò)和時間流網(wǎng)絡(luò)來提取時空信息,提出用于行為識別的雙流卷積架構(gòu)。Tran等[8]通過系統(tǒng)的實驗研究找到了最適合行為識別的三維卷積核尺寸,并提出C3D網(wǎng)絡(luò)用于直接提取時空特征進(jìn)行行為識別。Donahue等[9]利用循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(RNN)能夠針對時間序列很好建模的優(yōu)勢,提出長時循環(huán)卷積網(wǎng)絡(luò)(LRCNN)用于視頻的行為識別。Li等[10]提出帶有視覺注意力機制的深度視覺注意模型用于行為識別。Liu等[11]通過將視頻幀內(nèi)空間信息的稀疏性引入到空間維度上,提出一種輕量級的組幀網(wǎng)絡(luò)(GFNet)用于行為識別。Yang等[12]提出一種即插即用的特征級時間金字塔網(wǎng)絡(luò)(TPN)用于行為識別。
雖然基于深度學(xué)習(xí)的人體行為識別方法較手工提取特征的方法快捷、方便,并且時效性好,但是在實際應(yīng)用中也很容易受到光線、背景雜亂、攝像視角等復(fù)雜環(huán)境因素影響,所以還需要在模型抗干擾方面繼續(xù)優(yōu)化深度神經(jīng)網(wǎng)絡(luò)模型。
本文基于C3D網(wǎng)絡(luò)[8],提出一種基于C3D注意力殘差網(wǎng)絡(luò)模型用于人體行為識別。本文算法在C3D原始網(wǎng)絡(luò)基礎(chǔ)上通過三維卷積核的合并與拆分以及全局平均池化來大量減少網(wǎng)絡(luò)參數(shù),達(dá)到壓縮網(wǎng)絡(luò)的效果,并且使用軟池化(SoftPool)代替原有的最大池化(Maxpool)操作,以最大程度減小池化的信息損失,之后采用分組歸一化(GN,group normalization)對網(wǎng)絡(luò)進(jìn)行正則化處理,為進(jìn)一步提取深度特征采用全預(yù)激活形式的殘差結(jié)構(gòu)來增加三維卷積層,最后為能更好的關(guān)注視頻的關(guān)鍵幀,在網(wǎng)絡(luò)中引入時空通道注意力模型來提高網(wǎng)絡(luò)模型的識別能力和抗干擾性能。
在本文中提出一種基于C3D注意力殘差網(wǎng)絡(luò)的行為識別模型來改善原始C3D網(wǎng)絡(luò)的不足。將在本節(jié)中簡要介紹原始C3D網(wǎng)絡(luò),并在下一節(jié)介紹基于殘差網(wǎng)絡(luò)和注意力網(wǎng)絡(luò)的人體行為識別算法。
C3D神經(jīng)網(wǎng)絡(luò)是非常經(jīng)典的通過三維卷積直接提取時空特征并用于視頻人體行為識別的卷積神經(jīng)網(wǎng)絡(luò)。該三維卷積網(wǎng)絡(luò)證明了比二維卷積網(wǎng)絡(luò)更適合時空特征的學(xué)習(xí),不需要復(fù)雜的提取視頻光流幀圖象。該網(wǎng)絡(luò)還通過采用多種卷積核尺寸大小進(jìn)行實驗,驗證了采用大小為(3×3×3)的卷積核性能最好。C3D網(wǎng)絡(luò)是一個總共具有10層的深度卷積神經(jīng)網(wǎng)絡(luò),其中具有8層的三維卷積層,2層的全連接層。該網(wǎng)絡(luò)是以圖像尺寸調(diào)整為(112×112)的3通道16幀視頻圖像作為輸入,并且網(wǎng)絡(luò)中為了能夠更好的提取特征,則將特征提取與池化功能分開,即網(wǎng)絡(luò)中所有三維卷積層只進(jìn)行提取時空特征,使得經(jīng)過卷積層的輸入與輸出尺寸相同,池化功能則全部采用三維最大池化層來完成。為了使得時間信息不被過早地丟失,因此僅第1個三維池化內(nèi)核的尺寸為(1×2×2),而后續(xù)的三維池化內(nèi)核均為(2×2×2)。最后將提取到的特征輸入到后面的2層全連接層中進(jìn)行特征分類,并最終通過Softmax分類器將視頻中各個人體動作類別的分類概率進(jìn)行輸出。C3D神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖1所示。
圖1 C3D網(wǎng)絡(luò)結(jié)構(gòu)
殘差網(wǎng)絡(luò)最早由He等[13]為解決更深層網(wǎng)絡(luò)更難訓(xùn)練的問題而提出的一種能夠優(yōu)化網(wǎng)絡(luò)訓(xùn)練的結(jié)構(gòu),其中的跳轉(zhuǎn)連接也正是該結(jié)構(gòu)能夠優(yōu)化訓(xùn)練網(wǎng)絡(luò)的關(guān)鍵。由于殘差網(wǎng)絡(luò)的誕生,避免了為提取深度特征而增加卷積層所引起的網(wǎng)絡(luò)退化問題,同時也進(jìn)一步發(fā)展了人體行為識別領(lǐng)域。Tran等[14]通過將三維卷積核應(yīng)用到二維殘差網(wǎng)絡(luò)中提出了新型的Res3D網(wǎng)絡(luò)架構(gòu)。Qiu等[15]采用偽三維塊(P3D)替代原始二維殘差網(wǎng)絡(luò)的二維殘差單元,提出一種偽三維殘差網(wǎng)絡(luò)(P3D ResNet)。Tran等[16]通過將時空卷積殘差塊分解為空間卷積塊和時間卷積塊,提出一種殘差塊為(2+1)D卷積塊的新型殘差網(wǎng)絡(luò)。
卷積神經(jīng)網(wǎng)絡(luò)在提取特征時會將視頻中的每一幀圖像和圖像中的每一個像素都視為同等重要,這將導(dǎo)致計算資源的浪費以及針對特定任務(wù)的識別性能下降等問題。Sharma等[17]通過利用在時間和空間都具有深層序列的長短時記憶(LSTM)單元構(gòu)建深層遞歸神經(jīng)網(wǎng)絡(luò)(RNNs)來提取時空特征,并結(jié)合帶有雙重隨機懲罰項和注意力正則化項的交叉熵?fù)p失函數(shù),提出一種基于軟注意力的視頻人體行為識別模型。Liu等[18]采用帶有LSTM單元的遞歸神經(jīng)網(wǎng)絡(luò)(RNNs)來不斷地調(diào)整特征注意力權(quán)值,從而提出時間注意力模型,該模型能夠?qū)斎氲奶卣餍蛄羞M(jìn)行時域掃描,然后再利用RNN的不斷迭代來判別當(dāng)前幀的重要性,并對所關(guān)注的特征進(jìn)行加權(quán),以此通過選擇性地關(guān)注視頻幀進(jìn)行高效人體行為識別。Dai等[19]通過構(gòu)建時域特征流和時空特征流的LSTM雙流網(wǎng)絡(luò)來進(jìn)行人體行為識別,其中時域特征流是將光流圖像輸入到時間注意力模塊中來自動確定每個光流圖像中的主要區(qū)域,并將這些關(guān)鍵信息圖像的特征表示進(jìn)行聚合,從而以特征向量形式來呈現(xiàn)光流圖像的主要特征,時空特征流則是在池化層之后建立LSTM網(wǎng)絡(luò),用以學(xué)習(xí)空間深度特征之間內(nèi)在的時域關(guān)系,并引入時空注意力模塊來對不同層次的深層特征賦予不同程度的權(quán)重。Zhao等[20]采用基于光流分析的自適應(yīng)關(guān)鍵幀提取策略將視頻中的關(guān)鍵幀預(yù)先提取,之后將提取好的視頻關(guān)鍵幀作為輸入序列,利用C3D神經(jīng)網(wǎng)絡(luò)對該關(guān)鍵幀序列進(jìn)行特征提取,最后將提取好的視頻關(guān)鍵幀特征輸入到訓(xùn)練好的支持向量機中進(jìn)行人體行為識別。
由于原始C3D卷積網(wǎng)絡(luò)參數(shù)量較大,所以為減少網(wǎng)絡(luò)參數(shù)量并同時增加特征提取能力,使整體網(wǎng)絡(luò)結(jié)構(gòu)輕量化,則本文采用卷積核的合并與拆分操作實現(xiàn)能夠大量減少網(wǎng)絡(luò)參數(shù)以及加強特征提取效果的非對稱式三維卷積層,并且將全連接層使用全局平均池化(GAP,Global Average Pooling)操作進(jìn)行替換。Inception- v3網(wǎng)絡(luò)[21]中提到可以將任何一個(n×n)卷積采用(1×n)和(n×1)卷積進(jìn)行替代,n越大這種非對稱分解方式越能體現(xiàn)資源的節(jié)省,并且還提到本質(zhì)上可以采用兩層(3×3)卷積替換一層(5×5)卷積。
基于以上思想將其擴展到時空領(lǐng)域,本文先增加三維卷積層(3×3×3),使原始C3D網(wǎng)絡(luò)除開始的第一個三維卷積層外每一個卷積層部分都是3個具有卷積核為(3×3×3)的三維卷積層。之后將這3個卷積層合并成卷積核為(3×7×7)的一個三維卷積層。這樣變換可以比原始C3D網(wǎng)絡(luò)具有更大的空間感受野,增強了特征提取能力,并且使得帶有卷積核為(3×7×7)的一個三維卷積層就與卷積核為(3×3×3)的3個三維卷積層在空間域上具有相同的感受野,同時還起到了大量減少網(wǎng)絡(luò)參數(shù)以及計算量的效果,其在空間域上的合并等效原理如圖2所示。為進(jìn)一步減少網(wǎng)絡(luò)參數(shù)、增加空間特征的多樣性以及加速網(wǎng)絡(luò)訓(xùn)練,將帶有卷積核為(3×7×7)的三維卷積層進(jìn)行非對稱式拆分成卷積核為(3×1×7)和(3×7×1)的兩個三維卷積層,即得到兩個非對稱式三維卷積層,非對稱式拆分原理如圖3所示。
圖2 7×7合并等效原理圖
圖3 7×7非對稱式拆分原理圖
全連接層往往是網(wǎng)絡(luò)參數(shù)量最大的層,并且往往因巨大的網(wǎng)絡(luò)參數(shù)量非常容易引起網(wǎng)絡(luò)的過擬合現(xiàn)象,所以一種可以將全連接層替代的全局平均池化[22]方法被提出來,如圖4所示。由于全局平均池化操作是對輸入特征直接池化而不包含神經(jīng)元,所以可以節(jié)省大量網(wǎng)絡(luò)參數(shù)。由全局平均池化操作輸出的圖像尺寸為(1×1×1),所以可以避免由于輸入網(wǎng)絡(luò)原始圖像尺寸的不同而后期造成網(wǎng)絡(luò)維度不匹配的問題。
圖4 全局平均池化示意圖
獲取更深層次的網(wǎng)絡(luò)特征往往需要加深網(wǎng)絡(luò),但網(wǎng)絡(luò)層數(shù)的增加很容易造成過擬合和網(wǎng)絡(luò)退化現(xiàn)象,所以為避免以上問題本文采用了殘差式網(wǎng)絡(luò)結(jié)構(gòu)。
本文沒有采用傳統(tǒng)形式的殘差網(wǎng)絡(luò)結(jié)構(gòu)[13],而是采用全預(yù)激活式殘差網(wǎng)絡(luò)結(jié)構(gòu)[23]并將其擴展到時空領(lǐng)域。因為原始形式的殘差連接在網(wǎng)絡(luò)干路上存在激活函數(shù),結(jié)構(gòu)如圖5所示,其只是在殘差塊中形成恒等映射,而沒有在由殘差塊組成的網(wǎng)絡(luò)中形成真正的恒等映射,所以會阻礙信息的傳遞,可能還會導(dǎo)致網(wǎng)絡(luò)最終達(dá)不到最優(yōu)化結(jié)果。
圖5 原始?xì)埐罱Y(jié)構(gòu)圖
全預(yù)激活式殘差連接由正則化和激活函數(shù)組成信息進(jìn)入卷積權(quán)重層前的預(yù)激活操作,結(jié)構(gòu)如圖6所示。這種預(yù)激活操作不僅可以優(yōu)化網(wǎng)絡(luò)最終結(jié)果,還可以對網(wǎng)絡(luò)模型起到正則化效果。全預(yù)激活式殘差網(wǎng)絡(luò)結(jié)構(gòu)在整個網(wǎng)絡(luò)中可以形成一個直接通路,信息可以在任意兩個殘差塊之間直接傳遞,這樣更有利于信息的流通和加速網(wǎng)絡(luò)訓(xùn)練,并且這種網(wǎng)絡(luò)結(jié)構(gòu)還可以對所有將要進(jìn)入卷積權(quán)重層的輸入進(jìn)行正則化,有利于改善模型最終識別結(jié)果。
圖6 全預(yù)激活式殘差結(jié)構(gòu)圖
在卷積神經(jīng)網(wǎng)絡(luò)中為了增加感受野和減少卷積過程中的計算需求,所以采用池化操作減小激活特征圖的尺寸。以往的網(wǎng)絡(luò)模型常采用最大池化或平均池化,但是最大池化是對池化區(qū)域內(nèi)取最大激活值,這樣非常容易造成大量的信息損失,屬于一種暴力池化,平均池化則是對池化區(qū)域的所有激活值取平均,這樣會降低池化區(qū)域中所有激活值對特征圖的影響,屬于一種抑制性池化。為了能夠平衡最大池化和平均池化的消極影響,同時利用兩者的池化優(yōu)勢,所以本文網(wǎng)絡(luò)采用介于兩者之間的軟池化(SoftPool)[24]來替代原始C3D網(wǎng)絡(luò)中的最大池化。
SoftPool是一種快速有效的基于指數(shù)加權(quán)和的池化方法,該方法首先通過基于Softmax指數(shù)歸一化的方式得到應(yīng)用于激活特征圖的每個激活值的權(quán)重,之后通過對池化核區(qū)域內(nèi)的每個激活值進(jìn)行權(quán)重加權(quán)求和來得到最終的SoftPool輸出。該權(quán)重定義如式(1)所示:
(1)
式中,R為池化核區(qū)域,ai和aj表示為激活特征圖池化核內(nèi)的激活值,Wi為分配給池化核內(nèi)每個激活值的權(quán)重,i和j表示為池化核區(qū)域的索引號。最終的SoftPool輸出如式(2)所示:
(2)
為改善網(wǎng)絡(luò)訓(xùn)練過程中輸入數(shù)據(jù)的分布情況,使得各三維卷積層接收的輸入數(shù)據(jù)分布一致以及減輕過擬合現(xiàn)象發(fā)生,本文引入分組歸一化(GN,group normalization)[25]對網(wǎng)絡(luò)進(jìn)行正則化操作。
目前大多數(shù)網(wǎng)絡(luò)使用的正則化操作有批歸一化(BN,batch normalization)[26]、Dropout[27]等。但是Dropout正則化大多數(shù)用于全連接層后面,本網(wǎng)絡(luò)由于去掉了全連接層所以沒有采用Dropout正則化。BN正則化通過在Batch內(nèi)計算輸入數(shù)據(jù)的均值和方差進(jìn)行歸一化特征操作,雖然該操作可以起到很好的網(wǎng)絡(luò)正則化效果,并且能夠簡化深層網(wǎng)絡(luò)的優(yōu)化,但是該方法卻嚴(yán)重依賴Batch的大小,Batch大小的不同不僅會嚴(yán)重影響最終分類識別的結(jié)果,還會對內(nèi)存的占用產(chǎn)生巨大影響,并且會導(dǎo)致訓(xùn)練好的網(wǎng)絡(luò)模型難以遷移到小型設(shè)備中。
基于以上,本文采用GN操作對各三維卷積層進(jìn)行正則化,GN正則化方法是通過將通道分組,然后在分好的組內(nèi)計算用于歸一化特征的均值和方差,原理如圖7所示。假設(shè)要歸一化的輸入數(shù)據(jù)為x=[x1,x2,…,xd],那么其中的第k個輸入xk的分組歸一化結(jié)果yk如式(3)所示:
圖7 GN原理圖
(3)
式中,μ和δ2分別是輸入x的均值和方差,ε是一個防止分母為零的小量,γ和β是GN在分組中每個通道的可學(xué)習(xí)參數(shù)用以增強網(wǎng)絡(luò)表達(dá)能力。其中用來計算x的均值和方差的像素集合Si在GN中定義如式(4)所示:
(4)
人體行為識別需要將視頻片段首先處理成時間序列的視頻幀,然后再送入網(wǎng)絡(luò)進(jìn)行分類識別,然而一個視頻片段中能夠精準(zhǔn)識別動作的關(guān)鍵幀往往包含在大量冗余幀中,所以網(wǎng)絡(luò)中需要能夠產(chǎn)生關(guān)鍵幀信息的注意力模塊。
本文采用基于卷積塊注意力模型(CBAM)[28]改進(jìn)的改進(jìn)型卷積塊注意力模型(iCBAM)[29]來產(chǎn)生用于精準(zhǔn)分類識別的注意力特征圖。CBAM能夠沿著通道和空間兩個不同維度產(chǎn)生最終的注意力特征圖,而iCBAM在其基礎(chǔ)上加入了時間維度,將其擴展到了時空領(lǐng)域,成為能夠?qū)νǖ?、空間、時間3個方面進(jìn)行充分關(guān)注的注意力模塊。對于人體行為識別任務(wù)來說通道注意力集中在對給定的輸入圖像需要關(guān)注的是“什么”,空間注意力則集中在“哪里”是信息豐富的部分,時間注意力則是找到“哪些”是關(guān)鍵幀。iCBAM會依次沿著通道、空間、時間3個維度來產(chǎn)生注意力特征圖,并在這個過程中會將通過每一個維度而輸出的特征與該維度的輸入特征相乘來進(jìn)行自適應(yīng)的特征細(xì)化以產(chǎn)生最終的注意力特征圖,原理如圖8所示。
圖8 iCBAM結(jié)構(gòu)圖
首先獲得一個經(jīng)過三維卷積提取的特征圖為F∈RC×M×H×W作為iCBAM的輸入,式中R為網(wǎng)絡(luò)中的時空域,C為網(wǎng)絡(luò)通道數(shù),M為視頻幀數(shù),H為視頻幀圖象的高度,W為視頻幀圖像的寬度。該特征圖先通過通道注意力模塊,獲得1D通道注意力特征圖即TC(F),其中TC∈RC×1×1×1為通道注意力模塊,之后與原始特征圖F逐元素相乘得到經(jīng)過自適應(yīng)特征細(xì)化的通道注意力特征圖F′如式(5)所示:
F′=TC(F)?F
(5)
式中,?為逐元素相乘。該新得到的特征圖再通過空間注意力模塊,獲得2D空間注意力特征圖即TS(F′),其中TS∈R1×1×H×W為空間注意力模塊,隨后再與特征圖F′逐元素相乘得到新的自適應(yīng)特征細(xì)化后的特征圖F″如式(6)所示:
F″=TS(F′)?F′
(6)
經(jīng)過特征細(xì)化后的特征圖為進(jìn)一步從視頻幀中找出關(guān)鍵幀,所以再通過一個時間注意力模塊即TM∈R1×M×1×1來區(qū)別出關(guān)鍵視頻幀,最終原始特征圖F經(jīng)過自適應(yīng)特征細(xì)化后得到的時空通道注意力特征圖F?如式(7)所示:
F?=TM(F″)?F″
(7)
基于C3D注意力殘差網(wǎng)絡(luò)的人體行為識別算法整體結(jié)構(gòu)如圖9所示。
圖9 C3D注意力殘差網(wǎng)絡(luò)結(jié)構(gòu)圖
本文實驗采用的硬件設(shè)備配置為Inter Core i7- 8700 CPU,3.2 GHz,16 GB RAM,1T SSD,Nvidia Tesla T4(16 GB) GPU,平臺操作系統(tǒng)為Ubuntu16.04,編程語言為Python3.7,深度學(xué)習(xí)框架采用PyTorch1.6.0版本。
網(wǎng)絡(luò)中的迭代周期(Epoch)設(shè)為50次,初始學(xué)習(xí)率設(shè)為0.000 1,并且每經(jīng)過10次迭代周期后將以0.1進(jìn)行衰減,訓(xùn)練采用的批量大小為8,分組歸一化中采用的分組數(shù)為32,實驗采用GELU激活函數(shù)[30],并且使用Adam優(yōu)化算法來優(yōu)化網(wǎng)絡(luò)。
本文使用人體行為識別公共基準(zhǔn)數(shù)據(jù)集HMDB51和自建的43類別體育運動數(shù)據(jù)集進(jìn)行實驗。HMDB51數(shù)據(jù)集共有6 766段視頻剪輯,包含51個人體行為類別,并且每個類別的視頻數(shù)量都不少于101個,幀率為30 fps,視頻的分辨率為320×240,該數(shù)據(jù)集動作主要可分為5類,分別為常見的單獨面部動作如微笑等、操縱物體并伴有面部動作如喝水等、一般身體動作如跳水等、與物體互動的身體動作如騎車等、人際互動的身體動作如握手等。該數(shù)據(jù)集中的視頻大部分涉及攝像機的抖動、遮擋、不同拍攝角度以及低質(zhì)量幀的問題,所以該視頻數(shù)據(jù)集在人體行為識別任務(wù)中具有一定挑戰(zhàn)性。由于HMDB51數(shù)據(jù)集廣泛包含人體的各種運動,所以無法展現(xiàn)本文網(wǎng)絡(luò)結(jié)構(gòu)在具體領(lǐng)域的應(yīng)用性,為了體現(xiàn)本文提出的算法具有一定的應(yīng)用性,則對能夠產(chǎn)生復(fù)雜人體行為的體育運動進(jìn)行識別,但是沒有現(xiàn)成的類別數(shù)目較大的體育運動數(shù)據(jù)集,所以本文從UCF101數(shù)據(jù)集[31]和kinetic400數(shù)據(jù)集[32]中選出在比賽中常見的體育運動進(jìn)行混合,則自建了具有43個類別的體育運動數(shù)據(jù)集。該數(shù)據(jù)集一共有5 302個視頻片段,每個類別至少包含108個剪輯片段,視頻中的分辨率最小為140×256,幀率最小為25 fps,數(shù)據(jù)集內(nèi)存大小為3.61 GB。該數(shù)據(jù)集主要涉及體操、球類、游泳、跳水、田徑、滑冰、滑雪、舉重等8類體育運動。
為評估基于C3D注意力殘差網(wǎng)絡(luò)模型的性能,本文采用模型行為識別準(zhǔn)確率ACC(Accuracy)、模型ROC(Receiver Operating Characteristic)曲線下的面積AUC(Area Under Curve)以及對模型PR(Precision Recall)曲線下的面積AP(Average Precision)值取類別總數(shù)平均得到的平均精度(mAP,mean Average Precision)在HMDB51數(shù)據(jù)集和體育運動數(shù)據(jù)集上對模型進(jìn)行性能評價,并且為衡量模型輕量化,則采用模型參數(shù)量(Params)和浮點運算次數(shù)(FLOPs)來分別對模型的空間和時間復(fù)雜度進(jìn)行評價。其中AUC的值能夠量化地反映基于ROC曲線衡量出的模型性能,通常AUC取值區(qū)間為[0.5,1],并且取值越大模型的分類效果越好,同樣每個類別PR曲線下的面積AP,則反映了當(dāng)前模型對該類別的分類性能,而mAP值則是對總體類別的AP取類別總數(shù)的平均來量化當(dāng)前數(shù)據(jù)集下模型總體分類的性能,mAP取值為[0,1],取值越大模型分類效果越好。由于ROC曲線不易受到數(shù)據(jù)樣本分布的影響,而當(dāng)數(shù)據(jù)樣本分布相差很大時PR曲線更能反映分類器性能,所以為能更好的衡量模型性能,本文同時采用這兩種指標(biāo)對模型評價。
在對視頻中的人體行為進(jìn)行識別時需要先對視頻數(shù)據(jù)進(jìn)行預(yù)處理操作。首先將視頻數(shù)據(jù)集按照6:2:2的比例形式分為訓(xùn)練集、驗證集和測試集。之后按照原始C3D網(wǎng)絡(luò)中的視頻預(yù)處理方式將其以每隔4幀截取一幀的方式,使每個視頻片段變成至少為16幀的連續(xù)視頻幀圖像,若視頻幀數(shù)較少而無法滿足間隔4幀的截取方式,則自動降低采樣間隔以滿足要求。得到視頻幀后將視頻幀圖像尺寸統(tǒng)一調(diào)整為171×128,再對調(diào)整后的視頻幀采用隨機裁剪為112×112、以概率為0.5的水平翻轉(zhuǎn)和去均值等數(shù)據(jù)增強操作,則最終網(wǎng)絡(luò)的輸入尺寸為(3×16×112×112)。
本實驗由于受到計算機顯存限制,無法使用大型數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,所以為進(jìn)行公平比較,實驗中所有網(wǎng)絡(luò)模型均在相同實驗設(shè)備中從頭開始訓(xùn)練,均沒有使用任何經(jīng)過大數(shù)據(jù)集訓(xùn)練后的預(yù)訓(xùn)練模型。
本文算法通過在HMDB51數(shù)據(jù)集上進(jìn)行訓(xùn)練,總訓(xùn)練時長約為20 h,本文算法與目前流行人體行為識別算法C3D[8]和Res3D[14]在HMDB51上進(jìn)行性能比較,3種模型的訓(xùn)練和測試過程如圖10所示。
圖10 HMDB51準(zhǔn)確率曲線
3種模型在HMDB51數(shù)據(jù)集上的測試結(jié)果以及各種性能指標(biāo)結(jié)果如表1所示。
表1 HMDB51數(shù)據(jù)集測試結(jié)果對比
由表1中的實驗結(jié)果可知在沒有經(jīng)過任何預(yù)訓(xùn)練的情況下,本文算法在HMDB51上的識別準(zhǔn)確率為41.04%,該結(jié)果比Res3D高了4.92%,而且比C3D的結(jié)果高了9.88%,所以可知本文算法的識別效果較好,同時說明了該算法若要和Res3D以及C3D在相同大型數(shù)據(jù)集下進(jìn)行預(yù)訓(xùn)練,則本文算法在HMDB51上的實驗結(jié)果仍然會比這兩種算法的實驗結(jié)果好很多,并且會進(jìn)一步提高該數(shù)據(jù)集上的識別率,所以本文從頭訓(xùn)練模型的實驗結(jié)果是有意義的。為進(jìn)一步比較模型在該數(shù)據(jù)集下的識別性能,則考慮表1中模型的AUC值和mAP值,由于3個模型的AUC值相差不大,無法準(zhǔn)確比較各模型性能,所以可由mAP值進(jìn)行判斷,由表1中模型的AP值大小可知,本文算法的mAP值為0.36,比其余兩個模型mAP值大,所以可知本文算法的模型性能好于其余兩種模型算法。由表1中各模型參數(shù)和FLOPs可知,本文算法的參數(shù)量為47.95 M,則本文算法比C3D模型的參數(shù)量降低了38.68%,然而FLOPs較其余模型卻有所增加,那是因為模型逐漸復(fù)雜化而造成的消極影響,但是綜合考慮本文算法實現(xiàn)了模型輕量化,并進(jìn)一步改善了模型識別效果。
本文為進(jìn)一步展現(xiàn)所提出的網(wǎng)絡(luò)結(jié)構(gòu)具有一定的應(yīng)用性,所以將其應(yīng)用到具有43個類別的體育運動數(shù)據(jù)集來展示本文算法在體育運動識別方面的性能,并在該數(shù)據(jù)集中與C3D和Res3D進(jìn)行比較,本文算法總訓(xùn)練時長約為18.5 h,3種模型的訓(xùn)練和測試過程如圖11所示。
圖11 體育運動準(zhǔn)確率曲線
3種模型在體育運動數(shù)據(jù)集上的測試結(jié)果以及各種性能指標(biāo)結(jié)果如表2所示。
表2 體育運動數(shù)據(jù)集測試結(jié)果對比
由表2的實驗結(jié)果可知在沒有經(jīng)過任何預(yù)訓(xùn)練的情況下,將本文算法應(yīng)用到體育運動數(shù)據(jù)集中的識別結(jié)果為73.05%,該結(jié)果比Res3D高了11.14%,而且比C3D的結(jié)果高了21.61%,所以可知本文算法在體育運動識別方面具有較好的識別性能。根據(jù)表2中模型性能的評價指標(biāo)結(jié)果所示,本文算法的AUC值和mAP值分別高達(dá)0.97和0.68,所以進(jìn)一步說明本文網(wǎng)絡(luò)結(jié)構(gòu)性能較好,并且在體育運動識別方面具有一定的應(yīng)用性。
本文針對C3D網(wǎng)絡(luò)參數(shù)量較大以及缺少關(guān)注關(guān)鍵幀信息而導(dǎo)致識別效果不理想的問題,提出一種具有應(yīng)用性的基于改進(jìn)型C3D的注意力殘差網(wǎng)絡(luò)模型用于人體行為識別。在模型中引入非對稱式三維卷積層和全局平均池化對模型進(jìn)行輕量化,采用全預(yù)激活式殘差結(jié)構(gòu)和iCBAM注意力模塊來提高模型的識別能力,并使用GN正則化和SoftPool進(jìn)一步改善網(wǎng)絡(luò)識別性能并加速網(wǎng)絡(luò)訓(xùn)練。本文網(wǎng)絡(luò)結(jié)構(gòu)與目前流行算法在HMDB51數(shù)據(jù)集上進(jìn)行結(jié)果對比,驗證了本文方法的有效性,同時采用自建的43類別體育運動數(shù)據(jù)集對本文方法在實際中的應(yīng)用性進(jìn)行驗證,結(jié)果表明本文方法同樣具有良好的應(yīng)用性。在未來的工作中,可以引入一些傳統(tǒng)的特征提取方法與深度學(xué)習(xí)相結(jié)合來更好的對行為細(xì)粒度特征進(jìn)行提取,以進(jìn)一步增強模型的人體行為識別性能。