方婷紅,董建設(shè),楊正昊,王志凌
(天津職業(yè)技術(shù)師范大學(xué)信息技術(shù)工程學(xué)院,天津 300222)
近年來(lái),隨著計(jì)算機(jī)視覺技術(shù)的發(fā)展,各種技術(shù)成果層出不窮,人體行為識(shí)別技術(shù)也逐漸得到廣泛重視,其應(yīng)用領(lǐng)域也日益廣泛,如虛擬現(xiàn)實(shí)、視頻監(jiān)控、醫(yī)療衛(wèi)生等領(lǐng)域。早期,提出了一種基于人工識(shí)別的方法,即利用傳統(tǒng)的機(jī)器學(xué)習(xí)算法,從物體的局部或整體特征中抽取出物體的局部或整體特征,并將所提取的特征進(jìn)行編碼和標(biāo)準(zhǔn)化,最終將所提取的特征進(jìn)行訓(xùn)練,從而獲得相應(yīng)的預(yù)測(cè)分類效果。傳統(tǒng)的行為識(shí)別方法主要是對(duì)視頻區(qū)域的局部高維視覺特征進(jìn)行提取,再把提取的特征剪裁成固定大小的視頻片段,最后利用分類器進(jìn)行最終的分類識(shí)別。其中,Laptev[1]研究發(fā)現(xiàn)了局部表示方式的時(shí)空興趣點(diǎn)檢測(cè)(STIPS)方法,在時(shí)域空域中提取興趣點(diǎn)作為時(shí)域空域中變化的鄰域點(diǎn),由此來(lái)描述視頻中的人體局部特征,從而進(jìn)行行為識(shí)別。由于Laptev的方法存在提取有用興趣點(diǎn)過(guò)少的不足,Dollar等[2]在此基礎(chǔ)上,提出了采用Gabor濾波器結(jié)合高斯濾波器,增加穩(wěn)定的興趣點(diǎn)進(jìn)行行為識(shí)別的方法。Richardson等[3]提出了馬爾科夫邏輯網(wǎng)絡(luò)(Maikov logic networks),該網(wǎng)絡(luò)能夠描述運(yùn)動(dòng)之間的時(shí)間和空間關(guān)系,提高行為識(shí)別的準(zhǔn)確率。Wang等[4]提出密集軌跡(dense trajectory,DT)算法,在每個(gè)空間尺度上進(jìn)行密集采樣,之后在每個(gè)空間尺度上再次進(jìn)行分別追蹤,形成軌跡描述來(lái)對(duì)行為識(shí)別進(jìn)行分類。但移動(dòng)的相機(jī),會(huì)對(duì)行為識(shí)別的準(zhǔn)確率產(chǎn)生影響,因此Wang等[5]對(duì)光流圖像進(jìn)行了優(yōu)化,并對(duì)密集軌跡(improved dense trajectory,iDT)算法進(jìn)行了改進(jìn),用于人體行為識(shí)別。
基于人工特征的提取方法已經(jīng)比較成熟,但這種方法只針對(duì)固定的圖像進(jìn)行特征抽取,不能保證視頻的普遍性,且運(yùn)算速度很慢,難以適應(yīng)實(shí)時(shí)需求。隨著深度學(xué)習(xí)的深入研究,新方法已經(jīng)逐步替代了以往的方法,得到了更為高效、準(zhǔn)確的信息。目前的主流算法有3種:雙流神經(jīng)網(wǎng)絡(luò)、3D卷積神經(jīng)網(wǎng)絡(luò)和多種混合網(wǎng)絡(luò)。Simonyan等[6]利用2個(gè)單獨(dú)的網(wǎng)絡(luò)分別提取時(shí)間、空間特征,使用Two-stream方法進(jìn)行行為識(shí)別。Ji等[7]利用三維卷積核提取連續(xù)視頻幀中的運(yùn)動(dòng)信息,采取基于3D卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行行為識(shí)別。Tran等[8]提出C3D模型,直接提取視頻的行為特征,將3D卷積核大規(guī)模地應(yīng)用于行為視頻中。呂淑平等[9]提出了(2+1)D的卷積方式代替3D卷積,加深了網(wǎng)絡(luò)結(jié)構(gòu),有利于對(duì)運(yùn)動(dòng)時(shí)間較長(zhǎng)、視頻像素更豐富的視頻進(jìn)行有效學(xué)習(xí)。Diba等[10]在C3D的基礎(chǔ)上結(jié)合了DenseNet網(wǎng)絡(luò)模型,極大地減少了網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)量,但網(wǎng)絡(luò)模型中的稠密鏈接增加了計(jì)算負(fù)荷。羅會(huì)蘭等[11]提出了空間卷積注意力機(jī)制(SCA)結(jié)合時(shí)間卷積注意力機(jī)制(TCA),獲取人體行為視頻的時(shí)間與空間信息。吳麗君等[12]提出了通道注意力機(jī)制結(jié)合時(shí)間注意力機(jī)制,通過(guò)調(diào)整網(wǎng)絡(luò)的卷積層和池化層的順序,有效保留了更多的通道信息和時(shí)間信息。Donahue等[13]在卷積網(wǎng)絡(luò)CNN中加入了長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)模型,分別對(duì)輸入的人體行為視頻進(jìn)行視覺特征學(xué)習(xí)和隔離學(xué)習(xí),在行為識(shí)別方向上取得了不錯(cuò)的結(jié)果。Ng等[14]為了解決卷積網(wǎng)絡(luò)因提取信息不夠完全而導(dǎo)致行為類別識(shí)別不準(zhǔn)確的問題,采用全局視頻級(jí)別的卷積網(wǎng)絡(luò)結(jié)合長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)進(jìn)行時(shí)空上的特征提取。Li等[15]將可視注意力機(jī)理與可視注意模式相結(jié)合,從而使其更好地改善行為辨識(shí)的正確性。Liu等[16]在空間維中引入了空間信息的稀疏性,并采用一種輕量化的組幀網(wǎng)(GFNet),實(shí)現(xiàn)對(duì)圖像的行為識(shí)別。Yang等[17]采用一種用于行為識(shí)別的快速插入式的時(shí)間金字塔網(wǎng)絡(luò)(TPN)。Arnab等[18]將人體行為視頻構(gòu)建成一組時(shí)空標(biāo)簽和位置編碼,作為Transformer輸入對(duì)人體行為進(jìn)行識(shí)別。C3D網(wǎng)絡(luò)能夠?qū)σ曨l直接提取時(shí)空特征,但原始的C3D網(wǎng)絡(luò)模型采用隨機(jī)提取視頻幀的方式對(duì)視頻進(jìn)行處理,導(dǎo)致提取出的視頻幀的冗余信息較多,對(duì)行為識(shí)別率影響也較大。為此,本文提出一種基于視頻關(guān)鍵幀提取的C3D網(wǎng)絡(luò)模型算法,利用視頻聚類關(guān)鍵幀提取技術(shù)消除對(duì)數(shù)據(jù)的冗余性問題,提取少量具有代表性的關(guān)鍵幀作為網(wǎng)絡(luò)模型的輸入,采用以0.5的概率對(duì)已提取的關(guān)鍵幀進(jìn)行水平翻轉(zhuǎn),并進(jìn)行數(shù)據(jù)增強(qiáng),在原始C3D模型中引入注意力機(jī)制(convolutional block attention module,CBAM)對(duì)關(guān)鍵幀進(jìn)行特征提取。
C3D神經(jīng)網(wǎng)絡(luò)是一種具有典型意義的立體卷積方法,相對(duì)于二維卷積,3D卷積由于三維卷積和三維池化的運(yùn)算性質(zhì),能夠較好地抽取出時(shí)間區(qū)域的特征。2D卷積無(wú)論輸入單通道圖像還是多通道圖像,結(jié)果均為單張圖像,損失了時(shí)間域上的信息。3D卷積輸出保持空間域上的特征,是立體的輸出。同樣,對(duì)于3D池化操作來(lái)說(shuō),也保持著時(shí)空特征。該網(wǎng)絡(luò)的輸入是視頻片段,輸出是數(shù)據(jù)集類別的標(biāo)簽。所有的影像畫面尺寸均為128×171。同時(shí),將該片段分割成16個(gè)畫面,以3×16×128×171的形式輸入到網(wǎng)絡(luò)中。C3D網(wǎng)絡(luò)通過(guò)不同的卷積核實(shí)驗(yàn),最終驗(yàn)證了所有的卷積核采用3×3×3大小最為合適,對(duì)應(yīng)的步長(zhǎng)為1×1×1。其中,第一層池化層采用1×2×2的卷積核大小,目的是保留當(dāng)前的時(shí)間信息,池化層則使用2×2×2的卷積核。C3D經(jīng)緯構(gòu)造采用三維卷積操作,8次卷積操作,4次池化操作,最后經(jīng)過(guò)2個(gè)全連接層和softmax層后,網(wǎng)絡(luò)得到最終的效果。C3D神經(jīng)網(wǎng)絡(luò)的總體框架如圖1所示。
圖1 C3D神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu)圖
視頻中的信息量比圖片信息量更為豐富,但在一個(gè)序列中,存在很多多余的數(shù)據(jù),所以在無(wú)監(jiān)督情況下,提取出關(guān)鍵性的數(shù)據(jù)尤為重要。目前,主要的關(guān)鍵幀提取方法有5種:基于鏡頭邊界提取關(guān)鍵幀[19]、基于運(yùn)動(dòng)分析提取關(guān)鍵幀[20]、基于圖像信息提取關(guān)鍵幀[21]、基于鏡頭活動(dòng)性提取關(guān)鍵幀[22]和基于視頻聚類提取關(guān)鍵幀[23]。與前面4種不同的關(guān)鍵幀提取算法相比,利用視頻聚類技術(shù)對(duì)關(guān)鍵幀進(jìn)行分割,可以有效地對(duì)關(guān)鍵幀進(jìn)行分割。在視頻分類過(guò)程中,將視頻分割成不同的圖像,得到典型的圖像特征。朱映映等[24]提出以圖像顏色直方圖計(jì)算圖像之間的最大相似性,然后根據(jù)圖像間的相似性度量聚類的方法,較好地解決了計(jì)算效率問題。參考上述聚類標(biāo)準(zhǔn)方法,本文對(duì)視頻進(jìn)行關(guān)鍵幀提取時(shí),采用算法如下:
(1)變換圖像色彩空間,從RGB變換到HSV彩色空間。
(2)對(duì)HSV彩色空間中的彩色直方圖進(jìn)行計(jì)算,并標(biāo)準(zhǔn)化。即H顏色直方圖分成12份,S、V顏色分成5份,分別計(jì)算其顏色直方圖。
(3)開始聚類,將圖像組的第一幀圖像當(dāng)作初選的群集中心,取一幀與目前的群集中心進(jìn)行相似度測(cè)量,如果最大相似度仍然小于給定的臨界點(diǎn)threshold,表示該幀與所有的聚類中心之間的距離過(guò)大,因此需要單獨(dú)成為一類。重復(fù)此過(guò)程,直到取完所有的幀。每一次當(dāng)前類中加入一張新的圖像時(shí),需重新計(jì)算聚類中心,即求一次平均值。
(4)在聚類結(jié)束后,根據(jù)離簇中心最近的幀數(shù)進(jìn)行運(yùn)算,將其視為關(guān)鍵性的幀數(shù)。
C3D模型在提取空間和空間特性時(shí),會(huì)考慮到視頻中的每個(gè)像素,而在行為識(shí)別視頻中,C3D模型對(duì)每個(gè)像素都具有同樣的意義。但是,在行為識(shí)別視頻中,更需要去關(guān)注空間中對(duì)于人體部分的特征,因此使用注意力機(jī)制尤為重要。
本文采用輕量級(jí)的注意力模型CBAM[25]用于加強(qiáng)空間和時(shí)間上的特征提取,采用通道注意力和空間注意力串聯(lián)的方式,并在此基礎(chǔ)上,從2個(gè)方向推導(dǎo)出注意因子。針對(duì)通道注意,重點(diǎn)在于哪條通道上的特點(diǎn),將2個(gè)特征圖進(jìn)行全局平均和全局最大值操作,分別發(fā)送到第二層。在此基礎(chǔ)上,利用Sigmoid函數(shù)對(duì)2個(gè)特征圖進(jìn)行相加運(yùn)算,求出0~1的權(quán)值,根據(jù)要素屬性對(duì)其進(jìn)行相乘運(yùn)算,生成空間注意力模塊所需的特征。
以通道注意力模塊所輸出特征圖作為空間注意力模塊所輸入特征圖,重點(diǎn)在于空間區(qū)域的特性具有重要的含義。利用通道進(jìn)行全局最大值和整體最大值的池化操作,得到2個(gè)特征圖,同時(shí)進(jìn)行拼接運(yùn)算。利用7×7大小的卷積核提取特征,通過(guò)Sigmoid函數(shù)產(chǎn)生空間權(quán)重系數(shù)。利用空間權(quán)重系數(shù)對(duì)輸入特征圖進(jìn)行乘法操作,獲得最終的特征圖,CBAM結(jié)構(gòu)如圖2所示。
圖2 CBAM結(jié)構(gòu)圖
將CBMA注意力機(jī)制引入C3D模型,得到三維卷積提取特征圖F∈RC×M×H×W作為CBAM的輸入,式中:R為網(wǎng)絡(luò)時(shí)空域;C為網(wǎng)絡(luò)通道數(shù);M為視頻幀數(shù);H為視頻幀圖像高;W為視頻幀圖像寬。
通過(guò)信道注意力模型對(duì)該特性進(jìn)行分析,得出Mc(F),Mc∈RC×1×1×1的信道注意力模型,并與原有的特征圖分別相乘,從而獲得經(jīng)過(guò)改進(jìn)的信道注意力特性曲線F'。
式中:○×為逐個(gè)元素相乘。
新特征圖F'又經(jīng)過(guò)空間注意力模塊,得到二維空間特征圖Ms(F')。其中,Ms∈R1×1×H×W為空間注意力模塊,將其乘以特征圖F'中的每一個(gè)要素,獲得細(xì)化特征圖F″。
綜合上述關(guān)鍵技術(shù),本文采用如圖3所示的基于聚類視頻關(guān)鍵幀提取的行為識(shí)別算法,對(duì)大量動(dòng)作視頻進(jìn)行少而精的關(guān)鍵幀提取,利用數(shù)據(jù)增強(qiáng)算法對(duì)提取的關(guān)鍵幀進(jìn)行0.5的概率水平翻轉(zhuǎn)作為模型的輸入,在原始C3D模型中加入CBAM注意力機(jī)制對(duì)輸入數(shù)據(jù)提取行為特征,加強(qiáng)數(shù)據(jù)的空間聯(lián)系和時(shí)間聯(lián)系,提高行為識(shí)別的準(zhǔn)確率。
圖3 基于視頻關(guān)鍵幀提取的C3D模型結(jié)果
本文采用Windows 10操作系統(tǒng),采用Intel(R)內(nèi)核(TM)i7-10700 cpu@2.90 GHz,32 GB的存儲(chǔ)空間,NVIDIA GeForce RTX 3080。Python3.7的程序設(shè)計(jì)和PyCharm 2019的開發(fā),利用Pytorch的深度研究構(gòu)建、訓(xùn)練和測(cè)試網(wǎng)絡(luò)。
網(wǎng)絡(luò)內(nèi)迭代周期(epoch)次數(shù)設(shè)定為100次,初始學(xué)習(xí)率設(shè)定為0.003,并在每訓(xùn)練4次迭代周期結(jié)束時(shí),學(xué)習(xí)率減少到原來(lái)的1/10,訓(xùn)練所用批量大小取32,隨機(jī)失活率設(shè)置為0.85,以6∶2∶2的比例劃分訓(xùn)練集合、校驗(yàn)集合和測(cè)驗(yàn)集合。
本文采用人體行為識(shí)別的公開數(shù)據(jù)集UCF101開展實(shí)驗(yàn)。UCF101是一個(gè)由YouTube搜集的真人動(dòng)畫短片,總共13 320個(gè)片段,視頻總時(shí)長(zhǎng)達(dá)到27 h,總共101個(gè)動(dòng)作。UCF101數(shù)據(jù)集包含了人與物的相互交流、簡(jiǎn)單肢體動(dòng)作、人際之間互動(dòng)、演奏樂器以及體育運(yùn)動(dòng)等。此外,每個(gè)類別分為25組,每組有4~7個(gè)短視頻,各視頻時(shí)長(zhǎng)均不相同,但大小均為320×240,并且每個(gè)視頻的幀率不固定,一般為25幀或29幀,對(duì)于一個(gè)視頻只能包含一個(gè)行為類別。UCF101在運(yùn)動(dòng)上具有最廣泛的靈活性,包括攝像機(jī)運(yùn)動(dòng)、物體外觀和姿勢(shì)、物體尺寸、視角、混亂的場(chǎng)景;由于光照環(huán)境會(huì)有很大變化,所以UCF101是最具有挑戰(zhàn)性的人類行為識(shí)別系統(tǒng)。
利用視頻聚類關(guān)鍵幀算法對(duì)行為視頻數(shù)據(jù)集進(jìn)行關(guān)鍵幀提取并保存提取的關(guān)鍵幀數(shù)量,提取出的關(guān)鍵幀對(duì)比原始的C3D模型,采取每隔4幀截取1幀,直至截取時(shí)序達(dá)到16幀的均勻采樣方法更具有代表性。對(duì)提取出的關(guān)鍵幀進(jìn)行訓(xùn)練集、驗(yàn)證集、測(cè)試集的劃分,劃分的比例為6∶2∶2,并將所得關(guān)鍵幀裁剪成171×128個(gè)像素,存儲(chǔ)在指定地點(diǎn)。在輸入數(shù)據(jù)的過(guò)程中,將已經(jīng)裁剪過(guò)的關(guān)鍵幀隨機(jī)調(diào)整成112×112像素大小,其目的是使模型的精度和穩(wěn)定性能夠更好地加強(qiáng)。把調(diào)整后的視頻關(guān)鍵幀作為輸入數(shù)據(jù)并且對(duì)每個(gè)調(diào)整好的輸入數(shù)據(jù)采取水平翻轉(zhuǎn)和去均值的數(shù)據(jù)增強(qiáng)方法。
本實(shí)驗(yàn)采用UCF101數(shù)據(jù)集進(jìn)行訓(xùn)練,迭代周期次數(shù)為100次。評(píng)價(jià)標(biāo)準(zhǔn)采用了準(zhǔn)確率(accuracy,ACC)、模型評(píng)估指標(biāo)(area under curve,AUC)和平均精確度(mean average precision,mAP)和模型參數(shù)(params)對(duì)模型進(jìn)行評(píng)價(jià)。其中,ACC評(píng)價(jià)標(biāo)準(zhǔn)分別采用了Top-1 Accuracy和Top-5 Accuracy的評(píng)估方法對(duì)實(shí)驗(yàn)進(jìn)行評(píng)價(jià)。Top-1 Accuracy評(píng)估函數(shù)是將實(shí)驗(yàn)中預(yù)測(cè)標(biāo)簽取最后概率向量中最大的值作為最后的預(yù)測(cè)結(jié)果;Top-5 Accuracy是最后概率向量里最大的前5個(gè)標(biāo)簽值中出現(xiàn)正確值即為預(yù)測(cè)正確。AUC評(píng)估函數(shù)是現(xiàn)有分類模型中主要的評(píng)測(cè)標(biāo)準(zhǔn)之一,其不關(guān)注具體準(zhǔn)確率,只關(guān)注排序結(jié)果,適用于排序問題的效果評(píng)估。mAP評(píng)價(jià)函數(shù)一般應(yīng)用于多類別的目標(biāo)監(jiān)測(cè)任務(wù),其能夠衡量出模型在所有類別上的性能。params評(píng)估函數(shù)對(duì)應(yīng)為空間概念,即空間復(fù)雜度,是指模型中含有參數(shù)的數(shù)量,直接決定模型的大小,也影響著推斷時(shí)對(duì)內(nèi)存的占用量。實(shí)驗(yàn)采用Top-1和Top-5準(zhǔn)確率評(píng)估方法將原始C3D模型和本文模型進(jìn)行對(duì)比,UCF101準(zhǔn)確率(Top-1)、(Top-5)變化曲線分別如圖4和圖5所示,UCF101損失率變化曲線如圖6所示。
圖4 UCF101準(zhǔn)確率(Top-1)變化曲線
圖5 UCF101準(zhǔn)確率(Top-5)變化曲線
圖6 UCF101損失率變化曲線
從圖4和圖5可以看出,原始C3D模型隨著迭代次數(shù)的增加,準(zhǔn)確率逐步上升,Top-1準(zhǔn)確率在15次迭代后逐漸收斂,Top-5準(zhǔn)確率在20次迭代后逐漸收斂,在100次迭代中,準(zhǔn)確率Top-1和Top-5最高能達(dá)到31.14%和59.34%;本文模型Top-1準(zhǔn)確率在20次迭代后趨近于收斂,Top-5準(zhǔn)確率在30次迭代后逐漸收斂,最高準(zhǔn)確率分別達(dá)到60.49%和88.17%,對(duì)比原始C3D模型準(zhǔn)確率有明顯提高。從圖6可以看出,本文模型在0~20次迭代中,損失值急劇下降,20次迭代后損失值逐漸趨近收斂于2.47%,原始C3D模型在0~20次迭代中,損失值快速下降,20次迭代后損失值逐步收斂于2.83%,實(shí)驗(yàn)對(duì)比結(jié)果顯示,本文模型損失值降低了0.36%。本算法與當(dāng)前流行人體行為識(shí)別算法C3D、Res3D、Spatial Stream-Resnet和LSTM Composite Model在UCF101數(shù)據(jù)集上的測(cè)試結(jié)果以及各種指標(biāo)結(jié)果的對(duì)比如表1所示。
表1 UCF101數(shù)據(jù)集各模型方法結(jié)果對(duì)比
從表1可以看出,在AUC評(píng)價(jià)指標(biāo)上,本研究方法可以同時(shí)考慮分類器對(duì)于正例和負(fù)例的分類能力,分類效果更好;在mAP指標(biāo)上,本研究方法的網(wǎng)絡(luò)結(jié)構(gòu)較優(yōu),行為識(shí)別檢測(cè)較準(zhǔn)確;在params評(píng)價(jià)指標(biāo)上,本方法僅低于C3D模型和LSTM Composite Model,參數(shù)量相對(duì)較少,降低了對(duì)內(nèi)存的占用量。
本文針對(duì)C3D網(wǎng)絡(luò)模型難以注意到行為視頻有代表性關(guān)鍵幀信息,造成識(shí)別效果不佳的問題提出了基于視頻關(guān)鍵幀提取的人體行為識(shí)別C3D網(wǎng)絡(luò)模型。模型對(duì)數(shù)據(jù)集采取視頻聚類的方法進(jìn)行關(guān)鍵幀提取,并加入輕量級(jí)的注意力模塊加強(qiáng)對(duì)人體行為特征的關(guān)注度。在UCF101數(shù)據(jù)集中,將本文算法與原始C3D模型和其他常用算法進(jìn)行分析比較,結(jié)果驗(yàn)證了本文方法的可行性。