本發(fā)明涉及計(jì)算機(jī)視覺(jué)和三維重建領(lǐng)域,尤其涉及一種基于神經(jīng)隱式符號(hào)距離場(chǎng)的半透明物體三維重建系統(tǒng)。
背景技術(shù):
1、三維重建任務(wù)是指給定物體或者場(chǎng)景的部分視角下相機(jī)拍攝到的數(shù)據(jù),重建出對(duì)應(yīng)的物體或場(chǎng)景,經(jīng)典的方法可以通過(guò)使用rgb-d相機(jī)和slam算法進(jìn)行場(chǎng)景的重建。近些年來(lái),由于神經(jīng)輻射場(chǎng)(neural?radiance?fields,nerf)這一方法的提出,涌現(xiàn)出了許多基于神經(jīng)輻射場(chǎng)方法進(jìn)行三維重建的工作,這些方法將神經(jīng)輻射場(chǎng)和隱式符號(hào)距離場(chǎng)相結(jié)合來(lái)對(duì)物體進(jìn)行三維重建。
2、三維重建是計(jì)算機(jī)視覺(jué),機(jī)器人,ar/vr等研究中的經(jīng)典問(wèn)題。符號(hào)距離場(chǎng)(以下簡(jiǎn)稱“sdf”)存儲(chǔ)每個(gè)點(diǎn)到圖形的最近距離,將模型劃出一個(gè)表面,在模型表面外側(cè)的點(diǎn)數(shù)值大于0,在模型表面內(nèi)側(cè)的點(diǎn)數(shù)值小于0。而基于神經(jīng)輻射場(chǎng)和隱式sdf進(jìn)行三維重建目前仍是一個(gè)快速發(fā)展的新方向,由于在方法中,sdf被隱式的用多層mlp表示,使得這樣的方法也被稱為神經(jīng)隱式符號(hào)距離場(chǎng)?,F(xiàn)有的基于神經(jīng)隱式sdf的三維重建方法大都將場(chǎng)景中的物體假設(shè)為不透明的,在這樣的假設(shè)下構(gòu)建理論模型,并通過(guò)深度學(xué)習(xí)這一工具來(lái)實(shí)現(xiàn)模型的端到端優(yōu)化。然而,這樣的理論假設(shè)對(duì)于非不透明物體存在缺陷,這就導(dǎo)致當(dāng)場(chǎng)景中的物體存在一定的透明度或者場(chǎng)景中存在半透明物體時(shí),重建的結(jié)果會(huì)遠(yuǎn)遠(yuǎn)偏離真實(shí)值。因此,目前急需一個(gè)可以在半透明物體上保持高精度的重建系統(tǒng)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明旨在至少解決相關(guān)技術(shù)中存在的技術(shù)問(wèn)題之一。為此,本發(fā)明提供一種基于神經(jīng)隱式sdf的半透明物體三維重建系統(tǒng),包括物體重建和新視角合成兩個(gè)大的步驟:
2、對(duì)于重建的步驟,本發(fā)明提供了在一種半透明物體重建的新理論和方法。對(duì)于新視角合成的步驟,本發(fā)明將重建的方法與特定的拍攝環(huán)境相結(jié)合,進(jìn)一步恢復(fù)物體的材質(zhì)信息,從而達(dá)到高質(zhì)量的新視角渲染結(jié)果。
3、基于前述的兩大步驟,得到半透明物體的三維模型和新視角渲染結(jié)果需要如下步驟:
4、通過(guò)采集設(shè)備獲取原始的輸入數(shù)據(jù),包括rgb圖像,相機(jī)內(nèi)參信息;本發(fā)明中的采集設(shè)備包括但不限于相機(jī)或手機(jī)中的一種。
5、通過(guò)sfm工具colmap獲取每張圖片相機(jī)的位姿信息。
6、基于所述的相機(jī)內(nèi)參信息和獲得的相機(jī)位姿信息,均勻采樣獲取場(chǎng)景的三維空間中點(diǎn)的物理參數(shù)信息,其中所屬的參數(shù)信息包括:體素密度、rgb顏色和到物體表面距離的sdf值。
7、基于場(chǎng)景中采樣得到的點(diǎn)的物理信息,計(jì)算物體和相機(jī)方向粗粒度下的交點(diǎn),從該交點(diǎn)出發(fā)進(jìn)行額外的采樣,同時(shí)獲取這些采樣點(diǎn)的物理參數(shù)信息。
8、基于場(chǎng)景中采樣得到的兩組點(diǎn)的物理信息,通過(guò)體渲染公式得到該視角下渲染的圖片。
9、基于體渲染得到的圖片,通過(guò)定義損失函數(shù)來(lái)實(shí)現(xiàn)對(duì)場(chǎng)景的神經(jīng)輻射場(chǎng)進(jìn)行優(yōu)化。
10、基于優(yōu)化后的神經(jīng)輻射場(chǎng),通過(guò)marching?cube算法得到三維重建的結(jié)果。
11、基于優(yōu)化后的神經(jīng)輻射場(chǎng),進(jìn)一步優(yōu)化新視角渲染的效果。在該階段,本發(fā)明假設(shè)場(chǎng)景中只有一個(gè)光源且光源的位置和相機(jī)綁定。這一假設(shè)適用于使用手機(jī)的閃光燈拍攝的照片。對(duì)于這樣的場(chǎng)景,首先計(jì)算物體和相機(jī)方向的精細(xì)粒度下的交點(diǎn),將表面交點(diǎn),表面法向信息輸入預(yù)測(cè)物理材質(zhì)的神經(jīng)網(wǎng)絡(luò)來(lái)估計(jì)表面材質(zhì);同時(shí)從表面交點(diǎn)出發(fā)進(jìn)行在神經(jīng)輻射場(chǎng)中進(jìn)行多尺度錐形空間采樣,將采樣得到的信息輸入顏色網(wǎng)絡(luò)預(yù)測(cè)光線在物體內(nèi)部散射的顏色值。
12、基于表面材質(zhì)和物體內(nèi)部的散射顏色,通過(guò)表面渲染brdf公式和體渲染公式結(jié)合得到該視角下的二次渲染結(jié)果。
13、基于二次渲染的結(jié)果,通過(guò)新視角步驟的損失函數(shù)對(duì)物體內(nèi)部散射的顏色值和表面點(diǎn)的物理材質(zhì)進(jìn)行優(yōu)化。
14、基于優(yōu)化結(jié)束后的場(chǎng)景神經(jīng)輻射場(chǎng)表達(dá),物體內(nèi)部散射的顏色值,物理材質(zhì)網(wǎng)路,重復(fù)上述步驟即可得到新視角下的渲染結(jié)果。
15、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),所述的三維空間采樣和物理信息計(jì)算方法為:
16、首先從相機(jī)原點(diǎn)投射出一條光路,在光路上進(jìn)行等間距均勻采樣。假設(shè)光線的方向?yàn)閐,相機(jī)的原點(diǎn)為o,則采樣的三維空間點(diǎn)為p(t)=o+td。其中t為在光線方向上等間距散布的值。
17、基于上述的在三維空間點(diǎn)內(nèi)的均勻采樣點(diǎn),獲取場(chǎng)景的物理參數(shù)信息:
18、有向符號(hào)距離場(chǎng)sdf的值:p(t)→f(p(t)),其中f表示為用多層全連接神經(jīng)網(wǎng)絡(luò)組成的用于擬合真實(shí)sdf場(chǎng)的函數(shù)。
19、顏色值,體素密度:通過(guò)多層全連接神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)將空間點(diǎn)的位置信息和方向信息映射為顏色值rgb:(p,d)→(r,g,b),通過(guò)邏輯分布函數(shù)和sdf值來(lái)計(jì)算空間點(diǎn)的體素密度:f(p)→(σ)。
20、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),所述的均勻采樣點(diǎn)的物理參數(shù)計(jì)算方法中體素密度計(jì)算方式為:
21、σ(p)=se-sf(p)/(1+e-sf(p))2
22、其中s是可優(yōu)化參數(shù)。
23、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),所述的另外一組采樣點(diǎn)以及物理參數(shù)的計(jì)算方法為:
24、首先在原有的均勻采樣點(diǎn)p(t1),p(t2),p(t3)…,p(ti)內(nèi)計(jì)算粗粒度的交點(diǎn)的集合ω,公式如下:
25、
26、其中f(t)是f(p(t))的簡(jiǎn)寫,選擇集合ω中最小值和最大值,記為將新的采樣點(diǎn)均勻分布在該范圍中這些采樣點(diǎn)的顏色值,sdf值的計(jì)算方式同上一組采樣點(diǎn),但體素密度的計(jì)算方式不同,為:
27、
28、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),所述的物體幾何重建步驟的體渲染公式為:
29、
30、其中αj=1-exp(-σ(pj)·||tj+1-tj||2),
31、
32、||tj+1-tj||2表示為空間采樣點(diǎn)pj+1,pj之間的距離,γ為人工設(shè)置的參數(shù),用于平衡兩項(xiàng)的結(jié)果。
33、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),所述的物體幾何重建步驟的損失函數(shù)為:
34、
35、損失函數(shù)由預(yù)測(cè)的顏色和真實(shí)的顏色的l1損失,以及sdf網(wǎng)絡(luò)梯度為1的約束構(gòu)成,其中表示在k位置處rgb的真實(shí)值,ck表示渲染得到的值,表示對(duì)于圖片的k位置,第i個(gè)采樣點(diǎn)的sdf梯度。
36、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),所述的估計(jì)物體表面材質(zhì)信息的具體計(jì)算方法為:
37、首先通過(guò)sphere?tracing算法計(jì)算相機(jī)視角射線和物體表面的交點(diǎn),由于在之前的步驟中我們已經(jīng)優(yōu)化并重建了物體的表面,所以該交點(diǎn)可以認(rèn)為是視角射線與真實(shí)物體的表面交點(diǎn),記為x,跟據(jù)sdf的性質(zhì),f(x)=0,本發(fā)明通過(guò)神經(jīng)網(wǎng)絡(luò)估計(jì)物體表面的粗糙程度α:其中是sdf網(wǎng)絡(luò)的隱含層特征,n是物體的表面法向。
38、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),所述的神經(jīng)輻射場(chǎng)中物體內(nèi)部散射顏色值的預(yù)測(cè)方法為:
39、首先跟據(jù)前述的計(jì)算交點(diǎn)x的方法,從該點(diǎn)出發(fā)計(jì)算物體背面與視角射線的交點(diǎn)x2,仿照物體幾何重建步驟中對(duì)物體內(nèi)部范圍采樣的方法得到新的采樣點(diǎn),將該點(diǎn)的sdf值、體素密度、空間位置輸入顏色網(wǎng)絡(luò),得到一組球諧函數(shù)的權(quán)重,用于表示該各個(gè)方向向該點(diǎn)散射的光線的強(qiáng)度,通過(guò)在單位球上均勻采樣64個(gè)方向d,跟據(jù)蒙特卡洛積分法得到的具體的散射光線的強(qiáng)度,
40、
41、其中t表示采樣點(diǎn)沿視角射線方向上的距離,σs是可學(xué)習(xí)的介質(zhì)內(nèi)的散射系數(shù)。
42、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),新視角合成的渲染公式為
43、
44、其中fr是ggx?brdf函數(shù),o是相機(jī)的原點(diǎn)。
45、跟據(jù)本發(fā)明提供的半透明物體重建系統(tǒng),新視角合成步驟中的損失函數(shù)定義同幾何重建步驟的損失函數(shù)。
46、本發(fā)明實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果之一:
47、本發(fā)明通過(guò)提供了一個(gè)新的三維重建系統(tǒng),可以對(duì)含有半透明物體的場(chǎng)景進(jìn)行重建和高質(zhì)量的新視角渲染,通過(guò)學(xué)習(xí)場(chǎng)景的神經(jīng)輻射場(chǎng)隱式表達(dá),并經(jīng)過(guò)兩個(gè)階段的優(yōu)化,從而得到含有半透明物體的場(chǎng)景的高質(zhì)量重建結(jié)果和新視角的渲染結(jié)果。
48、本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。