国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單視圖的帶紋理三維人體網(wǎng)格參數(shù)化重建

2024-03-31 05:33洪沛霖檀結(jié)慶
關(guān)鍵詞:編碼器紋理形狀

邢 燕, 徐 冬, 洪沛霖, 檀結(jié)慶

(1.合肥工業(yè)大學 數(shù)學學院,安徽 合肥 230601; 2.安徽中醫(yī)藥大學 醫(yī)藥信息工程學院,安徽 合肥 230012)

0 引 言

三維建模在動畫、服裝設計、游戲、虛擬現(xiàn)實等領(lǐng)域有著廣泛的應用。傳統(tǒng)上,基于優(yōu)化的方法[1-2]為由圖像恢復姿態(tài)和形狀提供了可行的解決方案,然而運行時間慢、依賴良好初始化、不正確的局部最小值會導致不精確、不穩(wěn)定、魯棒性差等。最近的研究重點轉(zhuǎn)移到基于學習的方法上,研究用體素、點云、網(wǎng)格、隱式函數(shù)等表示重建三維對象的方法。由于從單幅二維圖像獲取三維形狀的歧義性和關(guān)節(jié)動物的復雜性,從單幅二維圖像重建三維人體模型是一個巨大的挑戰(zhàn)。

三維人體重建可以分為參數(shù)化重建和非參數(shù)化重建2種方法。傳統(tǒng)的非參數(shù)化方法一般需要借助激光掃描儀、深度相機等特殊的數(shù)據(jù)收集設備,而且容易受到噪聲的影響。文獻[3]使用深度相機從Kinect傳感器獲得的數(shù)據(jù)中恢復出三維人體;文獻[4]根據(jù)2臺Kinect傳感器同時掃描獲得的數(shù)據(jù),提出一種基于全局配準的三維人體重建方法。深度神經(jīng)網(wǎng)絡的出現(xiàn)為三維人體重建提供了新的思路。一般對網(wǎng)格頂點直接變形,雖然重建的人體具有個性化和靈活性,但頂點變形不受約束,會出現(xiàn)變形異常、不符合人體測量學的情況,例如出現(xiàn)人體上不可能的關(guān)節(jié)角度或極瘦的身體等不合理現(xiàn)象。文獻[5]使用基于圖像的卷積神經(jīng)網(wǎng)絡,通過一系列的圖卷積層對變形網(wǎng)格的三維頂點坐標進行回歸;文獻[6]通過在圖卷積神經(jīng)網(wǎng)絡的損失函數(shù)中引入拉普拉斯先驗和部分分割損失實現(xiàn)三維人體重建。

參數(shù)化人體重建方法僅需1組低維向量參數(shù)即可描述人體形狀,其中常見的人體參數(shù)化模型有智能分類器和姿態(tài)估計(smart classifier and pose estimator,SCAPE)模型[7]和蒙皮多人線性(skinned multi-person linear,SMPL)模型[8]。文獻[9]使用SMPL參數(shù)化人體模型,在網(wǎng)絡中使用基于距離場的碰撞損失和深度排序感知損失估計三維人體姿態(tài)和形狀;文獻[10]提出一種采用SMPL模型的多級拓撲構(gòu)建的圖卷積神經(jīng)網(wǎng)絡重建三維著裝人體;文獻[11]以人體的二值化圖像為輸入,以人體形狀參數(shù)誤差、正/側(cè)面輪廓誤差為損失函數(shù)實現(xiàn)三維人體重建;文獻[12]采用深度神經(jīng)網(wǎng)絡作為編碼器、SMPL模型作為解碼器,提出去噪自編碼器模塊,從結(jié)構(gòu)誤差中恢復人體。

文獻[1-2]采用多階段方法恢復三維人體網(wǎng)格:首先估計二維關(guān)節(jié)位置,然后根據(jù)這些信息估計三維模型參數(shù)。這種分階段的方法通常不是最優(yōu)的,本文提出一個端到端的解決方案,直接學習從圖像像素到人體模型參數(shù)的映射。

