季 勇,蔣高明
(1.江南大學 針織技術教育部工程研究中心,江蘇 無錫 214122;2.南通大學 杏林學院,江蘇 南通 226001;3.生態紡織教育部重點實驗室(江南大學),江蘇 無錫 214122)
人體模型的表達與實現是計算機人體仿真的重要組成部分,不僅是虛擬現實人物模擬的主體內容,更是人工智能領域研究的熱點之一[1]。隨著虛擬現實技術不斷迭代更新,人體模型的表示方法也開始從傳統的線框模型不斷進行技術升級。
對于人體形狀估計的需求,人體感知的圖像扭曲方法被提出來,該方法也能將人體整形效果從模型傳遞到圖像,通過改變全身屬性,創建所需的整形效果[2]。此外,又進一步提出從單一圖像估計人體和服裝形狀,該方法從訓練數據集中學習可變形模型,為不同姿勢的人體生成三維試衣網格[3]。對于人體輪廓估計的需求,提出綜合幾何和統計先驗知識的方法,從1個正面和1個側面輪廓中重建一個標準化物體的形狀。學習一個連接輪廓外觀的非線性函數,并將其用于創建一階近似人體模型[4]。此外,參數化人體造型和變形算法也被用于水平剖面橫切獲取人體模型的特征腰圍圍線,并引入人體特征尺寸參量,確定相關圍線初始值以及迭代初始值,通過指定區域變形,得到個性化人體模型[5]。對于人體數據集,對人體數據的更新需求及人體數據的獲取方法、發展趨勢等進行調研,匯總國內外22 個人體數據庫的研究建立、運行使用以及數據含量等情況,分析了數據庫框架特征和功能[6]。
以上相關研究局限于圖像生成和二維參數建模,沒有結合現有的人體數據庫,快速實現人體模型表達,導致工程化適用性不強。本文提出了基于學習功能的線性人體模型表達方法,通過對大量不同人體形狀的三維網格進行整體模型訓練,快速實現快速人體模型的重建,為人體建模在虛擬現實中虛擬設計和可視化仿真提供有力支撐。
人體模型表達與實現需要大量的訓練和驗證數據。收集大量的人體形狀是一項非常復雜的任務。目前,國內還沒有真實的人體形狀和測量數據集,由此需要進行人體尺寸的測量、掃描以及重建。
1.1.1 被動三角剖分
三角剖分是人體三維掃描的主要方法之一,被動三角剖分需要對不同姿態拍攝圖像尋找點的對應關系,從而完成物體或場景的重建[7-8],如圖1所示。根據2張圖像中對應點的位置,立體攝像機相對排列并且相同方向,剖分時找到圖像中對應點的三維位置并三角化。被動三角剖分依賴于圖像中準確的對應點,而人體掃描特征點不明顯,所以被動三角剖分在人體掃描上具有一定的局限性。

圖1 被動三角剖分Fig.1 Passive triangulation
1.1.2 主動三角剖分
主動三角剖分的原理是將測量系統中的一個攝像頭替換為一個光源,光源將一個點從一個校準的位置投射到環境并顯示于成對的圖像中,如圖2所示,激光掃描是一種主動三角剖分的形式,利用校準的激光、傳感器以及相機系統的組合來完成物體的三維測量[9]。激光將1條或幾條線投射到一個物體上,調到特定波長的攝像機進一步測量這些線的變形,再利用采集的數據將每條線變成三維曲線,進而激光沿著物體的整個表面移動,把獲得的三維曲線轉變為整個人體的三維表面。

圖2 主動三角剖分Fig.2 Active triangulation
本文選用CAESAR人體數據集[10],主要采用主動三角剖分方法采集人體數據,是目前最大的三維人體數據集,也是人體模型幾何圖形研究領域最常用的數據集,經常被用于人體模型的采集與生成研究。區別于二維人體數據集,該數據集具有準確的體積和表面積的測量能力。如圖3所示,CAESAR數據集包含3種人體形態的全身掃描。CAESAR數據集已經被應用到多項人體研究之中,包括學習人體的形狀和姿勢、站立人體姿態歸一化、參數化人體形狀表示。
基于學習功能的人體模型重建是利用數據集的再塑過程,結合深度圖中人體形狀來選擇特定的曲面網格,對齊新網格與輸入網格以重構整個網格。本文提出的人體線性模型采用校正人體形狀的網格頂點算法,以C=20個關節,V=7 160個頂點的人體網格為基準,J()為關節位置函數,如圖3所示,其分割初始權重Π∈RV×J,RV×J是V×J階矩陣,R為人體形狀矩陣。

圖3 人體模型網格基準Fig.3 Mannequin grid datum
根據標準的人體網格創建方法,人體模型的形狀S由V個向量代表的平均模板形成:

(1)

(2)
人體關節的位置是人體模型建模中關鍵部分,精準的關節位置使人體模型的軀干更加自然并且清晰。基于人體形狀的關節位置公式為

(3)


(4)
式中W(·)是一個標準的線性蒙皮函數,對關節中心估計的頂點進行旋轉,并用權值來實現平滑。

(5)

(6)
通過以上計算,可以得到與數據集匹配的形狀,對轉化后的人體網格進行主成分分析,經過位置標準化得到相應形狀參數。由此根據方差頂點偏移位置定位人體網格。在頂點構建人體形狀時,優化位置能避免人體形狀的偽影[11-12]。訓練時,人體網格變形的映射方差不能直接轉化為頂點位置的方差,但三角形變形擁有靈活自由度,這也確保模型的可行性。
預訓練的網絡已經能夠分割人體部位,這使得合成數據集中的人體表現真實[13-15],由于人體模型訓練數量較少,微調會在100次迭代后收斂。評估分段和深度估計的性能時,表1示出人體模型的分割結果,交并比均值達到65.27,像素準確均值達到62.15,比Optimal和Baseline-greedy 2種方法表現較好,在優化Obj文件和時間效率上表現中等。

表1 人體估計分割Tab.1 Mannequin segmentation
為進一步評估模型的泛化能力,將每個模型擬合到已有網格,在人體形狀上進行優化即根據平方頂點距離找到最佳擬合。通過優化人體模型的個性化模板形狀,使網格之間的位移達到動態匹配,以此擴展線性公式,并簡單地添加動態形狀函數到蒙皮函數如下:
(7)

(8)
式中:β∈R3V×|ε|,|ε|是凱撒數據集中的主成分個數;γβ∈R3V;f(·)為動態控制向量函數,對動態形狀系數的向量進行預估。
根據以上頂點距離最佳擬合公式生成線性人體模型。隨著動態控制向量的改變,人體模型出現了顯著差異,人體模型的網格變形更加真實,如圖4所示。隨著動態控制向量的變化,人體形狀也產生線性改變,依賴于人體形狀參數的人體變形看起來流暢自然,人體線性模型擬合程度較高,這也說明回歸訓練達到了預期的效果。

圖4 線性人體模型Fig.4 Linear mannequin
針對復雜結構的人體重建問題,利用人體網格頂點模型,結合人體形狀參數訓練,將不同類型的人體連接起來,生成了線性化的人體模型。經過優化關節位置,隱式地建立人體模型的空間關系;并通過考慮人體結構以及關節位置來推斷人體網格,完成人體網格的深度估計。根據平方頂點距離找到最佳擬合,實現對人體形狀模型進一步優化;優化后的人體形狀可使網格之間的位移達到動態匹配,以此快速實現多種復雜的人體模型重建,并可用于人體模型的開發和服裝虛擬展示。