范 清,沈旭昆,2
(1. 北京航空航天大學虛擬現實技術與系統國家重點實驗室,北京 100191;2. 北京航空航天大學新媒體藝術與設計學院,北京 100191)
人體的動態重建一直是計算機視覺和計算機圖形學領域的研究熱點。最近的工作在人體重建方面取得了很好的效果[1]。手作為人體最具特色的器官之一,由于其頻繁的自遮擋、豐富的姿態和細節、復雜的形狀變化,運動人手的動態重建始終具有挑戰性,眾多研究人員持續開展研究。
目前已經提出很多基于非剛性變形技術的動態重建方法[2-3],這些方法通常利用一個模板模型來簡化對應性查找和為單視圖表面重建提供先驗知識,然而,其3D對應性建立方式存在低效,阻礙用戶運動等問題,其需要在用戶身上粘貼光學標記,或依賴用戶手工干預,或需要額外強加非平滑的運動約束[4]。鑒于此,本文采用實時的手跟蹤系統來推斷出準確的3D手部關節點位置,進而為手部表面動態重建提供魯棒的標記信息。
本工作旨在從消費者級別深度傳感器捕獲的單目深度序列中動態重建出完整的手部表面。為此,借助一個平滑的手部模板來重構完整的手部運動,并提供形狀和拓撲先驗(下文將這個模板網格定義為源,而輸入深度圖像序列定義為目標)。我們發現從魯棒的手跟蹤系統中推斷出的3D手部關節位置可以作為非剛性曲面擬合的重要線索,為了利用這個線索,本文假設任意一對關鍵點之間的對應性在不同的手部姿態下保持不變,通過引入多個關鍵點對到非剛性曲面擬合管線中以幫助獲得更合理的手部形變。此外,本文還引入多個能量函數來度量關鍵點區域的對齊和非剛性曲面擬合的程度,通過最小化源模型和目標模型之間的失真誤差來恢復準確的非剛性手部運動。
本文提出了一種魯棒的基于單目深度序列的非剛性手部動態重建方法,其利用非線性可變形模板來捕捉手部的大尺度變形,并結合關鍵點對應性約束自動將模板與每個輸入深度幀對齊,整個管線不需要用戶任何手工干預。此外,還提出了一種多幀穩定策略,每隔一定時間將當前幀的跟蹤結果與錨點幀的跟蹤結果相融合,以減少跟蹤過程中的誤差積累。在含有噪聲的輸入深度序列上進行的大量實驗表明,本文方法能夠生成準確的動態重建結果,且對于較大的變形和遮擋具有魯棒性。本文所用模板及部分重建結果如圖1所示。

圖1 手部模板及部分重建結果((a)手部模板及采樣節點;(b)和(c)左列為輸入,右列為重建網格在不同視點下的渲染結果)Fig. 1 Template and partial reconstruction results of our method ((a) Initial template with nodes; (b) ~ (c) The input depth (left) and the reconstructed geometry model (right))
復雜可變形物體的非剛性幾何和運動重建是計算機圖形學一個長期研究的問題,已有大量文獻發表[5]。
(1) 多視圖與單視圖。目前已經提出了許多多視圖非剛性幾何和運動重建方法,如由輪廓恢復形狀[6]和被動立體匹配方法[7]。文獻[8]結合表面模型和體模型對穿著普通衣服的人群進行高質量的重建。研究工作[9]提出將多個非連續的圖像序列與復雜的人體和服裝運動對齊。文獻[10]使用3個手持式Kinect傳感器同時重建人體骨骼姿態、人體表面幾何和相機姿態。DOU等[11]使用圍繞對象一圈放置的8個RGBD相機來重建一個完整的目標模板,用來匹配輸入序列以捕捉精確的表面形變。其后續工作[12]通過自動回路檢測將對齊誤差分布在回路上,以減少跟蹤過程中的誤差累積和應對非剛性對齊輸入序列時產生的漂移問題。緊接著又提出一個多階段融合方法[13]從多個RGBD攝像機實時記錄的噪聲輸入中快速重建具有挑戰性的場景。文獻[14]引入一個可變形形狀模板作為掃描對象的幾何和拓撲先驗來更好地匹配多視圖輸入序列。
與多視圖方法相比,基于單視圖的方法使用更輕便的設備來捕獲移動對象。對于關節運動,文獻[15]通過在最大后驗框架中迭代注冊一個已綁定骨骼的人體模型到單視圖的深度序列來重建三維人體姿態。文獻[16]結合深度、輪廓和時間線索,通過不斷擬合三維關節手模型到輸入深度圖像來重建關節手運動。文獻[17]使用骨架對齊來替代模型擬合從而更有效地從單目深度序列中回歸關節手運動。然而,這些方法通常只關注人體或手部的骨架運動的重建,而忽略了表面的非剛性形變。對于手部的非剛性運動和幾何重建,非剛性配準技術[18]提供了一個潛在的解決方案。
(2) 標記點與無標記?;跇擞淈c的方法由于具有較高的準確性在早期運動捕獲系統中得到廣泛應用,近年來,無標記運動跟蹤方法由于無需任何其他輔助設備,而更便捷,也因此獲得了更多的關注。文獻[19]提出了一種從深度掃描序列中重構半剛性對象的方法,但不能處理動態物體。3D自畫像[20]允許普通用戶捕獲自己的三維模型,但要求用戶在掃描過程中保持靜止。文獻[21]和文獻[22]提出在不使用模板的情況下動態重建非剛性的場景,然而,均不能處理快速運動導致的漂移問題。
無標記方法通常通過各種方法來推斷標記點,如姿態估計方法,并隱式地使用預測到的標記點作為偽真值來增強魯棒性。隨著姿態估計技術研究的不斷深入,為無標記的運動捕獲系統提供可信的標記點成為可能。在之前工作的基礎上[17],本文提出應用手部姿態估計技術來推斷出三維手部關節位置作為標記點,并利用每個骨骼的局部坐標將關節投影到每個手部輸入掃描的表面,從而在手部形狀模板和輸入掃描之間建立多個三維關鍵點到關鍵點的對應。
為了魯棒的從消費者級別深度傳感器捕獲的單目深度序列中動態重建出完整的手部表面,本文提出了一個新的跟蹤重建管線,以深度序列和一個手部形狀模板作為輸入,經過處理流程,對每個輸入深度圖像輸出一個重構的完整手部網格。管線如圖2所示,主要由4個組件構成:關鍵點到關鍵點對應性、表面形變模型、非剛性曲面擬合和多幀穩定性。