文獻[13]提出生成對抗網(wǎng)絡(generative adversarial network,GAN),GAN在醫(yī)學、自動駕駛、地理、圖像處理等領(lǐng)域取得了令人矚目的成就;文獻[14]使用判別器鑒別生成的渲染圖像和真實輸入圖像,重建鳥、牛、摩托車等對象;文獻[15]使用判別器判斷人體形狀和姿勢參數(shù)是否與真值相同,重建三維人體。這些研究都給本文提供了新的思路。本文采用GAN鑒別器作為弱監(jiān)督,判斷圖像是來自真實輸入圖像還是渲染圖像,從而使重建的紋理效果更加精確。

本文的主要工作如下:

1) 提出一個端到端的框架,與多階段方法不同,可直接從單張二維圖像恢復三維人體網(wǎng)格。

2) 大部分三維人體重建結(jié)果都是無紋理的,而本文不僅重建出三維人體的形狀和姿態(tài),還從二維RGB圖像中學習到紋理圖。

3) 設計三維損失、二維重投影損失、二維渲染損失和生成對抗損失的組合損失,提高了三維人體形狀和姿態(tài)重建精度并生成較合理的紋理圖。

1 方 法

本文以單視圖為輸入,利用編碼器、解碼器網(wǎng)絡回歸SMPL模型參數(shù),借助GAN網(wǎng)絡重建帶紋理的三維人體網(wǎng)格。

1.1 模型管線圖

本文的網(wǎng)絡結(jié)構(gòu)框架如圖1所示。從輸入的單幅RGB圖像中提取特征,采用相機、紋理、光照以及形狀編碼器提取相機參數(shù)、紋理特征、光照參數(shù)和形狀特征。形狀編碼器采用預訓練的ResNet-50[16]對圖像進行編碼,得到的圖像特征被送入三維回歸模塊,推斷出三維人體SMPL模型參數(shù);再用SMPL模型重建三維人體網(wǎng)格。相機、光照、紋理編碼器都使用了二維卷積塊、平均池化層以及線性層的結(jié)構(gòu),得到相應的屬性參數(shù)。其中,紋理參數(shù)再被送入紋理解碼器網(wǎng)絡,得到紋理圖。

圖1 網(wǎng)絡結(jié)構(gòu)的框架

本文將二維和三維約束相結(jié)合,使用三維損失、二維損失、GAN損失,二維損失使用關(guān)節(jié)點重投影損失,圖像渲染損失。從這些約束條件出發(fā),本文的網(wǎng)絡結(jié)構(gòu)可以精準重建出帶紋理的三維人體形狀和姿態(tài)。此外,本文模型在預測和訓練階段皆不需要真實的相機外參和光照系數(shù),就能從輸入的RGB圖像中回歸出相機參數(shù)和光線參數(shù),這使得本文方法應用更加廣泛。

1.2 屬性編碼器

設I∈RH×W×3表示高為H、寬為W的彩色輸入圖像,O(S,T)表示三維人體網(wǎng)格,S=(θ,β)為形狀屬性,其中θ∈R3K和β∈R10分別表示位姿參數(shù)和形狀參數(shù)。紋理屬性T∈RH×W×3表示分辨率為H×W的UV圖。C=(a,e,d)為相機屬性,其中a∈[0°,360°]、e∈[-90°,90°]、d∈[0,+∞]分別表示方位角、仰角和距離參數(shù)。光照屬性L∈Rl由球諧函數(shù)建模,它由一個不同的角頻率的球面基組成,l是球諧函數(shù)系數(shù)的維數(shù)。

本文通過4個子編碼器獨立預測屬性,相機編碼器Ec預測1個由(ax,ay,e,d)組成的4維向量,其中:e和d分別表示相機的仰角和距離參數(shù);ax和ay表示方位角的笛卡爾坐標,a=atan2(ax,ay)。用這種方式計算方位角參數(shù),可以避免在定義域[0°,360°]中出現(xiàn)不連續(xù)的回歸問題。用ResNet-50作為形狀編碼器Es的網(wǎng)絡,得到的圖像特征被送入三維回歸模塊,迭代推斷出三維人體SMPL模型參數(shù)θ∈R3K和β∈R10,其中K=23個關(guān)節(jié)點。對于紋理編碼器Et,本文不是通過編解碼器模型直接輸出紋理UV圖,而是先預測一個二維流圖,然后應用空間變換生成紋理UV圖T。對于光照屬性,子編碼器El直接編碼一個l維向量,作為球諧函數(shù)模型系數(shù)。

輸入圖像Ii∈RH×W×3,i=1,2,…,N,其中N為訓練樣本的數(shù)量。三維人體網(wǎng)格重建是訓練編碼器Eη,從單幅圖像預測三維人體網(wǎng)格屬性:

