廖聯(lián)軍,鐘重陽,張智恒,胡磊,張子豪,夏時洪*
1. 中國科學(xué)院計算技術(shù)研究所, 北京 100190; 2. 中國科學(xué)院大學(xué),計算機科學(xué)與技術(shù)學(xué)院, 北京 100049;3. 北方工業(yè)大學(xué)信息學(xué)院, 北京 100144
3維人體姿態(tài)估計是計算機視覺中的一個基本問題和重要任務(wù)之一,有著非常廣泛的應(yīng)用。在游戲互動領(lǐng)域,人體姿態(tài)估計進一步提升了人機交互的可能,為體感游戲等提供了技術(shù)基礎(chǔ);在數(shù)字娛樂領(lǐng)域,人體姿態(tài)估計通過賦能電商行業(yè),在虛擬試衣、數(shù)字主播等新興領(lǐng)域發(fā)揮著不可或缺的作用。
一般方法采用RGB圖像作為3維人體姿態(tài)估計的輸入。與RGB圖像相比,深度圖或點云作為3維人體姿態(tài)估計的輸入具有以下優(yōu)勢:1)深度圖作為一種2D數(shù)據(jù),能夠有效地表示3D的空間信息,從而使人體姿態(tài)估計結(jié)果具有尺度正確性;2)點云質(zhì)量一般不隨環(huán)境光照的變化而變化,使點云具有更廣泛的應(yīng)用前景,例如在不同光照條件下的室內(nèi)增強現(xiàn)實;3)點云不包含人體紋理信息,可以在有效捕獲人體運動的同時保護個人隱私。
雖然3維人體姿態(tài)估計已經(jīng)取得很大進展,但仍然存在一些挑戰(zhàn)。由于遮擋和自遮擋引起的模糊性,以及深度相機生成的點云帶有噪聲,使得3維人體姿態(tài)估計任務(wù)比較困難?,F(xiàn)有的基于深度圖像的方法主要集中在單幅圖像的姿態(tài)估計。由于缺乏時域平滑度的強制約束,現(xiàn)有方法在連續(xù)點云序列上可能會產(chǎn)生抖動偽影。
為解決上述問題,觀察到使用點云序列作為輸入有助于增強人體姿態(tài)預(yù)測的時間一致性,本文利用了點云序列的時序先驗知識可以得到更好的人體姿態(tài)估計結(jié)果。針對遮擋和自遮擋引起的模糊性造成的困難,考慮到遮擋及自遮擋在實際情況中一般不會一直存在,本文方法利用輸入點云序列提取供時序上的約束,可以使生成的結(jié)果更加合理。
時序的約束主要體現(xiàn)在兩方面。1)使用長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM),在特征層面上構(gòu)建當前幀的特征與前序特征的關(guān)聯(lián);2)引入一致性損失函數(shù),約束各關(guān)節(jié)的速度變化,以緩解遮擋及自遮擋造成的估計困難。
人體姿態(tài)估計與運動預(yù)測密切相關(guān),然而關(guān)于3維人體姿態(tài)估計與運動預(yù)測是否能相互促進,目前還鮮有研究。本文提出一種從點云序列估計3維人體姿態(tài)的方法,如圖1所示。該方法以深度圖序列中的點云作為輸入,估計3維人體姿態(tài)和預(yù)測后續(xù)人體運動。受基于單幀深度圖的算法框架(Zhang等,2020)的啟發(fā),本文設(shè)計了一個以點云序列為輸入的兩階段人體姿態(tài)估計算法。首先,從深度圖中提取2維姿態(tài)信息,從而剔除背景和抽取姿態(tài)相關(guān)點云。然后,通過層次化網(wǎng)絡(luò)PointNet++(Qi 等,2017b)和長短期記憶(LSTM)層對姿態(tài)相關(guān)點云序列的時空特征進行編碼,并采用多任務(wù)網(wǎng)絡(luò)聯(lián)合求解人體姿態(tài)估計和運動預(yù)測問題。為了利用大量的更容易獲取的帶2D人體姿態(tài)標注的數(shù)據(jù)集,本文采用弱監(jiān)督學(xué)習(xí)的方法,以點云序列作為輸入,由2維關(guān)節(jié)監(jiān)督以減少模糊性。實驗結(jié)果表明,本文方法是有效的,在ITOP(invariant-top view dataset)和NTU-RGBD數(shù)據(jù)集上都能有效地達到先進的性能。
圖1 本文方法示意圖Fig.1 An illustration of our method
本文工作的主要貢獻如下:1)提出一種從序列點云估計3維人體姿態(tài)的方法。這是首次利用時間信息構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)求解基于深度信息的3維人體姿態(tài)估計問題。與現(xiàn)有的先進方法相比,該方法能獲得更好、更平滑的人體姿態(tài)估計結(jié)果。2)對人體姿態(tài)估計任務(wù)和運動預(yù)測任務(wù)采用聯(lián)合訓(xùn)練策略,并驗證了兩個任務(wù)之間可以相互促進。3)本文方法在ITOP和NTU-RGBD數(shù)據(jù)集上取得了先進的3維人體姿態(tài)估計性能,實驗從定性和定量兩方面驗證了這一點。
當前方法主要采用生成式方法,先估計2維人體姿態(tài),然后利用它估計3維人體姿態(tài)。具有代表性的工作(Martinez等,2017)使用高效的堆疊沙漏模型(Newell等,2016)估計2維人體姿態(tài),然后用一組線性層將2維姿態(tài)提升到3維人體姿態(tài)。然而,該方法的性能依賴于2維姿態(tài)估計的魯棒性?;谏疃葓D的3維人體姿態(tài)估計,最新的方法大多基于深度圖的表示方式(Chang等,2018;Zhang等,2020)。Chang等人(2018)將深度圖視為點云,并將其轉(zhuǎn)換為3維體素網(wǎng)格,然后使用3維CNN估計3維人體姿態(tài)。然而,這種方法需要事先剔除背景點云。Zhang等人(2020)提出使用一種混合的2D/3D深度圖表示方法,并采用類生成式方法。首先估計2維人體姿態(tài),利用它進行點云采樣,然后用神經(jīng)網(wǎng)絡(luò)PointNet提取姿態(tài)內(nèi)嵌特征,進而估計3維人體姿態(tài)。該方法對背景的變化具有很強的魯棒性,但其基于連續(xù)幀生成的結(jié)果可能會有抖動現(xiàn)象。Wang等人(2021)提出一個生成式深度學(xué)習(xí)網(wǎng)絡(luò),工作重點在于通過循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)生成不同的人體運動,同時可以對生成運動的軌跡、速度等進行控制。Li等人(2019)也采用兩階段方法進行3D人體姿態(tài)求解,與本文工作不同,該工作主要解決從彩色圖像估計3D人體姿態(tài)問題,其兩階段方法重點在于預(yù)估計和估計優(yōu)化。Zhou等人(2020)提出一種用于3維姿態(tài)估計的深度人體姿態(tài)網(wǎng)絡(luò),以單個深度圖的點云數(shù)據(jù)作為輸入,主要通過閾值的方式,從場景點云中獲取人體相關(guān)的點云,該方法存在的問題是適用的場景較為固定,一旦場景發(fā)生改變,設(shè)定的閾值往往不再有用。與本文方法相比,該方法在相同數(shù)據(jù)集上的平均準確率和均關(guān)節(jié)誤差等關(guān)鍵指標上的結(jié)果明顯較低。
基于視頻的3維人體姿態(tài)估計方法可以分為兩類。第1類(Dabral等,2017;Lee等,2018;Lin等,2017;Hossain和Little,2018)利用后續(xù)若干幀的時序信息使估計結(jié)果更加平滑。Lin等人(2017)提出一種多階段序列細化網(wǎng)絡(luò)估計3維人體姿態(tài)序列,先逐幀估計3維姿態(tài),然后使用多級遞歸網(wǎng)絡(luò)對結(jié)果進行細化。Dabral等人(2017)使用全連接網(wǎng)絡(luò)優(yōu)化粗略的輸入姿態(tài)。Hossain和Little(2018)使用時序一致的2D姿態(tài)估計3D姿態(tài)序列,網(wǎng)絡(luò)由帶有LSTM單元的序列到序列網(wǎng)絡(luò)(sequence-to-sequence network)組成,在訓(xùn)練過程中利用時間約束對訓(xùn)練結(jié)果進行平滑處理。Lee等人(2018)也使用LSTM單元,在第1個LSTM單元中創(chuàng)建3D人體姿態(tài)的種子關(guān)節(jié),在其余LSTM單元中重建3D人體姿態(tài)。第2類(Dabral等,2017;Kanazawa等,2019;Pavllo等,2019;Hossain和Little,2018)是向前查看若干幀的方式使用時序信息,并從序列中提取時間相關(guān)特征。Kanazawa等人(2019)設(shè)計了一個半監(jiān)督算法流程,從視頻中學(xué)習(xí)3D人體運動,利用2維人體姿態(tài)估計方法提取每幀特征,并將其與時間編碼器相結(jié)合,預(yù)測3維人體姿態(tài)和體形參數(shù),但這種方法難于處理遮擋和多人交互問題。Pavllo等人(2019)提出一種有效的全卷積結(jié)構(gòu),利用時間卷積估計視頻中的3維人體姿態(tài)。
早期的研究使用傳統(tǒng)的機器學(xué)習(xí)方法如高斯混合模型(Min等,2009)和雙線性時空基模型(Akhter等,2012)來建模人體運動序列中當前時刻的前序運動和后序運動之間的關(guān)系。隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,利用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和LSTM等神經(jīng)網(wǎng)絡(luò)的研究取得了進展(Bütepage等,2017;Fragkiadaki等,2015;Zhou等,2018)。Zhou等人(2018)提出一種稱為自動調(diào)節(jié)RNN的訓(xùn)練機制,使用網(wǎng)絡(luò)輸出的結(jié)果和真值序列作為下一階段的輸入。Bütepage等人(2017)利用一個具有瓶頸的全連接網(wǎng)絡(luò),基于給定的幀窗口預(yù)測未來姿態(tài)。
Zhang等人(2019)提出一種直接使用人體運動視頻作為輸入并預(yù)測人體未來運動的方法,逐幀提取姿態(tài)相關(guān)特征,并使用與Kanazawa等人(2019)的工作類似的時序編碼器。為了預(yù)測未來運動,在中間的隱空間上使用了自回歸模型。與Kanazawa等人(2019)的工作相比,本文在隱空間中也使用LSTM單元,不同的是本文方法使用深度圖序列代替彩色圖像序列進行姿態(tài)估計。
近年來,對點云、網(wǎng)格模型等3維物體處理的3維深度學(xué)習(xí)的研究取得了很大進展,尤其是點云表示出了較高的效率和卓越性能。
基于點云的3維深度學(xué)習(xí)方法主要以點云作為輸入,可以從輸入點云坐標和其他如表面法向等信息中提取特征。這些方法最初是為點云分割或分類任務(wù)設(shè)計的(Li等,2018;Qi等,2017a,b),另有一些工作使用點云學(xué)習(xí)方法來完成目標檢測任務(wù)(Qi 等,2019;Zhou和Tuzel,2018)。Qi等人(2017b)提出一種端到端網(wǎng)絡(luò)PointNet,使用點坐標和曲面法向作為輸入,并使用多層感知機將其映射到更高維空間。但是,PointNet不能捕獲局部結(jié)構(gòu)。其后續(xù)工作PointNet++(Qi等,2017b)中,進一步使用分區(qū)采樣模塊,并遞歸地將輸出反饋給該模塊。另外,Qi等人(2018)提出利用2維信息加速基于混合相機的3維檢測,通過減少網(wǎng)絡(luò)處理的點云量,獲得了較好的時間效率。
本文方法與現(xiàn)有方法的主要區(qū)別體現(xiàn)在兩方面。1)提出一個新的從點云序列估計3維人體姿態(tài)的方法,并提出姿態(tài)一致性損失函數(shù)來約束姿態(tài)估計結(jié)果更平滑;2)本文網(wǎng)絡(luò)遵循多任務(wù)框架,并使用聯(lián)合訓(xùn)練策略來估計當前人體姿態(tài)和預(yù)測未來人體運動。
本文提出一種兩階段的算法,求解從深度圖像或點云序列估計3維人體姿態(tài)的問題,如圖2所示。第1階段為點云提取階段,目的是從輸入的深度圖序列中提取姿態(tài)相關(guān)點云序列,通過2D關(guān)節(jié)獲得下采樣的姿態(tài)相關(guān)點云;第2階段為姿態(tài)編碼階段,進一步對時空信息進行編碼,提取姿態(tài)相關(guān)點云序列的時空特征,聯(lián)合學(xué)習(xí)3維人體姿態(tài)估計和運動預(yù)測任務(wù),估計3維人體姿態(tài)序列。
圖2 3維人體姿態(tài)估計網(wǎng)絡(luò)Fig.2 Our 3D human pose estimation network
點云提取階段主要目的是對網(wǎng)絡(luò)關(guān)注的點云進行重采樣。眾所周知,原始深度圖中含有大量的冗余點,這可能會增加計算量、降低估計精度。點云提取階段大致可分為兩部分,即2維姿態(tài)檢測和姿態(tài)相關(guān)點云抽取及其歸一化。
1)2維姿態(tài)估計。本文采用Zhang等人(2020)的方法獲得2維人體姿態(tài)。在訓(xùn)練過程中,使用堆疊沙漏模型(Newell等,2016)作為2維姿態(tài)估計的網(wǎng)絡(luò)結(jié)構(gòu)。損失函數(shù)定義為預(yù)測熱力圖與2維姿態(tài)生成的真值熱力圖之間的L2距離。
2)姿態(tài)相關(guān)點云提取及其規(guī)范化。估計的2維姿態(tài)可以用來指導(dǎo)姿態(tài)相關(guān)采樣點云的提取以恢復(fù)3維人體姿態(tài)。為了確保規(guī)范化后的序列點云尺度相同,所有點云必須基于固定邊界框執(zhí)行點云規(guī)范化。逐幀處理深度圖檢測2維關(guān)節(jié),裁剪檢測到的2維關(guān)節(jié)的邊界框,以2維根關(guān)節(jié)為中心提取N個局部塊。通過在2維邊界框內(nèi)簡單地乘以深度相機的內(nèi)參矩陣,獲得點云。然后,本文使用平均3維邊界框來規(guī)范點云序列。此過程具體為
(1)
姿態(tài)編碼階段的目標是對姿態(tài)相關(guān)點云序列進行編碼,學(xué)習(xí)3維人體姿態(tài)。圖3顯示了姿態(tài)編碼階段的網(wǎng)絡(luò)結(jié)構(gòu),主要由姿態(tài)相關(guān)特征提取和時間信息編碼的LSTM單元兩部分組成。首先,將每一幀的采樣點云送入層次化網(wǎng)絡(luò)PointNet++提取姿態(tài)相關(guān)特征。然后,利用長短期記憶(LSTM)網(wǎng)絡(luò)對姿態(tài)相關(guān)特征進行時間特征建模、3維人體姿態(tài)估計和3維運動預(yù)測。圖3中展示了不同任務(wù)的損失函數(shù),L3D、L2D、Lc和Lp分別表示3維關(guān)節(jié)損失、2維關(guān)節(jié)損失、一致性損失和運動預(yù)測損失。
圖3 姿態(tài)編碼階段的網(wǎng)絡(luò)架構(gòu)Fig.3 The network architecture of our pose encode stage
2.2.1 網(wǎng)絡(luò)結(jié)構(gòu)
2)時序信息處理。本文使用長短期記憶網(wǎng)絡(luò)(LSTM)在特征層面上構(gòu)建當前幀的特征與前序特征的關(guān)聯(lián)。得到姿態(tài)相關(guān)特征后,在相鄰幀的特征之間加入遞歸連接,訓(xùn)練LSTM模塊Fe:(φt-r,…,φt,…,φt+r)→qt學(xué)習(xí)高階時間依賴,其中,r是時間感受野的長度。由于本文的研究重點是姿態(tài)估計和姿態(tài)預(yù)測,所以使用t幀之前的序列數(shù)據(jù)來保證一致性。如圖3所示,提取連續(xù)幀的特征并將其反饋送入LSTM模塊。對于第1級LSTM,本文使用隨機生成的向量作為輸入狀態(tài),對于后續(xù)LSTM模塊,傳遞當前特征作為下一級的隱藏狀態(tài)。為了預(yù)測最終的3維姿態(tài),首先利用深度圖像對應(yīng)的內(nèi)參矩陣將所估計的2維關(guān)節(jié)q2d反投影到3維空間,計算出初始的3維姿態(tài)。然后在LSTM模塊的輸出端使用一個全連接層來學(xué)習(xí)初始姿態(tài)的偏移量,將其與初始3維姿態(tài)相加,得到最終的3維姿態(tài)。
具體的時序處理如圖4所示,采用LSTM模塊,利用短時隱變量和長時隱變量,在特征層面上構(gòu)建當前幀的特征與前序特征的關(guān)聯(lián)。對于輸入的深度圖像序列,首先利用上文姿態(tài)相關(guān)特征提取階段所用的PointNet++網(wǎng)絡(luò)對深度圖像逐一進行特征提取,得到姿態(tài)相關(guān)的點云特征ft后,將其輸入到時序處理網(wǎng)絡(luò)LSTM中,LSTM可以看做是循環(huán)神經(jīng)網(wǎng)絡(luò)RNN的改進版本,不僅可以提取序列的短時間關(guān)系,還能綜合序列的長時間依賴對輸出進行預(yù)測。以往的工作表明,LSTM網(wǎng)絡(luò)能夠處理網(wǎng)絡(luò)訓(xùn)練時梯度消失的問題,從而更加便于模型的收斂。因此,對于基于深度圖的人體姿態(tài)序列估計及運動預(yù)測問題,LSTM網(wǎng)絡(luò)十分適合。如圖4所示,LSTM網(wǎng)絡(luò)模塊具有兩個隱變量ht和ct,其中,ht用來傳遞短時間的依賴,而ct則刻畫長時間的時序聯(lián)系。針對時刻t,通過PointNet++提取姿態(tài)相關(guān)點云特征將會穿越幾個“門”來計算出當前時刻的隱變量ht和ct,圖4中LSTM內(nèi)部(綠色圓角矩形)帶有符號δ的3個操作從左至右分別表示輸入門、遺忘門和輸出門,各門的輸出分別用符號it、jt和ot表示,其計算為
(2)
式中,W表示網(wǎng)絡(luò)中待學(xué)習(xí)的參數(shù)矩陣,δ表示sigmoid激活函數(shù)??梢园l(fā)現(xiàn),輸入門、遺忘門和輸出門的值都是結(jié)合了當前的點云特征ft以及前一幀的短時隱變量ht-1生成的。除了3個門值以外,還有一個用tanh函數(shù)來激活的記憶細胞gt,其計算方式類似,具體為
gt=tanh(Wigft+Whght-1)
(3)
有了這4個變量便可以計算出當前幀的隱狀態(tài)ht和ct。首先,長時特征ct計算為
ct=jt⊙ct-1+it⊙gt
(4)
式中,⊙表示哈達瑪積,即矩陣對應(yīng)元素相乘。式(4)表示當前的長時隱變量是通過遺忘門值jt來遺忘一部分的過去特征ct-1,然后加上當前輸入的部分特征it得到的,同時輸入特征通過gt來選擇記憶。
得到當前時刻長時隱變量ct之后,便可計算當前的短時特征,同時也是輸出特征ht,具體為
ht=ot⊙tanh(ct)
(5)
當前時刻的LSTM隱變量ht和ct會傳遞給下一幀來維持時序上的關(guān)聯(lián),以此保證所估計的姿態(tài)具有時序性,從而提升估計和預(yù)測的精度,而ht同時也作為當前幀的LSTM輸出特征來回歸當前的姿態(tài),如圖4頂部所示。
圖4 時序處理模塊的網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 The network structure of timing processing module
2.2.2 損失函數(shù)
本文使用完全標記數(shù)據(jù)(ITOP數(shù)據(jù)集中的有效數(shù)據(jù))和弱標記數(shù)據(jù)(ITOP數(shù)據(jù)集中的無效數(shù)據(jù))訓(xùn)練網(wǎng)絡(luò)模型。對于完全標記的數(shù)據(jù),即具有3維姿態(tài)標簽的數(shù)據(jù),使用3維關(guān)節(jié)損失L3D約束網(wǎng)絡(luò)生成的姿態(tài)與真值姿態(tài)保持一致,使用2D關(guān)節(jié)損失L2D約束生成的3D姿態(tài)的投影2D姿態(tài)逼近真值2D姿態(tài)。對于弱標記數(shù)據(jù),僅使用2D關(guān)節(jié)損失L2D約束生成的3D姿態(tài)的投影2D姿態(tài)與真值2D姿態(tài)一致。除了這些單幀姿態(tài)約束外,使用了一致性損失Lc,使生成的運動序列連續(xù)、平滑。一致性損失項作用于完全標記數(shù)據(jù)和弱標記數(shù)據(jù)??偟木W(wǎng)絡(luò)損失函數(shù)為
L=Iλ3DL3D+λ2DL2D+λcLc
(6)
式中,I是激活3D關(guān)節(jié)損失項L3D的指示函數(shù),常數(shù)λ3D、λ2D和λc為權(quán)值。
1)3D關(guān)節(jié)損失。3維關(guān)節(jié)損失L3D根據(jù)估計的關(guān)節(jié)位置與真值關(guān)節(jié)位置之間的歐氏距離來計算,具體為
(7)
式中,q*是真值3維人體姿態(tài),q0是預(yù)測的初始姿態(tài),Δq是初始姿態(tài)與當前姿態(tài)之間的預(yù)測偏移量。
2)2D關(guān)節(jié)損失。利用預(yù)測關(guān)節(jié)位置的2維投影位置與真值2維關(guān)節(jié)位置之間的歐氏距離計算2維關(guān)節(jié)損失L2D,定義為
(8)
3)一致性損失。一致性損失的核心思想是變化速度和加速度在短時間內(nèi)有保持不變的傾向。因此,可以對一階和二階導(dǎo)數(shù)施加約束。一致性損失Lc由預(yù)測姿態(tài)與真值姿態(tài)的一階和二階導(dǎo)數(shù)之差計算,具體為
(9)
式中,第1項表示速度損失,第2項表示加速度。
本文利用估計的人體姿態(tài)序列,通過學(xué)習(xí)預(yù)測模型來生成將來運動。可以將這個問題描述為一個序列建模問題,利用先前的姿態(tài)序列{qt-m,…,qt}估計將來人體運動{qt+1,…,qt+n}。
在實踐中,本文構(gòu)建了從現(xiàn)有的時間感受野提取的特征{φt-m,…,φt}與隱藏空間中未來運動的特征Φt之間的映射,Φt是采用LSTM模塊Fp:(φt-m,…,φt)→Φt。然后,將特征向量Φt映射到運動偏移量ΔQt,n={δqt+1,…,δqt+n},ΔQ1,n是n個未來幀相對于初始姿態(tài)qt,0的運動偏移量,初始姿態(tài)qt,0是最近的具有全連接層的可用幀的姿態(tài)。預(yù)測的未來運動可通過疊加偏移量ΔQt,n到初始姿態(tài)qt,0獲得。
運動預(yù)測損失Lp可以通過預(yù)測關(guān)節(jié)位置和未來幀的真值關(guān)節(jié)位置之間的歐氏距離來計算,具體為
(10)
本文采用兩階段訓(xùn)練策略。第1階段只訓(xùn)練2維姿態(tài)估計模型;第2階段聯(lián)合訓(xùn)練姿態(tài)估計模型和運動預(yù)測模型。在第2階段,凍結(jié)預(yù)先訓(xùn)練好的2維姿態(tài)估計模型的參數(shù),只更新姿態(tài)估計模型和運動預(yù)測模型的網(wǎng)絡(luò)參數(shù)。為了保證當前估計姿態(tài)與未來人體運動之間的相關(guān)性和一致性,姿態(tài)估計模型和運動預(yù)測模型的LSTM模塊共享相同的參數(shù)。
觀察到本文使用的數(shù)據(jù)集中,人體姿態(tài)序列在相鄰幀中可以連續(xù)5幀以上保持穩(wěn)定。基于這一觀察,根據(jù)每個數(shù)據(jù)集的姿態(tài)穩(wěn)定情況選擇時間感受野。在實驗中,將ITOP數(shù)據(jù)集中的時間感受野設(shè)置為13,并在5幀內(nèi)預(yù)測未來運動。對于NTU-RGBD數(shù)據(jù)集,將時間感受野設(shè)置為13,并在25幀內(nèi)預(yù)測未來運動。
實驗在ITOP數(shù)據(jù)集(Haque等,2016)和NTU-RGBD數(shù)據(jù)集(Liu等,2020;Shahroudy等,2016)上進行,本文工作在訓(xùn)練中只使用了這兩種數(shù)據(jù)集。ITOP數(shù)據(jù)集構(gòu)建目的就是用于基于深度圖的3維人體姿態(tài)估計問題,有超過40 000個訓(xùn)練樣本和10 000個測試樣本,涵蓋15個日常動作。NTU-RGBD數(shù)據(jù)集主要用于動作識別問題,但包含基于深度圖和關(guān)節(jié)坐標的真值數(shù)據(jù)。NTU-RGBD數(shù)據(jù)集由800多萬幅深度圖組成,涵蓋120多種日?;顒?。然而,其3維姿態(tài)真值數(shù)據(jù)是由微軟的Kinect軟件開發(fā)工具包(Kinect software development kit)生成的,存在許多誤標記的人體關(guān)節(jié)。因此,本文手動選擇64 529個樣本進行訓(xùn)練,17 383個樣本進行測試。與ITOP數(shù)據(jù)集相比,NTU-RGBD數(shù)據(jù)集多6個關(guān)節(jié)(包含幾個手部關(guān)節(jié)),并且由于骨骼的復(fù)雜性和動作的多樣性,在姿態(tài)估計和運動預(yù)測任務(wù)中帶來更大的挑戰(zhàn)性。
為了評估人體姿態(tài)估計方法的性能,實驗同時采用定性和定量的評價方法。定量評價主要參考Zhang等人(2020)的工作,采用兩類評價指標。第1類是姿態(tài)估計方法的總體精度,包括關(guān)鍵點正確率(percentage of correct keypoints, PCK)和平均精度均值(mean average precision, mAP)。PCK值是指在給定閾值條件下檢測到的關(guān)鍵點的百分比。mAP是所有關(guān)節(jié)PCK的平均值。第2類是平均關(guān)節(jié)誤差,即估計結(jié)果與真值之間的平均誤差。定性評價采用用戶調(diào)研的方法。具體來說,要求受試者比較本文預(yù)測的未來姿態(tài)和其他方法估計的連續(xù)姿態(tài)的質(zhì)量。受試者根據(jù)預(yù)測姿態(tài)的質(zhì)量,按1-5的等級打分,然后比較這些分數(shù)的平均值和標準差。
為了研究網(wǎng)絡(luò)不同組成部分的影響,在ITOP數(shù)據(jù)集上對模型進行消融實驗,結(jié)果如圖5和表1所示。
圖5 消融實驗結(jié)果Fig.5 The results of ablation study((a) PCK by removing different terms in our method; (b) PCK result over different sequential length)
表1 消融實驗結(jié)果Table 1 The results of ablation study
1)弱監(jiān)督學(xué)習(xí)的影響。為了評估弱監(jiān)督學(xué)習(xí)對模型的影響,比較了用全標記數(shù)據(jù)訓(xùn)練的模型(全監(jiān)督學(xué)習(xí))以及用全標記和弱標記數(shù)據(jù)訓(xùn)練的模型(弱監(jiān)督學(xué)習(xí))的結(jié)果。結(jié)果如圖5(a)所示,全監(jiān)督學(xué)習(xí)訓(xùn)練的模型PCK值為87.55%,而弱監(jiān)督學(xué)習(xí)訓(xùn)練的模型PCK值為90.58%。弱監(jiān)督學(xué)習(xí)方法將模型的性能提高了約3.03%。
此外,使用不同數(shù)量的完全標記數(shù)據(jù)和固定數(shù)量的弱標記數(shù)據(jù)訓(xùn)練模型。如表2所示,用1/3全標記數(shù)據(jù)(約6 000個)和所有弱標記數(shù)據(jù)訓(xùn)練的模型mAP值為90.04%,用一半全標記數(shù)據(jù)和所有弱標記數(shù)據(jù)訓(xùn)練的模型mAP值為90.16%。實驗表明,弱監(jiān)督學(xué)習(xí)方法利用少量的全標記數(shù)據(jù)也能取得很好的效果。
2)2D關(guān)節(jié)檢測的效果。為了評估2D關(guān)節(jié)檢測步驟的效果,移除網(wǎng)絡(luò)中2D檢測步驟,并在整個人體的粗略邊界盒上而不是各個關(guān)節(jié)的邊界盒上進行點云采樣和規(guī)范化。如圖5(a)所示,無2D關(guān)節(jié)檢測的PCK值比帶2D關(guān)節(jié)檢測的PCK值低4.24%。這些結(jié)果可以解釋為這樣一個事實,即估計的2D姿態(tài)可以引導(dǎo)網(wǎng)絡(luò)關(guān)注姿態(tài)信息更多的點云(Yao和Li,2010)。
表2 不同數(shù)量的完全標記數(shù)據(jù)和弱標記數(shù)據(jù)下的mAPTable 2 The mAP of our method with different amount of the fully labeled data and weakly labeled data
3)輸入3維點云序列的作用。為了驗證輸入點云序列的作用,設(shè)計了不同時間感受野大小的輸入點云序列實驗。如果將感受野設(shè)為1,就可得非序列點云的估計結(jié)果。如圖5(b)所示,當感受野設(shè)置為1時,PCK結(jié)果下降到88.57%的最低值,隨著感受野從1增加到5,PCK值增加,感受野大于13時,PCK值逐漸穩(wěn)定。因此,實驗中感受野選為13,以在模型質(zhì)量與模型大小之間取得平衡。
4)一致性損失的影響。為了評估一致性損失的影響,比較了去除一致性損失后的實驗結(jié)果。從實驗結(jié)果可以觀察到一致性損失提高了預(yù)測的人體姿態(tài)序列的平滑度。
5)未來運動預(yù)測的結(jié)果。進行實驗驗證本文預(yù)測方法的魯棒性。如表1所示,在10 cm閾值下,平均精度均值mAP為76.69%,達到了高質(zhì)量的運動預(yù)測性能。定性實驗結(jié)果如圖6所示。
6)人體姿態(tài)估計和運動預(yù)測的多任務(wù)訓(xùn)練。
圖6 運動預(yù)測的定性結(jié)果Fig.6 The qualitative results of our motion prediction((a) ground truth human pose sequences;(b) our predicted motion sequences)
為了驗證聯(lián)合訓(xùn)練方法的有效性,針對姿態(tài)估計和運動預(yù)測進行單任務(wù)模型訓(xùn)練實驗。如表1所示,聯(lián)合訓(xùn)練法的平均精度均值mAP值高于單任務(wù)訓(xùn)練方法。因此,聯(lián)合訓(xùn)練策略有助于提高整體性能。
在ITOP和NTU-RGBD數(shù)據(jù)集上,將本文方法與其他最新方法如V2V-PoseNet(voxel-to-voxel prediction network)(Chang等,2018)、視點不變方法(viewpoint invariant method,VI)(Haque等,2016)、推理嵌入(inference embedded)方法(Wang等,2016)和弱監(jiān)督對抗學(xué)習(xí)方法(weakly supervised adversarial learning methods,WSM)(Zhang等,2020)進行比較,結(jié)果如表3、表4和圖7所示。
表3 不同方法在ITOP數(shù)據(jù)集上的mAP值比較Table 3 Comparison of joint mAP of different methods on ITOP dataset /%
表4 不同方法在NTU-RGBD數(shù)據(jù)集上的mAP值比較Table 4 Comparison of joint mAP of different methods on NTU-RGBD dataset /%
在ITOP數(shù)據(jù)集上,設(shè)閾值為10 cm,本文方法的mAP值比WSM、VI和推理嵌入方法分別高0.99%、13.18%和17.96%,平均關(guān)節(jié)誤差比VI、推斷嵌入方法、V2VPoseNet和WSM分別低3.33 cm、5.17 cm、1.67 cm和0.67 cm。實驗結(jié)果表明,本文方法優(yōu)于其他最新方法。性能提高可能是由于序列數(shù)據(jù)作為輸入和運動參數(shù)(如速度和加速度)的約束。首先,通過LSTM單元對序列數(shù)據(jù)進行編碼,使模型預(yù)測也能有效對序列數(shù)據(jù)進行建模,得到更平滑的預(yù)測,提高估計性能。其次,運動參數(shù)可以消除隨機采樣引起的抖動,對關(guān)節(jié)坐標進行直接監(jiān)督。
在NTU-RGBD數(shù)據(jù)集上,閾值設(shè)為10 cm,本文方法的mAP值比Zhang等人(2020)的WSM高7.03%。
圖7為實驗結(jié)果的定量比較。從圖7(a)可以看出,本文方法的PCK值高于其他方法。圖7(b)為不同方法的關(guān)節(jié)誤差對比,顯然,本文方法各關(guān)節(jié)誤差明顯低于其他方法。圖8為關(guān)節(jié)軌跡的定性比較,給出了關(guān)節(jié)軌跡真值、本文方法和WSM方法的實驗結(jié)果??梢钥闯觯疚姆椒梢垣@得更穩(wěn)定的關(guān)節(jié)軌跡,比WSM方法更接近真值。圖9為本文方法在ITOP和NTU-RGBD數(shù)據(jù)集上的定性評估結(jié)果。
圖7 不同方法實驗結(jié)果的定量比較Fig.7 Comparison of quantitative results of different methods((a) PCK value of different methods; (b) joint error of different methods)
圖8 運動序列中左肘關(guān)節(jié)軌跡的比較Fig.8 Comparison of trajectories of the left elbow joint in a motion sequence
圖9 本文方法在ITOP和NTU-RGBD數(shù)據(jù)集上的定性評估結(jié)果Fig.9 Qualitative evaluation results of our method on ITOP dataset and NTU-RGBD dataset((a) ITOP dataset;(b) NTU-RGBD dataset)
為了評估3維人體姿態(tài)估計結(jié)果和預(yù)測結(jié)果的質(zhì)量,特別是結(jié)果的逼真度和平滑度,采用用戶調(diào)研方法。邀請40名不同背景、職業(yè)和性別的用戶,對本文方法的估計姿態(tài)和預(yù)測運動結(jié)果分別與真值姿態(tài)和WSM(Zhang等,2020)生成的結(jié)果進行比較。對于每一個用戶,隨機抽取5個運動序列,對于每個運動序列,以隨機順序顯示真值姿態(tài)、本文方法的結(jié)果和WSM的結(jié)果。要求用戶提供運動逼真程度的分值。分值從1(表示“最不逼真”)到5(表示“最逼真”)。然后計算各運動序列的平均得分和標準差。用戶調(diào)研結(jié)果如圖10所示。用戶調(diào)研表明,本文方法生成的運動比WSM更逼真。即使真值有偽影,本文方法也可以產(chǎn)生合理的結(jié)果。用戶調(diào)研也驗證了序列信息的約束可以提高模型的整體性能。實驗要求用戶對運動預(yù)測結(jié)果的逼真度進行評分,如圖10所示,本文預(yù)測方法能夠在給定先前運動序列的情況下產(chǎn)生合理的結(jié)果。
圖10 用戶調(diào)研結(jié)果Fig.10 Comparison with user study
本文提出了一種從序列點云獲得高保真3維人體姿態(tài)的有效方法。采用弱監(jiān)督學(xué)習(xí)方法,能夠使用更易于獲得的訓(xùn)練數(shù)據(jù),并且該模型對訓(xùn)練數(shù)據(jù)的不同層級標注具有魯棒性。實驗表明,本文提出的基于人體姿態(tài)估計的3維人體運動預(yù)測方法在兩個真值數(shù)據(jù)集上都能達到先進的性能。本文方法可以應(yīng)用于需要高質(zhì)量人體姿態(tài)的場景,如運動重定向和虛擬試衣。本文工作將促進對以序列數(shù)據(jù)作為輸入的相關(guān)研究。
本文重點探索了針對相同流形空間上的特征向量,同時進行人體姿態(tài)估計與人體運動預(yù)測兩個任務(wù)的可能性。實驗表明,兩個任務(wù)經(jīng)過聯(lián)合優(yōu)化求解,有互相促進的作用。該方法不僅驗證了本文的推測,還給后續(xù)的人體姿態(tài)估計任務(wù),提供了提高模型精度的新思路。
本文工作雖然取得了令人鼓舞的成果,但還有待進一步完善。由于使用數(shù)據(jù)集的局限性,本文運動預(yù)測模塊主要集中在站立時的人體運動。所以當預(yù)測像跑步這樣的快速運動時,性能變化并不是那么明顯。如何有效處理各種類型的運動預(yù)測是今后的工作。