圖2 系統流程圖(通過多個關鍵點到關鍵點的對應注冊一個平滑的模板網格到每個輸入幀?;谝粋€可用的手跟蹤系統來預測關鍵點位置。通過多幀穩定性組件減少誤差積累以獲得魯棒的重構結果)Fig. 2 Pipeline overview (A smooth template mesh is registered to each of the input depths with multiple keypoint-to-keypoint correspondences. Key point detection is based on an available hand pose estimation baseline. Robust reconstruction is obtained through a multi-frame stabilization component to reduce error accumulation)
在手部的非剛性運動過程中,相比于其他區域,手部關節區域的變形更加強烈。關鍵點到關鍵點對應性是建立輸入深度序列和手部形狀模板關節點之間的對應關系,以約束手部關節區域的局部變形,從而提升非剛性運動跟蹤的準確性和魯棒性。關鍵點到關鍵點對應性建立包含幾個步驟:首先,應用一個可用的手部姿態估計系統來為深度圖像序列S={S0,S1, ···,Sn-1}中的每一幀推斷出J個三維的手部關節位置,并粗略地將初始模板Tinit與序列首個深度幀S0對齊。然后,沿著每根骨骼的局部坐標的Z軸將3D手部關節位置投影到輸入深度掃描的表面上,并將與交點最接近的頂點設為關鍵點,如圖3所示。在自遮擋情況下,將關鍵點的三維位置設為估計到的3D位置沿其當前骨骼局部坐標的Z軸減去一個經過數據分析和測試得出的經驗值0.5 cm。手部形狀模板上對應的J個關鍵點位置是根據語義對應性手工選取的。最后,這J個關鍵點對作為顯式約束被整合到非剛性曲面擬合管線中以強制模板變形到更加準確的位置。本文實驗中都設定為J=22。

圖3 關鍵點定義示意圖Fig. 3 Illustration of key-points definition
本文表面形變模型基于一個擴展的嵌入式變形框架,并通過使用一個變形圖來計算變形場以離散化底層空間。該模型自動適應捕獲對象的運動,其超越了基于骨架的線性混合蒙皮的表達能力,可以進一步重建復雜的表面形變。依據當前的研究[4],網格M的變形由一系列離散的圖節點的仿射變換來表示。每個節點xi誘導一個半徑為ri的局部影響區域的變形,其由一個3×3的矩陣Ai和一個3×1的平移向量ti表示。當2個圖節點影響網格的同一個頂點時,用1條邊連接這2個節點。變形后,網格的第jth個頂點vj將被映射到新位置vj′。