Ai=(Ci,Li,Si,Ti)=Eη(Ii)

(1)

其中:η為編碼器的可訓練參數(shù);Eη為4個子編碼器的并集。

1.3 可微渲染

給定三維屬性A=(C,L,S,T),在相機視圖C和光照環(huán)境L下,三維人體網(wǎng)格O(S,T)可以渲染為二維圖像。三維人體的渲染過程可表示為:

Ir=R(A)=R(C,L,S,T)

(2)

其中:Ir為輸出的渲染圖像;R為可微渲染器,不包含任何可訓練參數(shù)。

1.4 回歸的SMPL模型參數(shù)

SMPL模型是一種參數(shù)化人體模型,可以進行任意的人體建模和動畫驅(qū)動。SMPL模型又是一種生成模型,通過參數(shù)可對人體的形狀和姿勢進行調(diào)整,如人體的身高、體重、身體比例以及三維表面隨關(guān)節(jié)的變形。形狀參數(shù)β∈R10由形狀的主成分分析空間的前10個系數(shù)組成。位姿參數(shù)θ∈R3K由K=23個關(guān)節(jié)以軸角表示的相對三維旋轉(zhuǎn)組成。SMPL模型由N=6 980個頂點的三角網(wǎng)格M(θ,β)∈R3N組成,通過調(diào)整參數(shù)β、θ,根據(jù)關(guān)節(jié)旋轉(zhuǎn)角度θ進行正運動學拼接,再用線性混合蒙皮對曲面進行變形獲得。

1.5 損失

本文整體的訓練損失L包括二維損失L2D、三維損失L3D、生成對抗損失Lgan3個部分,即

L=λ1L2D+λ2L3D+λ3Lgan

(3)

其中,λ1、λ2、λ3為權(quán)值常數(shù)。

1.5.1 二維損失

(4)

三維關(guān)節(jié)點X(θ,β)∈R3K重投影的二維關(guān)節(jié)點為:

(5)

其中,Π為投影運算。

為了使關(guān)節(jié)重投影誤差最小,人體位姿更準確,設置了關(guān)節(jié)重投影損失,即

(6)

其中:xi∈R2K是第i個真實的二維關(guān)節(jié)點;vi∈{0,1}表示每個模型中K個關(guān)節(jié)的可見性,若可見,則為1,否則為0。

本文希望渲染的圖像和輸入的圖像是接近的,因此定義二維渲染損失:

(7)

其中:Ii為第i幅圖像;Eη為Ec、El、Et和Es的并集;R(·)為可微渲染器,它將二維圖像空間與三維屬性空間連接起來。

1.5.2 三維損失

重投影損失使得神經(jīng)網(wǎng)絡生成一個三維人體,解釋二維關(guān)節(jié)位置;然而人體測量學上不合理的三維物體或具有自交的物體可能使重投影損失最小化。因此本文引入三維損失:

(8)

1.5.3 生成對抗損失

本文使用生成對抗性損失訓練模型中4個子網(wǎng)絡,使得重建的三維人體渲染圖更接近輸入圖像。本文模型的生成對抗損失定義為:

Lgan=LG+LD

(9)

其中

(10)

LD=EPz[D(R(Eη(I)))2]+

EPdata[(1-D(I))2]

(11)

其中:G(·)生成器;D(·)為判別器;Pdata、Pz分別為真實數(shù)據(jù)分布和生成數(shù)據(jù)分析。

2 實 驗

2.1 數(shù)據(jù)集和評估指標

2.1.1 數(shù)據(jù)集

本文使用UP-3D數(shù)據(jù)集[2]和THuman數(shù)據(jù)集[17]進行單幅二維圖像的三維人體重建實驗。在UP-3D數(shù)據(jù)集中,使用了8 000多個數(shù)據(jù)項,每項包含1張RGB圖像,對應的關(guān)節(jié)點和真實的SMPL參數(shù)。THuman數(shù)據(jù)集大約有7 000個數(shù)據(jù)項,剔除了多人圖像,在訓練中使用了其中4 000多個數(shù)據(jù)項。大約按3∶1劃分訓練集和測試集。

2.1.2 評估指標

