本發(fā)明涉及人體三維建模領(lǐng)域,尤其涉及一種基于稀疏的閃光圖像重建人體幾何和材質(zhì)的方法。
背景技術(shù):
1、從圖像重建人體一直是計(jì)算機(jī)視覺和圖形學(xué)領(lǐng)域的一個(gè)長(zhǎng)期問題。它在電影行業(yè)、游戲和虛擬現(xiàn)實(shí)中有廣泛的應(yīng)用,使得個(gè)體能夠在虛擬世界中顯示。高保真度的重建通常需要復(fù)雜的硬件,如商用的身體掃描儀。此外,可以通過傳統(tǒng)的光度立體設(shè)備獲取表面材質(zhì),例如具有可編程燈光和密集同步相機(jī)的光場(chǎng)采集設(shè)備。然而,這些設(shè)備通常過于復(fù)雜且昂貴,這阻礙了它們?cè)谙M(fèi)級(jí)應(yīng)用中的使用。近年來,深度學(xué)習(xí)的快速發(fā)展導(dǎo)致越來越多的研究開始采用數(shù)據(jù)驅(qū)動(dòng)的方法進(jìn)行人體建模。該類方法從人體掃描數(shù)據(jù)中學(xué)習(xí)強(qiáng)先驗(yàn),從而將復(fù)雜拍攝硬件的需求降低到稀疏或單個(gè)相機(jī)。這些方法利用神經(jīng)網(wǎng)絡(luò)提取特征,然后將3d點(diǎn)投影到每個(gè)視圖,以像素對(duì)齊的方式采樣特征,推理幾何和外觀,最終利用行進(jìn)立方體算法(marching?cubes)進(jìn)行幾何提取,頂點(diǎn)顏色可以通過訓(xùn)練的外觀預(yù)測(cè)網(wǎng)絡(luò)獲得,從而實(shí)現(xiàn)人體數(shù)字化。這些基于神經(jīng)網(wǎng)絡(luò)的方法中,一些工作展示了從單個(gè)圖像重建可重新照明人體的新能力,能夠同時(shí)預(yù)測(cè)光照、反照率和幾何形狀。另有一部分工作則展示了從稀疏圖像重建人體的能力。然而,當(dāng)身體姿勢(shì)、相機(jī)視角和照明條件與訓(xùn)練數(shù)據(jù)分布有較大偏差時(shí),可以觀察到這類基于神經(jīng)網(wǎng)絡(luò)的方法的重建質(zhì)量顯著降低。另一個(gè)關(guān)于3d重建的活躍研究領(lǐng)域?qū)γ總€(gè)場(chǎng)景進(jìn)行優(yōu)化,并通過神經(jīng)隱式場(chǎng)對(duì)每個(gè)場(chǎng)景進(jìn)行建模。例如有些工作引入了一種以閃光圖像作為輸入以提高重建質(zhì)量的基于優(yōu)化的方案。然而,這些基于優(yōu)化的方法的一個(gè)共同缺點(diǎn)是它們的耗時(shí)較長(zhǎng),例如,對(duì)于單個(gè)場(chǎng)景優(yōu)化約為10小時(shí),這主要是由于他們需要采集密集的多視角圖像,并對(duì)每個(gè)場(chǎng)景重新優(yōu)化。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于稀疏的閃光圖像重建人體幾何和材質(zhì)的方法,使用消費(fèi)級(jí)設(shè)備即可快速創(chuàng)建高質(zhì)量的、可重新照明的人體數(shù)字化資產(chǎn)。
2、本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:
3、一種基于稀疏的閃光圖像重建人體幾何和材質(zhì)的方法,包括以下步驟:
4、步驟一:獲取公開的人體掃描數(shù)據(jù)集,對(duì)于其中的每個(gè)人體模型,以人體模型的所有頂點(diǎn)平均坐標(biāo)為原點(diǎn),將每個(gè)人體模型歸一化到單位立方體內(nèi),使用歸一化后的人體模型的所有頂點(diǎn)和法線作為幾何數(shù)據(jù),使用人體模型的貼圖作為材質(zhì)數(shù)據(jù);并使用n個(gè)相機(jī)參數(shù){π1,π2,…,πn}圍繞每個(gè)人體模型渲染不同視角的閃光圖像{i1,i2,…,in};所述閃光圖像是指在相機(jī)位置放置點(diǎn)光源拍攝的圖像;
5、步驟二:構(gòu)建并預(yù)訓(xùn)練幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò),所述幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)包含圖像特征提取網(wǎng)絡(luò)、幾何預(yù)測(cè)網(wǎng)絡(luò)和材質(zhì)預(yù)測(cè)網(wǎng)絡(luò);其中,
6、所述圖像特征提取網(wǎng)絡(luò)為u-net架構(gòu),其輸入為h×w×3的圖像,輸出是h×w×128的特征塊;其中,h表示輸入圖像的高度,w表示輸入圖像的寬度;
7、所述幾何預(yù)測(cè)網(wǎng)絡(luò)包括幾何變換器和幾何多層感知機(jī),其中,所述幾何變換器包含兩個(gè)自注意力模塊,每個(gè)自注意力模塊包括多頭注意力網(wǎng)絡(luò)和位置編碼的前向網(wǎng)絡(luò),所述多頭注意力網(wǎng)絡(luò)包括三個(gè)輸入線性層、softmax層和輸出線性層,所述位置編碼的前向網(wǎng)絡(luò)包括線性層和激活層;所述幾何變換器的輸入為k個(gè)128維的特征向量和k個(gè)投影點(diǎn)的相機(jī)空間坐標(biāo)的深度值z(mì),輸出為融合的129維特征;所述幾何變換器的輸入通過如下方式獲得:給定單位立方體內(nèi)的任意點(diǎn)的空間坐標(biāo),以及k個(gè)視角圖像對(duì)應(yīng)的相機(jī)位姿,通過向k個(gè)視角相機(jī)投影該點(diǎn),得到投影點(diǎn)的相機(jī)空間坐標(biāo),此時(shí)即可獲得k個(gè)投影點(diǎn)的相機(jī)空間坐標(biāo)的深度值z(mì);然后對(duì)于k個(gè)投影點(diǎn)的相機(jī)空間坐標(biāo),通過雙線性插值采樣所述圖像特征提取網(wǎng)絡(luò)輸出的特征塊,得到k個(gè)128維的特征向量;所述幾何多層感知機(jī)包括五層線性層,輸入為所述幾何變換器輸出的融合的129維特征,輸出為每個(gè)點(diǎn)對(duì)應(yīng)的有向距離,維度為1;
8、所述材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)包括材質(zhì)變換器和材質(zhì)多層感知機(jī),所述材質(zhì)變換器的結(jié)構(gòu)、輸入維度、輸出維度均和所述幾何變換器相同,所述材質(zhì)多層感知機(jī)的輸入為材質(zhì)變換器輸出的融合的129維特征,輸出為每個(gè)點(diǎn)的位置對(duì)應(yīng)的材質(zhì)系數(shù),維度為7;
9、步驟三:拍攝目標(biāo)人物的圖像,從每個(gè)拍攝視角的隨機(jī)像素發(fā)射光線,使用球面追蹤算法和基于步驟二預(yù)訓(xùn)練的幾何預(yù)測(cè)網(wǎng)絡(luò),得到光線和場(chǎng)景的交點(diǎn),交點(diǎn)的材質(zhì)根據(jù)步驟二預(yù)訓(xùn)練的材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)得到;基于交點(diǎn)的幾何和材質(zhì)屬性,使用基于物理的可微分渲染計(jì)算顏色,以接近實(shí)際像素顏色為目標(biāo),對(duì)幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)進(jìn)行進(jìn)一步的訓(xùn)練優(yōu)化,從而使幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)輸出更準(zhǔn)確的幾何和材質(zhì);
10、步驟四:在單位立方體中均勻格點(diǎn)處,基于步驟三得到的優(yōu)化后的幾何預(yù)測(cè)網(wǎng)絡(luò)計(jì)算有向距離,然后利用步進(jìn)立方體算法提取三角網(wǎng)格;對(duì)三角網(wǎng)格的頂點(diǎn),利用步驟三得到的優(yōu)化后的材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)預(yù)測(cè)頂點(diǎn)的材質(zhì)信息;最終,自動(dòng)展開uv,得到材質(zhì)貼圖。
11、進(jìn)一步地,所述圖像特征提取網(wǎng)絡(luò)包括4層卷積編碼器、4層卷積解碼器和卷積輸出層,且相同層級(jí)的卷積編碼器和卷積解碼器之間采用跳躍連接。
12、進(jìn)一步地,所述幾何多層感知機(jī)的五層線性層的輸出維度分別為1024、512、256、128、1,中間三層線性層和輸入跳躍連接。
13、進(jìn)一步地,所述材質(zhì)多層感知機(jī)的五層線性層的輸出維度分別為1024、512、256、128、7,中間三層線性層和輸入跳躍連接。
14、進(jìn)一步地,所述步驟二的預(yù)訓(xùn)練的損失函數(shù)包括幾何損失和材質(zhì)損失;所述幾何損失為給定的單位立方體內(nèi)的點(diǎn)的實(shí)際有向距離信息和所述幾何預(yù)測(cè)網(wǎng)絡(luò)預(yù)測(cè)的有向距離之間的損失;所述材質(zhì)損失為給定的單位立方體內(nèi)的點(diǎn)的材質(zhì)信息和所述材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)輸出的材質(zhì)之間的損失。
15、進(jìn)一步地,所述步驟二的預(yù)訓(xùn)練的損失函數(shù)的表達(dá)式如下:
16、lpretrain=lsdf+λnmllnml+λeikleik+λalnlaln+lapp
17、
18、其中,lsdf表示有向距離損失函數(shù),lnml表示法線損失函數(shù),leik表示正則損失函數(shù),laln表示對(duì)齊損失函數(shù),lapp表示材質(zhì)損失函數(shù),λl,λnml,λeik,λaln分別表示對(duì)應(yīng)損失函數(shù)的權(quán)重;di為采樣點(diǎn)xi預(yù)測(cè)的有向距離。li為采樣點(diǎn)的標(biāo)簽,0、1分別代表在表面內(nèi)、外;τ為可學(xué)習(xí)的參數(shù),bce為二元交叉熵函數(shù),φ為sigmoid函數(shù);為采樣點(diǎn)的法向;xj為xi到零值面的投影點(diǎn),表示梯度,δ為超參數(shù)。
19、進(jìn)一步地,所述步驟三包括如下子步驟:
20、(3.1)拍攝數(shù)據(jù):在暗光條件下,使用配備有l(wèi)ed光源的消費(fèi)級(jí)相機(jī),從多個(gè)不同視角拍攝目標(biāo)人物的圖像{ik},解算相機(jī)參數(shù){πk},分割人物和背景得到分割圖{mk};
21、(3.2)光線投射和求交:對(duì)于每個(gè)相機(jī)視角,隨機(jī)采樣步驟(3.1)中拍攝圖像中的像素p,計(jì)算光線方向,并向場(chǎng)景發(fā)射射線;使用基于有向距離的球面追蹤算法迭代求解射線和人體表面的交點(diǎn),迭代中的每一步查詢所述幾何預(yù)測(cè)網(wǎng)絡(luò)得到該步驟的有向距離,如果該有向距離小于設(shè)定閾值,認(rèn)為求得交點(diǎn),否則讓射線前進(jìn)該有向距離,迭代直到算法退出,得到該光線和人體的交點(diǎn)位置,記為x0;
22、(3.3)通過可微分的渲染進(jìn)行優(yōu)化:對(duì)步驟(3.2)得到的交點(diǎn)位置x0進(jìn)行重參數(shù)化使其能夠?qū)⑻荻葌鞑ソo幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò):
23、
24、其中,v表示光線向量,n表示法線方向,d0表示x0處的有向距離;
25、通過步驟二預(yù)訓(xùn)練的材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)查詢得到x位置對(duì)應(yīng)的材質(zhì)系數(shù);
26、通過基于微表面模型的渲染方程,輸入光線方向、法線方向、材質(zhì)信息,計(jì)算得到參數(shù)化的交點(diǎn)位置的渲染顏色cx:
27、cx=li(v,x)fr(v,v,x)(v·n)
28、其中,li(v,x)表示入射光強(qiáng)度,fr表示雙向反射分布函數(shù),cx表示x處從視線v方向觀察的渲染顏色;
29、通過計(jì)算圖像像素的顏色和渲染顏色的差異得到圖像損失,同時(shí),使用幾何正則化損失函數(shù),約束幾何預(yù)測(cè)網(wǎng)絡(luò)的輸出和對(duì)應(yīng)點(diǎn)的位置符合標(biāo)準(zhǔn)有向距離場(chǎng),防止優(yōu)化出不符合有向距離定義的情況;通過梯度下降法最小化圖像損失和幾何正則化損失,得到神經(jīng)網(wǎng)絡(luò)參數(shù)的梯度,從而優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)重參數(shù),使得渲染顏色接近真實(shí)顏色且預(yù)測(cè)的距離符合標(biāo)準(zhǔn)有向距離場(chǎng)。
30、進(jìn)一步地,所述步驟三中,對(duì)幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)進(jìn)行進(jìn)一步的訓(xùn)練優(yōu)化的損失函數(shù)lft的表達(dá)式為:
31、lft=lc+λmasklmask+λeikleik+λalnlaln+λsplsp+λsmtlsmt
32、
33、
34、其中,lc表示顏色損失函數(shù),lmask表示掩碼損失函數(shù),lsp表示稀疏度損失函數(shù),lsmt表示平滑損失函數(shù);λc、λmask、λeik、λaln、λsp、λsmt分別表示各項(xiàng)損失函數(shù)的權(quán)重。
35、進(jìn)一步地,步驟四包括如下子步驟:
36、(4.1)將空間均勻劃分為l3個(gè)體素,得到目標(biāo)體素頂點(diǎn)的空間位置;
37、(4.2)將步驟(4.1)的l3個(gè)體素的頂點(diǎn)位置和步驟三拍攝的圖像輸入步驟三優(yōu)化后的幾何預(yù)測(cè)網(wǎng)絡(luò),得到頂點(diǎn)位置處的有向距離;
38、(4.3)基于步驟(4.1)的體素頂點(diǎn)位置和步驟(4.2)得到的頂點(diǎn)位置處的有向距離,利用步進(jìn)立方體算法計(jì)算得到三角形網(wǎng)格;然后利用優(yōu)化后的材質(zhì)預(yù)測(cè)網(wǎng)絡(luò),預(yù)測(cè)三角形網(wǎng)格的頂點(diǎn)的材質(zhì)信息;最終,使用開源軟件blender自動(dòng)展開uv并導(dǎo)出材質(zhì)貼圖。
39、一種基于稀疏視角閃光圖像的三維人體重建系統(tǒng),該系統(tǒng)用于實(shí)現(xiàn)基于稀疏的閃光圖像重建人體幾何和材質(zhì)的方法,該系統(tǒng)包括:
40、渲染模塊,用于利用采集到的三維人體模型渲染包含閃光rgb圖像的數(shù)據(jù)集;
41、預(yù)訓(xùn)練模塊,用于將數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù),利用梯度下降法預(yù)訓(xùn)練所述幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò);
42、微調(diào)優(yōu)化模塊,用于采集待重建人物的閃光rgb圖像,利用可微渲染框架和梯度下降法再次優(yōu)化預(yù)訓(xùn)練后的幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò);
43、幾何材質(zhì)導(dǎo)出模塊,用于將優(yōu)化后的幾何材質(zhì)預(yù)測(cè)網(wǎng)絡(luò)輸出的重建人物的幾何、材質(zhì)導(dǎo)出為帶紋理材質(zhì)的三維人體模型。
44、本發(fā)明的有益效果如下:
45、本發(fā)明的方法僅利用消費(fèi)級(jí)設(shè)備暗光下拍攝的多視角閃光圖像和相機(jī)位姿信息,基于預(yù)訓(xùn)練網(wǎng)絡(luò)得到初始解,針對(duì)單人進(jìn)行網(wǎng)絡(luò)的微調(diào)和優(yōu)化,可以在較短時(shí)間內(nèi)得到高質(zhì)量的重建結(jié)果,有效彌補(bǔ)了預(yù)訓(xùn)練類方法的魯棒性差和精度差的問題,同時(shí)避免了純優(yōu)化類方法需要對(duì)每個(gè)場(chǎng)景重新優(yōu)化,速度過慢的弊端。