徐增波, 趙 娟
(上海工程技術(shù)大學 紡織服裝學院,上海 201620)
參數(shù)化人體重建方法依賴于統(tǒng)計得到的人體參數(shù)化模型,僅需一組低維向量即可描述人體形狀。目前常見的參數(shù)化人體模型有SCAPE[1]、SMPL[2]、SMPL-X[3]等。Cheng等[4]對幾種主流參數(shù)化人體模型的速度和準確性進行了比較,結(jié)果表明,SMPL模型在速度和準確性方面都比SCAPE具有更好的性能。
傳統(tǒng)參數(shù)化人體重建方法通常使用特殊設(shè)備獲取人體三維點云數(shù)據(jù)或深度數(shù)據(jù),然后通過點云配準、模板變形等方式擬合SCAPE參數(shù),從而重建三維人體形狀。此類方法[5-7]的人體重建結(jié)果主要取決于Kinect獲取的深度圖質(zhì)量。但由于Kinect的硬件限制,深度圖往往含有較大噪聲,這嚴重影響了重建質(zhì)量。不同于利用掃描數(shù)據(jù)擬合人體,一些研究采用諸如人體2D關(guān)節(jié)點坐標、人體輪廓等其他數(shù)據(jù)形式來約束參數(shù)化人體幾何形狀重建。如Guan等[8]以輪廓和渲染圖作為優(yōu)化項擬合SCAPE參數(shù),但該方法需要用戶事先手動對人體2D關(guān)節(jié)點進行標注,無法自動化完成三維人體建模。Bogo等[9]使用一個二維的姿勢卷積網(wǎng)絡(luò)檢測2D關(guān)節(jié)點,并以此作為約束求解SMPL模型參數(shù)。該工作在重建姿勢方面取得了顯著效果,但并沒有較好地約束體型。近年來,基于深度學習的參數(shù)化人體形狀重建方法變得越來越流行。Kanazawaa等[10]在其提出的端到端人體網(wǎng)格恢復(fù)(Human mesh recovery,HMR)網(wǎng)絡(luò)中采用2D關(guān)節(jié)的重投影損失,并借鑒生成對抗網(wǎng)絡(luò)(Generative adversarial network,GAN)思想,引入判別器來檢測生成人體網(wǎng)格的合理性。然而,該方法并未有效監(jiān)督人體體型,并且人體姿態(tài)也與輸入圖像中的人體相差較大。王巧麗[11]將基于深度學習和優(yōu)化的人體建模算法結(jié)合起來重建人體模型,首先利用OpenPose獲取圖像2D關(guān)節(jié)點,并基于HMR獲取模型的參數(shù)作為初始值,通過深度學習方法獲取人體的分割輪廓,然后將所得數(shù)據(jù)應(yīng)用到能量函數(shù)進行優(yōu)化求解。其中,能量函數(shù)以2D關(guān)節(jié)約束來保證人體模型姿態(tài)的準確性、以人體輪廓約束來避免優(yōu)化過程中體型出現(xiàn)誤差,經(jīng)過若干次優(yōu)化迭代最終獲得與圖像中人體姿態(tài)和體型相似的人體模型。
參數(shù)化人體建模及與其密切相關(guān)的非剛體配準研究已經(jīng)較為成熟。然而,這些參數(shù)化人體模型大多是基于西方人體體型開發(fā)的,其形體與中國人形體存在一定的適配性問題。基于中國人數(shù)據(jù)集的重建鮮有報道,故本研究從構(gòu)建中國人數(shù)據(jù)集的角度提煉創(chuàng)新點并開展相應(yīng)的研究工作。
本研究共采集152名中國成年女性凈體的輕量級樣本,樣本的身高、身體質(zhì)量指數(shù)(Body mass index,BMI)、年齡分布如圖1所示。采集時要求受試者站立在指定腳印標志上并直視前方,手臂從體側(cè)自然向外展開??紤]到采集樣本的一部分個體辮子會影響后續(xù)模型擬合精度,借助于Meshlab開源軟件預(yù)先人工交互修剪,進行辮子部位去除。此外,由于線激光三維掃描設(shè)備固有缺陷(如遮擋、準平行于發(fā)射光源平面等),人體網(wǎng)格中存在大大小小的破洞,采用屏蔽泊松重建算法[12]預(yù)先進行重建修補。同時,三維點云包含大量冗余數(shù)據(jù),權(quán)衡后續(xù)模型匹配的精度和速度,采用二次邊折疊抽取的降采樣方法[13]將采集網(wǎng)格面數(shù)降至20 K(平均原始點云網(wǎng)格面數(shù)600 K以上)。
圖1 目標樣本的身高、BMI、年齡分布Fig.1 Distribution of height, BMI and age of the target sample
由圖1(a)可知,目標樣本的身高基本符合正態(tài)分布規(guī)律。其中,155~159 cm的樣本量最多,而最新統(tǒng)計數(shù)據(jù)中中國成年女性身高50百分位為158 cm,正好位于155~159 cm內(nèi),目標樣本可以較好地體現(xiàn)中國成年女性人群的身高分布情況。由圖1(b)可知,目標樣本的BMI分布(依據(jù)中國參考標準)同樣符合正態(tài)分布規(guī)律,“正?!彼降膮^(qū)間值為18.5~23.9 kg/m2,比其他區(qū)間大,故該區(qū)間樣本量明顯大于其他區(qū)間。目標樣本分布在各級BMI分類中,對于中國成年女性人群的BMI分布情況具有較好的表征作用。根據(jù)圖1(c)可知,目標樣本的年齡較為均勻地分布在各個年齡區(qū)間,整體來說可以較好地表征年齡差異特點。
Pishchulin等[14]提出的非剛性模板擬合方法對初始站姿要求較高,而且每個頂點有12個自由度,計算負荷和收斂穩(wěn)定性較差;基于深度學習的LoopReg算法[15]計算效率較低,且與人體網(wǎng)格點云對應(yīng)點精度誤差仍然在厘米級以上。
在綜合考慮配準精度和效率基礎(chǔ)上,本研究采用“粗—精”的兩步配準策略,首先基于基點集(Basis point sets,BPS)對點云進行高效學習[16],將SMPL模型網(wǎng)格點快速初始配置至掃描網(wǎng)格點附近;然后采用基于迭代最近鄰點(Iterative closest points,ICP)的非剛性網(wǎng)格配準算法進行精配準,只優(yōu)化頂點位移D分量,生成精準匹配的SMPLD模型。設(shè)M(vi,x):J×x→R3,表示將標準人體表面MT?R3上的三維頂點vi?J映射到按照模型參數(shù)x∈x變形后的三維點的人體模型。SMPL+D模型中x={θ,β,D},對應(yīng)于姿態(tài)θ、形狀β和非剛性變形D,這里D可理解為由{θ,β}重建后的SMPL模型各頂點偏移。標準的配準方法是找到一系列對應(yīng)的由x重構(gòu)后模型點集Cv={c1,…,cNv}和人體掃描點{s1,…,sTv}(si∈S),并最小化損失:
(1)
式中:Cf={f1,…,fNf}表示SMPL模型網(wǎng)格面集合,其網(wǎng)格頂點數(shù)Nv=6 890、三角網(wǎng)格面片數(shù)Nf=13 776,Tv為待匹配網(wǎng)格點數(shù),Cf0表示由BPS粗配準后的初始網(wǎng)格面,Lap表示拉普拉斯算子,dist(·)是可微分的點到表面的距離,ci∈MT是連續(xù)的表面點,M(·)表示對離散模型頂點vi∈J定義的模型函數(shù)M(·)進行重心插值,di為重建后的SMPL模型各頂點偏移,α、β和γ為動態(tài)加權(quán)系數(shù)。
式(1)可以使用ICP進行最優(yōu)搜索。每次迭代過程中,先計算人體模型—SMPLD模型的對應(yīng)點對,然后利用梯度或高斯牛頓優(yōu)化器對模型參數(shù)進行更新,使掃描點與對應(yīng)模型點之間的距離最小。
三維人體模型的形體空間被定義為一個平均模板和主成分形狀方向。它是通過在多形體數(shù)據(jù)集上,對配準樣本的形體進行主成分分析(Principal component analysis,PCA)[17]計算得到的。
圖2 位姿校正Fig.2 Pose correction
最終構(gòu)建的適配中國人形體的參數(shù)化人體模型為:
(2)
篩選泊松曲面重建及其降采樣結(jié)果如圖3所示。鑒于曲面重建后出現(xiàn)腳底平面失真,本研究還進行了地板平面的切削處理。
圖3 篩選泊松曲面重建及其降采樣結(jié)果Fig.3 Screened Poisson surface reconstructionand its downsampling results
掃描數(shù)據(jù)的LoopReg預(yù)測及擬合SMPL模型如圖4所示,其中第1列為原始網(wǎng)格(灰色)與粗匹配網(wǎng)格(藍色)融合圖,第2列為第1列的側(cè)視圖,第3列為粗配準三角網(wǎng)格圖,第4列為配準誤差圖,其網(wǎng)格點顏色對應(yīng)配準誤差,誤差色表如最上方圖所示(下同)。圖4中,樣本粗配準平均誤差分別為2.08和1.88 cm。掃描數(shù)據(jù)的BPS粗配準SMPL模型網(wǎng)格輸出如圖5所示。圖5中,樣本網(wǎng)格頂點匹配平均誤差為0.91和0.79 cm,同LoopReg算法結(jié)果相比,平均精度提升了2倍多。
圖4 LoopReg配準結(jié)果Fig.4 LoopReg registration results
圖5 粗配準結(jié)果Fig.5 Coarse registration results
基于Python平臺下Pytorch 1.17.0+cu11.0開發(fā)套件實現(xiàn)非剛性模板精配準,非線性優(yōu)化采用Adam方式,學習率lr=0.005,betas=(0.9,0.999)。圖6為圖5精配準的能量迭代曲線,其中系列1對應(yīng)第1行樣本擬合結(jié)果,系列2對應(yīng)第2行樣本擬合結(jié)果。由圖6可以看出,迭代至30次時,目標函數(shù)基本收斂。圖7為精配準結(jié)果,其中第1行和第2行樣本精配準平均匹配誤差為0.56 cm和0.54 cm,與粗配準平均匹配誤差相比,下降近50%。
圖6 精配準的能量迭代曲線Fig.6 Energy iteration curve of fine registration
152個樣本的粗配準和精配準網(wǎng)格點平均匹配誤差如圖8所示,基于BPS的粗配準平均匹配誤差的最大值、最小值及平均值分別為1.15、0.75 cm及0.90 cm,對應(yīng)的基于非剛性模型匹配的精配準的最大值、最小值及平均值分別為0.60、0.48 cm及0.53 cm。
圖7 精配準結(jié)果Fig.7 Fine registration results
圖8 152個樣本的粗配準和精配準網(wǎng)格點平均匹配誤差Fig.8 Average matching error of grid points in coarseand fine registration of 152 samples
“粗—精”兩步配準代碼運行硬件平臺配置為:Intel i7-9750H,16 G內(nèi)存,Win64系統(tǒng),GPU為NVIDIA GeForce RTX 2070 with Max-Q Design,8 G內(nèi)存。所有關(guān)鍵代碼都基于GPU運行,而基于同樣平臺,傳統(tǒng)人體三維掃描后的非剛性匹配每樣本大致需要15 min(包含姿態(tài)預(yù)配準、非線性迭代等)?;谏疃葘W習的BPS預(yù)配準,在保證相對較高的匹配精度同時,每樣本平均耗時僅0.5 s,同時基于Pytorch 1.17.0+cu11.0編制的精配準過程每樣本平均耗時僅50 s左右。因此,基于BPS預(yù)配準和非剛性模板擬合的“粗—精”兩步配準方法不僅保證了非線性模型配準精度,而且極大地提升了配準效率(每樣本配準精度提升了2倍多,配準效率提升了15倍多)。
位姿校正前后結(jié)果如圖9所示,其中第1列為精配準結(jié)果、第2列為位姿校正結(jié)果、第3列和第4列為融合示意(白色表示校正前,藍色表示校正后)。主成分分析的目的是在給定有限的形體方向條件下,相對于平均形體,最大化頂點偏移的可解釋性方差。前10個主成分的方差累計貢獻為89.180 97%>85.000 00%。前10個主成分分析的可視化結(jié)果如圖10所示,表示每個PCA參數(shù)(±5)單獨變化時的人體形體圖,其中中間圖為平均形體。
圖9 位姿校正前后結(jié)果Fig.9 Results before and after pose correction
圖10 前10個主成分分析的可視化Fig.10 Visualization of the first ten PCA
圖10中,PC1代表整個人體的大小和胖瘦,初始(平均模型)為0的情況下,正向變胖小,負向變瘦大,正向身體前傾;PC2正向變胖小,負向變瘦大,負向身體前傾;PC3負向表示肚子變大,手臂和腿變瘦長,可以調(diào)整上下身的比例;PC4人體橫向壓縮拉伸,正向壓縮,正向肩膀變低;PC5人體橫向壓縮拉伸,正向壓縮,負向肩膀變寬;PC6正向上半身向前傾斜+整體變胖;PC7負向上半身向左傾斜+整體變瘦;PC8人體縱向壓縮拉伸,負向壓縮;PC9負向胸部變小,腹部和臀部變大,正向胸部變大,腹部和臀部變小;PC10代表胸部、腹部、臀部的大小,初始為0的情況下,負向變大,正向變小。
SMPL平均模板(第1列及后兩列的藍色,且進行了位姿校正)與基于中國人數(shù)據(jù)集重建的參數(shù)化模型平均模板(第2列及后兩列的白色)的比較如圖11所示。由圖11可知,中國成年女性形體與歐美成年女性存在明顯差異。
圖11 平均模型比較Fig.11 Average model comparison
本研究將重建模型和SMPL模型分別應(yīng)用于王巧麗[11]提出的基于單幅圖像的三維人體建模,所得重構(gòu)結(jié)果如圖12、圖13所示。其中,圖12(a)基于重建模型;圖12(b)基于SMPL模型。圖13第1列:基于重建模型;第2列:基于SMPL模型;第3、4列為兩者重構(gòu)模型的融合(藍色表示SMPL模型,白色表示重建模型)。
圖12 基于圖像的人體三維重構(gòu)結(jié)果Fig.12 3D reconstruction results of human body based on image
圖13 重構(gòu)結(jié)果比較Fig.13 Comparison of reconstruction results
本研究選取重構(gòu)結(jié)果的細節(jié)差異處進行對比,如圖12(b)中的4處紅圈部分。明顯可以看出,基于中國人數(shù)據(jù)集的參數(shù)化模型重建結(jié)果更加貼合人體。再將兩個模型擬合結(jié)果中關(guān)節(jié)平均誤差和頂點平均誤差數(shù)據(jù)進行對比,如表1所示。
表1 誤差對比Tab.1 Error comparison
從表1可以看出,相比基于SMPL模型的擬合結(jié)果,基于重建模型的擬合結(jié)果關(guān)節(jié)誤差和頂點誤差均有所降低,實驗對象1關(guān)節(jié)平均誤差和頂點平均誤差分別降低了26.2%、20.0%;實驗對象2關(guān)節(jié)平均誤差和頂點平均誤差分別降低了19.4%、16.1%;實驗對象3關(guān)節(jié)平均誤差和頂點平均誤差分別降低了21.7%、12.5%。整體而言,基于中國人數(shù)據(jù)集的參數(shù)化模型重建能夠明顯提升模型擬合精度。
本文創(chuàng)新性采用了“BPS粗配準+基于ICP的非剛性網(wǎng)格精配準”兩步配準策略構(gòu)建了適合中國人體的參數(shù)化模型平均模板。與先進配準算法LoopReg相比,“BPS粗配準+基于ICP的非剛性網(wǎng)格精配準”兩步配準每樣本配準精度提升了2倍多,配準效率提升了15倍多。但是配準結(jié)果還存在一些問題:襠部中間存在重構(gòu)黏連及雙手重構(gòu)失真現(xiàn)象,而且右手存在粗配準誤差,導(dǎo)致精配準時右手大拇指最近點云最優(yōu)搜索出現(xiàn)錯誤,這些問題還需在后續(xù)研究中進行修正。在基于單幅圖像的三維人體重建中,與基于SMPL模型平均模板的擬合結(jié)果相比,基于重建模型平均模板的擬合結(jié)果關(guān)節(jié)誤差和頂點誤差均有所降低,3個實驗對象的關(guān)節(jié)平均誤差分別降低了26.2%、19.4%、21.7%;頂點平均誤差分別降低了20.0%、16.1%、12.5%。整體而言,基于中國人數(shù)據(jù)集的參數(shù)化模型重建能夠明顯提升模型擬合精度。
《絲綢》官網(wǎng)下載
中國知網(wǎng)下載