張芷蒙,彭璟,江小平*,石鴻凌
(1 中南民族大學(xué) 電子信息工程學(xué)院 & 智能無線通信湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430074;2 湖北省科技信息研究院,武漢 430074)
21 世紀(jì)以來,人體動(dòng)作識(shí)別(Human action recognition,HAR)已經(jīng)成為計(jì)算機(jī)視覺中一個(gè)高度活躍的研究領(lǐng)域.基于不同的輸入模態(tài),動(dòng)作識(shí)別的方法主要可分為基于RGB 的動(dòng)作識(shí)別[1-3]和基于骨架的動(dòng)作識(shí)別[4-7].基于RGB 的動(dòng)作識(shí)別是一個(gè)較為復(fù)雜的問題,因?yàn)椴噬曨l的背景變化多樣,光照強(qiáng)度和視角變化也會(huì)影響最終的動(dòng)作識(shí)別精度.與傳統(tǒng)的基于RGB 視頻數(shù)據(jù)的識(shí)別方法相比,基于骨架的動(dòng)作識(shí)別方法既能在動(dòng)態(tài)變化的環(huán)境或背景下提供更為緊湊和準(zhǔn)確的信息,又能減少存儲(chǔ)成本和計(jì)算代價(jià),因此越來越多的研究人員開始嘗試?yán)霉羌苣P蛠磉M(jìn)行動(dòng)作識(shí)別.
骨架蘊(yùn)含著豐富的身體結(jié)構(gòu)和姿態(tài)信息,所以利用人體骨架序列可以編碼出較為準(zhǔn)確的人體關(guān)節(jié)運(yùn)動(dòng)軌跡.基于骨架的動(dòng)作識(shí)別有多種實(shí)現(xiàn)方法,這些方法主要分為傳統(tǒng)的基于人工設(shè)計(jì)特征的方法和目前流行的基于深度學(xué)習(xí)的方法.早期的骨架動(dòng)作識(shí)別模型往往通過一些人工設(shè)計(jì)的特征來模擬人體動(dòng)作[8-9],但這些方法泛化性不佳,不能充分體現(xiàn)人體運(yùn)動(dòng)模式的復(fù)雜程度,因此逐漸被基于深度學(xué)習(xí)的動(dòng)作識(shí)別方法所取代.
目前基于深度學(xué)習(xí)的特征提取主要有三種方法:基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的方法[10-13]、基 于 循 環(huán) 神 經(jīng) 網(wǎng) 絡(luò)(Recurrent Neural Network,RNN)的方法[5-7,14-15]和近期廣泛應(yīng)用的基于圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Neural Network,GCNs)的方法[4,16-19].基于 CNN 模型的方法的思想是利用人工設(shè)定的規(guī)則將骨架數(shù)據(jù)轉(zhuǎn)換為偽圖像,然后輸入網(wǎng)絡(luò)進(jìn)行動(dòng)作識(shí)別.基于RNN模型的方法的思想是利用人工設(shè)計(jì)的遍歷規(guī)則將骨架數(shù)據(jù)轉(zhuǎn)換為關(guān)節(jié)序列后輸入網(wǎng)絡(luò)進(jìn)行動(dòng)作識(shí)別.基于GCN 的方法是將骨架表示為以關(guān)節(jié)為點(diǎn),以骨骼為邊的圖數(shù)據(jù),然后將圖數(shù)據(jù)輸入網(wǎng)絡(luò)進(jìn)行動(dòng)作識(shí)別.骨架是一種天然的圖結(jié)構(gòu):骨架的關(guān)節(jié)點(diǎn)和骨骼可被定義為圖的頂點(diǎn)和邊,然而CNN 模型和RNN模型都不能很良好的利用這種空間結(jié)構(gòu)信息,因此近年來許多研究人員嘗試將GCN 引入基于骨架的動(dòng)作識(shí)別,這種將人體骨架建模為時(shí)空圖的圖卷積神經(jīng)網(wǎng)絡(luò)的做法取得了顯著的性能.這些方法中,YAN 等人提出的ST-GCN[4](SpatialTemporal GraphConvolutionalNetworks,ST-GCN)首次將圖卷積操作引入時(shí)空圖,通過時(shí)空圖卷積同時(shí)捕捉時(shí)間和空間維度的信息并進(jìn)行人體動(dòng)作識(shí)別.ST-GCN 充分利用人體骨架的空間信息,提出將人體拓?fù)浣Y(jié)構(gòu)構(gòu)造成鄰接矩陣Ak,并以此來描述人體骨架的空間結(jié)構(gòu).這種人工預(yù)定義的鄰接矩陣代表了一定的先驗(yàn)知識(shí),但對(duì)于樣本特征多樣化的動(dòng)作識(shí)別任務(wù)來說,固定的鄰接矩陣難以捕捉到非相鄰關(guān)節(jié)點(diǎn)之間的相關(guān)性,所以并不是最優(yōu)的選擇,例如,“梳頭”這個(gè)動(dòng)作中“手”和“頭”的相關(guān)性很大,但ST-GCN 卻很難關(guān)注到這些信息,因?yàn)猷徑泳仃囁枋龅墓羌芸臻g圖中“手”并沒有與“頭”直接相連的邊.
針對(duì)以上問題,SHI等人在ST-GCN 的基礎(chǔ)上提出了一個(gè)雙流自適應(yīng)圖卷積網(wǎng)絡(luò)[17](Two-Stream Adaptive Graph Convolutional Networks,2s-AGCN),2s-AGCN 的鄰接矩陣由3 部分組成,分別是原ST-GCN 中的鄰接矩陣Ak、全訓(xùn)練的鄰接矩陣Bk和由輸入數(shù)據(jù)驅(qū)動(dòng)的鄰接矩陣Ck.由這3個(gè)矩陣相加組成的自適應(yīng)鄰接矩陣針對(duì)不同骨架數(shù)據(jù)端到端自適應(yīng)的學(xué)習(xí)人體骨架圖的拓?fù)浣Y(jié)構(gòu),進(jìn)而能更準(zhǔn)確的進(jìn)行動(dòng)作識(shí)別,但2s-AGCN 這種數(shù)據(jù)驅(qū)動(dòng)的方法增加了大量1×1 卷積操作,這將導(dǎo)致計(jì)算量的翻倍增長,因此不利于大規(guī)模數(shù)據(jù)集下的動(dòng)作識(shí)別任務(wù).此外,文獻(xiàn)[18]提出一種新型的語義引導(dǎo)圖卷積網(wǎng)絡(luò)(Semantics-Guided Graph Convolutional Network,Sem-GCN),該網(wǎng)絡(luò)堆疊了語義圖卷積和時(shí)間卷積以學(xué)習(xí)語義特征和時(shí)間特征并進(jìn)行動(dòng)作識(shí)別.文獻(xiàn)[19]提出了一種基于姿態(tài)的圖卷積神經(jīng)網(wǎng)絡(luò)(pose-based graph convolutional networks,PGCN),該網(wǎng)絡(luò)利用原視頻數(shù)據(jù)疊加骨架數(shù)據(jù)共同對(duì)人體姿態(tài)特征的時(shí)空相關(guān)性進(jìn)行建模,為人體動(dòng)作識(shí)別提供了一種有效的方法,但在有限的算力下,大量的視頻數(shù)據(jù)會(huì)增大內(nèi)存壓力且增加訓(xùn)練時(shí)長,計(jì)算效率略低于僅基于骨架的動(dòng)作識(shí)別.
神經(jīng)網(wǎng)絡(luò)在無噪聲或白噪聲環(huán)境下能進(jìn)行有效的學(xué)習(xí),使神經(jīng)網(wǎng)絡(luò)能較好地跟蹤系統(tǒng)輸出[20],且在神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練過程中加入噪聲具有正則化效果,這種做法已被證明對(duì)損失函數(shù)具有與添加懲罰項(xiàng)類似的效果[21].受之啟發(fā),本文將噪聲引入原ST-GCN,提出一種基于高斯噪聲的擾動(dòng)機(jī)制,具體來說是在人工預(yù)定義的骨架圖鄰接矩陣上添加高斯噪聲(其系數(shù)被設(shè)置為可學(xué)習(xí)的參數(shù)),利用該高斯噪聲來擾動(dòng)ST-GCN 中固定的鄰接矩陣,同時(shí)優(yōu)化人體骨架的空間結(jié)構(gòu),從而使得ST-GCN 同時(shí)從各個(gè)身體部位中挖掘豐富的特征而不是僅僅關(guān)注一些關(guān)節(jié)相鄰的區(qū)域,這種基于高斯噪聲的擾動(dòng)機(jī)制可以捕捉到非相鄰關(guān)節(jié)點(diǎn)之間的相關(guān)性,在節(jié)約計(jì)算量的前提下優(yōu)化了ST-GCN的鄰接矩陣.
本文主要工作可以概括如下:首先,將骨架數(shù)據(jù)集輸入圖卷積神經(jīng)網(wǎng)絡(luò),然后在ST-GCN 的圖卷積層中的原始鄰接矩陣Ak上加入高斯噪聲,該噪聲可表示為λ·φ 的形式,其中λ為可學(xué)習(xí)的參數(shù),在訓(xùn)練過程中將會(huì)與其他參數(shù)一起被優(yōu)化.這種噪聲能在訓(xùn)練過程中動(dòng)態(tài)地優(yōu)化ST-GCN 中的人體骨架空間結(jié)構(gòu),從而使得ST-GCN 不僅能夠在相鄰關(guān)節(jié)點(diǎn)間挖掘特征,也能在不相鄰的關(guān)節(jié)點(diǎn)間提取到豐富的特征,從而能夠更好地進(jìn)行動(dòng)作識(shí)別.最后,實(shí)驗(yàn)結(jié)果證明了本文方法的可行性:在NTU RGB+D 和Kinetics-Skeleton 兩個(gè)大規(guī)模數(shù)據(jù)集上達(dá)到了基于骨架的動(dòng)作識(shí)別領(lǐng)域的先進(jìn)水平.
基于ST-GCN的骨架動(dòng)作識(shí)別方法模型簡單,能自動(dòng)提取關(guān)節(jié)運(yùn)動(dòng)特征,其性能優(yōu)于傳統(tǒng)的基于人工設(shè)計(jì)特征的方法.基于ST-GCN的骨架動(dòng)作識(shí)別流程圖如圖1所示,首先將數(shù)據(jù)集中的骨架數(shù)據(jù)構(gòu)建成時(shí)空圖并輸入ST-GCN,通過時(shí)空圖卷積操作同時(shí)聚集時(shí)間和空間維度的信息,從而進(jìn)行動(dòng)作識(shí)別.
本節(jié)將介紹ST-GCN 中的骨架圖構(gòu)建,并簡單介紹其在空間及時(shí)間維度上所進(jìn)行的圖卷積操作.在ST-GCN 中,根據(jù)輸入的關(guān)節(jié)點(diǎn)序列來構(gòu)建時(shí)空圖,構(gòu)建規(guī)則如下:1)在單幀內(nèi)部,遵循人體的自然骨架連接關(guān)系來構(gòu)建空間圖;2)將相鄰兩幀內(nèi)的同一個(gè)關(guān)節(jié)點(diǎn)連接起來,構(gòu)成時(shí)序邊;3)所有幀中的關(guān)節(jié)點(diǎn)構(gòu)成節(jié)點(diǎn)集,上述兩個(gè)步驟中所有的邊構(gòu)成邊集,節(jié)點(diǎn)集和邊集的總和就是ST-GCN 所定義的時(shí)空圖.時(shí)空圖的構(gòu)建示例如圖2所示,“○”表示人體的關(guān)節(jié)點(diǎn),虛線代表著所有時(shí)序邊的集合.每個(gè)關(guān)節(jié)點(diǎn)的坐標(biāo)以及置信度組成了該關(guān)節(jié)點(diǎn)的屬性,這些屬性將作為數(shù)據(jù)被輸入到圖卷積神經(jīng)網(wǎng)絡(luò)中.
圖2 時(shí)空圖Fig.2 Spatial-temporal graph
在時(shí)空圖構(gòu)建規(guī)則已知的條件下,就可以在預(yù)先定義好的圖上進(jìn)行多層時(shí)空圖卷積操作以便生成高層次的特征.最后,卷積后得到的特征將經(jīng)過全局平均池化層和Softmax 分類器以預(yù)測出最終的動(dòng)作類別.
空間維度上,某關(guān)節(jié)點(diǎn)vi上的圖卷積被定義為:
其中,fin和fout代表輸入和輸出特征圖;vi 代表該空間維度中的某個(gè)關(guān)節(jié)點(diǎn);Bi 代表該關(guān)節(jié)點(diǎn)卷積時(shí)的采樣區(qū)域(此處為vi 的一階鄰居節(jié)點(diǎn)vtj的集合);Z 代表頂點(diǎn)v 所在x 子集的基數(shù);w 代表提供權(quán)重向量的權(quán)重函數(shù).但由于權(quán)重向量的個(gè)數(shù)是固定的,而鄰域中的頂點(diǎn)數(shù)量確實(shí)不斷變化的,所以為了能夠正確使用權(quán)重函數(shù),ST-GCN設(shè)計(jì)了一個(gè)映射函數(shù)li.具體來說,可將鄰域B 劃分x 個(gè)子集,對(duì)每個(gè)子集分配不同的標(biāo)簽,該映射函數(shù)可將每一個(gè)鄰域中的節(jié)點(diǎn)按相應(yīng)的映射規(guī)則映射到B的某個(gè)子集xi中.圖3詳細(xì)描述了這種映射規(guī)則:紅星代表人體重心位置,xi1代表根節(jié)點(diǎn)本身,xi2代表離重心更近的向心節(jié)點(diǎn),xi3代表離重心更遠(yuǎn)的離心節(jié)點(diǎn).
圖3 映射策略圖示Fig.3 Illustration of the mapping strategy
將式(1)進(jìn)行轉(zhuǎn)換即可得到ST-GCN 的圖卷積公式:
式(2)中kv代表卷積核大小,根據(jù)上述的映射規(guī)則卷積核大小為3;Aˉk是一個(gè)N×N 的鄰接矩陣,它表示單M 代表一個(gè)可學(xué)習(xí)的權(quán)重矩陣,類似于一個(gè)N×N 掩碼,它可以代表每個(gè)關(guān)節(jié)點(diǎn)的重要性;ω 是 1 × 1 卷積運(yùn)算,表示式1 中的權(quán)重函數(shù);⊙代表點(diǎn)積運(yùn)算.ST-GCN 在時(shí)間維度上遵循經(jīng)典的2D 卷積,即執(zhí)行kt×1的卷積(kt代表時(shí)間卷積核大?。?綜上所述,STGCN 在經(jīng)過空間維度和時(shí)間維度上的卷積操作后,提取出了更高層次的時(shí)空特征.
如圖1 所示,在將時(shí)空圖輸入ST-GCN 之前,需要先經(jīng)過一個(gè)批標(biāo)準(zhǔn)化層來歸一化輸入數(shù)據(jù),整個(gè)網(wǎng)絡(luò)由9 個(gè)基本單元構(gòu)成,在圖4 中表現(xiàn)為B1~B9.每個(gè)基本單元的輸出通道數(shù)分別是64,64,64,128,128,128,256,256,256,整個(gè)網(wǎng)絡(luò)的后端添加了一個(gè)全局平均池化層以將不同樣本的特征圖轉(zhuǎn)換為相同的大小,最后的輸入將被送到Softmax分類器以實(shí)現(xiàn)分類,并得到最終的預(yù)測結(jié)果.
圖1 基于ST-GCN的骨架動(dòng)作識(shí)別流程圖Fig.1 Flow chart of skeleton action recognition based on ST-GCN
圖4 ST-GCN的網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 The network architecture of ST-GCN
ST-GCN 的每一個(gè)基本單元(B1~B9)都由一個(gè)空間圖卷積子模塊、一個(gè)丟失率為0.5 的dropout 隨機(jī)丟棄層和一個(gè)時(shí)間圖卷積子模塊構(gòu)成,如圖5 所示.時(shí)間卷積子模塊中的時(shí)間卷積操作和ST-GCN中的設(shè)定一樣,均是在大小為C×T×N 的特征圖上,利用一個(gè)大小為kt×1的卷積核進(jìn)行2D 卷積.空間圖卷積子模塊和時(shí)間圖卷積子模塊后都添加了一個(gè)批標(biāo)準(zhǔn)化層和一個(gè)激活函數(shù)ReLU 層.為了使訓(xùn)練階段更穩(wěn)定,在每個(gè)基本單元中添加了殘差連接.針對(duì)ST-GCN 在構(gòu)建骨架空間結(jié)構(gòu)上的不足,本文在ST-GCN 基本單元的空間圖卷積層上引入高斯噪聲,具體細(xì)節(jié)見1.5節(jié).
圖5 ST-GCN的基本單元Fig.5 The basic block of ST-GCN
ST-GCN 中骨架的空間結(jié)構(gòu)由一個(gè)人工預(yù)定義的鄰接矩陣所表示,即式(2)中的Ak,它代表了人體骨架自然連接的先驗(yàn)知識(shí),掩碼M 代表著關(guān)節(jié)之間連接的強(qiáng)度,但在訓(xùn)練過程中使用式(2)這樣的點(diǎn)乘操作將無法在不相鄰的關(guān)節(jié)點(diǎn)之間產(chǎn)生新的連接,這意味著,圖卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力受到了限制,這樣的鄰接矩陣不是最優(yōu)的選擇.例如,當(dāng)網(wǎng)絡(luò)識(shí)別“梳頭”的動(dòng)作時(shí),手和頭之間的相關(guān)性本應(yīng)該是顯著的,但由于在ST-GCN 中代表頭和手的關(guān)節(jié)點(diǎn)相距甚遠(yuǎn),因此限制了“梳頭”這個(gè)動(dòng)作樣本的特征表達(dá),所以本節(jié)對(duì)ST-GCN 的鄰接矩陣進(jìn)行一些改進(jìn).
針對(duì)以上問題,本文將噪聲引入原ST-GCN,提出一種基于高斯噪聲的擾動(dòng)機(jī)制,即在原始的ST-GCN 的圖卷積層中的空間圖卷積層中引入高斯噪聲Noise,該噪聲與原鄰接矩陣相加構(gòu)建成一個(gè)新的鄰接矩陣,高斯噪聲的擾動(dòng)使得不相鄰的關(guān)節(jié)點(diǎn)之間也能夠產(chǎn)生連接關(guān)系,既優(yōu)化了鄰接矩陣,又獲取到了更適合描述動(dòng)作樣本的骨架空間結(jié)構(gòu),從而能夠更好地進(jìn)行動(dòng)作預(yù)測.Noise 與Ak結(jié)構(gòu)相似,都是一個(gè)N×N 的鄰接矩陣,此處的N 表示骨架圖包含的關(guān)節(jié)點(diǎn)數(shù)量.具體來說,高斯噪聲Noise可用式(4)表示:
其中λ 是一個(gè)可訓(xùn)練的參數(shù),它被點(diǎn)乘到高斯噪聲φ 的每一個(gè)元素上.高斯噪聲的參數(shù)由2.2節(jié)中的消融實(shí)驗(yàn)確定.添加Noise 后,空間維度的圖卷積公式可由式(2)轉(zhuǎn)變?yōu)椋?/p>
整個(gè)優(yōu)化過程中保留先驗(yàn)知識(shí)Ak,并將高斯矩陣Noise 添加至Ak上,噪聲添加示意如圖6 所示.其中每層的鄰接矩陣由Ak和動(dòng)態(tài)變化的高斯噪聲Noise共同組成,(1 × 1)表示卷積的核大小,kv表示子集的數(shù)量,虛線表示僅當(dāng)Cin與Cout不同時(shí),才需要?dú)埐罹矸e操作.
圖6 圖卷積層加噪圖示Fig.6 Illustration of the graph convolutional layer with noise
為了有效地和ST-GCN 進(jìn)行對(duì)比試驗(yàn),本文遵循該網(wǎng)絡(luò)選用兩種大型骨架動(dòng)作識(shí)別數(shù)據(jù)集:NTU RGB+D[14]和 Kinetics-Skeleton[4].實(shí)驗(yàn)環(huán)境為:Ubuntu16.04 系 統(tǒng) ,CPU 為 Intel Xeon Silver 4110 CPU @2.10GHz,深度學(xué)習(xí)框架Pytorch,顯卡為NVIDIA RTX 2080Ti,內(nèi)存 64G.
NTU RGB+D:NTU RGB+D 是目前規(guī)模最大、應(yīng)用最廣泛的室內(nèi)動(dòng)作識(shí)別數(shù)據(jù)集,包含由40名來自不同國籍、不同年齡段、不同性別和外貌特征的志愿者演示的60 個(gè)動(dòng)作類別,共含56000 個(gè)動(dòng)作樣本.本文遵循該數(shù)據(jù)集的兩個(gè)評(píng)估標(biāo)準(zhǔn):跨對(duì)象(cross-subject),即訓(xùn)練集和測試集中的樣本分別來自不同的實(shí)驗(yàn)對(duì)象;跨視角(cross-view),即訓(xùn)練集和測試集中的樣本分別來自不同角度的攝像機(jī).
Kinetics-Skeleton:Kinetics 是來自 DeepMind 實(shí)驗(yàn)室所建立的極具挑戰(zhàn)性的人體骨架動(dòng)作識(shí)別數(shù)據(jù)集,涵蓋了單人、人人交互以及人物交互為主題的動(dòng)作類別.該數(shù)據(jù)集總共有306,245 個(gè)采集于YouTube 視頻的樣本,涵蓋400 個(gè)動(dòng)作類別,每個(gè)動(dòng)作至少有400 個(gè)視頻片段.Kinetics-Skeleton 是文獻(xiàn)[4]利用OpenPose 姿態(tài)估計(jì)工具提取的骨架數(shù)據(jù)集.本文采用Top-1和Top-5的分類精度進(jìn)行評(píng)估.
本節(jié)分析這種特定高斯噪聲Noise 的參數(shù)設(shè)定,Noise 一共有3 個(gè)參數(shù),分別是均值 μ、方差 σ2和可訓(xùn)練系數(shù)λ,其中μ 和σ2被設(shè)定為超參數(shù).該高斯噪聲Noise可用式(6)表示:
以上3 個(gè)參數(shù)中,λ 為一個(gè)可學(xué)習(xí)的參數(shù),其在訓(xùn)練過程中將會(huì)與其他參數(shù)一起被優(yōu)化.因此只需討論Noise的兩個(gè)超參數(shù)的設(shè)定.
本節(jié)采用控制變量法確定高斯噪聲分別在Kinetics-Skeleton 數(shù)據(jù)集和NTU RGB+D 數(shù)據(jù)集上的兩個(gè)超參數(shù)的最佳取值.本文中,考慮到訓(xùn)練數(shù)據(jù)的預(yù)處理階段中輸入數(shù)據(jù)的值被歸一化至以0 為中心的[-1,1]的范圍內(nèi),故本文算法首先將高斯噪聲的均值擬定在同樣以0 為中心的一定范圍內(nèi)以避免噪聲與原始數(shù)據(jù)的不對(duì)稱性影響整體網(wǎng)絡(luò)的性能.具體來說,以經(jīng)驗(yàn)主義考慮,針對(duì)K 數(shù)據(jù)集我們選定均值的范圍為[-0.05,0.05],步長設(shè)置為0.01;針對(duì)N 數(shù)據(jù)集我們選定均值的范圍為[-0.09,0.09],步長設(shè)置為0.02.其次,本文中高斯噪聲作為一種擾動(dòng)機(jī)制來增加整體網(wǎng)絡(luò)的泛化能力,故其值不應(yīng)該過于波動(dòng)從而影響原始數(shù)據(jù)的先驗(yàn)性(因?yàn)樵嫉墓羌苋梭w連接已經(jīng)具有一定的信息),故本文算法將高斯噪聲的方差擬定在從0 開始遞增的小范圍內(nèi).具體來說,針對(duì)兩個(gè)數(shù)據(jù)集我們均選定方差的范圍為[0,0.45].為方便作圖和節(jié)省算力,圖7 利用Kinetics-Skeleton 數(shù)據(jù)集的Top-1 準(zhǔn)確率作為縱軸,圖8 利用NTU RGB+D 數(shù)據(jù)集的cross-subject子數(shù)據(jù)集的Top-1 準(zhǔn)確率作為縱軸,橫軸均為方差σ2的取值.根據(jù)折線圖7 和折線圖8 的結(jié)果,高斯噪聲在Kinetics-Skeleton 數(shù)據(jù)集上的最佳參數(shù)為μ=0.03,σ2=0.20(即“■”折線);高斯噪聲在 NTU RGB+D 數(shù)據(jù)集上的最佳參數(shù)為μ=0.05,σ2=0.23(即“□”折線).
圖7 Kinetics-Skeleton上高斯噪聲的超參數(shù)消融實(shí)驗(yàn)Fig.7 Ablation experiments of hyper-parameter on Kinetics-Skeleton
圖8 NTU RGB+D上高斯噪聲的超參數(shù)消融實(shí)驗(yàn)Fig.8 Ablation experiments of hyper-parameter on NTU RGB+D
本節(jié)首先展示了鄰接矩陣的可視化情況,如圖 9 所示 .圖 9(a)是 ST-GCN 原始鄰接矩陣 Ak的初始狀態(tài),圖9(b)是添加了高斯噪聲并經(jīng)過訓(xùn)練之后的鄰接矩陣狀態(tài).圖中的灰度代表關(guān)節(jié)點(diǎn)之間一一對(duì)應(yīng)的連接強(qiáng)度,黑色代表連接強(qiáng)度為0,白色代表連接強(qiáng)度為1,不同強(qiáng)度的灰色代表0 ~1間的不同強(qiáng)度值.原ST-GCN 按人體骨架自然連接來構(gòu)建鄰接矩陣,因此圖9(a)中絕大部分關(guān)節(jié)點(diǎn)之間沒有建立起連接,即處于黑色狀態(tài),但在添加高斯噪聲并進(jìn)行訓(xùn)練之后,鄰接矩陣Ak的連接狀態(tài)和連接強(qiáng)度發(fā)生了不同程度的變化,在原Ak中無法建立連接的兩個(gè)關(guān)節(jié)點(diǎn)可以在高斯噪聲的擾動(dòng)下建立不同強(qiáng)度的連接,這也更符合多樣化動(dòng)作識(shí)別任務(wù)的要求.
圖9 骨架圖拓?fù)浣Y(jié)構(gòu)的鄰接矩陣圖Fig.9 Adjacency matrix graph of skeleton topology
此外,本節(jié)以動(dòng)作樣本“梳頭”與“鼓掌”為例,還展示了添加高斯噪聲前后關(guān)節(jié)點(diǎn)相關(guān)性在骨架圖中的可視化,如圖10 所示.這些骨架圖是根據(jù)人體的物理連接方式連接而成的,每一個(gè)“○”代表一個(gè)關(guān)節(jié)點(diǎn),其大小表示經(jīng)過模型學(xué)習(xí)后每個(gè)關(guān)節(jié)點(diǎn)與第25 個(gè)關(guān)節(jié)點(diǎn)“右手拇指”的連接強(qiáng)度(即圖10中的★),圖10(a)和(c)分別表示“梳頭”與“鼓掌”動(dòng)作樣本在ST-GCN 中的關(guān)節(jié)點(diǎn)相關(guān)性在骨架圖中的可視化,圖10(b)和(d)代表添加高斯噪聲后的關(guān)節(jié)點(diǎn)相關(guān)性在骨架圖中的可視化.該可視化實(shí)驗(yàn)表明,ST-GCN 僅能關(guān)注到與“右手拇指”相鄰的關(guān)節(jié)點(diǎn)之間的連接特征,且在ST-GCN 作用下其他節(jié)點(diǎn)((a)中表現(xiàn)為頭部節(jié)點(diǎn),(c)中表現(xiàn)為左手節(jié)點(diǎn))和“右手拇指”之間的連接強(qiáng)度遠(yuǎn)小于高斯噪聲作用下其他節(jié)點(diǎn)((b)中表現(xiàn)為頭部節(jié)點(diǎn),(d)中表現(xiàn)為左手節(jié)點(diǎn))和“右手拇指”之間的連接強(qiáng)度.這意味著利用人體物理連接作為骨架圖的拓?fù)浣Y(jié)構(gòu)很難捕捉到非相鄰關(guān)節(jié)點(diǎn)之間的相關(guān)性,但添加高斯噪聲的方法使得神經(jīng)網(wǎng)絡(luò)開始關(guān)注到非相鄰關(guān)節(jié)點(diǎn)之間豐富的特征,并且能在訓(xùn)練過程中根據(jù)不同的樣本動(dòng)態(tài)的修改骨架圖的拓?fù)浣Y(jié)構(gòu),使得骨架圖的拓?fù)浣Y(jié)構(gòu)表達(dá)更具多樣性.
圖10 關(guān)節(jié)點(diǎn)相關(guān)性在骨架圖中的可視化Fig.10 Visualization of joint correlation in skeleton
本文設(shè)計(jì)了一種添加高斯噪聲的擾動(dòng)機(jī)制,將這種特定的噪聲添加至ST-GCN 的原始鄰接矩陣Ak上,使得骨架圖的拓?fù)浣Y(jié)構(gòu)表達(dá)更具多樣性.為了測試了掩碼M 在原始的ST-GCN 中的效果,本節(jié)實(shí)驗(yàn)利用NTU RGB+D 數(shù)據(jù)集作為基準(zhǔn),將添加高斯噪聲之后的效果與之對(duì)比(wo/M 代表不添加掩碼M),由表1 可顯示出高斯噪聲對(duì)動(dòng)作識(shí)別任務(wù)的性能提升.
表1 NTU RGB+D數(shù)據(jù)集上的消融分析Tab.1 Ablation analysis on NTU RGB+D /%
利用2.2 節(jié)實(shí)驗(yàn)中得出的最佳參數(shù),在NTU RGB+D 和Kinetics-Skeleton 數(shù)據(jù)集上,將本文的最終的模型與最新的基于骨架的動(dòng)作識(shí)別方法進(jìn)行比較,比較結(jié)果分別顯示在表2 和表3 中.其中,用于比較的方法包括基于人工設(shè)計(jì)特征的方法[8-9]、基 于 RNN 的 方 法[5-7,14-15]、基 于 CNN 的 方法[10-13]和 基 于 GCN 的 方 法[4,16-19]. 另 外 ,針 對(duì) 2s-AGCN 中由數(shù)據(jù)驅(qū)動(dòng)鄰接矩陣所導(dǎo)致的計(jì)算量翻倍增長問題,進(jìn)行了計(jì)算量對(duì)比實(shí)驗(yàn),測試了迭代過程中2s-AGCN、PGCN 與本文方法的平均耗時(shí).
表2 Kinetics-Skeleton數(shù)據(jù)集上與最新方法的驗(yàn)證精度比較Tab.2 Comparisons of the validation accuracy(%)with state-of-the art methods on the Kinetics-Skeleton dataset
表2 和表3 的實(shí)驗(yàn)結(jié)果表明:本文模型在2 個(gè)數(shù)據(jù)集上都達(dá)到了更高的準(zhǔn)確率,這有效地證明了本文模型的優(yōu)越性(本文模型與PGCN 的精度有一定的差距,原因是PGCN 在輸入數(shù)據(jù)中增加了原視頻信息,多樣化的模態(tài)數(shù)據(jù)提高了骨架動(dòng)作識(shí)別的性能,但十分占據(jù)內(nèi)存且增加了訓(xùn)練時(shí)長).雖然本文提出的基于高斯噪聲的擾動(dòng)機(jī)制對(duì)于NTU RGB+D 數(shù)據(jù)集的cross-subject 評(píng)估標(biāo)準(zhǔn)的提升仍不夠明顯,這有可能是因?yàn)檫@種跨對(duì)象的評(píng)估標(biāo)準(zhǔn)增加了擾動(dòng)機(jī)制動(dòng)態(tài)優(yōu)化骨架空間結(jié)構(gòu)的難度.另外,兩表中的耗時(shí)實(shí)驗(yàn)也表明:與2s-AGCN 中提出的數(shù)據(jù)驅(qū)動(dòng)的方法以及PGCN 中提出的基于姿態(tài)的動(dòng)作識(shí)別方法相比,本文提出的基于高斯噪聲的擾動(dòng)機(jī)制能有效的降低計(jì)算量,并在此基礎(chǔ)上進(jìn)一步提升了骨架動(dòng)作識(shí)別的性能.
表3 NTU RGB+D數(shù)據(jù)集上與最新方法的驗(yàn)證精度比較Tab.3 Comparisons of the validation accuracy(%)with state-of-the art methods on the NTU RGB+D dataset
本文提出一種基于高斯噪聲擾動(dòng)機(jī)制,用以優(yōu)化基于ST-GCN 的骨架動(dòng)作識(shí)別中結(jié)構(gòu)單一的鄰接矩陣.具體來說是在原始的ST-GCN 的空間圖卷積層中引入高斯噪聲,該噪聲與原鄰接矩陣聯(lián)合構(gòu)建成一個(gè)新的鄰接矩陣,高斯噪聲的擾動(dòng)動(dòng)態(tài)優(yōu)化了原ST-GCN 的中的骨架空間結(jié)構(gòu),使得不相鄰的關(guān)節(jié)點(diǎn)之間也能夠產(chǎn)生不同強(qiáng)度的連接關(guān)系,從而能夠促進(jìn)ST-GCN 更好地進(jìn)行動(dòng)作識(shí)別.最后,在2 個(gè)極具挑戰(zhàn)性的大規(guī)模數(shù)據(jù)集NTU RGB+D 和Kinetics-Skeleton 上對(duì)模型進(jìn)行了評(píng)估,實(shí)驗(yàn)證明本文方法在2 個(gè)數(shù)據(jù)集上都能獲得更高的識(shí)別精度,但本文方法對(duì)于NTU RGB+D 數(shù)據(jù)集中的crosssubject 評(píng)估標(biāo)準(zhǔn)存在一定的局限性,未來的工作可以聚焦于如何更好地優(yōu)化噪聲,提升噪聲擾動(dòng)機(jī)制在不同評(píng)估標(biāo)準(zhǔn)下的泛化性,進(jìn)一步改善和提高模型的性能.