其中,d(vj,xi)為vj和xi之間的測地線距離。更詳細的關于如何在網格上提取圖節點xi以及如何為所有頂點計算ω,請參閱文獻[2]。本文使用的手部模板和抽取的圖節點如圖1(a)所示。
非剛性曲面擬合通過連續匹配一個手部形狀模板到輸入序列的每一幀來捕獲大尺度的手部運動和非剛性形變。在時刻t,給定深度幀St和一個已與上一幀對齊的已變形模板網格Wt-1,非剛性曲面擬合組件在模板與跟蹤對象之間關鍵點到關鍵點對應性的指導下變形Wt-1以擬合St。后續為了簡潔起見,時間戳t將被省略。本組件通過最小化一個總能量Etol來求解精確的曲面擬合結果,即

2.3.1 擬合能量
擬合能量懲罰手部模板與觀測數據之間的偏差,其中包括點到點、點到面和關鍵點到關鍵點的差異,以避免錯誤的對應,特別是對于較大的特征不明顯或遮擋的手部區域。Epoint為點到點的對應,其定義為

其中,λpoint為權重因子;σd為傳感器噪聲;C為包含在輸入掃描中有對應最近點的所有頂點的集合;w為每個最近點對的信心;vj為可見性用一個二進制變量ηi來表示,其可以通過在當前相機視角和參數下渲染形狀模板獲取。

為了使最近點對計算的更加準確,本文還在能量函數中采用了一個點到面的擬合項,其定義為其中,λplane為權重因子;σn為噪聲估計。上述2個數據擬合項結合在一起,迫使形狀模板中的每個頂點vj沿其法向ncj擬合到對應深度掃描上的最近點cj。在本文實驗中,σd和σn被固定為測量值1,并且所有的信心權重均被經驗性地初始化為1。
Ekeypoint表示關鍵點到關鍵點的對應,其定義為

其中,λkeypoint和K分別為權重因子和關鍵點對的數量;Ekeypoint項在本節的表面匹配組件中施加了一個硬約束,以提高頻繁被遮擋關節區域局部變形的準確性。值得注意的是此項中沒有考慮關鍵點的可見性,因為本文使用的關鍵點檢測系統即使在遮擋情況下也可以產生準確的關鍵點位置。
2.3.2 正則化能量
本文引入一個信心權重正則化項Eweight,其定義為

最小化該項相當于最大限度地增加可靠對應的數量,并抑制不可靠的對應。w的值接近于1表示可靠的對應關系,而接近于0表示未找到合適的對應關系。這一項與LI等[2]的類似,但該方法未考慮對應點的可見性。
Esmo描述了一個平滑變形約束,其強制一個節點的仿射變換與其鄰域盡可能相似,定義為

一個特征保持變形場Erigid限制每個節點的仿射變換盡可能的剛性,其定義為

其中,a1,a3,a3分別為矩陣Ai的第1~3列。該項強制矩陣Ai盡可能是一個正交陣。
總能量Etol的最優化通過使用一個高斯-牛頓法迭代求解一個非線性最小二乘問題實現。實驗參數設置見表1。

表1 權重參數設置Table 1 Initial values of weight parameters
多幀穩定性保證可靠跟蹤對象被掃描到的表面區域,并通過2個已變形模板形狀的線性混合來減少跟蹤對象被遮擋部分的誤差累積。在時刻t-1,已與上一幀對齊的已變形的模板網格Wt-1處于零能量狀態,在時刻t,跟蹤管線強制將Wt-1對齊到當前輸入St。在運動跟蹤過程中,可見手部區域的運動由于包含豐富的觀測信息可以被精確地捕獲。然而,當連續地將已變形模板W與來自單個深度傳感器的包含噪聲與遮擋數據進行對齊時,對齊誤差累積的很快,最終會產生嚴重的漂移問題。為此,本文引入了一個簡單但有效的多幀穩定策略來精確跟蹤可見的表面區域運動,并減少跟蹤過程中被遮擋區域的誤差累積。
在跟蹤過程中,每30幀選擇出一幀作為錨點幀San(an=30t,t=1,2,···,n)。基于時間相關性,通過變形模板Wan-1來匹配San得到一個對齊后的模板Wan,其頂點表示為van。當不采用時間相關性,通過變形Tinit來匹配當前幀,也可以得一個對齊后的模板,其頂點表示為。然后基于頂點可見性,為每個頂點定義一個硬的位置約束,通過線性混合Wan和生成一個最終修正后的網格Ran,其頂點定義為

