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