在定量評估時,使用逐頂點誤差平均值(mean per vertex error, mPVE)作為第一評價標準,計算真實頂點與預測頂點之間的歐氏距離;倒角(Chamfer)距離作為第二評價標準,用來測量預測點集和真實點集(P1、P2)間的相似性,定義如下:

(12)

此外,還用二維圖像的評估指標FID(fréchet inception distance)[18]評估渲染圖像。FID計算真實的輸入圖像和生成的渲染圖像在特征空間的距離,FID值越低意味著圖像的質(zhì)量越高。本文從0°~360°每30°一個間隔的視角計算FID的平均值。這3個評估指標數(shù)值越小表示結(jié)果越好。

如文獻[19]所述,常用的度量不能完全反映幾何重建的質(zhì)量,如表面的平滑度和連續(xù)性。因此本文認為視覺效果也很重要。

2.2 實驗設置

本文的網(wǎng)絡是使用Pytorch實現(xiàn)的,形狀子網(wǎng)絡的圖像編碼器使用在ImageNet[20]上預訓練的ResNet-50模型。在訓練中,人形模板網(wǎng)格有N=6 980個頂點和13 776個面,輸入圖像的分辨率為128×128。本文使用β1=0.5、β2=0.999的Adam優(yōu)化器,批處理大小設置為16,學習率初始化為1×10-4,學習率衰減策略使用余弦退火學習率。整個訓練過程一共500個epoch,每20個epoch進行一次測試。本文網(wǎng)絡框架中的一些超參數(shù)設置為:λ1=1,λ2=1,λ3=0.000 1,μ1=1,μ2=0.1。

2.3 實驗結(jié)果及比較

2.3.1 定量結(jié)果

本文定量比較的結(jié)果見表1所列。本文使用mPVE和Chamfer作為度量標準,卷積網(wǎng)格回歸(convolutional mesh regression,CMR)方法[5]的結(jié)果是最好的,本文結(jié)果是次好的,與CMR的數(shù)據(jù)非常接近;接著是人體網(wǎng)格重建(human mesh recovery,HMR)方法[15]和SMPLify-X[21];最后是分層網(wǎng)格變形(hierarchical mesh deformation,HMD)方法[22]。CMR方法是非參數(shù)方法,它利用圖卷積對所有頂點進行變形,定量結(jié)果相對參數(shù)方法更好一些,但頂點變形使人體表面不太光滑,也可能會出現(xiàn)奇異點,視覺效果不太理想。而使用SMPL模型參數(shù)是為了在任何情況下重建視覺上有說服力的人體幾何結(jié)構(gòu)。從定量結(jié)果來看,本文方法優(yōu)于HMR、SMPLify-X、HMD 3種參數(shù)化方法的。對比的4種研究結(jié)果取自于文獻[5,15,21-22]。

表1 與先進方法的定量比較

2.3.2 定性結(jié)果

數(shù)值指標不能完全反映重建質(zhì)量,因為一些具有良好數(shù)值指標的重建結(jié)果在視覺上并不令人滿意,所以在與其他方法比較時,不僅要定量比較數(shù)值結(jié)果,而且要注意視覺效果的比較。在UP-3D數(shù)據(jù)集上,本文方法重建的三維人體模型如圖2所示。圖2a、圖2b中:第1列表示輸入圖像;第2列表示圖像視角觀察到的重建的三維人體網(wǎng)格;第3列表示其他視角觀察到的重建的三維人體網(wǎng)格;第4列表示帶紋理的三維人體。從圖2可以看出,本文方法不僅能從RGB圖像重建三維人體的形狀和姿態(tài),而且能根據(jù)輸入的RGB圖像重建三維人體的紋理,而作為比較的其他方法都沒有給出人體的紋理。參數(shù)化方法重建的人體模型更加光滑和完整。

圖2 本文方法的可視化結(jié)果

