葛鵬花,智 敏
(內(nèi)蒙古師范大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,內(nèi)蒙古 呼和浩特 010022)
人體動(dòng)作識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域一個(gè)重要的研究方向,但由于人體動(dòng)作比較復(fù)雜利用深度學(xué)習(xí)方法對(duì)人體動(dòng)作進(jìn)行識(shí)別仍然具有一定的挑戰(zhàn)[1]。目前基于深度學(xué)習(xí)的人體動(dòng)作識(shí)別方法主要是以CNN[2,3]、RNN[4,5]為基本框架或者兩者相結(jié)合[6,7],并且取得了顯著的成績(jī),文獻(xiàn)[6]提出將視頻建模為一個(gè)有序的幀序列,在CNN的輸出端與LSTM相連以提取動(dòng)作時(shí)序特征;文獻(xiàn)[7]通過(guò)對(duì)輸入信息和未來(lái)預(yù)測(cè)的信息相結(jié)合學(xué)習(xí)高級(jí)特征;文獻(xiàn)[8]中提出雙流CNN,對(duì)于視頻圖像和密集光流分別訓(xùn)練CNN兩個(gè)分支,然后對(duì)兩個(gè)分支的成績(jī)進(jìn)行融合得到分類結(jié)果;為了更好地利用時(shí)空信息,文獻(xiàn)[9]提出了多個(gè)用于視頻片段的時(shí)空融合方法;文獻(xiàn)[10]通過(guò)構(gòu)建長(zhǎng)時(shí)間卷積網(wǎng)絡(luò)進(jìn)行評(píng)估實(shí)驗(yàn),提高了動(dòng)作識(shí)別的準(zhǔn)確性。
大多數(shù)方法由于缺少來(lái)自交互對(duì)象的信息,在識(shí)別一些動(dòng)作序列比較相似的任務(wù)中,識(shí)別結(jié)果還有待提高。為了改善視頻中人體動(dòng)作識(shí)別精確度,提出了基于推理網(wǎng)絡(luò)的人體動(dòng)作識(shí)別算法,主要?jiǎng)?chuàng)新點(diǎn)如下:①結(jié)合物體信息輔助視頻動(dòng)作識(shí)別;②改進(jìn)Faster RCNN框架,通過(guò)加入LSTM指導(dǎo)下一時(shí)刻的邊框回歸以及提取人與物體的上下文信息從而對(duì)動(dòng)作更精確的分類。
在靜態(tài)圖像中目前有兩種類型的上下文信息模型用于檢測(cè)[11]。第一種類型是捕捉對(duì)象-對(duì)象間關(guān)系[11],第二種類型包含圍繞對(duì)象或場(chǎng)景上下文的信息[11-14]。Liu Y等[15]將這兩種上下文信息進(jìn)行結(jié)合共同幫助檢測(cè),取得了很好的結(jié)果。而對(duì)于構(gòu)建人與交互物體之間上下文關(guān)系的工作相對(duì)較少,Gkioxari G等[12]根據(jù)人體姿勢(shì)以及周圍物體和環(huán)境信息在靜態(tài)圖像中對(duì)人體行為進(jìn)行分類。
人體動(dòng)作識(shí)別相比于靜態(tài)圖像的識(shí)別較為復(fù)雜,在視頻動(dòng)作分析方面有部分研究者通過(guò)對(duì)人和物體之間的交互信息進(jìn)行上下文建模,然后對(duì)人類行為進(jìn)行預(yù)測(cè)[16-18],Koppula HS等[16]提出使用圖形模型來(lái)表示狀態(tài)空間,通過(guò)低層次的運(yùn)動(dòng)學(xué)和高層次的意圖來(lái)對(duì)人類行為和物體之間的交互活動(dòng)進(jìn)行建模,使得訓(xùn)練的模型能夠預(yù)測(cè)人類下一步的行為。隨后Koppula HS等[17]通過(guò)建模獲取人與物體以及周圍環(huán)境的上下文信息來(lái)預(yù)測(cè)人類下一步要進(jìn)行的活動(dòng)。為了結(jié)合深度RNN的序列學(xué)習(xí)能力和時(shí)空?qǐng)D的上下文信息,Jain等[18]提出用于人-物交互問(wèn)題的結(jié)構(gòu)化深層RNN,將人與物體表示為圖結(jié)點(diǎn),邊表示為人與物體的交互關(guān)系,其中結(jié)點(diǎn)和邊都采用RNN結(jié)構(gòu)來(lái)學(xué)習(xí)它們之間的關(guān)系,在人體運(yùn)動(dòng)建模、人與人之間的互動(dòng)、預(yù)測(cè)駕駛員下一步動(dòng)作等任務(wù)都表現(xiàn)出很好的結(jié)果。
以上上下文建模的方法中,用于靜態(tài)圖像動(dòng)作分類方法較少,用于視頻分析的大多數(shù)方法都是對(duì)人與交互物體進(jìn)行建模從而對(duì)人未來(lái)的行為進(jìn)行預(yù)測(cè),本研究與上述方法有所不同,通過(guò)將目標(biāo)定位方法和LSTM相結(jié)合獲取以人為主要區(qū)域以場(chǎng)景信息為附加區(qū)域改善識(shí)別效果。
本研究的整體算法在Faster RCNN的基礎(chǔ)上加入LSTM。LSTM通過(guò)獲取RPN提取的候選框和人與物體的相關(guān)關(guān)系從而對(duì)下一時(shí)刻的輸入數(shù)據(jù)進(jìn)行邊框回歸以及動(dòng)作分類。算法主要分為兩大步驟(2.1節(jié)和2.2節(jié)),下面將對(duì)這兩大步驟進(jìn)行詳細(xì)闡述。整體算法結(jié)構(gòu)如圖1所示。
圖1 算法結(jié)構(gòu)
本研究采用了經(jīng)典的檢測(cè)算法-Faster RCNN對(duì)視頻的每幀中人體區(qū)域和與人體動(dòng)作相關(guān)的附加區(qū)域提取特征,主要分為以下步驟:
步驟1 特征提?。菏紫壤迷贗mageNet上的預(yù)訓(xùn)練模型VGG-16得到輸入圖片的特征;
步驟2 選擇候選框:在VGG-16的conv5之后添加RPN網(wǎng)絡(luò),RPN網(wǎng)絡(luò)主要目的是在原始圖像上產(chǎn)生候選框,這也是目標(biāo)檢測(cè)中最關(guān)鍵的一步。RPN網(wǎng)絡(luò)通過(guò)學(xué)習(xí)相對(duì)參考boxes偏移量的方法來(lái)預(yù)測(cè)目標(biāo)的邊界框。假設(shè)以 (x0,y0,h0,w0) 為參考區(qū)域,則需要學(xué)習(xí)的偏移量為(Δx0,Δy0,Δh0,Δw0),其中x,y,w,h分別表示邊框中心點(diǎn)坐標(biāo)和邊框的寬高。那么如何在原始圖像中產(chǎn)生候選框呢?首先采用3*3的卷積核對(duì)特征圖進(jìn)行卷積操作,當(dāng)滑動(dòng)窗口滑動(dòng)到某一位置時(shí),以此時(shí)的窗口中心為中心映射到原圖的圖像像素空間的某一點(diǎn)(稱為anchor),每一個(gè)anchor考慮k種可能的候選框,一般選擇k=9:3種尺寸*3種比例 {1∶1,1∶2,2∶1},每個(gè)anchor通過(guò)softmax獲得正樣本(1)和負(fù)樣本(0)的類標(biāo)簽,所以會(huì)分類層輸出2k個(gè)得分,而每個(gè)候選框都有 (x,y,h,w) 4個(gè)參數(shù)化的坐標(biāo)向量所以回歸層會(huì)輸出4k個(gè)得分,通過(guò)非極大抑制算法(NMS)從所有的候選框中選取固定數(shù)量的候選框參與訓(xùn)練。
步驟3 ①人體區(qū)域:對(duì)得到的候選框進(jìn)行感興趣池化(ROI),將其調(diào)整為固定大小的特征圖,通過(guò)一個(gè)全連接層將其映射為特征向量,得到圖片I中包含人區(qū)域r的特征向量;②附加區(qū)域:計(jì)算人體區(qū)域r與場(chǎng)景中其它感興趣區(qū)域s(I) 的重合率,得到附加區(qū)域的一系列候選區(qū)R(r;I),通過(guò)參數(shù)設(shè)置可以將其設(shè)置為r的相鄰區(qū)域的集合,也可設(shè)置為從整個(gè)圖片隨機(jī)搜索的區(qū)域(當(dāng)l=0,u=1),然后將其送入全連接層,得到附加區(qū)域的特征向量。附加區(qū)域的定義用式(1)來(lái)表示
R(r;I)={s∈S(I)∶overlap(s,r)∈[l,u]}
(1)
步驟4 根據(jù)人體姿勢(shì)以及附加區(qū)域(從附加區(qū)域候選框中選擇得分最高的邊界框)對(duì)人體行為α進(jìn)行加權(quán)求和,得到最終的行為得分score,得分用式(2)來(lái)表示
(2)
(3)
由于視頻中的人體動(dòng)作是一系列連續(xù)的幀組成的,增加動(dòng)作的時(shí)間信息就需要設(shè)計(jì)1種記憶機(jī)制對(duì)視頻中每幀的上下文信息進(jìn)行編碼。LSTM是RNN的變體,為了解決長(zhǎng)序列依賴的問(wèn)題,LSTM中引入了單獨(dú)的記憶單元,記憶可從上個(gè)時(shí)刻傳遞到下個(gè)時(shí)刻,而且記憶單元中加入了門控機(jī)制。門的主要結(jié)構(gòu)是使用sigmoid神經(jīng)網(wǎng)絡(luò),sigmoid通過(guò)輸出一個(gè)大于0小于1之間的數(shù)值,來(lái)控制當(dāng)前輸入有多少信息量。
一個(gè)典型的LSTM單元包含輸入門it,遺忘門ft,輸出門ot,隱藏狀態(tài)ht,以及內(nèi)部?jī)?nèi)存單元狀態(tài)ct。
LSTM的循環(huán)結(jié)構(gòu)如圖2所示。
圖2 LSTM結(jié)構(gòu)
將LSTM設(shè)置在候選框提取之后分類和回歸層之前,是為了獲得前一時(shí)刻的候選框信息以及感興趣區(qū)域特征信息從而指導(dǎo)下一時(shí)刻邊界框回歸以及分類。LSTM更新過(guò)程與原始的LSTM類似如式(4)
it=σ(Wxixt+Whiht-1+bi)ft=σ(Wxfxt+Whfht-1+bf)ot=σ(Wxoxt+Whoht-1+bo)gt=σ(Wxgxt+Whght-1+bg)ct=ft⊙ct-1+it⊙gtht=ot⊙tanh(ct)
(4)
具體的LSTM的推理算法如下:
輸入:兩個(gè)區(qū)域的邊框偏移量 (Δx0,Δy0,Δh0,Δw0) 以及區(qū)域特征向量Φ共同作為輸入xt
輸出:回歸后邊框偏移量以及多幀特征信息ot
信息更新及推理過(guò)程:
首先將狀態(tài)h0初始化為0,t時(shí)刻的輸入即為當(dāng)前時(shí)刻候選框和特征信息xt,隱含狀態(tài)ht-1為前一時(shí)刻的邊框偏移量以及特征。遺忘門ft和輸入調(diào)制門gt根據(jù)當(dāng)前輸入信息的重要程度和前一時(shí)刻的隱含狀態(tài)對(duì)記憶細(xì)胞ct進(jìn)行更新。然后再根據(jù)記憶細(xì)胞中的候選框和特征信息對(duì)此時(shí)的隱含狀態(tài)進(jìn)行更新,根據(jù)輸出(ot)公式隱含狀態(tài)能夠指導(dǎo)下一時(shí)刻邊框偏移以及新的特征信息更新,以此對(duì)下一時(shí)刻的候選框以及動(dòng)作分類進(jìn)行合理的推理。如圖3所示,從左到右對(duì)視頻中的邊界框位置及動(dòng)作進(jìn)行推理。
圖3 Faster RCNN+LSTM結(jié)構(gòu)
其中ot指t時(shí)刻的一個(gè)N(B*5+S)+Φ張量,N是指經(jīng)過(guò)非極大抑制算法篩選后得到的候選框數(shù)量。候選框B用一個(gè)五元組來(lái)表示 (Δx0,Δy0,Δh0,Δw0,c),其中Δx0,Δy0,Δh0,Δw0,c分別表示框的中心點(diǎn)坐標(biāo)、寬、高的偏移量與真實(shí)標(biāo)簽的重合率,S=(Sac,Sbg) 表示正負(fù)樣本的概率,Φ表示人和物體的特征向量。
在式(3)中得到歸一化后的動(dòng)作概率P(α|I,r) 用p*表示,網(wǎng)絡(luò)中分類和回歸函數(shù)的損失函數(shù)可以定義為式(5)
(5)
(6)
在上一步中得到視頻中每幀的一系列邊界框,并選擇其中置信度最高的邊框作為目標(biāo)提取框B={i∈[1…T]},其中,T表示視頻幀的長(zhǎng)度,對(duì)于每個(gè)邊框都有置信度Sc、動(dòng)作概率Sac,然后LSTM將視頻中所有與動(dòng)作相關(guān)的區(qū)域整合起來(lái)進(jìn)行并分類。
在實(shí)驗(yàn)中將連接起來(lái)的多幀信息被本文定義為式(7)
(7)
平衡參數(shù)λ0的引入是為了在訓(xùn)練過(guò)程中能夠均衡考慮每幀置信度和幀與幀之間重疊率兩種損失。由于LSTM最后一個(gè)隱藏狀態(tài)融合了多幀視頻中的所有特征信息,能夠?qū)r(shí)間級(jí)別動(dòng)作進(jìn)行分類并且Faster RCNN在空間級(jí)別每幀中都得到了一個(gè)動(dòng)作分類的成績(jī)(式(3)),通過(guò)對(duì)這兩種結(jié)果進(jìn)行加權(quán)求和得到分類結(jié)果,最終的分類結(jié)果被本文定義為式(8)來(lái)表示
(8)
式中:w1和w2分別表示動(dòng)作類別的時(shí)間和空間權(quán)重,X1作為L(zhǎng)STM在時(shí)間上捕獲的動(dòng)作類別概率,X2作為Faster RCNN在空間上捕獲的動(dòng)作概率,X2取多幀概率相加的平均值。
實(shí)驗(yàn)中使用的配置為:CPU Inlel i7 8700K,內(nèi)存 16 G,GPU NVIDIA-GTX1080Ti,Linux Ubuntu 16.04操作系統(tǒng),使用TensorFlow深度學(xué)習(xí)框架,Python 3.6。
實(shí)驗(yàn)中使用了兩個(gè)公認(rèn)的數(shù)據(jù)集。UCF-101數(shù)據(jù)集包含101類動(dòng)作類別,13 000多個(gè)視頻。在實(shí)驗(yàn)過(guò)程中首先使用一個(gè)子集,包含24個(gè)類別用于訓(xùn)練提取人與物體相關(guān)關(guān)系的任務(wù)。然后在測(cè)試集上進(jìn)行樣驗(yàn)證任務(wù)。HMDB-51數(shù)據(jù)集中包含51類動(dòng)作,6000多個(gè)視頻序列,主要來(lái)源于電影片段以及YouTube等網(wǎng)絡(luò)視頻庫(kù)。這兩個(gè)數(shù)據(jù)集像素較低,受光照、遮擋等因素影響具有一定的挑戰(zhàn)性。UCF-101 數(shù)據(jù)集樣本幀如圖4所示。
圖4 UCF-101數(shù)據(jù)集樣本幀示例
首先用預(yù)訓(xùn)練模型VGG16參數(shù)對(duì)整個(gè)Faster RCNN+LSTM網(wǎng)絡(luò)進(jìn)行初始化,然后在UCF-101和HMDB-51數(shù)據(jù)集上進(jìn)行微調(diào)。對(duì)整個(gè)網(wǎng)絡(luò)聯(lián)合訓(xùn)練,訓(xùn)練和測(cè)試過(guò)程中NMS選擇2個(gè)圖像和128個(gè)候選框,LSTM的神經(jīng)元個(gè)數(shù)設(shè)為512。
本研究的動(dòng)作識(shí)別方法從每幀圖片獲取人和物體作為主要區(qū)域并提取深度特征,然后經(jīng)過(guò)LSTM,它的隱含層記憶了每幀中人運(yùn)動(dòng)特征信息和與人相關(guān)的物體的上下文信息,可以計(jì)算出動(dòng)作類別識(shí)別準(zhǔn)確率,以及動(dòng)作的混淆矩陣。通過(guò)比較以上兩個(gè)指標(biāo)驗(yàn)證方法的有效性。
圖5為網(wǎng)絡(luò)對(duì)測(cè)試圖片框選的人體區(qū)域和附加區(qū)域,其中實(shí)線框表示人體區(qū)域,虛線框表示附加區(qū)域。其中前兩行為檢測(cè)正確的示例圖,后兩行為檢測(cè)錯(cuò)誤的示例圖,分別為蛙泳-仰泳,投籃-扣籃,倒立行走-倒立俯臥撐,拉錫塔琴-彈吉他。
圖5 人體區(qū)域和附加區(qū)域檢測(cè)
采取了其它方法與本研究方法進(jìn)行了對(duì)比,由于本研究中采用的是加權(quán)平均的方式得到最終的結(jié)果,所以在對(duì)比過(guò)程中選取了較類似的融合方式。如表1中,文獻(xiàn)[6]、文獻(xiàn)[7]中都結(jié)合了LSTM。文獻(xiàn)[8]中平均值融合方式與本研究方法對(duì)比。本研究采用VGG-16訓(xùn)練模型,故選取文獻(xiàn)[9]中VGG-16中的late fusion方式進(jìn)行對(duì)比。通過(guò)實(shí)驗(yàn)對(duì)比可以看出,本研究中加入人與場(chǎng)景信息的特征,實(shí)驗(yàn)結(jié)果相比于其它方法準(zhǔn)確率有了一定的提升。
此外在實(shí)驗(yàn)中,我們對(duì)比較相似的16類動(dòng)作,比如騎車和騎馬、滑雪和滑板等進(jìn)行了混淆度分析(如圖6所示)。
從混淆矩陣(圖6(a)、圖6(b))中能夠看出,加入人與物體的關(guān)系特征后,不同物體特征(馬和自行車)對(duì)于比較相似的動(dòng)作識(shí)別(騎馬和騎車等)起到了一定的改善作用,但是具有同樣物體特征(水)的相似動(dòng)作(蛙泳和仰泳等)識(shí)別結(jié)果還有待提高。
表1 準(zhǔn)確率對(duì)比
圖6 混淆矩陣
針對(duì)比較相似的動(dòng)作序列容易識(shí)別錯(cuò)誤的問(wèn)題,提出了一種基于推理網(wǎng)絡(luò)的人體動(dòng)作識(shí)別算法,算法結(jié)合目標(biāo)定位技術(shù)學(xué)習(xí)人與物上下文信息。通過(guò)加入人體區(qū)域與附加區(qū)域的線索提高了一些比較相似動(dòng)作的識(shí)別精確度。通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證了算法的有效性,但是與直接對(duì)人體序列進(jìn)行識(shí)別的算法相比仍然存在耗時(shí)的問(wèn)題。接下來(lái)將進(jìn)一步針對(duì)算法進(jìn)行優(yōu)化,以便實(shí)現(xiàn)算法的實(shí)時(shí)性。