朱興帥,葉彬,姚康,丁上上,徐道亮,付威威
(1.中國科學技術大學 生物醫(yī)學工程學院(蘇州),江蘇 蘇州 215000;2.中國科學院蘇州生物醫(yī)學工程技術研究所,江蘇 蘇州 215000)
目前,低成本消費級虛擬現實(Virtual Reality,VR)產品將VR 技術迅速推向市場,并且在醫(yī)療、制造、軍事等各行業(yè)獲得深度開發(fā)與應用[1],但現有的手套和手柄5 mm 左右的定位精度無法滿足人們在VR 中對微小動作和精細化交互的要求。在進行諸如書寫、繪畫、注釋等交互任務時,轉動手腕利用交互筆就能夠提供更細致的輸入,并不需要操作手柄那樣大幅擺動手臂。在二維平面內,Wacom 等品牌的觸控筆已經能夠實現亞毫米級的定位,但由于缺乏廣泛平面的靈活性且不支持空中技術,從而將其操作范圍限定在了紙面框定的二維平面內。利用交互筆實現三維空間的精細交互,可以提供更高維度的操作空間,幫助外化思維[2],因此具有良好的應用場景。但目前技術實現上依然存在著難度,其中能否精確定位筆的3D 空間位置信息是通過交互筆進行虛擬精細化交互的重要基礎。當前,較為成熟的SteamVR 定位方案采用基站與定位器配合追蹤,不僅造價昂貴,而且隨著使用時間加長,結構易磨損,導致定位精度下降。傳統(tǒng)的光學定位方案容易受遮擋情況和環(huán)境亮度的影響,通常需要多相機支持。近年來,深度學習迅速發(fā)展,并在目標檢測[3-4]、語義分割[5-6]等領域取得了豐碩的成果。利用深度學習識別定位筆的3D 關鍵點相比上述定位方式具有上限高、成本低、適用性強等優(yōu)點。
利用深度學習進行三維關鍵點估計主要有2 種方式:基于端到端的三維關鍵點估計和基于兩階段的三維關鍵點估計。人體關鍵點檢測、手部關鍵點檢測與筆關鍵點檢測本質上是相通的,即解算各關鍵點因目標的外部自由度或內部自由度而多變的狀態(tài)空間,三者之間可以相互遷移應用[7]。由于與筆關鍵點檢測相關的工作較少,因此本文著重介紹人體、手部關鍵點檢測以及手部-物體聯(lián)合關鍵點檢測的研究進展。
在基于端到端的三維關鍵點估計方法中,網絡通過原始圖像直接回歸出三維姿態(tài)。在相關研究中:WANG等[8]將人體三維關鍵點表示為2.5D 中心點和關鍵點偏移,較好地預測了深度信息;PAVLAKOS等[9]沿用二維關鍵點估計的熱圖思想,使用三維的體積熱圖來表示人體關鍵點,利用端到端的全卷積網絡回歸三維關鍵點;SUN等[10]在三維熱圖回歸人體三維坐標點時,利用積分回歸方法代替原來的取最大值操作,避免了一定的量化誤差;ZHAN等[11]通過規(guī)范化坐標系空間的三維光線估計人體三維姿態(tài),減輕了相機固有參數變化帶來的影響;CHEN等[12]通過基于多任務學習的方式同時估計手的三維姿態(tài)與形狀;LIU等[13]使用Transformer和聯(lián)合學習框架從RGB 圖片中聯(lián)合預測手部-物體姿態(tài)?;诙说蕉说姆椒m然可以直接從二維圖像中得出三維坐標,但模型泛化性不強,在實際應用中預測效果不穩(wěn)定。
在基于兩階段的三維關鍵點估計方法中,網絡先通過二維關鍵點估計方法從原始圖像中估計出二維關鍵點或二維熱圖,再由這些二維姿態(tài)特征進一步回歸三維關鍵點。在相關研究中:MARTINEZ等[14]將使用二維關鍵點坐標標注的數據集作為網絡輸入,通過全連接網絡直接回歸人體三維關鍵點坐標;LI等[15]利用三維姿態(tài)的二維重投影選擇最佳的人體三維關鍵點;CHEN等[16]先預測人體的二維關鍵點坐標,再通過最近鄰匹配方法找到最優(yōu)的三維表示;ZIMMERMANN等[17]使用基于檢測的網絡生成2D 熱圖并預測二維手部關鍵點坐標,然后通過基于回歸的網絡回歸出三維關鍵點;MUELLER等[18]使用殘差網絡預測手部二維關鍵點和三維關鍵點,并通過3D 到2D 的重投影技術進行優(yōu)化;ZHOU等[19]利用熱圖表示和積分訓練預測三維關鍵點;DOOSTI等[20]使用輕量級網絡估計手部和物體頂點的二維坐標,再通過圖卷積網絡將二維坐標轉化為三維。兩階段方法是建立在二維關鍵點估計的基礎上對三維關鍵點進行回歸的,當前二維關鍵點估計研究發(fā)展成熟,能夠提供蘊含三維信息的精確二維姿態(tài)特征,更利于三維關鍵點的高精度估計。
本文提出基于單目RGB 圖片的兩階段交互筆關鍵點估計網絡PKPD-Net,用于識別定位筆上的3D 關鍵點。在筆的二維關鍵點估計階段,通過使用CBAM 模塊改進融合方式,基于Offset 偏移量定位關鍵點亞像素,并利用輔助手部關鍵點預測方式約束筆的位置,從而優(yōu)化網絡提取的語義信息,減少精度丟失,提升二維關鍵點估計的準確度。二維關鍵點估計網絡CBAM-SHN 編碼生成關鍵點熱圖,其本質為每個像素點作為預測關鍵點的概率圖。將經Offset 偏移后的熱圖與上階段提取的特征圖級聯(lián)作為三維關鍵點估計網絡的輸入,突出關鍵點準確位置信息并排除冗余信息的干擾,經網絡特征提取后,回歸出更精確的筆關鍵點三維空間坐標。
PKPD-Net 第一階段以堆疊沙漏網絡(Stacked Hourglass Network,SHN)為骨架網絡,通過CBAM注意力機制改進沙漏模塊融合方式,解決網絡在編碼-解碼過程中丟失網絡淺層定位信息的問題。采用基于Offset 偏移量的關鍵點亞像素定位方式,在一定程度上解決二維關鍵點編碼-解碼時隨著圖片尺寸縮放產生的精度丟失問題。同時,采用輔助手部關鍵點預測的方式約束筆的空間位置,提取更準確的筆二維關鍵點信息。輸入圖片經CBAM-SHN網絡產生編碼關鍵點熱圖(Heat Maps)和偏移圖(Offset Maps),熱圖中每個像素點的值代表該點屬于對應類別關鍵點的概率,每個類別關鍵點對應一個熱圖,將熱圖中響應值最大的像素點作為對應類別關鍵點的位置。偏移圖表示距離對應類別關鍵點一定范圍內的像素點與對應類別關鍵點之間的位置關系。
PKPD-Net 第二階段將上階段提取到的特征圖與經Offset 偏移后的熱圖級聯(lián),減少冗余信息干擾,同時提供更準確的關鍵點姿態(tài)信息,經多層卷積層在二維姿態(tài)特征中挖掘出有用的三維信息生成定位圖(Location Maps)。定位圖中的每個像素點都可以很好地反映出該點作為對應類型關鍵點的位置關系。通過查詢CBAM-SHN 解碼出的二維關鍵點在定位圖對應位置處的映射,即可得到最終的三維關鍵點信息。
PKPD-Net 整體網絡結構如圖1 所示(彩色效果見《計算機工程》官網HTML版,下同)。
圖1 PKPD-Net 網絡結構Fig.1 PKPD-Net network structure
在進行關鍵點估計時,首先需要將關鍵點坐標編碼成關鍵點的概率圖,在回歸結果時將關鍵點的概率圖解碼成輸入圖像的空間坐標。傳統(tǒng)的關鍵點解碼過程一般選取概率的最大激活點的坐標作為預測關鍵點坐標,但在編碼過程中,下采樣操作會帶來一定的量化誤差,最終導致得到的關鍵點坐標不夠準確,影響網絡性能。由于關鍵點概率圖通常在概率的最大激活點附近存在多個峰值,因此應從最大激活點到第二大激活點方向對估計結果進行經驗補償。上述2 種方式雖然在一定程度上減少了量化誤差,但在圖片尺寸縮放過程中依然存在較為嚴重的精度丟失現象。因此,本文采用基于Offset 偏移量的關鍵點亞像素定位方式,如圖2 所示。
圖2 基于Offset 偏移量的關鍵點亞像素定位Fig.2 Sub-pixel positioning of key point based on Offset
CBAM-SHN 網絡同時輸出預測關鍵點熱圖H={h1,h2,…,hK}和預測關鍵點位置偏移圖O={o1,o2,…,oK},兩者共同決定最終預測關鍵點坐標。其中:oK=(oKx,oKy)為網絡學習到的編碼過程中產生的量化誤差;hK為關鍵點K對應熱圖。取熱圖最大響應處記為點p,則oKx(p)為關鍵點K在點p處的x方向位置偏移,oKy(p)為關鍵點K在點p處的y方向位置偏移。最終解碼關鍵點坐標如式(1)所示:
其中:λ為分辨率縮放因子。當手持物體交互操作時,手的姿態(tài)可以極大地限制所持物體的姿態(tài),同時物體姿態(tài)也會限制手的姿態(tài),手和物體的語義存在一定關聯(lián)。因此,在手持交互筆進行精細操作時,手部姿態(tài)和筆的姿態(tài)會相互限制,兩者存在一定的位置關系。在網絡估計筆上關鍵點的同時引入手部關鍵點輔助,為網絡預測結果添加運動學約束,能夠更精準地估計出筆上關鍵點的空間位置。
1.3.1 堆疊沙漏網絡
SHN是由NEWELL等[21]提出的用于姿態(tài)估計的神經網絡。網絡由多個堆疊起來的如圖3 所示的沙漏模塊組成,沙漏模塊由類似Inception[22]的殘差塊(Residual Block)[23]組成。SHN可以提取融合多尺度及上下文信息的特征,與其他姿態(tài)估計方法相比,可以更好地預測物體位置信息。
圖3 Hourglass Module 網絡結構Fig.3 Hourglass Module network structure
1.3.2 CBAM 注意力模塊
CBAM[24]是一種能夠對特征圖像特定區(qū)域局部對焦的注意力模塊。對于任意一個給定特征圖,CBAM 利用通道注意力和空間注意力在通道和空間2 個獨立維度上對特征圖進行權重分配,然后將權重乘以輸入特征映射,具體流程如圖4 所示,最終使網絡加強對感興趣區(qū)域的關注,并且抑制無用信息。
圖4 CBAM 網絡結構Fig.4 CBAM network structure
1.3.3 CBAM-SHN
SHN 模塊的主路進行編碼,獲得尺寸逐漸縮小的特征圖,逐步提取圖像的高階特征。在模塊后半部分,逐步進行上采樣,獲得高階高分辨率特征圖。此外,SHN 網絡的跳級路進行特征圖通道數調整,再將跳級路的輸出和主路中對應尺寸的特征圖進行特征融合。但是在特征融合時,很容易將與關鍵點預測無關的特征傳入,造成冗余或者丟失與關鍵點定位相關的信息,影響最終的關鍵點定位精度。為解決無效特征融合并且增加網絡對關鍵點定位信息的關注,本文引入CBAM 模塊改進融合方式,提出CBAM-SHN 二維關鍵點估計網絡,對不同特征進行重要程度取舍,并學習特征的融合權重,提高關鍵點的定位精度。CBAM-SHN 網絡結構如圖5 所示。
圖5 CBAM-SHN 網絡結構Fig.5 CBAM-SHN network structure
三維關鍵點估計任務的核心在于如何從缺失深度信息的二維圖像或者深度圖中估計深度信息。關鍵點的熱圖突出了關鍵點的位置信息,忽略了其他無關信息,關鍵點的特征圖提取了圖像特征,排除了冗余信息的干擾。因此,將第一階段CBAM-SHN 網絡提取到的二維關鍵點特征圖和經過Offset 偏移后的熱圖級聯(lián)作為第二階段網絡的輸入更為合理。三維關鍵點估計網絡提取二維姿態(tài)特征中有用的三維信息預測生成定位圖(Location Maps),其中每個像素值均編碼了相應的關鍵點位置信息,定位圖尺寸與熱圖相同。依據二維關鍵點估計階段解碼出的關鍵點K像素坐標(xK,yK),在定位圖中查找到K點對應像素點位置處的值作為深度方向映射,并通過相機內參計算得出最終的XK、YK,存為PK,3D=(XK,YK,ZK)。三維估計網絡結構如圖6 所示。
均方誤差(Mean Square Error,MSE)是預測值與目標值之間的差值平方之和。MSE 函數常被用在回歸問題中評估模型的損失,在關鍵點估計的基線方法中也使用該函數作為損失函數。MSE 函數的計算公式如式(2)所示:
其中:n為回歸點個數為第i個點的預測值;fi為第i個點的目標值。整體損失函數如式(3)所示:
其中:Lheat為二維熱圖的損失函數;L2D為二維關鍵點的損失函數;L3D為三維關鍵點的損失函數;α1、α2分別為前2 種損失函數的權重;Hg為熱圖標簽;Hp為預測熱圖;Pg,hand2D、Pg,pen2D分別為手和筆 的二維真實坐標;Pp,hand2D、Pp,pen2D分別為手和筆 的二維估計坐 標;Pg,pen3D為筆的三維真實坐標;Pp,pen3D為筆的三維估 計坐標;LMSE為MSE 損失函數。
本文將α1和α2設置為0.1,以使二維誤差(像素)和三維誤差(mm)處于相似的范圍內,將β1設置為0.2、β2設置為1,對手和筆設置不同的權重,達到手部關鍵點輔助估計的目的。
二維關鍵點評價指標為平均終點誤差均值(mean End Point Error,mean EPE),單位為像素。該評價指標是計算測試集數據中所有關鍵點的預測坐標與真實坐標之間的平均歐幾里得距離,可以反映模型對二維關鍵點的檢測精準度,指標值越小,則關鍵點的二維預測精準度越高。二維關鍵點mean EPE計算公式如式(4)所示:
其中:n為關鍵點個數;N為測試集總數;xp,ij、yp,ij為第i個點在第j張圖中的二維預測值;xg,ij、yg,ij為第i個點在第j張圖中的二維真實值。三維關鍵點評價指標與二維關鍵點相同,同樣為mean EPE,但單位為mm,該評價指標可以反映模型對三維關鍵點的檢測精準度,指標值越小,則關鍵點的三維預測精準度越高。三維關鍵點mean EPE 計算公式如式(5)所示:
其中:n為關鍵點個數;N為測試集總數;Xp,ij、Yp,ij、Zp,ij為第i個點在第j張圖中的三維預測值;Xg,ij、Yg,ij、Zg,ij為第i個點在第j張圖中的三維真實值。成功幀表示為單幀測試圖像的所有關鍵點中估計值與真實值的三維距離誤差的最大值小于設定閾值的測試幀。成功幀占比(Percentage of Success Frame,PSF)是計算測試集數據中成功幀總幀數占測試幀總幀數的比例,如PSF@4 是指閾值為4 mm 時的成功幀比例。PSF 能更好地反映出網絡在設定閾值范圍內檢測關鍵點的綜合精準程度,指標值越大,則關鍵點的整體三維預測效果越好。PSF@τ計算公式如式(6)所示:
其中:n為關鍵點個數;Xp,i、Yp,i和Zp,i為第i個點的三維估計值;Xg,i、Yg,i和Zg,i為第i個點的三維真實 值;τ為設定閾值;N為測試集總數。
實驗通過雙目相機采集多視角下的手持筆雙目RGB 圖片,通過Labelme 標注軟件手動標注出每張圖片中23 個關鍵點的二維像素坐標,再利用雙目立體視覺的方法[25]計算出每個關鍵點的三維坐標。將雙目相機的右視圖作為數據集圖片完成關鍵點的三維標注,其中訓練集1 833張,測試集430張,共計2 263張RGB 圖片。23 個關鍵點標注規(guī)則如圖7 所示。
圖7 23 個關鍵點標注規(guī)則Fig.7 23 key points marking rules
在訓練模型時,將輸入圖像Resize 為256×256 像素,同時使用平移、旋轉、翻轉、色彩轉換等數據擴增技術,進一步增加數據多樣性和數據總量。本文實驗使用Adam[26]優(yōu)化器優(yōu)化,初始學習率為0.001,beta_1 為0.9,beta_2 為0.999。損失函數采用MSE 函數,訓練周期epoch 為100,每批次送入網絡的訓練樣本Batch_Size 為16。實驗環(huán)境如表1 所示。
表1 實驗軟硬件配置Table 1 Software and hardware configuration of the experiment
為了評估本文方法的先進性和有效性,實驗對比了本文方法與其他先進關鍵點估計網絡的精度、參數量與推理速度,實驗結果如表2 所示。從表2 可以看出,本文方法對比文獻[27]方法mean EPE 降低了0.882 mm,PSF@4 提升了31.38 個百分點,對比文獻[20]方法mean EPE 降低了0.710 mm,PSF@4 提升了32.31 個百分點,在精度方面顯著提高。本文方法在mean EPE 和PSF@4 指標大幅提升的前提下,模型參數量與推理時間相較于2 個對比方法有一定增加,但幀率依舊可以保持在30 幀/s 以上,保證了精確輸入軌跡的連續(xù)性,充分證明了本文方法的可行性。
表2 不同方法對比Table 2 Comparison of different methods
為了進一步研究本文方法估計的關鍵點精度范圍,對mean EPE 進行分級。如表3 所示,將測試樣本的mean EPE 劃分為7類,在1.5~4.0 mm 范圍內以0.5 mm 為間隔劃分為5類,小于1.5 mm 單獨劃分為一類,大于4.0 mm 單獨劃分為一類。從表3 可以看出:模型估計的關鍵點距離誤差在2.5~3.0 mm 區(qū)間的成功幀占比最多,為22.56%;模型估計的關鍵點距離誤差在小于等于3.0 mm 的成功幀占比超過半數,為54.64%;模型估計的關鍵點距離誤差小于等于4.0 mm 的累計成功幀占比為85.80%。由此可見,本文方法在精度和魯棒性上較為出色。
利用本文方法和HOPE-Net[20]進行關鍵點估計的定性可視化結果如圖8 所示,其中,圖8(a)、圖8(d)、圖8(g)分別是網絡輸入圖片,圖8(b)、圖8(c)分別是本文方法和HOPE-Net 針對圖8(a)的可視化估計結果,圖8(e)、圖8(f)分別是本文方法和HOPE-Net針對圖8(d)的可視化估計結果,圖8(h)、圖8(i)分別是本文方法和HOPE-Net 針對圖8(g)的可視化估計結果。從圖8 可以看出,與HOPE-Net方法相比,本文方法能夠較為準確地估計出筆尖和筆尾的位置,定性可視化估計效果較優(yōu)。
圖8 可視化估計結果對比Fig.8 Comparison of visual estimation results
本文模型以堆疊沙漏網絡作為基礎網絡進行改進,為了驗證提出模型中每個關鍵模塊的先進性和有效性,進行消融實驗,實驗結果如表4 所示,其中,“√”表示模型包含這一模塊。從表4 可以看出,與基礎網絡SHN 對比,添加CBAM 模塊使mean EPE 降低0.887 mm,添 加Offset 方法使mean EPE降低0.571 mm,使用輔助21 個手部關鍵點估計的方法使mean EPE 降低0.919 mm,將上述3 個模塊全部添加使mean EPE 降低1.723 mm。這是因為CBAM 模塊優(yōu)化了融合的特征信息,基于Offset 偏移量的關鍵點亞像素定位減少了量化誤差,輔助手部關鍵點為筆的位置提供了約束,每個模塊使二維關鍵點和三維關鍵點估計精度均得到提升。上述實驗結果證明了每個改進模塊的先進性和有效性。
表4 消融實驗結果Table 4 Result of ablation experiment
為探究網絡關鍵超參數SHN 數量對模型性能的影響,在不同SHN 數量下進行實驗,實驗結果如表5 所示。從表5 可以看出,在SHN 數量由1 增加至2后,網絡mean EPE 減少了0.196 mm,PSF@4 增加了16.27 個百分點。之后隨著沙漏網絡數量的增加,模型參數量在增加的同時,mean EPE 基本不再減少,但PSF@4 出現下降趨勢,模型綜合精準度下降,魯棒性變差。
表5 不同SHN 數量的實驗結果對比Table 5 Experimental results with different number of SHNs
對PKPD-Net 網絡估計關鍵點進行應用開發(fā),實現交互筆精細交互的有益探索。如圖9 所示,相機擺放在書寫區(qū)域斜上方,利用白熾燈增加環(huán)境亮度,改善拍攝圖片質量。通過相機采集使用者書寫時的畫面,將采集到的1 920×1 080 像素的RGB 圖片作為網絡數據輸入,利用PKPD-Net 定位筆上關鍵點的三維空間坐標。隨后將模型預測的筆尖三維坐標點根據時序依次連接,經貝塞爾曲線擬合實現定性可視化呈現。人手在桌面繪制矩形,復原的軌跡如圖9(d)所示;人手在桌面繪制曲線,復原的軌跡如圖9(e)所示;人手在空中按照由內向外由高到低繪制螺旋線,復原的軌跡如圖9(f)所示。圖中可視化線段越靠近外側(顏色越接近黃色),代表該點離桌面高度越高。由3 種操作的可視化軌跡可以看出,本文模型基本實現了筆尖的軌跡追蹤,可以根據使用者動作進行相應的簡易精細化操作。
圖9 書寫實驗示意圖Fig.9 Schematic diagrams of writing experiment
本文提出一種基于單目RGB 圖片的兩階段交互筆關鍵點估計網絡。在筆的二維關鍵點估計階段,引入CBAM 改進沙漏模塊融合機制,利用Offset偏移量實現關鍵點亞像素定位,采用輔助手部關鍵點預測的方式約束筆的位置,最終預測二維關鍵點mean EPE 為1.828 像素。在筆的三維關鍵點估計階段,級聯(lián)輸入特征圖和Offset 偏移后的熱圖,突出關鍵點位置信息并排除冗余信息,最終回歸三維關鍵點mean EPE 為2.485 mm。作為交互筆交互的有益探索,最后進行簡易精細化書寫操作的定性可視化呈現。由于使用的數據集較小,本文模型準確度和操作精細程度呈現還存在一定的優(yōu)化空間。未來隨著數據的積累,將繼續(xù)進行相應的模型優(yōu)化和移動端的算法應用落地,同時針對空間點的軌跡優(yōu)化進行更深入的研究。