HMR方法、CMR方法、CMR延伸的參數(shù)化方法和本文方法的定性比較如圖3所示,可以從視覺上直觀看出三維人體重建結(jié)果的差異。圖3中:第1行是輸入圖像;第2、第3行是HMR方法重建的相應視角及其他視角結(jié)果;第4、第5行是CMR方法重建的三維結(jié)果;第6、第7行是CMR延伸的參數(shù)化方法重建的三維結(jié)果;第8~第10行是本文方法重建的三維結(jié)果和二維紋理展示。由圖3的第1、第2列可以看出:CMR非參數(shù)化方法的一個缺點,即當人物在圖像中占比很小時,CMR方法重建的結(jié)果可能連基本人體形狀都沒有;雖然HMR方法和CMR延伸的參數(shù)化方法可以重建三維人體,但姿態(tài)不正確;而本文方法不僅重建正確的三維人體形狀和姿態(tài),還學習到人體紋理。由圖3的第3列可以看出,本文方法重建的人體雙臂是自然下垂的,其他3種方法重建的胳膊姿態(tài)都不正確,其他視角也可以佐證。圖3第4列的HMR方法的人體腿部沒有像輸入圖像那樣交叉站立。由圖3第5、第6列CMR方法的其他視角圖上的人體腿部可觀察到非參數(shù)方法的另一個缺點,即重建的身體不是很光滑。

圖3 本文與其他方法的定性比較

總體來看,雖然CMR非參數(shù)化方法的數(shù)值結(jié)果最好,但視覺效果還有很多不足。與這些方法相比,本文方法重建小尺寸人物優(yōu)于其他方法,重建中大尺寸人物也具有競爭力,此外還給出人體的紋理。

2.4 消融實驗

表2 消融實驗設置

表3 不同損失組合的消融研究

圖4 具有不同損失的消融研究結(jié)果的可視化結(jié)果

在消融實驗中,首先僅考慮三維監(jiān)督,用頂點誤差的2-范數(shù)作為損失函數(shù),這時三維損失較小但渲染損失很大(見表3損失組合1);視覺效果見圖4第2行,只用三維監(jiān)督,紋理不正確,相機視角也沒有被正確估計。接著加上了二維渲染損失,表明渲染質(zhì)量的FID指標有明顯降低,但是三維質(zhì)量的誤差稍微變大(見表3組合2);圖4第3行也表明這時重建出較正確的三維形狀、姿態(tài)和紋理。為了對比2-范數(shù)和Chamfer距離在三維損失中的效果,表3組合3把三維監(jiān)督中的2-范數(shù)換成Chamfer距離,Chamfer距離是找重建點集和真實點集之間每個頂點和最近頂點的雙向距離的平均值,這時Chamfer距離明顯降低,而mPVE和FID都顯著增大;對應的圖4第4行中人體的頭部肩部會出現(xiàn)相連的情況,這是因為在特征顯著或細節(jié)豐富而頂點不夠密集的區(qū)域,Chamfer距離作為損失過分追求損失最小化造成人體形狀和姿勢的扭曲。再考慮不用三維監(jiān)督的情況,只用二維渲染損失和一個生成對抗損失。這時,因為缺少三維損失,三維指標和圖像指標與組合2相比都變差(見表3組合4);由圖4第5行也可以看出重建結(jié)果缺少人體胳膊紋理。在組合1~組合4中,組合2綜合指標最優(yōu),因此本文最終選擇了二維和三維混合監(jiān)督的方法,并且三維損失中使用2-范數(shù)。但由于形狀和姿態(tài)與輸入圖像(圖4第1行)還不是特別一致,嘗試加上二維關(guān)節(jié)重投影損失(見表3組合5),所有指標都進一步改善。最后添加生成對抗損失,所有指標達到最優(yōu)(見表3組合6),視覺效果也有所改善(見圖4第7行)。

3 結(jié) 論

本文提出一種端到端的網(wǎng)絡框架,在三維損失、二維渲染損失、二維關(guān)節(jié)重投影損失和GAN損失的混合監(jiān)督下,利用4個子網(wǎng)絡,在允許沒有真實相機參數(shù)和照明系數(shù)的情況下,可以重建帶紋理信息的精準三維人體網(wǎng)格。在后續(xù)工作中,將探索在沒有三維監(jiān)督的情況下重建具有紋理且形狀姿態(tài)準確的三維人體網(wǎng)格。

猜你喜歡
編碼器紋理形狀
挖藕 假如悲傷有形狀……
體檢報告發(fā)現(xiàn)“肺紋理增粗”要緊嗎
使用紋理疊加添加藝術(shù)畫特效
你的形狀
基于FPGA的同步機軸角編碼器
TEXTURE ON TEXTURE質(zhì)地上的紋理
基于PRBS檢測的8B/IOB編碼器設計
看到的是什么形狀
消除凹凸紋理有妙招!
JESD204B接口協(xié)議中的8B10B編碼器設計