李 前,楊文柱,陳向陽,苑侗侗,王玉霞
(河北大學(xué)網(wǎng)絡(luò)空間安全與計算機(jī)學(xué)院,河北保定 071002)
(?通信作者電子郵箱wenzhuyang@163.com)
人體動作識別[1]是目前視頻分析與理解領(lǐng)域的研究熱點之一,廣泛應(yīng)用于家庭安防、醫(yī)療監(jiān)控與人機(jī)交互等諸多領(lǐng)域。人體動作識別的目的是從一個未知的視頻或圖像序列中自動分析并識別出其中包含的人體動作,其本質(zhì)是時序相關(guān)的空間特征提取、表示與分類的過程。早期的動作識別主要是以手工設(shè)計特征來表示動作,然而由于人體動作種類較多,相似動作的類間差異小、類內(nèi)差異大,使得動作識別任務(wù)的準(zhǔn)確率難以提升[2-3]。近年來,隨著深度學(xué)習(xí)方法在圖像識別、自然語言處理等方面取得了重大的研究進(jìn)展,使得其在人體動作識別領(lǐng)域也得到了廣泛的應(yīng)用[4-5]。
在人體視覺感知模型中,腹側(cè)流(Ventral stream)主要負(fù)責(zé)物體識別,而背側(cè)流(Dorsal stream)主要負(fù)責(zé)處理空間信息以及運(yùn)動控制信息[6]。雙流卷積神經(jīng)網(wǎng)絡(luò)(Two-Stream convolutional neural network,Two-Stream)[7]通過效仿人體視覺感知過程,構(gòu)建兩個并行的卷積神經(jīng)網(wǎng)絡(luò)分別用來提取RGB(Red,Green,Blue)視頻幀中的表層信息以及堆疊光流中的運(yùn)動信息,最后融合表層信息和運(yùn)動信息對人體動作類別進(jìn)行判定。然而,雙流卷積神經(jīng)網(wǎng)絡(luò)僅僅操作單個幀(空間網(wǎng)絡(luò))或者短時間內(nèi)的連續(xù)幀(時間網(wǎng)絡(luò)),忽略了視頻中人體動作各環(huán)節(jié)在較長時間內(nèi)的相關(guān)性。Wang 等[8]以長時間建模為目標(biāo)構(gòu)建了時間分段網(wǎng)絡(luò)(Temporal Segment Network,TSN),該網(wǎng)絡(luò)首先從整個視頻中稀疏地提取一系列采樣片段,每個片段都將給出自身對于動作類別的初步預(yù)測,然后運(yùn)用段共識函數(shù)結(jié)合這些片段的類別預(yù)測得出最后的視頻級動作預(yù)測結(jié)果。為了盡可能多地獲取動作視頻中的運(yùn)動信息,Sun等[9]提出了一種新的緊湊運(yùn)動表示,稱為光流導(dǎo)向特征(Optical Flow guided Feature,OFF),它能夠快速地從卷積神經(jīng)網(wǎng)絡(luò)中提取魯棒的時空信息,通過匯總RGB、OFF(RGB)、Optical Flow、OFF(Optical Flow)為輸入的四流卷積網(wǎng)絡(luò)得分進(jìn)行動作識別。雖然雙流卷積網(wǎng)絡(luò)已經(jīng)在動作識別領(lǐng)域取得了顯著的成就,但大多數(shù)的雙流卷積網(wǎng)絡(luò)在訓(xùn)練階段都只是單獨(dú)訓(xùn)練空間網(wǎng)絡(luò)和時間網(wǎng)絡(luò),時空流之間缺乏信息交互,最終導(dǎo)致網(wǎng)絡(luò)整體性能降低。因此,Hao 等[10]提出了時空蒸餾密集連接網(wǎng)絡(luò)(Spatio Temporal Distilled Dense-Connectivity Network,
STDDCN),該網(wǎng)絡(luò)結(jié)構(gòu)依據(jù)DenseNet 網(wǎng)絡(luò)思想,在空間流和時間流之間采用密集連接方式,時間流的每一層網(wǎng)絡(luò)都與空間流對應(yīng)層以及后面的層次相連接,用時間流加強(qiáng)空間流,同時增強(qiáng)了時間流與空間流的交互性。
根據(jù)雙流網(wǎng)絡(luò)模型做出改進(jìn)固然是一個不錯的選擇,但以此為基礎(chǔ)結(jié)合其他網(wǎng)絡(luò)模型的優(yōu)勢更加能夠提升網(wǎng)絡(luò)模型的整體性能。3D 卷積方法是將動作視頻劃分成很多固定長度的片段,然后利用其可以同時提取三維信息的特性從連續(xù)幀之間直接提取出相應(yīng)的時間信息[11]。楊天明等[12]結(jié)合雙流卷積網(wǎng)絡(luò)與3D 卷積網(wǎng)絡(luò),以雙流卷積網(wǎng)絡(luò)提取時空特征,再用3D 卷積神經(jīng)網(wǎng)絡(luò)提取出時空特征中蘊(yùn)含的深層運(yùn)動相關(guān)信息,最終提升了動作識別的準(zhǔn)確率。另一方面,長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),其中包含判斷信息是否有用的輸入門、遺忘門和輸出門結(jié)構(gòu)[13]。當(dāng)信息輸入到LSTM 網(wǎng)絡(luò)中時,可以根據(jù)相應(yīng)的規(guī)則判斷此信息的價值,只有高價值的信息才會被保留,而低價值的信息則通過遺忘門丟棄。此結(jié)構(gòu)更真實地表征和模擬了動作過程、邏輯發(fā)展和神經(jīng)組織的認(rèn)知過程,因此在較復(fù)雜的動作識別上更具有潛力。毛志強(qiáng)等[14]將雙流卷積網(wǎng)絡(luò)提取的時空特征進(jìn)行融合得到時空融合特征,然后將時空融合特征輸入到LSTM 網(wǎng)絡(luò)中增強(qiáng)其在時間流上的建模能力。雖然上述方法巧妙運(yùn)用了不同網(wǎng)絡(luò)間的互補(bǔ)性能,但這種網(wǎng)絡(luò)間的簡單疊加并沒有深刻剖析出人體運(yùn)動的本質(zhì),沒有表達(dá)出更細(xì)節(jié)的運(yùn)動特征。
通過上述分析,本文結(jié)合雙流卷積和LSTM 網(wǎng)絡(luò)模型的優(yōu)勢,構(gòu)建了一種基于緊耦合時空雙流卷積的人體動作識別模型。該模型首先采用時空雙流卷積網(wǎng)絡(luò)分別提取動作視頻序列中的時間特征和空間特征;然后利用LSTM 網(wǎng)絡(luò)中的遺忘門模塊在各采樣片段之間建立特征層次的緊耦合連接;接著利用雙向長短期記憶(Bi-directional Long Short-Term Memory,Bi-LSTM)網(wǎng)絡(luò)評估各采樣片段的重要性并為其分配自適應(yīng)權(quán)重;最后結(jié)合時空雙流特征完成人體動作識別。
本文提出的緊耦合時空雙流網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,該網(wǎng)絡(luò)主要包含4 個模塊:時空特征的提取、采樣片段間的緊耦合連接、基于Bi-LSTM 的自適應(yīng)權(quán)重分配、結(jié)合時空流的視頻級特征實現(xiàn)動作識別。首先,訓(xùn)練兩個2D 卷積神經(jīng)網(wǎng)絡(luò),分別用來提取視頻中的空間特征和時間特征;然后,利用LSTM 網(wǎng)絡(luò)中的遺忘門模塊在采樣片段之間建立特征層次的緊耦合連接;接著,將各采樣片段的時空特征依次輸入到Bi-LSTM 中獲取自適應(yīng)權(quán)重并結(jié)合得到的權(quán)重完成視頻級預(yù)測;最后,融合時空網(wǎng)絡(luò)的預(yù)測結(jié)果實現(xiàn)人體動作識別。
圖1 緊耦合時空雙流網(wǎng)絡(luò)總體結(jié)構(gòu)Fig.1 Overall structure of tightly coupled spatiotemporal two-stream network
空間流卷積神經(jīng)網(wǎng)絡(luò)以RGB 視頻幀作為輸入,通過提取靜態(tài)圖片中的表層信息來實現(xiàn)視頻中的人體動作識別,其本質(zhì)上是一種圖片分類結(jié)構(gòu)。對于視頻中那些時序相關(guān)性較弱、過程較單一的動作,僅僅依靠空間流卷積神經(jīng)網(wǎng)絡(luò)就能夠很好地進(jìn)行分類和識別。本文構(gòu)建的空間流卷積神經(jīng)網(wǎng)絡(luò)采用的是榮獲2017 年IEEE 國際計算機(jī)視覺與模式識別會議(IEEE Conference on Computer Vision and Pattern Recognition,CVPR)最佳論文的密集網(wǎng)絡(luò)DenseNet169 模型[15],其結(jié)構(gòu)如圖2所示。
圖2 空間流卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of spatial stream convolutional network
時間流卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,同樣采用的是DenseNet169模型。與空間流的輸入不同,時間流卷積神經(jīng)網(wǎng)絡(luò)的輸入是經(jīng)若干連續(xù)視頻幀計算得來的光流圖。光流圖可以理解為連續(xù)視頻幀之間的像素點位移場,分為水平和垂直兩個方向,它們更顯式地描述了視頻的“瞬時速度”,能夠更加清晰直觀地表征人體運(yùn)動信息,因此對那些時序相關(guān)性較強(qiáng)的動作有著更加顯著的判別效果。
圖3 時間流卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of temporal stream convolutional network
在采樣片段之間建立連接不僅可以利用采樣片段間的互補(bǔ)信息,還可以增強(qiáng)時序上建模的連續(xù)性,進(jìn)而提升人體動作識別的準(zhǔn)確率。比如“站起”和“坐下”兩個動作,如果把采樣片段分開訓(xùn)練會破壞時間信息的連續(xù)性,從而增加誤識別的可能。然而采樣片段間的直接連接會加入較多的冗余信息,低價值信息的過多注入會弱化動作識別模型的識別效果,因此本文利用遺忘門的遺忘性能,在各采樣片段的特征層次上建立緊耦合連接以實現(xiàn)低價值歷史信息的遺忘與高價值歷史信息的傳播,其詳細(xì)連接結(jié)構(gòu)如圖4所示。
圖4 采樣片段間的遺忘門連接結(jié)構(gòu)Fig.4 Framework of forget gate connections between sampled segments
首先,分別提取各采樣片段中不同深度密集塊的輸出特征;然后,將相鄰采樣片段間對應(yīng)密集塊的輸出特征進(jìn)行遺忘門操作以得到相應(yīng)的高價值補(bǔ)償信息;接著,將此高價值補(bǔ)償信息以元素級累加的方式注入到下一個采樣片段中,從而實現(xiàn)采樣片段間的信息流傳遞。圖4 中符號“σ”表示遺忘門操作,符號“+”表示元素級相加,具體方法如下所示:
式(2)中:?表示元素級對應(yīng)相乘;*表示矩陣相乘;f 表示遺忘門,用來過濾信息,并且f 中的所有元素都在0~1 區(qū)間內(nèi)。當(dāng)元素為0時表示該位置的信息會被全部遺忘;當(dāng)元素為1時表示該位置的信息會全部保留;當(dāng)元素在0~1 區(qū)間內(nèi)時表示該位置的信息會被部分遺忘。式(3)表示LSTM 中的遺忘門模塊計算公式,其中σ表示sigmoid函數(shù),Wf和bf分別表示相應(yīng)的權(quán)重和偏置。
在采樣片段之間建立緊耦合連接固化了時間連接性,強(qiáng)化了視頻信息的整體表示能力,但采樣片段之間的連接會使得各采樣片段所包含的信息量發(fā)生改變。后面的采樣片段包含了前面采樣片段的部分信息,因此越后面的采樣片段所包含的信息量也就越多。同時考慮到動作不同階段的采樣片段對于動作識別的貢獻(xiàn)不同,因此本文利用Bi-LSTM 網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合上下文的能力,為各個采樣片段分配自適應(yīng)權(quán)重。Bi-LSTM 網(wǎng)絡(luò)相較于LSTM 網(wǎng)絡(luò)可以更好地捕捉前后兩個方向的語義關(guān)系,故而其評估可信度更高。自適應(yīng)權(quán)重的計算公式如下所示:
基于Bi-LSTM網(wǎng)絡(luò)的自適應(yīng)權(quán)重分配結(jié)構(gòu)如圖5所示。
圖5 基于Bi-LSTM的自適應(yīng)權(quán)重分配結(jié)構(gòu)Fig.5 Adaptive weight allocation structure based on Bi-LSTM
首先將各采樣片段得到的卷積特征按次序依次輸入到Bi-LSTM 網(wǎng)絡(luò)中,由于Bi-LSTM 網(wǎng)絡(luò)結(jié)構(gòu)是雙向傳播的,中間層輸出更能夠考慮到前后兩個方向的語義信息,故而選擇中間層的輸出作為結(jié)果,并將其輸入到Softmax 層進(jìn)行歸一化處理,最終得出各采樣片段的權(quán)重分配。然后結(jié)合權(quán)重分配結(jié)果計算出視頻級特征,最后利用視頻級特征完成動作識別,其計算公式如下所示:
其中:Mi表示經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)提取出的第i 個采樣片段的卷積特征,S(i)表示獲取的第i個采樣片段的自適應(yīng)權(quán)重,V表示結(jié)合相應(yīng)權(quán)重得到的視頻級特征,y 表示動作類別預(yù)測,Wl為相應(yīng)的權(quán)重參數(shù)。
最后結(jié)合空間流和時間流的預(yù)測得分,按照文獻(xiàn)[8]中的比例預(yù)測出動作的類別。
實驗選擇深度學(xué)習(xí)框架Pytorch 平臺實現(xiàn),網(wǎng)絡(luò)訓(xùn)練采用小批量隨機(jī)梯度下降法。時空雙流卷積神經(jīng)網(wǎng)絡(luò)采用在ImageNet 數(shù)據(jù)集[16]上進(jìn)行預(yù)訓(xùn)練的DenseNet169 模型提取時空特征。以等間隔稀疏采樣的RGB 視頻幀作為空間流的輸入,使用統(tǒng)一計算設(shè)備架構(gòu)(Compute Unified Device Architecture,CUDA)加速的OpenCV 模塊提取TVL1 光流,并以此作為時間流的輸入。
在訓(xùn)練階段先把輸入的圖片大小固定為256×340,然后隨機(jī)從集合{256,224,192,168}中選擇一個候選的裁剪大小進(jìn)行裁剪,最后把裁剪下來的圖片重新固定為224×224 的大小。訓(xùn)練過程中,將批次大小設(shè)置為8,動量設(shè)置為0.9。對于空間流網(wǎng)絡(luò),將丟失率設(shè)置為0.8,初始學(xué)習(xí)率設(shè)置為0.001,每15 000 次迭代學(xué)習(xí)率縮小為原來的1/10,直至迭代50 000次后停止訓(xùn)練;對于時間流網(wǎng)絡(luò),將丟失率設(shè)置為0.7,初始學(xué)習(xí)率設(shè)置為0.005,在第50 000次迭代后每50 000次迭代學(xué)習(xí)率縮小為原來的1/10,直至迭代200 000 次后停止訓(xùn)練。
實驗數(shù)據(jù)集采用UCF101[17]和HMDB51[18]數(shù)據(jù)集。UCF101 數(shù)據(jù)集包含101 個動作類別,共有13 320 個視頻段,其中每個類別包含100至200個視頻段。UCF101數(shù)據(jù)集是在無約束的現(xiàn)實環(huán)境下拍攝的網(wǎng)絡(luò)視頻,包含不同的光照變化,也存在著部分遮擋和相繼運(yùn)動的現(xiàn)象。該數(shù)據(jù)集可大體分為5 個主要類別:1)人與物體的交互;2)人體的運(yùn)動;3)人與人的交互;4)彈奏樂器;5)體育運(yùn)動。而HMDB51 數(shù)據(jù)集包含51個動作類別,共有6 766個視頻段。由于HMDB51數(shù)據(jù)集里的視頻片段大部分來源于電影片段,還有一部分來自YouTube 等視頻網(wǎng)站,所以其視頻幀像素較低、所含噪聲信息也較多,故而HMDB51 數(shù)據(jù)集相對于UCF101 數(shù)據(jù)集更具有挑戰(zhàn)性。UCF101 和HMDB51 數(shù)據(jù)集的部分動作采樣樣本如圖6所示。
圖6 UCF101和HMDB51數(shù)據(jù)集的部分動作采樣樣本Fig.6 Some action samples of UCF101 and HMDB51 datasets
實驗中上述數(shù)據(jù)集均依據(jù)國際上的THUMOS13 挑戰(zhàn)按照3∶1的比例對訓(xùn)練集和測試集進(jìn)行劃分。
通過時空雙流DenseNet169 模型分別提取RGB 視頻幀中包含的空間特征以及堆疊光流中包含的時間特征,然后運(yùn)用LSTM 網(wǎng)絡(luò)中的遺忘門模塊在采樣片段之間建立特征層次的緊耦合連接,最后結(jié)合Bi-LSTM 網(wǎng)絡(luò)對采樣片段進(jìn)行自適應(yīng)權(quán)重分配。由于本實驗是在TSN[8]的基礎(chǔ)上進(jìn)行改進(jìn)的,故而實驗對比了原始的TSN、結(jié)合緊耦合連接的TSN 以及最終結(jié)合緊耦合連接與自適應(yīng)權(quán)重的TSN,其動作識別的準(zhǔn)確率如表1所示。
表1 不同改進(jìn)方式下的識別準(zhǔn)確率比較Tab.1 Comparison of recognition accuracy under different improvements
從表1 中可以發(fā)現(xiàn),在采樣片段之間加入緊耦合連接后,動作識別的準(zhǔn)確率相較于各采樣片段單獨(dú)訓(xùn)練的TSN結(jié)構(gòu)提升了0.7至2.1個百分點,而且對于識別難度較高的HMDB51數(shù)據(jù)集提升更多。這一實驗結(jié)果表明在各采樣片段之間增加緊耦合連接可以提升動作識別的準(zhǔn)確率。此外,緊耦合連接模塊表現(xiàn)的好壞受數(shù)據(jù)集中各采樣片段異構(gòu)性強(qiáng)弱的影響,采樣片段間的異構(gòu)性越強(qiáng)采樣片段間的互補(bǔ)性信息就越多,緊耦合連接模塊所展現(xiàn)出的效果就越好。加入自適應(yīng)權(quán)重模塊使得動作識別的準(zhǔn)確率大約整體提升0.2 個百分點。一方面經(jīng)過緊耦合連接,不同采樣片段所含的信息量不同;另一方面不同階段的采樣片段重要性不一,故而自適應(yīng)權(quán)重模塊也起到了一定的效果。此外,原始的TSN 結(jié)構(gòu)是以BN(Batch Normalization)-Inception 網(wǎng)絡(luò)為基礎(chǔ)構(gòu)建的,模型參數(shù)量為41.6 MB。而本文在此基礎(chǔ)上以DenseNet 網(wǎng)絡(luò)替換BNInception 網(wǎng)絡(luò),并增加緊耦合連接模塊與自適應(yīng)權(quán)重模塊來提高信息利用率,由于引入的參數(shù)量不多,因此模型規(guī)模并沒有變化很大,其模型參數(shù)量為51.2 MB。
最后,將本文方法與其他動作識別方法在UCF101 和HMDB51 數(shù)據(jù)集上進(jìn)行比較,對比實驗結(jié)果如表2 所示。其中文獻(xiàn)[10]所提出的STDDCN 與本文方法最為相似,不同之處在于本文方法是在采樣片段之間建立緊耦合連接,而STDDCN 是在時空網(wǎng)絡(luò)之間建立密集連接,從實驗結(jié)果來看,本文方法的識別效果更好。此外還對比了改進(jìn)的密集軌跡算法(Improved Dense Trajectories,IDT)[3]、雙流卷積神經(jīng)網(wǎng)絡(luò)(Two-Stream)[7]、3D 卷積網(wǎng)絡(luò)(Convolutional 3D,C3D)[11]、時間分段網(wǎng)絡(luò)[8]、時空相關(guān)網(wǎng)絡(luò)(SpatioTemporal Relation Network,STRN)[4]、時空3D 卷積神經(jīng)網(wǎng)絡(luò)(Spatiotemporal Convolutional Neural Network based on 3D-gradients,Spatiotemporal-3DCNN)[12]等經(jīng)典方法以及柵格化長短期記憶網(wǎng)絡(luò)(Lattice Long Short-Term Memory,Lattice LSTM)[19]、雙流膨脹3D 卷積神經(jīng)網(wǎng)絡(luò)(Two-stream Inflated 3D Convolutional Neural Network,Two-Stream I3D)[20]等近年來主流方法。表2中的實驗結(jié)果表明,本文提出的基于緊耦合時空雙流卷積的人體動作識別方法識別效果比上述主流方法更好,并將動作識別準(zhǔn)確率在HMDB51 數(shù)據(jù)集上提升了1.8 個百分點,在UCF101數(shù)據(jù)集上提升了0.4個百分點。
表2 本文方法與其他方法準(zhǔn)確率的比較 單位:%Tab.2 Comparison of the accuracy of the proposed method and other methods unit:%
本文提出了一種基于緊耦合時空雙流卷積的人體動作識別方法。首先,利用時空雙流網(wǎng)絡(luò)提取視頻序列中的時空特征;然后,利用LSTM 網(wǎng)絡(luò)中的遺忘門模塊在采樣片段之間建立特征層次的緊耦合連接;接著,利用Bi-LSTM 網(wǎng)絡(luò)評估各采樣片段的重要性并為其分配自適應(yīng)權(quán)重;最后,結(jié)合時空雙流特征完成人體動作識別。在UCF101 和HMDB51 數(shù)據(jù)集上的實驗表明:在采樣片段之間建立緊耦合連接可以很好地實現(xiàn)采樣片段間的信息流傳遞并提高時間信息利用率;自適應(yīng)性權(quán)重模塊能夠根據(jù)上下文語義信息為采樣片段分配自適應(yīng)權(quán)重;本文提出的算法相較于現(xiàn)有的最優(yōu)識別結(jié)果在UCF101數(shù)據(jù)集上提升了0.4 個百分點,在HMDB51 數(shù)據(jù)集上提升了1.8 個百分點。另外此算法在復(fù)雜度較高、時序相關(guān)性較強(qiáng)的動作類別上更能展現(xiàn)其優(yōu)勢。在接下來的工作中,將考慮如何提升雙流網(wǎng)絡(luò)在時空維度的交互性,使空間信息和時間信息在網(wǎng)絡(luò)訓(xùn)練階段就能夠有效地進(jìn)行信息交互,從而更進(jìn)一步提升視頻中人體動作識別的準(zhǔn)確率。