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