田志強(qiáng),鄧春華*,張俊雯
(1.武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430065;2.武漢科技大學(xué)大數(shù)據(jù)科學(xué)與工程研究院,武漢 430065;3.智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室(武漢科技大學(xué)),武漢 430065)
(*通信作者電子郵箱dchzx@wust.edu.cn)
視頻序列中人體行為識(shí)別是計(jì)算機(jī)視覺(jué)中一個(gè)重要的任務(wù),也是機(jī)器視覺(jué)、模式識(shí)別、人工智能等多個(gè)學(xué)科領(lǐng)域的交叉研究課題,在視頻監(jiān)控、人機(jī)交互、智能機(jī)器人、虛擬現(xiàn)實(shí)等領(lǐng)域被廣泛應(yīng)用[1]?;谝曨l流的人體行為識(shí)別的算法很多:有些算法采用RGB(Red,Green,Blue)圖像序列[2-3],有些算法采用深度圖像序列[4-5],還有些算法采用雙流融合的模態(tài)(例如RGB+光流)[6]和人體骨架序列[7]等。人體骨架數(shù)據(jù)是人體關(guān)節(jié)和骨頭的一種拓?fù)浔硎痉绞?,在面?duì)復(fù)雜背景以及人體尺度變化、視角變化和運(yùn)動(dòng)速度變化時(shí)具有先天優(yōu)勢(shì),相比其他模態(tài)具有更小的運(yùn)算消耗[8]。此外,隨著深度傳感器和人體姿態(tài)估計(jì)技術(shù)不斷成熟,可以輕松獲得準(zhǔn)確的人體骨架數(shù)據(jù),因此,許多研究人員和實(shí)際項(xiàng)目都使用人體骨架數(shù)據(jù)來(lái)做行為檢測(cè)和識(shí)別[9-13]。
傳統(tǒng)的基于骨架的算法通常利用手工特征從特定的骨架序列中提取運(yùn)動(dòng)模式[14]。然而,這些手工特征只在一些特定的數(shù)據(jù)集上表現(xiàn)良好,可能無(wú)法遷移到其他數(shù)據(jù)集,不具有普適性[15]。隨著深度學(xué)習(xí)算法在其他計(jì)算機(jī)視覺(jué)任務(wù)上的發(fā)展和優(yōu)異表現(xiàn),骨架數(shù)據(jù)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[16-17]、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[18]、圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)[9]開(kāi)始涌現(xiàn)。人體行為的骨架序列是關(guān)節(jié)點(diǎn)的自然時(shí)間序列,而RNN 比較適合處理時(shí)間序列數(shù)據(jù),因此基于RNN及其變種(例如長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)、門(mén)控循環(huán)單元(Gated Recurrent Unit,GRU))的骨架行為識(shí)別算法比較多。CNN模型通常將一個(gè)切片上的骨骼數(shù)據(jù)轉(zhuǎn)換成偽圖像的形式,然后再利用CNN 在偽圖像上提取相應(yīng)的深度學(xué)習(xí)特征。當(dāng)CNN 處理骨架數(shù)據(jù)序列時(shí),通常需要結(jié)合RNN 模型。RNN 的時(shí)序上下文信息和CNN 豐富的空間信息相結(jié)合往往可以取得比單一的結(jié)構(gòu)模型更好的效果。最近兩年,很多學(xué)者開(kāi)始將GCN 應(yīng)用于骨架的行為識(shí)別。GCN 是圖論與卷積神經(jīng)網(wǎng)絡(luò)的融合,其本質(zhì)是用來(lái)提取拓?fù)鋱D的關(guān)系特征。人體骨架序列本身就是一個(gè)自然的拓?fù)鋱D結(jié)構(gòu),GCN 模型更適合描述骨骼關(guān)鍵點(diǎn)之間的空間和時(shí)序拓?fù)湫畔?。因此,GCN處理骨架數(shù)據(jù)任務(wù)時(shí),比RNN更具優(yōu)勢(shì)。
由于圖論比較復(fù)雜,難以構(gòu)造有效的深層GCN。文獻(xiàn)[13]利用切比雪夫多項(xiàng)式逼近算法提出了一種近似的圖卷積結(jié)構(gòu),使得圖卷積操作變成了雙線性模型,從而能夠構(gòu)造深層有效的GCN結(jié)構(gòu)。ST-GCN(Spatial Temporal Graph Convolutional Network)[9]首次利用文獻(xiàn)[13]的理論對(duì)人體骨架數(shù)據(jù)進(jìn)行建模,性能明顯優(yōu)于同時(shí)期的RNN 算法[1]。該算法根據(jù)人體的拓?fù)浣Y(jié)構(gòu)建鄰接矩陣,用以描述人體骨架的空間結(jié)構(gòu),并提出了一種基于距離采樣的函數(shù)作用于GCN 的卷積層,使神經(jīng)網(wǎng)絡(luò)更好地學(xué)習(xí)到人體骨骼數(shù)據(jù)之間的空間和時(shí)序上下文信息。許多研究者在ST-GCN 的基礎(chǔ)上,通過(guò)改進(jìn),提出了一系列的基于人體骨架的行為識(shí)別算法[10-12]。對(duì)于種類繁多的行為動(dòng)作,固定的骨架圖結(jié)構(gòu)往往不是最佳的選 擇,2s-AGCN(Two-stream Adaptive Graph Convolutional Network)[10]提出自適應(yīng)圖卷積層,根據(jù)不同的動(dòng)作,生成相對(duì)有效的圖模型,并利用雙流模型,實(shí)現(xiàn)數(shù)據(jù)之間的信息互補(bǔ),用以提升識(shí)別效果;AS-GCN(Actional-Structural Graph Convolutional Network)[11]引入一種解碼-編碼結(jié)構(gòu)用于獲取骨架點(diǎn)之間的依賴信息,并結(jié)合結(jié)構(gòu)鏈接圖,提出一種雙流GCN的行為識(shí)別算法;RA-GCN(Richly Activated Graph Convolutional Network)[12]在前人的基礎(chǔ)上,直接發(fā)展成多流人體骨架數(shù)據(jù),構(gòu)建一種分支結(jié)構(gòu)的GCN,最后再使用softmax分類器對(duì)多個(gè)分支進(jìn)行融合。這些算法都在ST-GCN 的基礎(chǔ)之上提出了特有的雙流或者多流算法。
然而,目前的GCN 算法在數(shù)據(jù)提取上仍然存在不足:輸入的人體骨架數(shù)據(jù)切片僅僅包含人體骨骼點(diǎn)的空間信息,骨架的時(shí)序上下文信息需要通過(guò)GCN 模型獲取;人體骨架數(shù)據(jù)是由人體骨架的三維坐標(biāo)數(shù)據(jù)組成,缺乏外觀細(xì)節(jié)和運(yùn)動(dòng)細(xì)節(jié)信息,極大限制了骨架數(shù)據(jù)在行為識(shí)別上的性能;外觀細(xì)節(jié)無(wú)法通過(guò)關(guān)節(jié)坐標(biāo)點(diǎn)表征,然而運(yùn)動(dòng)細(xì)節(jié)信息卻可以通過(guò)關(guān)節(jié)坐標(biāo)點(diǎn)展現(xiàn);雖然時(shí)序上下文信息可以通過(guò)大量樣本訓(xùn)練得到,但是基于數(shù)據(jù)驅(qū)動(dòng)的特征具有更強(qiáng)的一般化運(yùn)動(dòng)信息而缺乏運(yùn)動(dòng)細(xì)節(jié)描述。針對(duì)上述問(wèn)題,本文提出了一種基于骨骼點(diǎn)時(shí)序散度的特征模型,用來(lái)描述骨骼點(diǎn)在時(shí)間維度上的位移及運(yùn)動(dòng)信息。本研究發(fā)現(xiàn)同一種骨骼點(diǎn)在不同行為的時(shí)序骨架數(shù)據(jù)的分散度可能不同。在物理學(xué)中,表征空間點(diǎn)矢量場(chǎng)發(fā)散的強(qiáng)弱程度一般使用散度場(chǎng)理論來(lái)描述,其意義在于描述場(chǎng)的有源性。受此啟發(fā),本文將物理中的散度場(chǎng)理論引入到骨骼點(diǎn)的運(yùn)動(dòng)細(xì)節(jié)信息的描述,提出一種散度場(chǎng)的時(shí)序特征模型??紤]到骨架關(guān)鍵點(diǎn)的坐標(biāo)誤差對(duì)運(yùn)動(dòng)細(xì)節(jié)影響較大,本文提出了一種散度特征注意力機(jī)制,用以增強(qiáng)散度模型的有效性。時(shí)序散度特征和原始的骨骼數(shù)據(jù)有很強(qiáng)的互補(bǔ)性,分別從運(yùn)動(dòng)和靜態(tài)的角度對(duì)骨骼數(shù)據(jù)進(jìn)行了描述。在此基礎(chǔ)之上,本文構(gòu)建了一種新的雙流GCN模型。
為了驗(yàn)證散度模型和本文的雙流模型的有效性,本文在目前權(quán)威的人體行為數(shù)據(jù)集NTU-60[19]和NTU-120[20]上做了充分的驗(yàn)證,性能均超過(guò)了上述所提算法。本文主要工作有:
1)提出了一種骨骼數(shù)據(jù)的散度模型,描述骨骼點(diǎn)的運(yùn)動(dòng)細(xì)節(jié)信息;
2)提出了一種骨骼數(shù)據(jù)的注意力機(jī)制,增強(qiáng)散度模型的有效性;
3)根據(jù)原始骨架的空間數(shù)據(jù)特征和時(shí)序散度特征的互補(bǔ)性構(gòu)建了雙流融合模型。
面對(duì)深度神經(jīng)網(wǎng)絡(luò)難以學(xué)習(xí)復(fù)雜數(shù)據(jù)之間依賴關(guān)系的問(wèn)題,使用圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Neural Network,GCNN)往往是不錯(cuò)的選擇。目前圖卷積的方法主要分為空域卷積[21-22]和頻域卷積[23-24]兩種:空域卷積是利用卷積核直接對(duì)圖的頂點(diǎn)及其鄰居節(jié)點(diǎn)進(jìn)行卷積操作,并手動(dòng)設(shè)計(jì)規(guī)則進(jìn)行相應(yīng)的特征提取和歸一化;頻域卷積則利用圖的鄰接矩陣導(dǎo)出其頻域上的拉普拉斯算子,利用傅里葉變換[25],將圖映射到頻域上的歐氏空間中進(jìn)行卷積。本文采用空域卷積的方法。
圖卷積神經(jīng)網(wǎng)絡(luò)中,需要通過(guò)數(shù)據(jù)間的依賴關(guān)系構(gòu)建相應(yīng)的圖模型。為了描述人體骨骼點(diǎn)之間的依賴關(guān)系,本文將參照文獻(xiàn)[9]中的方法,根據(jù)人體的拓?fù)浣Y(jié)構(gòu)構(gòu)建圖模型。文獻(xiàn)[9]將鄰接矩陣劃分為3 個(gè)子集:1)根節(jié)點(diǎn)本身;2)向心集,比根節(jié)點(diǎn)更靠近骨架中心點(diǎn)的相鄰節(jié)點(diǎn);3)離心集,比根節(jié)點(diǎn)更遠(yuǎn)離骨架中心點(diǎn)的相鄰節(jié)點(diǎn)。表達(dá)式如式(1)所示:
式(1)中:Aij表示i節(jié)點(diǎn)到j(luò)節(jié)點(diǎn)的相對(duì)距離,ri和rj分別表示i、j兩個(gè)骨骼點(diǎn)到人體重心點(diǎn)的相對(duì)距離,在NTU-RGB+D 數(shù)據(jù)集[19-20]中取人體胸口為重心點(diǎn)。
在確定圖模型之后,需要構(gòu)建圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)數(shù)據(jù)提取相應(yīng)特征。基于圖的卷積網(wǎng)絡(luò)實(shí)現(xiàn)起來(lái)比2D 或3D 卷積復(fù)雜許多。本文按照文獻(xiàn)[9]中的方法構(gòu)建圖卷積網(wǎng)絡(luò)模型,其定義如下:其中:fin和fout分別表示數(shù)據(jù)的輸入和輸出,M為權(quán)重矩陣,I表示單位矩陣,Λ1/2(Ak+I)Λ1/2表示第k個(gè)樣本鄰接矩陣和關(guān)聯(lián)矩陣的拉普拉斯歸一化。輸入特征fin為C×T×N,C表示特征維度,T表示幀數(shù),N表示單個(gè)骨骼的骨骼點(diǎn)個(gè)數(shù)。
本章主要介紹本文方法的原理,流程如圖1 所示。首先探究人體骨骼點(diǎn)在不同行為中的運(yùn)動(dòng)差異性,并引出骨骼點(diǎn)時(shí)序散度的基本概念,由此構(gòu)建骨骼點(diǎn)時(shí)序散度特征模型;然后為骨骼點(diǎn)散度特征模型添加注意力機(jī)制,進(jìn)一步增大類間方差;接著為了探究不同數(shù)據(jù)流之間的互補(bǔ)關(guān)系,將骨骼點(diǎn)散度特征流與空間特征流相融合,訓(xùn)練分類器預(yù)測(cè)結(jié)果;最后給出詳細(xì)的實(shí)施步驟以及偽代碼。
圖1 本文方法流程Fig.1 Flowchart of the proposed method
對(duì)于行為識(shí)別任務(wù),人們往往能通過(guò)某些骨骼點(diǎn)的運(yùn)動(dòng)差異性來(lái)分辨某些人體行為。例如,當(dāng)人們主觀去辨別“揮手”和“踢腿”這兩個(gè)行為時(shí),可以通過(guò)手臂和腿部骨骼的運(yùn)動(dòng)差異性來(lái)對(duì)這兩種行為做出辨別。在此,本文做了一個(gè)簡(jiǎn)單的實(shí)驗(yàn)來(lái)論證上述觀點(diǎn)。
本文提取NTU-RGB+D60 數(shù)據(jù)集[17]中類別為“揮手”和“踢腿”的兩個(gè)視頻,計(jì)算視頻序列中所有時(shí)刻手腕和腳踝在x、y、z三個(gè)方向上的平均位移矢量Δx、Δy、Δz,并將其標(biāo)記在三維坐標(biāo)系上。
圖2 中,(a)和(b)分別表示“揮手”和“踢腿”兩個(gè)人體行為類別中人物骨骼點(diǎn)位移矢量的分布圖;(c)和(d)分別表示“揮手”行為及“踢腿”行為的骨骼點(diǎn)的可視化。(a)和(b)中的紅點(diǎn)與藍(lán)叉分別表示視頻中所有時(shí)刻手腕和腳踝在x、y、z三個(gè)方向上的位移矢量。從圖中可以明顯地看出,對(duì)于“揮手”這個(gè)類別,其手腕的位移矢量分布的離散程度要大于腳踝;而對(duì)于“踢腿”這一類,腳踝的位移矢量分布的離散程度則要大于手腕。依靠骨骼點(diǎn)位移矢量分布的離散程度,人們就能很容易地區(qū)分“鼓掌”和“踢腿”這兩種行為。
圖2 不同人體行為間的運(yùn)動(dòng)差異Fig.2 Movement differences between different human behaviors
為了更好地描述上述實(shí)驗(yàn)中提出的骨骼點(diǎn)位移矢量的分布狀態(tài),本文給出骨骼點(diǎn)時(shí)序散度的概念:骨骼點(diǎn)的時(shí)序散度可以用來(lái)描述人體骨骼點(diǎn)在時(shí)間維度的運(yùn)動(dòng)狀態(tài)。例如,在某一時(shí)刻,骨骼點(diǎn)時(shí)序散度的大小可以表示骨骼點(diǎn)在該時(shí)刻的運(yùn)動(dòng)幅度;而在宏觀上,在某一時(shí)間段內(nèi),每個(gè)時(shí)刻散度分布的離散程度可以反映骨骼點(diǎn)的運(yùn)動(dòng)幅度。后文會(huì)圍繞上述概念對(duì)骨骼點(diǎn)的時(shí)序散度給出公式及定義,在此之前,本文將率先介紹笛卡爾坐標(biāo)系中向量場(chǎng)的散度定義。
在三維笛卡爾坐標(biāo)系中,一個(gè)連續(xù)可微向量場(chǎng)的散度場(chǎng)可以用來(lái)描述該向量場(chǎng)的強(qiáng)弱,其表達(dá)示如下:
人體骨骼點(diǎn)在某一時(shí)間段內(nèi)的運(yùn)動(dòng)軌跡恰好構(gòu)成了向量場(chǎng)。則對(duì)于任意時(shí)間段[t,t+Δt],骨骼點(diǎn)的軌跡向量場(chǎng)可表示如下:
其中:C表示骨骼點(diǎn)的點(diǎn)源坐標(biāo)集合,Ct表示視頻t時(shí)刻骨骼點(diǎn)的坐標(biāo)特征。
軌跡向量場(chǎng)可以放大不同行為之間的類間方差。式(3)中所描述的是物理力學(xué)中向量場(chǎng)在空間坐標(biāo)系下的變化狀態(tài)。而本文所研究的是骨骼點(diǎn)軌跡向量場(chǎng)在時(shí)間維度上的變化狀態(tài)。參照式(3),可以衍生出骨骼點(diǎn)時(shí)序散度的定義。
在任意時(shí)間段[t,t+Δt](Δt趨近于0),人體骨骼點(diǎn)的位移矢量與時(shí)間變化量的比值即為骨骼點(diǎn)在時(shí)刻t時(shí)刻的時(shí)序散度。在空間坐標(biāo)系中,骨骼點(diǎn)的位移矢量可分解為x、y、z三個(gè)方向上位移分量,骨骼點(diǎn)的時(shí)序散度的定義式如下:
其中:i、j、k分別表示x、y、z軸方向上的單位向量。如式(5)所示,對(duì)于任意時(shí)刻,每一個(gè)體的骨骼點(diǎn)都可以提取3 維時(shí)序散度。其物理意義是描述骨骼點(diǎn)在時(shí)間維度上的運(yùn)動(dòng)幅度。
在某一完整的人體行為視頻序列中,融合每一幀所有骨骼點(diǎn)的時(shí)序散度則可得到該視頻的時(shí)序散度特征:
其中K表示骨骼點(diǎn)集合,在NTU-RGB+D 數(shù)據(jù)集中,人體的骨骼點(diǎn)個(gè)數(shù)為25。時(shí)序散度特征即為骨骼點(diǎn)每一時(shí)刻時(shí)序散度的集合。宏觀上可以看作是人體骨骼連續(xù)的運(yùn)動(dòng)軌跡及瞬時(shí)的運(yùn)動(dòng)幅度。
在行為識(shí)別任務(wù)中,人們往往只需要通過(guò)“手”“足”這些具有代表特征的骨骼點(diǎn)就能判別某些行為。這些骨骼點(diǎn)都有一個(gè)共同特點(diǎn):它們距離人體重心點(diǎn)的距離較遠(yuǎn),運(yùn)動(dòng)半徑更大,靈活性更強(qiáng)。相較于人體上靈活性相對(duì)較弱的骨骼點(diǎn)(例如肩膀、跨部),手腕與腳踝這些骨骼點(diǎn)往往對(duì)人體行為識(shí)別任務(wù)起到更為關(guān)鍵的作用。
為了突顯這些骨骼點(diǎn)的特征,本文將為這些骨骼點(diǎn)添加注意力機(jī)制。具體算法如下文。
選取人體重心點(diǎn)為基準(zhǔn),用重心點(diǎn)到其他各個(gè)骨骼點(diǎn)的連線l表示各個(gè)骨骼點(diǎn)到人體重心的相對(duì)距離,則在相鄰時(shí)刻[t,t+Δt],骨骼點(diǎn)jk的到重心點(diǎn)的平均距離L可表示如下:
令x=L,將原始區(qū)間[0,1]以及欲生成的新區(qū)間[a,b]代入式(8),可解p=1/(eb-a-1),q=b-ln(eb-a/(eb-a-1))。
在實(shí)驗(yàn)過(guò)程中,a、b的默認(rèn)取值分別為0.8 和1。對(duì)于任意時(shí)刻t,骨骼點(diǎn)jk重心散度特征的定義式如式(9)所示:
注意力機(jī)制可以增強(qiáng)距離人體重心點(diǎn)較遠(yuǎn)以及運(yùn)動(dòng)幅度較大的骨骼點(diǎn)的表征能力,進(jìn)一步增加不同人體行為的類間方差,使神經(jīng)網(wǎng)絡(luò)更容易辨別到不同人體行為。
在ST-GCN[9]以及AGCN[10]中,研究者都是將人體骨架以點(diǎn)源坐標(biāo)的形式輸入到神經(jīng)網(wǎng)絡(luò)中,點(diǎn)源坐標(biāo)屬于人體骨骼點(diǎn)的空間特征,而本文所提出時(shí)序散度特征流為骨骼點(diǎn)的時(shí)序特征。本文認(rèn)為空間特征與時(shí)間特征有良好的互補(bǔ)關(guān)系。為了驗(yàn)證上述觀點(diǎn),本文將構(gòu)建雙流網(wǎng)絡(luò),將時(shí)序散度特征分別與點(diǎn)源流特征相結(jié)合,訓(xùn)練分類器并預(yù)測(cè)最終結(jié)果。其表達(dá)式如下:
其中:σ(·)表示激活函數(shù),在本文實(shí)驗(yàn)中σ(x)=softmax(x),res表示預(yù)期結(jié)果;xt表示時(shí)序散度特征,xs表示點(diǎn)源特征。Js(·)和Ts(·)分別表示骨骼點(diǎn)的時(shí)序散度特征流以及點(diǎn)源流特征的圖卷積網(wǎng)絡(luò)模型,⊕表示矩陣拼接。
上文中介紹了本文中所提方法及原理。整體流程如下:首先,獲取視頻中骨骼點(diǎn)的坐標(biāo)數(shù)據(jù)矩陣Data,該矩陣維度為[N,T,C,V],這些參數(shù)分別表示所有視頻中的總?cè)藬?shù)、視頻幀數(shù)、特征維度以及骨骼點(diǎn)個(gè)數(shù),在NTU-RGB+D 數(shù)據(jù)集[17-18]中,C=3,V=25。接著,利用式(4)求出軌跡向量Vt。確認(rèn)歸一化區(qū)間[a,b],并根據(jù)2.2 節(jié)中所示方法解出式(8)中的實(shí)參p和q,并根據(jù)式(7)求得骨骼點(diǎn)到人體重心點(diǎn)的平均距離L,將x=L代入式(8)中將其歸一化到區(qū)間[a,b],并利用式(9)可求得xt。然后分別構(gòu)建時(shí)序圖卷積神經(jīng)網(wǎng)絡(luò)Ts(·)以及空間圖卷積神經(jīng)網(wǎng)絡(luò)Js(·),用它們分別提取時(shí)序散度和點(diǎn)源的抽象特征,接著采用矩陣合并的方式將上述抽象特征融合。最后使用softmax得到分類結(jié)果res。
方法其偽代碼如下。
輸入 視頻中的骨骼數(shù)據(jù)S=[N,T,C,V],間隔時(shí)間c,歸一化區(qū)間[a,b],絕對(duì)值函數(shù)abs(·),點(diǎn)源特征xj,時(shí)序圖卷積神經(jīng)網(wǎng)絡(luò)Ts(·),空間圖卷積神經(jīng)網(wǎng)絡(luò)Js(·),矩陣拼接函數(shù)concat(·),分類器softmax(·)。
輸出 預(yù)測(cè)結(jié)果res。
1)NTU-RGB+D60[19]。NTU-RGB+D60 是公開(kāi)的3D 人體行為數(shù)據(jù)集,包含60 個(gè)動(dòng)作類別,總共包含57 880 個(gè)視頻樣本。該數(shù)據(jù)集的拍攝和剪輯工作由40個(gè)年齡段在10~35歲的志愿者所執(zhí)行。每個(gè)動(dòng)作由3臺(tái)攝像機(jī)拍攝,這3臺(tái)攝像機(jī)拍攝時(shí)選擇的高度相同,但水平角度不同,分別為:-45°、0°、45°。該數(shù)據(jù)集利用kinect 深度傳感器檢測(cè)到每一幀人體的3D 骨骼點(diǎn)序列,骨骼序列中每個(gè)人有25 個(gè)骨骼點(diǎn),骨骼點(diǎn)的分布如圖3所示,且所有視頻中的總?cè)藬?shù)不超過(guò)2。文獻(xiàn)[19]中提供了2 個(gè)基準(zhǔn)來(lái)對(duì)數(shù)據(jù)集劃分?jǐn)?shù)據(jù)集:X-Sub 和X-View。其中X-Sub 按拍攝視頻中參與者的不同來(lái)將數(shù)據(jù)集劃分為訓(xùn)練集(40 320個(gè)視頻)和驗(yàn)證集(16 560個(gè)視頻);X-View將1號(hào)和3號(hào)攝像機(jī)拍攝到的37 920個(gè)視頻作為訓(xùn)練集,將2號(hào)攝像機(jī)拍攝到18 960視頻作為驗(yàn)證集。本文將遵循上述兩種劃分方式來(lái)評(píng)估本文所提模型。
圖3 NTU-RGB+D 骨架示意圖[17]Fig.3 Schematic diagram of NTU-RGB+D skeleton
2)NTU-RGB+D120[20]。和NTU-RGB+D60[19]一樣,該數(shù)據(jù)集是3D 行為識(shí)別的公開(kāi)數(shù)據(jù)集。文獻(xiàn)[20]中提供了2 個(gè)基準(zhǔn)來(lái)對(duì)數(shù)據(jù)集進(jìn)行劃分:X-Sub和X-View,其中:X-Sub按拍攝視頻中參與者的不同來(lái)將數(shù)據(jù)集劃分為訓(xùn)練集(63 026 個(gè)視頻)和驗(yàn)證集(50 919個(gè)視頻);X-View 根據(jù)視頻編號(hào)來(lái)對(duì)數(shù)據(jù)集進(jìn)行劃分,將編號(hào)為偶數(shù)的視頻作為訓(xùn)練集(75 823 個(gè)視頻),編號(hào)為奇數(shù)的視頻作為測(cè)試集(38 122個(gè)視頻)。本文將遵循上述兩種劃分方式來(lái)評(píng)估本文所提出的模型。
本文的所有實(shí)驗(yàn)均使用Pytorch[26]作為深度學(xué)習(xí)框架。訓(xùn)練方式參考文獻(xiàn)[10],在NTU-RGB+D 數(shù)據(jù)集[19-20]上,單次訓(xùn)練所選取的樣本數(shù)為64(baseline=64)。選擇交叉熵作為反向傳播梯度的損失函數(shù),權(quán)重衰減率設(shè)置為0.000 1。對(duì)于NTU-RGB+D 數(shù)據(jù)集[19-20],本文選取的樣本人數(shù)為2。若視頻中總?cè)藬?shù)大于2,則取其中2 人;若總?cè)藬?shù)小于2,則取目標(biāo)視頻中的總?cè)藬?shù),并在數(shù)據(jù)矩陣中用0 補(bǔ)全空缺位置。視頻總共取300 幀,如果所選視頻幀數(shù)少于300,則用0 補(bǔ)全空缺位置;總的迭代次數(shù)設(shè)置為60,初始的學(xué)習(xí)率設(shè)為0.1,并在第30 次迭代時(shí)和第40 次迭代時(shí)分別除以10。用上述方法完成兩個(gè)單流網(wǎng)絡(luò)的訓(xùn)練后,本文將分別提取網(wǎng)絡(luò)輸出特征,并將得到的特征融合,接入鏈?zhǔn)缴窠?jīng)網(wǎng)絡(luò)繼續(xù)訓(xùn)練,得到預(yù)測(cè)的最終結(jié)果。訓(xùn)練鏈?zhǔn)缴窠?jīng)網(wǎng)絡(luò)時(shí),單次訓(xùn)練所選取的樣本數(shù)設(shè)置為256,初始學(xué)習(xí)率為0.1,迭代次數(shù)設(shè)置為20,損失函數(shù)同上文所述相同。
為了探求骨骼空間特征與骨骼點(diǎn)時(shí)序散度特征的互補(bǔ)關(guān)系,本文將構(gòu)建雙流網(wǎng)絡(luò),并在NTU-RGB+D[19-20]上做相應(yīng)的測(cè)試。實(shí)驗(yàn)結(jié)果如表1、2 所示,其中JT-STGCN(Joint and Temporal-Spatial Temporal Graph Convolutional Network)與JTAGCN(Joint and Temporal-Adaptive Graph Convolutional Network)均表示特征融合雙流網(wǎng)絡(luò),所融合的特征數(shù)據(jù)分別表示點(diǎn)源流Js 以及時(shí)序散度流Ts,所選用的基準(zhǔn)模型分別為ST-GCN[9]與AGCN[10]。
如表1和表2所示,在NTU-RGB+D60[19]上,2s-AGCN[10]在X-Sub 和X-View 兩種劃分方法下的準(zhǔn)確率分別為88.5%和95.1%;本文結(jié)合時(shí)序散度特征流以及點(diǎn)源特征流,在sub 和view 兩種劃分方法下的準(zhǔn)確率分別為89.3%和95.5%。在NTU-RGB+D120[20]上,2s-AGCN[10]在X-Sub 和X-View 兩種劃分方法下的準(zhǔn)確率分別為81.6%和93.2%;本文結(jié)合時(shí)序散度特征流以及點(diǎn)源特征流,在X-Sub 和X-View 兩種劃分方法下的準(zhǔn)確率分別為82.9%和83.7%。可以看出時(shí)序特征與空間特征的互補(bǔ)能力要強(qiáng)于原版2s-AGCN[2]中的雙流網(wǎng)絡(luò)。
表1 在NTU-RGB+D120數(shù)據(jù)集上準(zhǔn)確率對(duì)比 單位:%Tab.1 Accuracy comparison on NTU-RGB+D120 dataset unit:%
表2 在NTU-RGB+D60數(shù)據(jù)集上準(zhǔn)確率對(duì)比 單位:%Tab.2 Accuracy comparison on NTU-RGB+D60 dataset unit:%
為了探求時(shí)序特征與和點(diǎn)源特征的優(yōu)劣性,本文以STGCN[1]為基準(zhǔn)模型,在X-View 的劃分方法下,單獨(dú)計(jì)算了NTU-RGB+D60[17]數(shù)據(jù)集中單類的準(zhǔn)確率。時(shí)序散度流Ts 和點(diǎn)源特征流Js 在類別“穿鞋”的上準(zhǔn)確率分別為93%和70%,在類別“檢查時(shí)間”上的準(zhǔn)確率分別為“69%”和“94%”。由此可以看出,時(shí)序散度特征與點(diǎn)源特征在不同的類別上各有優(yōu)劣。如圖4(a)所示,“穿鞋”這一行為,包含彎腰、伸手、提鞋子這些動(dòng)作分支,人體動(dòng)作比較復(fù)雜。時(shí)序散度特征對(duì)復(fù)雜動(dòng)作有極強(qiáng)的表征能力,故在“穿鞋”這一行為上的識(shí)別率要遠(yuǎn)高于點(diǎn)源流特征;如圖4(b)所示,“檢查時(shí)間”這個(gè)動(dòng)作僅僅是抬起手臂,動(dòng)作較為單一。時(shí)序散度特征對(duì)單一的動(dòng)作沒(méi)有很強(qiáng)的表征能力,故對(duì)于“檢查時(shí)間”這一行為,點(diǎn)源特征的識(shí)別率要高于時(shí)序散度特征。在結(jié)合上述兩流的特征后,“穿鞋”和“檢查時(shí)間”的識(shí)別率分別達(dá)到了95%和93%??梢钥闯?,結(jié)合后的雙流網(wǎng)絡(luò)繼承了時(shí)序散度流以及點(diǎn)源流的優(yōu)勢(shì),彌補(bǔ)了各自的不足,整體上有著更好的性能。
圖4 不同人體行為的骨骼點(diǎn)可視化Fig.4 Visualization of skeleton points of different human behaviors
通過(guò)上述實(shí)驗(yàn),可以得出以下結(jié)論:時(shí)序散度特征對(duì)于人體行為中復(fù)雜的運(yùn)動(dòng)狀態(tài)有著極強(qiáng)的表征能力,點(diǎn)源特征則更適用于運(yùn)動(dòng)狀態(tài)單一的人體行為。兩者各有優(yōu)劣,同時(shí)也具有極強(qiáng)的互補(bǔ)關(guān)系。這也論證了2.3 節(jié)中所提出的觀點(diǎn):時(shí)序特征與空間特征有著極強(qiáng)的互補(bǔ)關(guān)系。
為了驗(yàn)證散度特征注意力機(jī)制的有效性,本文做了相應(yīng)的消融實(shí)驗(yàn)。如表3 所示,Ts-no-A 表示無(wú)注意力機(jī)制的時(shí)序散度特征??梢钥闯觯诩尤胱⒁饬C(jī)制后,實(shí)驗(yàn)性能都有顯著的提升。由此驗(yàn)證了2.2 節(jié)中所闡述的觀點(diǎn):在人體行為識(shí)別任務(wù)中,相比于人體上靈活性相對(duì)較弱的骨骼點(diǎn)(例如肩膀、跨部),手腕與腳踝這些骨骼點(diǎn)往往對(duì)人體行為識(shí)別任務(wù)起到更為關(guān)鍵的作用。
表3 關(guān)于注意力機(jī)制的消融實(shí)驗(yàn)結(jié)果Tab.3 Results of ablation experiments of attention mechanism
為了對(duì)比Js 和Ts 的性能,本文選用ST-GCN 以及AGCN為基準(zhǔn)模型,特征流分別選用點(diǎn)源特征流Js 和時(shí)序散度特征流Ts,在NTU-RGB+D 數(shù)據(jù)集[19-20]上采用單流網(wǎng)絡(luò)做了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4~5所示。
從表4~5 中可以得知,對(duì)于不同的基準(zhǔn)模型,時(shí)序散度特征的性能也有所不同。在ST-GCN[9]的基礎(chǔ)上,相對(duì)于原始的點(diǎn)源數(shù)據(jù)而言,采用時(shí)序散度特征的建模方法可以達(dá)到更加顯著的效果;但是在AGCN[10]上,采用軌跡向量建模,效果卻不是那么明顯。本文認(rèn)為,由于AGCN[10]中自適應(yīng)卷積層的作用是通過(guò)初始的數(shù)據(jù)信息預(yù)測(cè)出有效的特征圖。因此AGCN[2]模型數(shù)據(jù)有一定的要求:初始數(shù)據(jù)必須對(duì)人體的空間特征有一定的表達(dá)能力。然而軌跡向量的建模方法會(huì)使數(shù)據(jù)丟失一部分的空間表達(dá)能力。故在AGCN[2]的單流網(wǎng)絡(luò)中,散度特征的性能沒(méi)有很好地展現(xiàn)出來(lái)。
表4 消融實(shí)驗(yàn)在NTU-RGB+D60數(shù)據(jù)集上的結(jié)果Tab.4 Results of ablation experiments on NTU-RGB+D60 dataset
表5 消融實(shí)驗(yàn)在NTU-RGB+D120數(shù)據(jù)集上的結(jié)果Tab.5 Results of ablation experiments on NTU-RGB+D120 dataset
在基于骨骼點(diǎn)的行為識(shí)別算法中,點(diǎn)源數(shù)據(jù)缺乏時(shí)序信息。為了解決上述問(wèn)題,本文提出了基于骨骼點(diǎn)的時(shí)序散度特征,用來(lái)描述人體骨骼點(diǎn)在時(shí)間維度上的運(yùn)動(dòng)狀態(tài)。接著為時(shí)序散度特征添加注意力機(jī)制,增加不同行為之間的類間方差,使神經(jīng)網(wǎng)絡(luò)更容易辨別不同的人體行為。最后構(gòu)建時(shí)空雙流網(wǎng)絡(luò)模型,融合時(shí)序散度特征以及點(diǎn)源空間特征,并在NTU-RGB+D 數(shù)據(jù)集[19-20]上做了大量實(shí)驗(yàn),雙流模型的實(shí)驗(yàn)效果均超過(guò)所采用的基準(zhǔn)模型。
從實(shí)驗(yàn)結(jié)果可以看出,時(shí)序散度特征可以彌補(bǔ)點(diǎn)源特征缺乏時(shí)間維度上運(yùn)動(dòng)表征的不足,能有效地與點(diǎn)源空間特征相結(jié)合,兩者具有很強(qiáng)的互補(bǔ)關(guān)系。這也證實(shí)了本文方法的有效性。但由于人體骨架缺乏場(chǎng)景信息,該研究方向依然有很大的提升空間??梢钥紤]將場(chǎng)景信息與骨骼點(diǎn)將結(jié)合,并使用自適應(yīng)卷積層過(guò)濾掉場(chǎng)景信息中的噪聲,保留關(guān)鍵信息。在未來(lái)的行為識(shí)別算法研究中,可以在上述兩個(gè)方面深入探索。