薛佳偉,孔韋韋,2,3,4,王 澤
1.西安郵電大學(xué),西安 710121
2.陜西省網(wǎng)絡(luò)數(shù)據(jù)分析與智能處理重點(diǎn)實(shí)驗(yàn)室,西安 710121
3.桂林電子科技大學(xué),廣西 桂林 541004
4.廣西可信軟件重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004
手勢(shì)交互是人類與外界交互的最直接有效的方式之一,伴隨著計(jì)算機(jī)技術(shù)的發(fā)展,人機(jī)交互的需求增長(zhǎng)迅速,隨之而來的是面對(duì)計(jì)算機(jī)時(shí),人類如何能夠更加有效地傳遞自己的信息素,使得計(jì)算機(jī)更加精確地理解需求。在交互手段上,除開語音系統(tǒng)外,肢體相關(guān)的語言也是極為有效的方式,對(duì)于手勢(shì)的交互研究也就有了充足的應(yīng)用前景。在實(shí)際任務(wù)中,AR/VR 等人機(jī)交互對(duì)于捕捉手部的運(yùn)動(dòng)有著嚴(yán)苛的精度和速度要求,在理想狀態(tài)下,此類手部動(dòng)作捕捉設(shè)備應(yīng)該實(shí)時(shí)同步用戶的動(dòng)作并直接向計(jì)算機(jī)反饋記錄相關(guān)數(shù)據(jù),并且在保證精度和速度的情況下,能夠降低相關(guān)設(shè)備的需求,比如僅使用單個(gè)RGB 相機(jī)來降低成本和功耗,以便拓寬設(shè)備的使用范圍和實(shí)現(xiàn)對(duì)用戶平臺(tái)的下沉,更進(jìn)一步地應(yīng)該能夠預(yù)測(cè)關(guān)節(jié)之間的角度和關(guān)聯(lián)性,使得其可以更加直接地應(yīng)用在計(jì)算機(jī)視覺、AR、VR等常見應(yīng)用,提升設(shè)備的泛用性和之后針對(duì)其數(shù)據(jù)結(jié)果進(jìn)行二次開發(fā)的便捷性。但是由于單目相機(jī)本身存在的諸如無法探測(cè)景深、數(shù)據(jù)收集范圍不足等局限性,以及實(shí)際環(huán)境中出現(xiàn)的自遮擋,手部的復(fù)雜性,快速運(yùn)動(dòng)帶來的動(dòng)態(tài)模糊,甚至于不同膚色的影響,實(shí)現(xiàn)3D 手勢(shì)交互是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。近些年來伴隨著深度學(xué)習(xí)技術(shù)的發(fā)展,手勢(shì)交互已經(jīng)取得的長(zhǎng)足的發(fā)展[1],然而,通過實(shí)際的操作與應(yīng)用,仍可以觀測(cè)到此類方法存在一定的不足。
首先,是現(xiàn)有的方法在數(shù)據(jù)集選擇和處理上的不完善性,由于收集具有3D 注釋的真實(shí)人手圖像往往需要利用立體相機(jī)[2]或者景深相機(jī)[3],設(shè)備的局限性妨礙了大規(guī)模地收集不同數(shù)據(jù),而其他數(shù)據(jù)集諸如合成數(shù)據(jù)集[4],也因?yàn)闃?biāo)注問題和不同領(lǐng)域之間的壁障不同而沒辦法很好地映射至真實(shí)圖像,與之相對(duì)應(yīng)的是各類形態(tài)迥異的具有標(biāo)注的2D手勢(shì)數(shù)據(jù)集[5]百花齊放,數(shù)據(jù)量大并且容易獲得。然而此類數(shù)據(jù)集幾乎無法映射至3D模型,由于維度的局限性使得其在3維空間實(shí)現(xiàn)交互的效果很差。與此同時(shí),基于數(shù)據(jù)手套[6],或者3D 掃描儀的手部動(dòng)作捕捉設(shè)備所產(chǎn)生的數(shù)據(jù)集也因?yàn)槠湓O(shè)備的壁壘和底層獲取原理的不同而無法應(yīng)用來學(xué)習(xí)從圖像到手部姿態(tài)的映射。
其次,此前大多數(shù)方法將主要工作集中于預(yù)測(cè)在3維空間中3D關(guān)節(jié)位置[7-9]。獲取到的關(guān)節(jié)點(diǎn)的位置能夠完成大多數(shù)應(yīng)用場(chǎng)景需求,但這種僅僅輸出的位置信息并不能夠完全勝任高精度的設(shè)計(jì)需求,例如在計(jì)算機(jī)圖形中制作手部網(wǎng)格模型的動(dòng)畫,高精度機(jī)械手的模擬,其不僅僅需要位置信息,還需要關(guān)節(jié)之間的旋轉(zhuǎn)度以及預(yù)測(cè)相關(guān)動(dòng)作行為等。在現(xiàn)行環(huán)境下,針對(duì)此類問題,文獻(xiàn)[10-11]通過將運(yùn)動(dòng)學(xué)手模型擬合到稀疏預(yù)測(cè)來克服該問題。但是這不僅針對(duì)不同情況需要設(shè)計(jì)復(fù)雜的能量函數(shù),并且即便是如此代價(jià)高昂的迭代優(yōu)化方式也無法避免可能存在的局部收斂問題。文獻(xiàn)[12-13]直接從RGB圖像中回歸關(guān)節(jié)角度。但是由于缺乏與關(guān)節(jié)旋轉(zhuǎn)注釋配對(duì)的訓(xùn)練圖像,它們都以弱監(jiān)督的方式(使用可微分的運(yùn)動(dòng)學(xué)函數(shù)和3D/2D位置損失)進(jìn)行訓(xùn)練。因此,不能保證姿勢(shì)在解剖學(xué)上的正確性。
基于此類問題,本文提出了一種實(shí)時(shí)單目手部運(yùn)動(dòng)捕捉方法來實(shí)現(xiàn)3D 手勢(shì)的交互,該方法不僅可以估計(jì)2D 和3D 關(guān)節(jié)位置,同時(shí)還映射了關(guān)節(jié)之間的旋轉(zhuǎn)信息。本文方法最大化利用上述的數(shù)據(jù)模塊,包括具有2D 和/或3D 注釋的合成和真實(shí)圖像數(shù)據(jù)集以及非圖像MOCAP 數(shù)據(jù),用來獲得更加精準(zhǔn)的結(jié)果。具體來說,本文架構(gòu)主要包含兩個(gè)融合網(wǎng)絡(luò)模型,以及搭載在上的外部可選設(shè)備用以應(yīng)對(duì)各類需求,網(wǎng)絡(luò)結(jié)構(gòu)方面,本文采用的是基于RESNET50 的3D 手勢(shì)關(guān)鍵點(diǎn)檢測(cè)模型,其結(jié)構(gòu)設(shè)計(jì)可以遞增式預(yù)測(cè)2D/3D關(guān)節(jié)位置,而后續(xù)的接合網(wǎng)絡(luò)是基于逆運(yùn)動(dòng)學(xué)設(shè)計(jì)的檢測(cè)網(wǎng)絡(luò)用來記錄映射關(guān)節(jié)旋轉(zhuǎn)信息,前置網(wǎng)絡(luò)不僅將2D 關(guān)節(jié)檢測(cè)公式化為輔助任務(wù),還可以同時(shí)高效率地利用完全注釋和弱注釋圖像用以輔助后續(xù)的多任務(wù)訓(xùn)練,伴隨著訓(xùn)練和調(diào)優(yōu)改進(jìn),前置模型能夠更好地學(xué)習(xí)如何利用2D 監(jiān)督從真實(shí)圖像中提取重要特征,而預(yù)測(cè)3D 關(guān)節(jié)位置可以完全從合成數(shù)據(jù)中學(xué)習(xí)。然后,可以通過擬合參數(shù)化的手部模型來估計(jì)手的3D形狀[14]到預(yù)測(cè)的關(guān)節(jié)位置。后置網(wǎng)絡(luò)為了獲得關(guān)節(jié)旋轉(zhuǎn)預(yù)測(cè),本文設(shè)計(jì)了一種基于逆運(yùn)動(dòng)學(xué)的端到端的網(wǎng)絡(luò)模型,它通過將前置網(wǎng)絡(luò)的3D 關(guān)節(jié)預(yù)測(cè)作為輸入并回歸關(guān)節(jié)旋轉(zhuǎn)來解決逆運(yùn)動(dòng)學(xué)問題。后置網(wǎng)絡(luò)在數(shù)據(jù)高頻傳輸下預(yù)測(cè)單個(gè)前饋通道中的相關(guān)運(yùn)動(dòng)學(xué)參數(shù),竭力避免了模型存在的過擬合等問題。在設(shè)計(jì)訓(xùn)練的過程中,可以合并提供直接的Mocap 數(shù)據(jù)[15],以及提供弱位置監(jiān)督的3D關(guān)節(jié)位置數(shù)據(jù),用來學(xué)習(xí)姿態(tài)先驗(yàn)和糾正三維關(guān)節(jié)預(yù)測(cè)中的錯(cuò)誤。此外在外部搭載具有MEMC 運(yùn)動(dòng)補(bǔ)償技術(shù)的設(shè)備時(shí),可以選擇不同的訓(xùn)練方案和數(shù)據(jù)集來滿足更高精度的設(shè)計(jì)需求。本文在現(xiàn)行環(huán)境下進(jìn)行的與領(lǐng)域內(nèi)相關(guān)技術(shù)測(cè)試中均取得了優(yōu)秀的運(yùn)行成績(jī),具體來說本文的貢獻(xiàn)如下:提出了一種融合了基于深度殘差網(wǎng)絡(luò)設(shè)計(jì)的3D 手勢(shì)關(guān)鍵點(diǎn)檢測(cè)網(wǎng)絡(luò)和基于逆運(yùn)動(dòng)學(xué)的關(guān)節(jié)旋轉(zhuǎn)數(shù)據(jù)糾正網(wǎng)絡(luò)的DRIR-NET(deep residual-inverse kinematics rectify network)算法模型,實(shí)現(xiàn)了基于此模型的單目RGB攝像設(shè)備(最低設(shè)備需求)的3D手部運(yùn)動(dòng)捕捉交互建模功能。
本文模型包括兩個(gè)主要模塊。分別為前置檢測(cè)網(wǎng)絡(luò)和后置糾正網(wǎng)絡(luò),前置檢測(cè)網(wǎng)絡(luò)的主要構(gòu)成為原始圖像的輸入接口,基于Resnet50 網(wǎng)絡(luò)的特征提取模塊,以及一個(gè)結(jié)合特征圖F和熱圖H的雙卷積層架構(gòu)用以輸出編碼圖D,再經(jīng)過層連接與卷積層操作輸出位置圖L,在此基礎(chǔ)上,分別在由特征圖F和熱圖H組合的2D 關(guān)鍵點(diǎn)檢測(cè)模塊進(jìn)行2D 注釋數(shù)據(jù)的監(jiān)督,在3D 關(guān)鍵點(diǎn)檢測(cè)模塊中針對(duì)編碼圖D和位置圖L進(jìn)行3D 注釋數(shù)據(jù)監(jiān)督。最后經(jīng)由位置圖L輸出關(guān)鍵點(diǎn)圖X,并進(jìn)行初步姿態(tài)估計(jì),獲取到基本形狀。后置的糾正網(wǎng)絡(luò)的主流程是將關(guān)鍵點(diǎn)圖X通過一個(gè)全連接層糾正器結(jié)合大量的3D 注釋數(shù)據(jù)來進(jìn)行糾正操作,這是為了最大程度減少手部關(guān)鍵點(diǎn)在從二維升至三維時(shí),手部姿態(tài)不可避免地出現(xiàn)不合理形變和超出人體關(guān)節(jié)閾值的情況,在大量3D注釋數(shù)據(jù)的喂養(yǎng)以及算法優(yōu)化下獲取到核心糾正數(shù)據(jù)——針對(duì)特定關(guān)鍵點(diǎn)的旋轉(zhuǎn)角Q,最后整合前置網(wǎng)絡(luò)進(jìn)行的初步姿態(tài)估計(jì)結(jié)合基于MANO的形狀蒙皮參數(shù)β一起投入訓(xùn)練模板,將姿態(tài)逐步訓(xùn)練糾正為最佳狀態(tài),最終以端到端的方式將預(yù)測(cè)結(jié)果輸出,具體過程如圖1所示。
圖1 DRIR-NET模型總體架構(gòu)圖Fig.1 Overall architecture diagram of DRIR-NET model
DR前置網(wǎng)絡(luò)是基于Resnet50的深度殘差網(wǎng)絡(luò)來進(jìn)行設(shè)計(jì),其采用單個(gè)RGB 圖像并輸出根關(guān)節(jié)相關(guān)和歸一化尺度的3D 手部關(guān)鍵點(diǎn)預(yù)測(cè),其網(wǎng)絡(luò)架構(gòu)包含三個(gè)組成部分,特征提取器,2D 檢測(cè)器以及3D 檢測(cè)器。其以256×256的分辨率獲取到輸入圖像,并且輸出特征圖大小的為64×64×512。
對(duì)于2D手勢(shì)檢測(cè)器是基于Resnet50特征抽取之上的雙層全連接CNN 層,它獲取到前置特征圖F后經(jīng)過處理輸出對(duì)應(yīng)的21關(guān)節(jié)點(diǎn)熱圖Hj,Hj圖中每一個(gè)像素編碼記錄了該像素屬于關(guān)節(jié)j的置信度,2D 手勢(shì)檢測(cè)器是基于主線檢測(cè)的子任務(wù),熱圖Hj用來輸出2D姿態(tài)估計(jì),其可由基于真實(shí)采集的2D注釋數(shù)據(jù)監(jiān)督,因此該子任務(wù)檢測(cè)模塊可以采用絕大多數(shù)來自互聯(lián)網(wǎng)的2D注釋數(shù)據(jù)集進(jìn)行訓(xùn)練,可以極大限度地提升泛化能力,因?yàn)樵谟?xùn)練特征提取以及2D手勢(shì)檢測(cè)的期間,龐大的2D數(shù)據(jù)集可以包含更加多樣化的復(fù)雜背景數(shù)據(jù)。
3D手勢(shì)檢測(cè)器采用前置子任務(wù)完成的特征圖F和熱圖H,并且以坐標(biāo)圖L的方式來估計(jì)3D手部關(guān)鍵點(diǎn)位置,類似于文獻(xiàn)[16],對(duì)于三維空間中的每個(gè)關(guān)節(jié)點(diǎn)j,Lj和Hj,具有相同的2D分辨率,并且Lj中每個(gè)像素都追加了對(duì)各環(huán)節(jié)j的3D 坐標(biāo)編碼,極大地提升了數(shù)據(jù)的健壯性,與圖L類似地,還以同樣的方式預(yù)測(cè)了包含骨骼方向的像素編碼圖D,在3D手勢(shì)中需要這種父關(guān)節(jié)到子關(guān)節(jié)的3D向量表示來告知網(wǎng)絡(luò)運(yùn)動(dòng)鏈中的相鄰節(jié)點(diǎn)之間的關(guān)系,在3D手勢(shì)檢測(cè)器中,首先是從子任務(wù)的熱圖H和特征圖F來預(yù)測(cè)輸出增量圖D,接著經(jīng)由三圖輸入至獨(dú)立的CNN全連接層來獲取最終位置圖L,圖L和圖D由3D 注釋數(shù)據(jù)監(jiān)督。在訓(xùn)練過程中,關(guān)節(jié)j的3D 位置可以通過與熱圖Hj的最大值對(duì)應(yīng)的uv坐標(biāo)在位置圖Lj的映射關(guān)系來進(jìn)行查找。為了減輕單目設(shè)置下景深對(duì)于關(guān)節(jié)位置的不確定性影響,該預(yù)測(cè)坐標(biāo)是相對(duì)于根節(jié)點(diǎn)進(jìn)行輸出,并且參考骨骼長(zhǎng)度信息進(jìn)行歸一化(選取中指作為根關(guān)節(jié),根關(guān)節(jié)到手腕關(guān)節(jié)點(diǎn)的部分定義為參考向量)。
損失函數(shù):
包含四個(gè)術(shù)語來說明多任務(wù)學(xué)習(xí)計(jì)劃。首先,Lheat被定義為:
分別用來測(cè)算位置圖L和增量圖D之間的異同,現(xiàn)實(shí)位置圖LGT和真實(shí)增量圖DGT是通過將地面真值關(guān)節(jié)位置和骨骼方向的坐標(biāo)平鋪到熱圖的大小來構(gòu)建的,本方法側(cè)重于對(duì)熱圖最大值處的3D 預(yù)測(cè),因此才有HGT加權(quán),其中⊙為元素的矩陣積,Lreg是網(wǎng)絡(luò)權(quán)重的L2正則化器,用于防止過度擬合。在同一批次的訓(xùn)練中,所有的2D 注釋和3D 注釋數(shù)據(jù)集被聯(lián)合訓(xùn)練。在多任務(wù)方案下,前置DR模塊學(xué)習(xí)從2D標(biāo)記的圖像中預(yù)測(cè)不同真實(shí)背景下的2D手部姿勢(shì),以及從3D標(biāo)記的數(shù)據(jù)中預(yù)測(cè)相對(duì)應(yīng)的3D手部空間信息。同時(shí)如果提供了相機(jī)內(nèi)部矩陣K和參考骨長(zhǎng)度lref,根節(jié)點(diǎn)r的絕對(duì)深度zr則可以通過公式(5)來得到:
公式中,K為相機(jī)內(nèi)部的矩陣參數(shù),lref是基于MANO模型的參考骨骼長(zhǎng)度,Z表示節(jié)點(diǎn)的絕對(duì)深度。下標(biāo)·r和·w分別表示根關(guān)節(jié)和腕關(guān)節(jié)。u和v是圖像平面中的2D關(guān)節(jié)預(yù)測(cè),dw是通過前置網(wǎng)絡(luò)回歸的手腕的歸一化和根節(jié)點(diǎn)相對(duì)深度。由于zr是唯一的未知變量,可以通過公式反解得到,計(jì)算得到zr后,可以通過相機(jī)投影公式計(jì)算根節(jié)點(diǎn)相對(duì)真實(shí)空間在二維平面的全局平移量。
本文選擇MANO[17]作為手模型,由后置IR 網(wǎng)絡(luò)的輸出驅(qū)動(dòng)。形狀參數(shù)β∈?10和位姿參數(shù)θ∈?21×3可以使MANO的表面網(wǎng)格完全變形和定姿。更具體地說,β表示基于從手部關(guān)鍵點(diǎn)形狀中學(xué)習(xí)的主元,而θ表示軸角表示中的關(guān)節(jié)旋轉(zhuǎn)。其使得基準(zhǔn)模板∈?V×3在考慮姿勢(shì)重組的情況下進(jìn)行形變以針對(duì)不同情況。這里,V表示頂點(diǎn)的數(shù)量。在姿勢(shì)產(chǎn)生變化之前,基準(zhǔn)模板變形為:
其中,Bs(β)和Bp(θ)分別是手部形狀和姿勢(shì)疊加態(tài)。然后是被檢手模型M(θ,β)∈?V×3,定義為:
其中,W(·)是一個(gè)標(biāo)準(zhǔn)的線性混合蒙皮函數(shù),它采用變形模板網(wǎng)格T(θ,β)、姿勢(shì)參數(shù)θ、蒙皮權(quán)重W和姿勢(shì)關(guān)節(jié)位置J(θ)。
在形狀估計(jì)方面,由于不僅是對(duì)手部姿勢(shì)進(jìn)行感知,在此基礎(chǔ)上還思考手的形狀對(duì)于結(jié)果的影響,因此本文利用預(yù)測(cè)的關(guān)節(jié)位置來估計(jì)MANO模型的形狀參數(shù)β。由于預(yù)測(cè)是尺度歸一化的,估計(jì)的形狀只能表示相對(duì)的手形狀,例如手指與手掌的比率。通過最小化
公式(8)中,通過最小化E(β),即真實(shí)指掌參數(shù)和參考骨骼的比率,來縮小實(shí)際建模中因不合理指掌參數(shù)導(dǎo)致的模型手形變,公式右側(cè)第一項(xiàng)求解對(duì)于每個(gè)骨骼b,變形手模型lb(β)的骨骼長(zhǎng)度與其對(duì)應(yīng)參考手lref(β)的比值和預(yù)測(cè)的三維骨骼長(zhǎng)度之間差值的歐幾里德范數(shù)的平方,第二項(xiàng)用作形狀參數(shù)β的L2 正則化器,并通過λβ進(jìn)行加權(quán)來防止過度擬合。
雖然三維空間下手部關(guān)鍵點(diǎn)的位置已經(jīng)能夠詮釋手的姿勢(shì),但是伴隨復(fù)雜的背景和手部靈活性帶來的不可預(yù)測(cè)運(yùn)動(dòng),不能夠使模型在相對(duì)高效下保持良好的精度,在某些應(yīng)用相對(duì)苛刻的場(chǎng)景下無法帶來充足的結(jié)果,基于此本文采用了逆運(yùn)動(dòng)學(xué)中從關(guān)節(jié)位置推斷關(guān)節(jié)旋轉(zhuǎn)的方法,配合前置網(wǎng)絡(luò)設(shè)計(jì)了一種端到端神經(jīng)網(wǎng)絡(luò)來糾正關(guān)節(jié)節(jié)點(diǎn)。后置糾正的主要好處是:首先,本文的設(shè)計(jì)允許將MoCap 數(shù)據(jù)合并為額外的數(shù)據(jù)模式,以便在培訓(xùn)期間提供全面的監(jiān)督。這與直接從圖像回歸旋轉(zhuǎn)的方法形成了鮮明的對(duì)比[18-19],這種方法只允許弱監(jiān)督訓(xùn)練。其次,本文可以以更高的速度解決關(guān)節(jié)扭曲失真,因?yàn)榕c迭代模型擬合方法相比,本文只需要一個(gè)前饋過程就可以完成糾正。第三,本文直接從數(shù)據(jù)中學(xué)習(xí)手部姿勢(shì)先驗(yàn),使得后置糾正網(wǎng)絡(luò)可以有效糾正前置網(wǎng)絡(luò)的有噪三維預(yù)測(cè),并且關(guān)節(jié)旋轉(zhuǎn)表示本質(zhì)上是保持骨骼尺度的。前置網(wǎng)絡(luò)中相關(guān)信息可以被充分利用,使得網(wǎng)絡(luò)耦合更為緊密。
網(wǎng)絡(luò)設(shè)計(jì)方面,本文將糾正網(wǎng)絡(luò)設(shè)計(jì)為一個(gè)具有批量歸一化的7 層全連接神經(jīng)網(wǎng)絡(luò),并使用sigmoid作為激活函數(shù),但最后一層使用線性激活。將輸入的三維關(guān)節(jié)位置編碼為L(zhǎng)=[X,D,Xref,Dref]∈?4×j×3其中X 是根相對(duì)比例歸一化三維關(guān)節(jié)位置;D 是每個(gè)骨骼的方向,另外提供它作為輸入,以明確編碼相鄰關(guān)節(jié)的信息。Xref、Dref編碼有關(guān)形狀標(biāo)識(shí)的信息,并分別定義為靜止姿勢(shì)中的三維關(guān)節(jié)位置和骨骼方向。它們可以提前測(cè)量以獲得更高的精度,也可以根據(jù)前置網(wǎng)絡(luò)的預(yù)測(cè)進(jìn)行測(cè)量,糾正網(wǎng)絡(luò)的輸出是表示為四元數(shù)Q 的每個(gè)關(guān)節(jié)的全局旋轉(zhuǎn)∈?j×4,然后將其歸一化為單位四元數(shù)。之所以選用四元數(shù)而非軸腳表示是因?yàn)樵诒疚牡臄?shù)據(jù)擴(kuò)充步驟中需要更好的插值特性。此外,四元數(shù)可以轉(zhuǎn)換為旋轉(zhuǎn)矩陣應(yīng)用于損失項(xiàng)中,為了將最終姿勢(shì)應(yīng)用于MANO模型,將四元數(shù)Q 轉(zhuǎn)換回軸角度表示,然后根據(jù)公式(8)對(duì)模型進(jìn)行變形。
損失項(xiàng):損失函數(shù)由四項(xiàng)構(gòu)成,如下所示:
首先,Lcos測(cè)量差分角的余弦值之間的距離,該值由地面真值四元數(shù)QGT和預(yù)測(cè)Q涵蓋,可表示為:
real(·)取四元數(shù)的實(shí)數(shù)部分,*是四元積,Q-1是四元數(shù)Q 的倒數(shù)。此外,L12直接管理預(yù)測(cè)的四元數(shù)。
擬議的兩個(gè)損失只能應(yīng)用于MoCap數(shù)據(jù)。為了能夠使得其能夠使用3DPosData,本文提出了第三個(gè)損耗Lxyz,用于測(cè)量定姿后的3D坐標(biāo)的誤差。
其中,F(xiàn)K(·)表示正向運(yùn)動(dòng)學(xué)函數(shù),XGT表示地面真實(shí)三維關(guān)節(jié)注釋。最后,為了將非規(guī)范化輸出軟約束為單位四元數(shù),將Lnorm定義為:
實(shí)驗(yàn)在Windows10 系統(tǒng)上進(jìn)行,電腦CPU 型號(hào)為AMD Ryzen 7 4800H with Radeon Graphics 2.90 GHz,顯卡型號(hào)為:GeForce GTX 2060。詳細(xì)實(shí)驗(yàn)環(huán)境如表1所示。
表1 實(shí)驗(yàn)環(huán)境及配置Table 1 Experimental environment configuration
本文的數(shù)據(jù)集包含在3個(gè)數(shù)據(jù)集上進(jìn)行訓(xùn)練:CMU全景數(shù)據(jù)集(CMU)[20]、渲染手姿勢(shì)數(shù)據(jù)集(RHD)[21]和GANerated Hands 數(shù)據(jù)集(GAN)[22]。CMU 數(shù)據(jù)集包含16 720個(gè)圖像樣本,數(shù)據(jù)主要由各個(gè)關(guān)節(jié)附著傳感器的人在一定時(shí)間內(nèi)做出不同的動(dòng)作而生成,附著在人體各個(gè)關(guān)節(jié)的傳感器在一定時(shí)間內(nèi)隨著人的運(yùn)動(dòng)而記錄不同時(shí)刻的位置信息,這樣的數(shù)據(jù)類型可以看作是一段高維的多元時(shí)間序列,CMU 及其下子集的數(shù)據(jù)集的真實(shí)性以及精細(xì)度是最為貼合人類實(shí)際動(dòng)作習(xí)慣,選用CMU 數(shù)據(jù)集不僅僅是因?yàn)槠鋬?yōu)秀的骨骼匹配度,相比于其他生成數(shù)據(jù)集更在源頭上略去了不符合人體結(jié)構(gòu)的比例和動(dòng)作,使得參考骨的各項(xiàng)數(shù)據(jù)更加真實(shí)公正。無論是訓(xùn)練還是測(cè)試都能提供更加精準(zhǔn)優(yōu)秀的結(jié)果,為實(shí)驗(yàn)結(jié)果提供“質(zhì)”的保障。RHD 和GAN 都是經(jīng)過多方驗(yàn)證測(cè)試的優(yōu)秀合成數(shù)據(jù)集,分別包含41 258 和330 000 張帶有3D注釋的圖像。同時(shí)RHD 數(shù)據(jù)集是首個(gè)提出從單張圖片估計(jì)3D手部姿態(tài)的作Thomas Brox建立的專為該類技術(shù)提供支持的數(shù)據(jù)集,是最為貼合本文需求的數(shù)據(jù)集之一。GAN數(shù)據(jù)集是通過特殊的GAN網(wǎng)絡(luò)將軟件仿真出來的手轉(zhuǎn)化成非常逼真的手,即給假手渲染上真實(shí)的膚色和紋理。通過這種image-to-image的轉(zhuǎn)換即可有效減少訓(xùn)練數(shù)據(jù)與真實(shí)數(shù)據(jù)之間的誤差。同時(shí)也更契合本文3D 建模的需求,二者結(jié)合為訓(xùn)練提供“量”的保障。
在圖2中,展示了本文方法在復(fù)雜背景下的單目識(shí)別效果,在不同景深下都有著優(yōu)秀的建模效果。表明模型對(duì)未知環(huán)境下具有很好的泛化能力。最重要的是,不僅可以預(yù)測(cè)3D關(guān)節(jié)位置,還可以預(yù)測(cè)關(guān)節(jié)角度,從而可以直接為手部曲面模型設(shè)置動(dòng)畫。這種輸出表示在圖形和視覺的許多應(yīng)用程序中更有用。此外,圖3 表明,本文的方法對(duì)于非??焖俚倪\(yùn)動(dòng)和模糊圖像以及復(fù)雜的姿勢(shì)(如抓?。┬Ч己?。還可以處理對(duì)象遮擋(圖4)、自遮擋和挑戰(zhàn)性視點(diǎn)(圖5)。本文方法可以僅從單個(gè)圖像中捕獲不同的手形狀,并且根據(jù)關(guān)節(jié)角度進(jìn)行修正。
圖2 不同背景與近景遠(yuǎn)景下識(shí)別效果展示Fig.2 Display of recognition effect under different backgrounds and close range long range
圖3 模糊運(yùn)動(dòng)抓取識(shí)別效果Fig.3 Recognition effect of fuzzy motion capture
圖4 握持遮擋識(shí)別效果Fig.4 Recognition effect of holding occlusion
圖5 根節(jié)點(diǎn)遮擋識(shí)別效果Fig.5 Root node occlusion recognition effect
評(píng)估數(shù)據(jù)集和指標(biāo):在四個(gè)公共數(shù)據(jù)集上評(píng)估了本文的模型方法:RHD 數(shù)據(jù)集和立體手姿勢(shì)跟蹤基準(zhǔn)測(cè)試集(STB),Dexter+Objec(tDO)以及EgoDexter。RHD是一個(gè)合成數(shù)據(jù)集。STB 數(shù)據(jù)集是包含多背景下的由一個(gè)雙目攝像頭和深度攝像頭所采集的18 000 幀數(shù)據(jù)集。其中DO數(shù)據(jù)集包括2個(gè)主體與來自第三視圖的對(duì)象交互的6 個(gè)序列。ED 數(shù)據(jù)集由4 個(gè)序列組成,其中2 個(gè)受試者在存在遮擋的情況下執(zhí)行手-物體交互,該遮擋是從主視角中心捕獲的。
本文使用以下評(píng)估指標(biāo):PCK(percentage of correct keypoints),即為正確估計(jì)出關(guān)鍵點(diǎn)的比例以及閾值范圍為20 mm 至50 mm 的PCK 曲線下的面積AUC(area under curve)。在前置處理階段,將形成一個(gè)全局對(duì)齊的背景,以更好地測(cè)量局部手姿勢(shì)。
對(duì)于ED 數(shù)據(jù)集和DO 數(shù)據(jù)集,本文將指尖預(yù)測(cè)的質(zhì)心與GT預(yù)測(cè)的質(zhì)心對(duì)齊,對(duì)于RHD數(shù)據(jù)集和STB數(shù)據(jù)集,將根與真實(shí)根位置對(duì)齊從而進(jìn)行定量比較。在表2中,將本文的方法與其他方法進(jìn)行比較。所采用的數(shù)據(jù)集包括以下內(nèi)容:具有地面真實(shí)手網(wǎng)格的合成圖像、深度圖像、具有2D注釋的真實(shí)圖像以及具有全景立體的3D標(biāo)簽的真實(shí)圖像。在所有測(cè)試數(shù)據(jù)集中,DO和ED 數(shù)據(jù)集可以進(jìn)行最公平的比較,因?yàn)轷r有模型將其用于訓(xùn)練。這意味著對(duì)DO和ED的評(píng)估可以很好地估計(jì)模型的泛化程度。在DO 和ED 方面,本文方法比其他方法有很大的優(yōu)勢(shì)。這是因?yàn)樾录軜?gòu)結(jié)合了所有可用的數(shù)據(jù)模式,包括2D和3D帶注釋的圖像數(shù)據(jù)集以及MoCap 數(shù)據(jù)。由此可以看出進(jìn)一步強(qiáng)調(diào)用于訓(xùn)練模型的數(shù)據(jù)集組合的重要性。STB數(shù)據(jù)集由于其幀數(shù)大,變化小,過分利用STB 進(jìn)行訓(xùn)練會(huì)導(dǎo)致訓(xùn)練數(shù)據(jù)的不平衡,損害泛化能力。因此本文對(duì)其做了沙盒處理,將STB 添加到訓(xùn)練集中,并在STB 測(cè)試集上實(shí)現(xiàn)了0.955的精準(zhǔn)度,但該模型在所有其他三個(gè)基準(zhǔn)上的性能都有巨大下降。因此,本文沒有使用STB 來訓(xùn)練最終模型。對(duì)于RHD,本文的模型再次實(shí)現(xiàn)了與其他基準(zhǔn)一致的結(jié)果。RHD 作為一個(gè)合成數(shù)據(jù)集,與真實(shí)數(shù)據(jù)集相比具有不同的外觀和姿勢(shì)分布。之前的類似的工作通過專門培訓(xùn)或微調(diào)RHD 來獲取更好的數(shù)據(jù)結(jié)果,本文的方法避免了對(duì)其進(jìn)行針對(duì)性訓(xùn)練仍可以取得良好的測(cè)試結(jié)果。
表2 模型測(cè)試結(jié)果Table 2 Test results of models
為進(jìn)一步探究模型DRIR-Net 的有效性,進(jìn)行消融實(shí)驗(yàn),研究影響實(shí)驗(yàn)結(jié)果的獨(dú)立因素。
為驗(yàn)證融合網(wǎng)絡(luò)的有效性,本文將從以下幾個(gè)方面來進(jìn)行實(shí)驗(yàn),分別為后置糾正網(wǎng)絡(luò)的取舍對(duì)實(shí)驗(yàn)效果的影響,MOCAP 數(shù)據(jù)直接旋轉(zhuǎn)監(jiān)督對(duì)關(guān)節(jié)旋轉(zhuǎn)的影響,以及3DPosData 對(duì)于幫助后置糾正網(wǎng)絡(luò)適應(yīng)嘈雜的3D關(guān)節(jié)預(yù)測(cè)是否有效。采用文獻(xiàn)[23]作為基線模型,實(shí)驗(yàn)結(jié)果如表2所示,事實(shí)證明,本文的模型結(jié)構(gòu)本身有助于提高準(zhǔn)確性。在基礎(chǔ)之上,添加糾正網(wǎng)絡(luò),并對(duì)MoCap數(shù)據(jù)進(jìn)行額外培訓(xùn),可以取得優(yōu)秀的結(jié)果。這進(jìn)一步證明,將3D 手勢(shì)檢測(cè)任務(wù)分解為關(guān)節(jié)檢測(cè)和旋轉(zhuǎn)恢復(fù)可以使模型更易于訓(xùn)練,也可以充分利用到MoCap數(shù)據(jù)。這可以將后置糾正網(wǎng)絡(luò)的行為解釋為一種姿勢(shì)先驗(yàn),從MOCAP數(shù)據(jù)中學(xué)習(xí)到對(duì)原始3D關(guān)節(jié)預(yù)測(cè)的糾正,同時(shí)通過表3 中數(shù)據(jù)的對(duì)比,可以得知缺省3DPosData 后精準(zhǔn)度降低,這是因?yàn)?DPosData的缺省降低前置網(wǎng)絡(luò)和后置糾正網(wǎng)絡(luò)耦合度,使得雙網(wǎng)之間的信息傳遞效率降低,換言之就是缺失3DPosData將大幅削弱后置網(wǎng)絡(luò)對(duì)嘈雜的3D關(guān)節(jié)預(yù)測(cè)能力。
表3 缺省不同變量實(shí)驗(yàn)結(jié)果對(duì)比Table 3 Comparison of experimental results with different default variables
為了進(jìn)一步驗(yàn)證本文模型對(duì)于單目下的3D手勢(shì)交互效果,本文針對(duì)無糾正型網(wǎng)絡(luò)模型和本文方法做了訓(xùn)練測(cè)試,由圖6、圖7可以得知無糾正型網(wǎng)絡(luò)模型在輸出方面無法針對(duì)不合理關(guān)節(jié)點(diǎn)進(jìn)行糾正,圖6(a)展示了由于輸入圖像關(guān)節(jié)處有陰影從而導(dǎo)致關(guān)節(jié)點(diǎn)定位不準(zhǔn)確,最終表現(xiàn)出手指過長(zhǎng)與輸入圖像不符(圖6(b)),而附帶糾正網(wǎng)絡(luò)的模型可以在預(yù)測(cè)輸出前進(jìn)行關(guān)節(jié)糾正,通過先驗(yàn)在閾值范圍內(nèi)對(duì)關(guān)節(jié)點(diǎn)進(jìn)行調(diào)整從而使得模型效果更符合實(shí)際(圖6(c))。
圖6 糾正網(wǎng)絡(luò)輸出對(duì)比Fig.6 Comparison of corrected network output
圖7 過曝狀態(tài)下的姿勢(shì)糾正Fig.7 Posture correction under overexposure
同時(shí)圖7(a)是在輸入圖像有某處存在高曝光(即復(fù)雜背景)下傳統(tǒng)方法由于對(duì)數(shù)據(jù)集的攝取范圍不廣并且無糾正網(wǎng)絡(luò)的情況下導(dǎo)致的輸出失效(圖7(b)),可以進(jìn)一步證明糾正網(wǎng)絡(luò)的有效性,糾正后的輸出如圖7(c)所示。
本文提出了一種基于resnet50 的雙網(wǎng)融合3D 手勢(shì)估計(jì)方法,該方法利用了不同模式下的多類數(shù)據(jù),有效實(shí)現(xiàn)了單目下的3D 手勢(shì)估計(jì),在設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)架構(gòu)具有兩部分設(shè)計(jì),一部分是2D關(guān)鍵點(diǎn)到3D關(guān)鍵點(diǎn)的轉(zhuǎn)換以及一個(gè)糾正網(wǎng)絡(luò)該網(wǎng)絡(luò)可以直接回歸關(guān)節(jié)旋轉(zhuǎn)。這兩個(gè)方面結(jié)合有效地提高了識(shí)別技術(shù)的準(zhǔn)確性、魯棒性和運(yùn)行時(shí)間。受限于設(shè)備性能和各類算法所采用的平臺(tái)、數(shù)據(jù)集等外在因素影響,未能對(duì)各類方法進(jìn)行逐一細(xì)節(jié)化比較調(diào)優(yōu),同時(shí)本文專注于降低設(shè)備下限的使用能力,在低端設(shè)備上展現(xiàn)了優(yōu)秀的性能,但在具有更復(fù)雜的高端設(shè)備例如多目景深、高分辨率設(shè)備上未能激發(fā)出設(shè)備的全部潛力,后續(xù)會(huì)針對(duì)更為精密的設(shè)備做出調(diào)整優(yōu)化。并且在之后的工作展望中,計(jì)劃改進(jìn)模型以覆蓋手部紋理和探索單目下的3D雙手交互研究。