茍茹茹,楊文柱,2+,羅梓菲,原云峰
1.河北大學(xué) 網(wǎng)絡(luò)空間安全與計算機學(xué)院,河北 保定 071002
2.河北大學(xué) 河北省機器視覺工程研究中心,河北 保定 071002
人體運動預(yù)測已成為當(dāng)今計算機視覺的研究熱點之一。在眾多領(lǐng)域都有廣泛的應(yīng)用,例如:自動駕駛、智能視頻監(jiān)控、智能醫(yī)療監(jiān)護(hù)、人機交互和人體跟蹤[1]等。以往的方法中大多使用隱馬爾可夫鏈、受限玻爾茲曼機、隨機森林和高斯過程動力學(xué)模型等,在簡單的周期運動中取得了超出預(yù)想的效果,但是對于復(fù)雜動作的預(yù)測結(jié)果卻不盡如人意。由于人體運動具有非周期性和隨機性的特點,準(zhǔn)確預(yù)測未來運動姿勢仍是一項具有挑戰(zhàn)性的任務(wù)。
隨著深度學(xué)習(xí)方法的發(fā)展,循環(huán)神經(jīng)網(wǎng)絡(luò)[2]、卷積神經(jīng)網(wǎng)絡(luò)[3-4]和生成對抗神經(jīng)網(wǎng)絡(luò)[5-6]都在解決這一挑戰(zhàn)上取得了重大的突破。但是這些方法的預(yù)測精確度都受卷積濾波器大小和逐幀預(yù)測穩(wěn)定性的影響,且都忽略了運動中身體關(guān)節(jié)的時間相關(guān)性。基于關(guān)節(jié)點的圖卷積神經(jīng)網(wǎng)絡(luò)[7]能夠很好地捕捉運動中身體關(guān)節(jié)的時間相關(guān)性[8]。因此,基于骨架的圖卷積神經(jīng)網(wǎng)絡(luò)已廣泛應(yīng)用于運動預(yù)測和其他各個領(lǐng)域,且取得了良好的效果。Mao 等人[9]設(shè)計了一個完全聯(lián)通的圖卷積,以自適應(yīng)地學(xué)習(xí)運動預(yù)測所需要的連通信息,并應(yīng)用離散余弦變換[10-13]構(gòu)建了跨身體關(guān)節(jié)的圖形處理時間信息,從而實現(xiàn)了對成對關(guān)系的建模。但是這樣的圖表仍然不足以反映身體關(guān)節(jié)組件之間的聯(lián)系。Wang等人[14]設(shè)計了新型的深度學(xué)習(xí)網(wǎng)絡(luò)來模擬時空方差,并通過預(yù)定義結(jié)構(gòu)構(gòu)建了身體關(guān)節(jié)特征,用于表示固定的身體部位,但是該模型沒有利用運動的協(xié)同關(guān)系。例如,“招手”的動作往往是基于抽象的手臂和手的協(xié)同運動來預(yù)測的,而不是手臂和手指的詳細(xì)位置。為解決這些問題,Li等人[15]通過人體姿勢的自然層次結(jié)構(gòu),借助時空圖卷積神經(jīng)網(wǎng)絡(luò)與多尺度[16]聯(lián)合構(gòu)建編碼器提取豐富的運動特征,通過基于可訓(xùn)練圖卷積神經(jīng)網(wǎng)絡(luò)的門控循環(huán)單元[17]構(gòu)建解碼器結(jié)構(gòu)來生成運動的未來姿勢。但是該模型存在以下三個問題:(1)編解碼網(wǎng)絡(luò)中的時空圖卷積神經(jīng)網(wǎng)絡(luò)使用的分區(qū)策略不利于提取身體部位內(nèi)部關(guān)節(jié)點之間的關(guān)聯(lián)關(guān)系;(2)編碼網(wǎng)絡(luò)中使用的時空圖卷積網(wǎng)絡(luò)局限于每個節(jié)點的共享變換矩陣,不利于全局特征的學(xué)習(xí),不利于網(wǎng)絡(luò)排除不相關(guān)關(guān)節(jié)點,且動態(tài)地關(guān)注對動作貢獻(xiàn)度高的關(guān)節(jié)點;(3)解碼網(wǎng)絡(luò)中的可訓(xùn)練圖卷積神經(jīng)網(wǎng)絡(luò)存在同樣的問題,導(dǎo)致網(wǎng)絡(luò)的預(yù)測誤差較大。
基于此,本文對動態(tài)多尺度圖卷積模型(dynamic multiscale graph neural networks,DMGNN)進(jìn)行了改進(jìn),主要貢獻(xiàn)包括:(1)提出了多距離分區(qū)策略(multidistance partitioning strategy,MD),該分區(qū)策略加強了身體部位內(nèi)部關(guān)節(jié)點的相對位置之間的聯(lián)系,有利于提高身體關(guān)節(jié)點信息在空間和時間上的聯(lián)系;(2)通過時空圖卷積神經(jīng)網(wǎng)絡(luò)的時空塊和非局部網(wǎng)絡(luò),組成全局自適應(yīng)注意力時空圖卷積神經(jīng)網(wǎng)絡(luò)(global adaptive attention spatial temporal graph convolutional network,GaST-GCN)模塊,動態(tài)地捕捉骨架中高貢獻(xiàn)關(guān)節(jié)點的時空的全局和遠(yuǎn)程關(guān)系,以解決接受域有限及無關(guān)關(guān)節(jié)干擾的問題;(3)在圖卷積門控單元的圖卷積中使用多距離分區(qū)策略以及全局自適應(yīng)注意力,組成多距離全局自適應(yīng)注意力圖卷積門控循環(huán)單元(multi-distance partitioned global adaptive attention graph convolution gate recurrent unit,MGG-GRU),這樣既可以保證關(guān)節(jié)點間的局部聯(lián)系,又可以提高全局中高貢獻(xiàn)關(guān)節(jié)點的關(guān)注度,從而增強解碼網(wǎng)絡(luò)的狀態(tài)傳播性能。
ST-GCN(spatial temporal graph convolution networks)[18]算法不同于使用遞歸神經(jīng)網(wǎng)絡(luò)和臨時卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的端到端的動作識別模型[19-21],是一種基于關(guān)節(jié)點的動作識別算法。ST-GCN 首次將圖卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于基于骨架的人體動作識別中。在此基礎(chǔ)上通過人體自然連接和相同關(guān)節(jié)的跨連續(xù)時間連接構(gòu)建了骨架序列的時空圖,從而加入了對識別人體行為非常重要的關(guān)節(jié)點之間的時空關(guān)系這一因素,使得信息可以沿著圖和時間維度進(jìn)行整合。
ST-GCN 通過三種分區(qū)策略設(shè)計空間卷積核。如圖1 所示,其中(a)為輸入骨架。(b)為單標(biāo)簽分區(qū),將整個鄰域分為一個子集。(c)為距離分區(qū),通過節(jié)點之間的距離設(shè)置分區(qū)。選取K=1,將鄰域分為兩個子集,分別是距離為0 的子集和距離為1 的子集。得到兩個不同的權(quán)重向量,能夠?qū)﹃P(guān)節(jié)點的局部差異性進(jìn)行建模。(d)為空間結(jié)構(gòu)分區(qū),通過人體運動特性確定人體關(guān)節(jié)點中的重心節(jié)點(一個框架中所有關(guān)節(jié)點的平均坐標(biāo)被視為其重心,以紅色點表示重心為參考),根據(jù)從重心到關(guān)節(jié)點的平均距離將鄰域劃分為三個子集,分別為:根節(jié)點自身子集、距離重心節(jié)點較根節(jié)點近的子集、距離重心節(jié)點較根節(jié)點遠(yuǎn)的子集。
圖1 分區(qū)策略Fig.1 Partitioning strategy
由于人運動時,關(guān)節(jié)點是以局部小組為單位移動的,本文中根據(jù)節(jié)點到根節(jié)點間的距離來劃分鄰域集。通過擴大整個鄰域子集,進(jìn)而關(guān)聯(lián)根節(jié)點與更遠(yuǎn)節(jié)點之間的局部關(guān)系來加強身體各部分內(nèi)部關(guān)節(jié)信息的關(guān)聯(lián),使模型能更敏感地感知身體局部信息,從而提升動態(tài)多尺度編碼器提取特征的準(zhǔn)確度。
在深度神經(jīng)網(wǎng)絡(luò)中為了捕獲長距離依賴,通常通過堆疊卷積層實現(xiàn),這種方法雖然能夠增大感受野,但計算效率低、建模困難、優(yōu)化困難。而用于圖像分類和語義分割的NLNet(non-local neural network)[22-23]不局限于相鄰點,通過計算任意兩個位置之間的交互直接捕捉遠(yuǎn)程依賴關(guān)系,摒棄了距離概念。NLNet 的基本原理是先計算某點(點為向量,維度是通道數(shù))與其余所有點的相似度,相似度越大,對最終的結(jié)果貢獻(xiàn)就越大。對相似度進(jìn)行歸一化,得到各個點的權(quán)重。權(quán)重與對應(yīng)點的特征映射值相乘,再與先前輸入的點的特征相加就得到了包含全局信息的特征。
當(dāng)人體在散步時,胳膊和腿上的關(guān)節(jié)點做出的貢獻(xiàn)遠(yuǎn)大于其他關(guān)節(jié)點,于是文中利用非局部神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,首次將非局部網(wǎng)絡(luò)用于運動預(yù)測中計算關(guān)節(jié)點間的相互關(guān)系,使得網(wǎng)絡(luò)在一個時空域中能更好地關(guān)注有貢獻(xiàn)的關(guān)節(jié)點,并解決時空圖卷積神經(jīng)網(wǎng)絡(luò)的接受域有限的問題。通過計算關(guān)節(jié)點之間的相似度得到時空中全部關(guān)節(jié)點在一項運動中對于某一關(guān)節(jié)點的作用,從而降低運動預(yù)測的誤差。
GRU(gated recurrent unit)能夠解決RNN(recurrent neural network)易出現(xiàn)的長期記憶依賴和反向傳播中的梯度消失等問題,較LSTM(long short-term memory)有更少的輸入和更簡單的網(wǎng)絡(luò)結(jié)構(gòu),能夠大幅提高訓(xùn)練效率而不降低訓(xùn)練精度[24]。
GRU[25]更適合對長時動作的建模是因為它在RNN 的內(nèi)部設(shè)置了用于信息處理的兩個門,分別是重置門(rt)和更新門(zt)。其中重置門(rt)控制候選狀態(tài)()從上一時刻的狀態(tài)(ht-1)中得到的信息度;更新門(zt)使用1-zt和zt分別控制當(dāng)前狀態(tài)ht從上一時刻狀態(tài)(ht-1)中需要保留信息的力度和從候選狀態(tài)()中需要更新信息的度。計算過程如式(1)~式(4)所示:
其中,σ表示sigmoid 激活函數(shù);ht-1表示上一時刻狀態(tài);xt表示當(dāng)前時刻的輸入;表示控制候選狀態(tài),以建立當(dāng)前輸入xt和上一時刻狀態(tài)ht-1之間的聯(lián)系;ht表示隱藏狀態(tài)。GRU模型的整體結(jié)構(gòu)如圖2所示。
圖2 GRU模型Fig.2 Model of GRU
提出的人體運動預(yù)測多尺度全局自適應(yīng)注意力圖卷積算法(multiscale global adaptive attention graph neural network,MG-GNN)如圖3所示,由編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)兩部分組成。輸入的骨架序列經(jīng)過編碼器準(zhǔn)確地提取豐富的運動特征后送入解碼器精確地預(yù)測骨架未來運動姿勢。編碼器具體結(jié)構(gòu)如圖4所示,由級聯(lián)的多尺度全局自適應(yīng)單元塊(multiscale global adaptive unit,MGaU)組成。MGaU 由多距離全局自適應(yīng)注意力時空圖卷積特征提取塊(multi-distance global adaptive attention spatial temporal graph convolutional feature extraction block,MGST-FEB)和跨尺度融合塊(cross-scale fusion block,CS-FB)組成。其中MGST-FEB 采用了本文提出的多距離分區(qū)策略和全局自適應(yīng)注意力時空卷積網(wǎng)絡(luò),能夠提取更豐富的單一尺度的運動信息,CS-FB將粗細(xì)尺度信息進(jìn)行融合,利用粗尺度對細(xì)尺度的指導(dǎo)以及細(xì)尺度對粗尺度的補充獲得更加精細(xì)的運動特征。解碼器具體結(jié)構(gòu)如圖5所示,采用基于多距離全局自適應(yīng)注意力圖卷積的門控循環(huán)單元(MGG-GRU),既利用可訓(xùn)練圖增強狀態(tài)傳播,又利用門控循環(huán)單元結(jié)構(gòu)使用殘差連接增強預(yù)測結(jié)果。
圖3 MG-GNN網(wǎng)絡(luò)的總體框架Fig.3 General framework of MG-GNN
圖4 編碼器模型Fig.4 Encoder model
圖5 解碼器模型Fig.5 Decoder model
編碼網(wǎng)絡(luò)由級聯(lián)的MGaU 塊組成,而MGaU 塊中包含MGST-FEB 和CS-FB 兩個模塊,本文提出的MGST-FEB進(jìn)行了兩處改進(jìn):多距離分區(qū)策略和全局自適應(yīng)注意力時空卷積圖網(wǎng)絡(luò)。解碼網(wǎng)絡(luò)由MGGGRU 組成,通過G-GRU 采用基于多距離全局自適應(yīng)注意力圖卷積的門控循環(huán)單元改進(jìn)得到MGG-GRU。
2.2.1 多距離分區(qū)策略(MD)
原始ST-GCN 網(wǎng)絡(luò)模型中的圖卷積僅僅通過聚合相鄰節(jié)點間的信息提取骨架關(guān)節(jié)點信息,且主要使用三種分區(qū)策略:單標(biāo)簽、距離分區(qū)和空間結(jié)構(gòu)分區(qū)提取相鄰節(jié)點之間的關(guān)系。但此三種分區(qū)策略僅僅考慮到了相鄰關(guān)節(jié)點之間的關(guān)系,每個節(jié)點只將自己的信息傳播給鄰居節(jié)點,這會導(dǎo)致節(jié)點感受野較小,不利于獲取長距離的連接信息。且人體活動時以局部小組為單位移動,故未能考慮到人身體部位內(nèi)部關(guān)節(jié)點之間的聯(lián)系對運動預(yù)測的重要性。
ST-GCN 模型在二維卷積的基礎(chǔ)上,通過重新定義的采樣函數(shù)和權(quán)重函數(shù)即可構(gòu)造空間上的圖卷積公式為:
其中,歸一化項Zti(vtj)=|{vtk|lti(vtk)=lti(vtj)}|為相應(yīng)子集的基數(shù),可平衡不同子集對輸出的貢獻(xiàn);vtj是采樣函數(shù)P;ω′(lti(vtj))是權(quán)重函數(shù)W。
圖的時間信息是采用連續(xù)幀之間連接相同的關(guān)節(jié)點構(gòu)建的,因此將空間的鄰域概念擴展到包含時間連接的關(guān)節(jié)點的時間域。故采樣函數(shù)可以定義為:
其中,T為時間鄰域的范圍,即時間內(nèi)核的大小。
因為時間軸的有序性,直接修改vti單幀關(guān)節(jié)點的映射lti(vtj),即可根據(jù)vti得出一個時空鄰域。故權(quán)重函數(shù)定義為:
由于觀察人體運動例如“踢腿”“打電話”等動作是以人體部件為小組運動的,而ST-GCN 算法中的三種策略的鄰域均不能將人體部件關(guān)節(jié)點包含在里面,故為了充分發(fā)揮ST-GCN 網(wǎng)絡(luò)在時空域上對提取骨架關(guān)節(jié)點集成信息的重要性,本文提出了多距離分區(qū)策略。該策略的鄰域能夠涵蓋人體運動的部件,并且能在單個幀中使用再擴展至空間-時間域,更加完整地提取運動特征,從而提高了每一個節(jié)點的感受野,更加差異化地學(xué)習(xí)不同節(jié)點的特征。故文中選取使用D=2的相鄰區(qū)域B(vti)設(shè)置采樣函數(shù)P,當(dāng)D大于2 時,節(jié)點鄰域會超越身體部件,這導(dǎo)致網(wǎng)絡(luò)提取特征時加入噪聲,使得網(wǎng)絡(luò)性能下降。多距離分區(qū)策略將根節(jié)點的鄰域分成3 個子集(如圖6 所示):(1)距離根節(jié)點為0的子集(綠色);(2)距離根節(jié)點子集為1 的子集(藍(lán)色);(3)距離根節(jié)點為2 的子集(黃色)。對每個子集的關(guān)節(jié)點賦予一種權(quán)重。則權(quán)重函數(shù)可以通過關(guān)節(jié)點之間的距離定義,每個子集的權(quán)重為:
圖6 多距離分區(qū)策略Fig.6 Multi-distance partition strategy
其中,d為節(jié)點到根節(jié)點的距離(跨越關(guān)節(jié)點的個數(shù))。
采用類似于圖卷積的表達(dá)形式[18],單幀內(nèi)關(guān)節(jié)的自連接由單位矩陣I和表示體內(nèi)連接的相鄰矩陣A表示,在單幀情況下可以使用以下公式實現(xiàn):
對于具有多個子集的分區(qū)策略,其中鄰接矩陣被拆分成幾個矩陣Aj,即在該策略分區(qū)中,A0=I和A1+A2+A3=A。
多距離分區(qū)策略考慮到人體運動是以局部小組為單位移動,故采樣函數(shù)P使用D=2 的鄰域B(vti),擴大了整個鄰域集,通過提取根節(jié)點與更遠(yuǎn)關(guān)節(jié)點之間的信息,加強身體各部分內(nèi)部關(guān)節(jié)點之間的聯(lián)系,從而提高模型對身體局部的敏感性,進(jìn)一步降低預(yù)測誤差。并且本文將多距離分區(qū)策略與原STGCN 中的三種分區(qū)策略進(jìn)行了對比,實驗結(jié)果在3.3.1 小節(jié)中,通過實驗驗證的方法再次證明本文提出的多距離分區(qū)策略的優(yōu)越性。
2.2.2 全局自適應(yīng)注意力時空圖卷積網(wǎng)絡(luò)(GaSTGCN)
由于ST-GCN 中卷積核感受野的限制,導(dǎo)致模型不能捕獲某一關(guān)節(jié)點和全部關(guān)節(jié)點之間的時空信息,且不能區(qū)分對某一運動有突出貢獻(xiàn)的其他關(guān)節(jié)點,不利于運動特征的提取。由于NLNet[22,26]的全局自適應(yīng)注意力可以通過計算任意兩個關(guān)節(jié)點之間的交互直接捕捉遠(yuǎn)程依賴,不局限于鄰域,可捕獲更多關(guān)節(jié)點的時空全局信息,并且網(wǎng)絡(luò)通過相似度的大小給予不同關(guān)節(jié)點不同的關(guān)注度,減少不相關(guān)關(guān)節(jié)點對于網(wǎng)絡(luò)的干擾。與NLNet 網(wǎng)絡(luò)不同之處在于(如圖7 所示)本文提出的GaST-GCN 在NLNet 網(wǎng)絡(luò)中采用時空卷積塊對網(wǎng)絡(luò)得到的相關(guān)關(guān)系進(jìn)行操作,并且將殘差運用到時空卷積操作之后,這樣使得編碼網(wǎng)絡(luò)能夠提取到時空卷積網(wǎng)絡(luò)鄰域之外的信息,同時不用再增加額外的計算量。自適應(yīng)是通過每一批次中關(guān)節(jié)點之間的相對位置的不同而體現(xiàn)。
圖7 GaST-GCN模型Fig.7 Model of GaST-GCN
GaST-GCN中的非局部關(guān)節(jié)點注意力可定義為:
結(jié)合全局自適應(yīng)注意力的優(yōu)勢并在圖卷積中使用多距離分區(qū)策略,設(shè)一個基于多距離全局自適應(yīng)注意力圖卷積的門控循環(huán)單元模型(MGG-GRU)。其結(jié)構(gòu)如圖8所示,GRU的隱藏狀態(tài)是在MGG-GRU指導(dǎo)下學(xué)習(xí)和更新的。MGG-GRU有兩個輸入狀態(tài),分別是上一時刻的狀態(tài)ht-1∈RM×d(使用M個關(guān)節(jié)點和d=3表示時間t的3D 姿勢)和基于三位骨架的信息狀態(tài)SIt∈RM×d,計算過程如式(11)~式(14)。
圖8 MGG-GRU模型Fig.8 Model of MGG-GRU
其中,AH∈RM×d用骨架圖初始化,是內(nèi)置圖的鄰接矩陣;rin(·)、rhid(·)、zin(·)、zhid(·)、hin(·)、hhid(·)是可訓(xùn)練線性映射;WH是可訓(xùn)練權(quán)重。
采用PyTorch-1.8.0 深度學(xué)習(xí)框架,編程語言為Python_3.8,在Windows 操作系統(tǒng)下實現(xiàn),GPU 為ATX-4000,CUDA版本為11.2。
Human 3.6M(H3.6M)數(shù)據(jù)集包含7名受試者,每個受試者執(zhí)行15 種不同的動作。每個人有32 個關(guān)節(jié)點,將關(guān)節(jié)點位置通過指數(shù)圖轉(zhuǎn)換為坐標(biāo)圖,只使用非零關(guān)節(jié)點,并沿時間軸對所有序列進(jìn)行兩次下采樣。選取S1、S6、S7、S8、S9、S11共6名受試者為訓(xùn)練集,選取S5為測試集。
CMU Mocap(CMU)數(shù)據(jù)集是由情景&場景、人類互動、運動、與環(huán)境的互動、體育活動&運動5 個主要動作類別構(gòu)成的常用的人體姿勢預(yù)測數(shù)據(jù)集。通過非零指數(shù)圖給每個受試者保留26個關(guān)節(jié)點。由于所提算法沒有使用“人機交互”類別的數(shù)據(jù),并且需要為每個行為提供足夠的數(shù)據(jù)來訓(xùn)練模型,排除了包含少于6個試驗的行為類別。故從“通信手勢和信號”類別中選擇交通方向和籃球信號,從“運動”類別中選擇跑步、步行和跳躍,從“常見行為和表達(dá)”類別中選擇清洗窗戶,從“體育活動&運動”類別中選擇籃球和足球,共8個動作類別。對數(shù)據(jù)集的處理方式和評估方法都和H3.6M相同。
3DPW 數(shù)據(jù)集[27]由超過510 000 幀的三維姿勢組成的大型數(shù)據(jù)集,用于挑戰(zhàn)性的室內(nèi)和室外活動。本文采用官方設(shè)置的訓(xùn)練集和測試集。
評價指標(biāo)采用與基線算法相同的角空間中產(chǎn)生的運動和地面真實值之間的平均角誤差(mean angular error,MAE)定量評估各種方法之間的性能。通過本文算法與當(dāng)前流行的算法進(jìn)行比較,展示本文算法的性能,同時通過組合各個模塊比較,以展示所提算法的有效性。
Kinetics-skeleton 數(shù)據(jù)集是建立在大規(guī)模動作識別數(shù)據(jù)集Kinetics(Kinetics 人類動作數(shù)據(jù)集)上的。Kinetics是最大的無約束動作識別數(shù)據(jù)集,包含約30萬個從YouTube 檢索的視頻片段。這些視頻涵蓋了多達(dá)400個人類動作,從日?;顒雍腕w育場景到復(fù)雜的互動動作,視頻中的每個片段都持續(xù)了大約10 s。Yan 等人通過在Kinetics 數(shù)據(jù)集上使用OpenPose 獲得每幀上18 個骨骼點的二維坐標(biāo)(X,Y)和置信度分?jǐn)?shù)C,并保留每幀內(nèi)平均置信度最高的2個人的關(guān)節(jié),并為每個動作選擇300幀作為動作骨骼序列,從而建立了Kinetics 骨骼數(shù)據(jù)集。該數(shù)據(jù)集提供了一個由24 萬個片段組成的訓(xùn)練集和一個由2 萬個片段組成的驗證集。為了便于比較,本文在訓(xùn)練集上訓(xùn)練了模型,并在驗證集上驗證了模型的性能。文中使用Top-1和Top-5的準(zhǔn)確度指標(biāo)進(jìn)行驗證。
為了驗證MG-GNN 模型的性能,在H3.6M 數(shù)據(jù)集、3DPW 數(shù)據(jù)集和CMU 數(shù)據(jù)集上進(jìn)行模型的訓(xùn)練和測試,采用與早期研究[6]相同的子序列進(jìn)行評估,并采用與DMGNN 算法相同的優(yōu)化器和損失函數(shù)??偟螖?shù)為4萬次,學(xué)習(xí)率為0.000 05,批次大小設(shè)置為32。
3.2.1 在H3.6M數(shù)據(jù)集上的實驗結(jié)果
短期運動預(yù)測(預(yù)測500 ms 以內(nèi)的未來姿勢):將本文算法MG-GNN與其他算法在H3.6M數(shù)據(jù)集上預(yù)測400 ms運動的結(jié)果進(jìn)行比較。結(jié)果如表1和表2所示。首先可以看出在H3.6M 數(shù)據(jù)集上的所有動作的短期運動預(yù)測誤差均值在160 ms、320 ms、400 ms均好于其他算法,且在H3.6M 數(shù)據(jù)集的4類代表性動作“散步”“進(jìn)食”“吸煙”“討論”上的運動誤差均值如圖9 所示,這4 類代表性動作的預(yù)測結(jié)果可視化如圖10 所示;其次從表1 中可以看出:MG-GNN 與基線DMGNN相比,由于使用的多距離分區(qū)策略豐富了網(wǎng)絡(luò)對于身體各部分關(guān)節(jié)點之間的信息的提取,使得MG-GNN 除了與基線相同的在局部周期性行為“進(jìn)食”“吸煙”方面的預(yù)測良好之外,在“散步”上也獲得了很低的MAE;最后由于加入全局自適應(yīng)注意力,有效提取了對某一項運動有貢獻(xiàn)的時空中的其他關(guān)節(jié)點信息,使得MG-GNN 在非周期性的行為“討論”上取得了較原算法更精確的預(yù)測。
表1 不同方法在H3.6M數(shù)據(jù)集上短期運動預(yù)測的MAE比較Table 1 MAE comparison of short-term motion prediction on H3.6M dataset by different methods
表2 不同方法在H3.6M數(shù)據(jù)集的其他11個動作類上的短期運動預(yù)測的MAE比較Table 2 MAE comparison of short-term motion prediction on other 11 action classes of H3.6M dataset by different methods
圖9 H3.6M數(shù)據(jù)集上不同模型的平均角度誤差Fig.9 Mean angular error of different models on H3.6M dataset
圖10 H3.6M數(shù)據(jù)集的4類代表性動作的短期預(yù)測可視化結(jié)果Fig.10 Short-term prediction qualitative results of 4 representative actions on H3.6M dataset
但是結(jié)果與其他算法相比仍不夠精確,由于此模型對于非周期性運動的預(yù)測需要在更長時間序列上得出較為精確的預(yù)測,表3 證實了這一想法。表2給出了MG-GNN與一些具有代表性的方法和最新的方法在H3.6M 數(shù)據(jù)集中剩余的11 類動作的比較,結(jié)果表明MG-GNN在大多數(shù)動作類中能夠達(dá)到較精確的預(yù)測,而在“討論”“購買”“拍照”短期動作上表現(xiàn)不盡如人意。原因在于這些非周期動作,在時間軸上的變化大,基線網(wǎng)絡(luò)和本文新提出的網(wǎng)絡(luò)中都沒有在時序方面的增強機制,導(dǎo)致在這些動作上表現(xiàn)較差。
表3 不同方法在H3.6M數(shù)據(jù)集上長期運動預(yù)測的MAE比較Table 3 MAE comparison of long-term motion prediction of H3.6M dataset by different methods
長期運動預(yù)測(超過500 ms 的未來姿勢):由于動作變化和非線性,長期運動預(yù)測具有很大的挑戰(zhàn)性。表3 顯示了本文算法與其他算法在H3.6M 數(shù)據(jù)集中具有代表性的4 類動作上560 ms 和1 000 ms 的預(yù)測結(jié)果。從結(jié)果首先可以看出長期運動預(yù)測在560 ms的誤差均值比其他方法都好,在1 000 ms的誤差均值也好于原始算法,但是在短期運動預(yù)測的好的結(jié)果并沒有在長期運動預(yù)測中延續(xù),MG-GNN 和DMGNN 在1 000 ms時的“散步”表現(xiàn)均不理想,這是由于在跨尺度融合塊中并未使用有利于長時依賴的時間注意力機制而導(dǎo)致的。其次在“討論”上的長期運動預(yù)測表現(xiàn)比短期運動預(yù)測的結(jié)果好,這一結(jié)果說明對于非周期性運動的預(yù)測在較長時間中會獲得更好的結(jié)果。
3.2.2 在CMU數(shù)據(jù)集上的實驗結(jié)果
在CMU 數(shù)據(jù)集中挑選的8類動作上進(jìn)行了短期和長期運動預(yù)測,并與其他算法進(jìn)行了比較,結(jié)果如表4 所示。與不同運動預(yù)測模型在不同預(yù)測時間的所有運動的平均預(yù)測誤差趨勢如圖11 所示。從結(jié)果首先可以看到,MG-GNN 的長短期運動預(yù)測誤差均值在160 ms、320 ms、400 ms、1 000 ms 均好于其他算法;其次可以看出MG-GNN 在除了“跳躍”以外的動作類上都取得了良好的結(jié)果;最后可以看出在“跳躍”上MG-GNN 算法與原始算法相比預(yù)測誤差都有所下降,但是兩者均差于Traj-GCN[9]方法。是由于人體在跳躍的時候,在時空中的變化幅度較大,關(guān)節(jié)點重疊率較高,此時對于模型提取關(guān)節(jié)點的長時動作依賴要求更高。MG-GNN 算法只在提取運動特征的模塊中嵌入了全局自適應(yīng)注意力,較難勝任在時空中變化幅度較大的動作預(yù)測。
表4 不同方法在CMU數(shù)據(jù)集上的短期和長期運動預(yù)測的MAE比較Table 4 MAE comparison of short-term and long-term motion prediction of CMU dataset by different methods
圖11 CMU數(shù)據(jù)集上的不同模型的平均預(yù)測誤差Fig.11 Average prediction errors of different models on CMU dataset
3.2.3 在3DPW數(shù)據(jù)集上的實驗結(jié)果
為了驗證本文方法,在3DPW數(shù)據(jù)集上對于短期和長期運動預(yù)測的平均MAE 如表5 所示,本文所提模型在短期和長期運動預(yù)測的平均MAE均好于其他模型再次證明模型的魯棒性。
表5 不同方法在3DPW數(shù)據(jù)集上的短期和長期運動預(yù)測的平均MAE比較Table 5 Average MAE comparison of short-term and long-term motion prediction of 3DPW dataset by different methods
3.3.1 在Kinetics-skeleton數(shù)據(jù)集上的消融實驗
由于本文中的MD 策略和GaST-GCN 模塊是對動作識別網(wǎng)絡(luò)ST-GCN 的改進(jìn)部分,為了驗證改進(jìn)的效果,本文在Kinetics-skeleton 這個動作識別的常用數(shù)據(jù)集上進(jìn)行了實驗。多距離分區(qū)策略模型與其他模型在Kinetics-skeleton數(shù)據(jù)集上的性能比較見表6。從表中的數(shù)據(jù)來看,與ST-GCN[18]相比,MD 的Top-1和Top-5 分別提高了1.47 個百分點和2.01 個百分點。與原算法中使用的距離分區(qū)策略相比,Top-1 和Top-5分別提高了3.07個百分點和3.51個百分點。
表6 不同分區(qū)策略與ST-GCN模型的準(zhǔn)確性比較Table 6 Accuracy comparison of different partition strategies with ST-GCN model 單位:%
在動作識別數(shù)據(jù)集Kinetics-skeleton 上將全局自適應(yīng)注意力運用到ST-GCN 模型的時空塊的結(jié)果如圖12所示。當(dāng)采用1到2個全局自適應(yīng)注意力層時,Top-1 和Top-5 上升;當(dāng)采用3 到9 個全局自適應(yīng)注意力層時,Top-1 和Top-5 下降。故采用0 或1 個全局自適應(yīng)注意力時融合不充分,而更多的全局自適應(yīng)注意力層往往會融合多余的信息,使模型混亂。因此,在運動預(yù)測模型中,本文也使用了兩層的全局自適應(yīng)注意力。
圖12 不同GaST-GCN層數(shù)在Kinetics-skeleton數(shù)據(jù)集上的精度比較Fig.12 Accuracy comparison of different layers of GaST-GCN on Kinetics-skeleton dataset
3.3.2 在H3.6M數(shù)據(jù)集上的消融實驗
為了驗證本文設(shè)計的多距離分區(qū)策略和全局自適應(yīng)注意力在DMGNN 算法上的有效性,在H3.6M數(shù)據(jù)集的4類代表性動作上進(jìn)行短期預(yù)測和長期預(yù)測。
實驗結(jié)果如表7所示,在僅使用多距離分區(qū)策略后,DMGNN提取人體關(guān)節(jié)點特征時考慮身體部位中的關(guān)節(jié)點之間的聯(lián)系,從結(jié)果來看,在H3.6M 數(shù)據(jù)集的4 類代表性動作上的長短期預(yù)測結(jié)果略好于原算法;在僅使用全局自適應(yīng)注意力后,DMGNN 在提取人體關(guān)節(jié)點時考慮了全部有關(guān)的時空中的關(guān)節(jié)點信息,在H3.6M 數(shù)據(jù)集的4類代表性動作上的長短期預(yù)測結(jié)果略好于原算法;僅使用改進(jìn)的解碼網(wǎng)絡(luò)后,由于加強了動作狀態(tài)的傳播性能,改進(jìn)后的解碼器對于運動預(yù)測的結(jié)果略好于原算法;從表7中的模塊組合實驗結(jié)果可以看出當(dāng)3個模塊同時添加時,增強了身體部位內(nèi)部關(guān)節(jié)點間的信息以及與動作有關(guān)的全部時空中的關(guān)節(jié)點某信息,證實了所提算法的有效性。
表7 加入不同模塊網(wǎng)絡(luò)的效果Table 7 Effect of network when adding different modules
為實現(xiàn)準(zhǔn)確、魯棒的人體運動預(yù)測,提出了一種多尺度全局自適應(yīng)圖神經(jīng)網(wǎng)絡(luò)的人體運動預(yù)測算法。設(shè)計了一種多距離分區(qū)策略,可幫助網(wǎng)絡(luò)更好地提取身體關(guān)節(jié)點各部分關(guān)節(jié)點之間的聯(lián)系信息,以增強特征中的運動信息。在ST-GCN 的時空塊中嵌入全局自適應(yīng)注意力,提取對某一運動貢獻(xiàn)度高的全局關(guān)節(jié)點信息,突破ST-GCN 算法感受野的局限性。實驗表明,所提的網(wǎng)絡(luò)模型優(yōu)于當(dāng)前運動預(yù)測性能較好的算法模型。本文算法的預(yù)測速度和預(yù)測精度在短期預(yù)測“討論”“跳躍”和長期預(yù)測“散步”上仍有待提高,擬在多尺度融合塊中加入時間自適應(yīng)模塊,高效靈活地捕捉非周期性運動和長期預(yù)測的時間關(guān)聯(lián)性;擬在解碼網(wǎng)絡(luò)的GRU 中加入軟注意力機制,通過選擇性地忽略部分信息來對其余信息進(jìn)行重加權(quán)聚合計算,提高網(wǎng)絡(luò)對非周期性運動和長期運動的預(yù)測能力。同時收集更多運動預(yù)測的數(shù)據(jù)集,以便進(jìn)行更全面的訓(xùn)練和預(yù)測,進(jìn)一步提高算法的預(yù)測效果。