本文提出方法在2個挑戰的手部深度序列上做出評價。第一個是文獻[4]中所提供的一個手部深度序列(序列1),其包含使用Intel IVCam攝像機記錄的400幀深度圖像和一個具有約9 000個頂點的可變形手部形狀模板。另一個序列(序列2)包含從NYU手部姿態數據集[23]抽取的500幀深度圖像序列。這2個序列均包含快速的手部運動與嚴重遮擋案例,更多信息見表2。在粗略對齊手部形狀模板與第一個深度幀后,在這些序列上,本文的表面運動跟蹤管線以每分鐘20幀的速度運行,采用C++實現,運行環境為具有3.20 GHz,4核CPU和8 G內存的個人計算機。

表2 實驗所用測試序列Table 2 Statistics of two test sequences in the experiments
為了定量分析實驗結果,將這些序列輸入到一個現有的Vicon光學運動捕獲系統,并手動配準系統標記點與手部模板網格上的對應頂點,以此生成準確的標注數據。圖4給出了本文方法、文獻[12]和文獻[4]在一個非遮擋輸入案例上的誤差分布對比結果。其中使用每個頂點與其真實標注值之間的歐式距離來編碼單個頂點的顏色。從圖4可看出,在非遮擋情況下本文方法重建誤差分布穩定且無異常值。

圖4 在序列1上的誤差分布對比((a)為輸入深度幀;(b)~(d)分別為本文、文獻[12]和文獻[4]的誤差分布結果)Fig. 4 Comparison of error distribution on sequence 1st ((a)Presents the input depth; (b)~(d) Present maps of error distributions of our method, [12] and [4], respectively the color-coded per-vertex error is the Euclidean distance between a vertex and its ground truth position)
圖5給出了本文方法、文獻[12]和文獻[4]在另一個存在遮擋的輸入案列上的誤差分布對比結果。從圖5可看出,在被掃描對象部分被遮擋情況下,文獻[12]和文獻[4]方法在虎口處均出現異常值,而本文方法依然能得到準確的重建結果。

圖5 在一個遮擋案列上的誤差分布對比((a)為輸入深度幀;(b)~(d)分別為本文、文獻[12]和文獻[4]的誤差分布結果Fig. 5 Comparison of error distribution on a case with occlusion ((a) Input depth; (b)~(d) Maps of error distributions of our method, literature [12] and [4], respectively. The color-coded per-vertex error is the Euclidean distance between a vertex and its ground truth position)
圖6為本文、文獻[12]和文獻[4]等3種方法在序列1上單幀平均誤差定量對比結果。單幀平均誤差定義為每一個重建的網格與其真實標注之間所有頂點對歐氏距離的平均值。從圖6可明顯看出,紅色、綠色和藍色曲線分別代表本文、文獻[4]和文獻[12]的平均誤差結果,相比于其他2種方法,本文方法得到了更低的平均誤差。

圖6 在序列1上單幀平均誤差對比Fig. 6 Comparison of per-frame average numerical errors on sequence 1
圖7給出了本文方法與文獻[4]的定性比較結果。值得注意的是,文獻[4]更關注于人體及一些非關節式運動物體的動態重建,而本文方法更局限于人手。此外,本文方法只恢復大尺度的表面運動,而文獻[4]更進一步重建表面細節。從圖中的最后3列可以看出,在嚴重遮擋發生的情況下,本文方法相比文獻[4]產生了更準確的重建結果。
圖8給出了本文方法在序列2上的部分重建結果。從圖8可以看出,本文方法能夠從包含各種復雜手部姿態并存在嚴重遮擋情況的單目深度序列中重建出準確的手部表面。

圖7 在序列1上本文與文獻[4]方法的定性結果對比Fig. 7 Visual comparisons with literature [4] on sequence 1

圖8 本文方法在序列2上的一些重建結果((a)為輸入深度圖像;(b)和(c)為重建的網格在不同視點下的渲染結果)Fig. 8 Some reconstruction results on sequence 2 ((a) The input depth image; (b) ~ (c) Rendering results of reconstructed hand from different viewpoints)
本文通過引入多個三維關鍵點到關鍵點的對應性,提出了一種新的非剛性手部動態重建方法??砂l現這些三維關鍵點之間的對應關系可以作為手部關節區域局部變形和大尺度運動重構的重要線索。本文使用幾個能量項描述這些對應關系,并將其整合到一個非剛性配準管線中,以實現精確的曲面擬合。之后借助于一個簡單的多幀穩定策略來減少誤差累積,最終獲得了高質量的重建結果。在2個具有噪聲的手部深度序列上進行的實驗表明,本文方法不但能夠準確的重建出手部運動和表面,而且對于大的變形和遮擋魯棒。
本文方法雖然能夠重建大尺度的表面運動,但仍然受限于恢復手部精細尺度的表面細節,如皺紋和褶皺等。未來工作中可以考慮引入一種基于自適應可見性技術的細節保持方法[24]來嘗試解決這一問題。