關(guān)鍵詞:光度立體;深度學(xué)習(xí);自注意力;殘差網(wǎng)絡(luò)
中圖分類號(hào):TP389.1 文獻(xiàn)標(biāo)志碼:A
0 引言(Introduction)
光度立體作為逆渲染鄰域的一個(gè)分支,一直是計(jì)算機(jī)圖形學(xué)中重要的研究方向,它廣泛地應(yīng)用于虛擬現(xiàn)實(shí)、視頻游戲及影視制作等行業(yè)[1]。光度立體通過(guò)圖像與光照之間的聯(lián)系,推斷出物體表面的法向信息。未標(biāo)定的光度立體(Uncalibrated Photometric Stereo)是光度立體的一個(gè)重要的研究方向,旨在解決實(shí)際場(chǎng)景中,當(dāng)相機(jī)和光源參數(shù)未精確標(biāo)定時(shí),如何準(zhǔn)確推斷物體表面法線的問(wèn)題。在未標(biāo)定的光度立體方法中,算法不要求事先知道相機(jī)和光源的內(nèi)部參數(shù),而是試圖通過(guò)觀察物體表面在不同光照條件下的亮度變化,還原物體的三維信息。這使得未標(biāo)定的光度立體更具實(shí)用性,在現(xiàn)實(shí)應(yīng)用中,準(zhǔn)確地獲得標(biāo)定參數(shù)頗具挑戰(zhàn),甚至有時(shí)并不現(xiàn)實(shí)。通過(guò)解決未標(biāo)定的問(wèn)題,實(shí)現(xiàn)從實(shí)際圖像中更加靈活地獲取實(shí)用的三維幾何信息。
本文設(shè)計(jì)了一個(gè)基于自注意力和多重最大池化的未標(biāo)定光度立體算法模型。在估計(jì)光照信息階段,通過(guò)在網(wǎng)絡(luò)中加入自注意力模塊,幫助網(wǎng)絡(luò)能學(xué)習(xí)到長(zhǎng)距離特征之間的聯(lián)系,從而提升其感知能力。在法線估計(jì)階段,本研究設(shè)計(jì)了一個(gè)多重特征提取和融合網(wǎng)絡(luò),通過(guò)對(duì)不同深度特征的有效融合,提升網(wǎng)絡(luò)對(duì)多圖像輸入時(shí)的魯棒性。
1 相關(guān)工作(Related work)
在傳統(tǒng)的光度立體方法中[2],通常會(huì)假設(shè)物體的表面是基于朗伯反射模型(Lambertian Shading),這是一種理想的光照模型,然而現(xiàn)實(shí)中鮮有物體能完全符合其假設(shè)。后續(xù)提出的非朗伯模型光度立體方法更貼近現(xiàn)實(shí)物體表面特性,這些方法雖然更適用于現(xiàn)實(shí)的物體表面,但是均屬于傳統(tǒng)的計(jì)算方法,因此在可擴(kuò)展性和使用效率上受到了限制。近年來(lái),深度學(xué)習(xí)在計(jì)算機(jī)圖形學(xué)與計(jì)算機(jī)視覺(jué)領(lǐng)域的應(yīng)用為光度立體研究提供了新的思路和路徑。
1.1 標(biāo)定的光度立體方法
在深度學(xué)習(xí)中,標(biāo)定的光度立體方法通常需要將光照信息作為網(wǎng)絡(luò)訓(xùn)練的先驗(yàn)知識(shí)。CHEN 等[3]設(shè)計(jì)了PS-FCN(Photometric Stereo Fully Convolutional Network)網(wǎng)絡(luò)用于估計(jì)表面法線,該方法將多張輸入圖片和其光照信息一起輸入網(wǎng)絡(luò)中,并使用一個(gè)最大池化層融合多張圖片的共同特征,同時(shí)他們也提出了一個(gè)名為L(zhǎng)CNet(Lighting Calibration Network)的網(wǎng)絡(luò)用于估計(jì)光照的強(qiáng)度和方向。JU等[4]設(shè)計(jì)了一個(gè)多尺度的特征融合模塊,該模塊可以對(duì)高分辨率和深度的特征進(jìn)行提取,將不同輸入的同一層次特征分別疊加并輸入下一層級(jí)的網(wǎng)絡(luò)中,并利用多個(gè)最大池化層融合結(jié)果,同時(shí)他們還設(shè)計(jì)了一個(gè)卷積模塊用于提高法線推斷的準(zhǔn)確度。雖然這些方法可以很好地估計(jì)法線,但是需要先驗(yàn)的光源信息,因此其實(shí)用性受到了限制。
1.2 未標(biāo)定的光度立體方法
未標(biāo)定的光度立體方法一般只使用圖像信息而不依賴具體的光照條件來(lái)估計(jì)物體法線信息。CHEN等[5]提出一個(gè)名為SDPS-Net(Selfcalibrating Deep Photometric Stereo Network)的網(wǎng)絡(luò)結(jié)構(gòu),其采用分段的方式分別估計(jì)光照和法線信息。LI等[6]提出了一種可以在常規(guī)光照作用下聯(lián)合優(yōu)化幾何物體形狀、光方向和光強(qiáng)度的方法。TIWARI等[7]提出了一個(gè)深度學(xué)習(xí)框架,分別將光照估計(jì)、圖片重照明及表面法線估計(jì)3個(gè)任務(wù)結(jié)合,通過(guò)輸入單張照片,該網(wǎng)絡(luò)可以提取圖片的全局和局部特征,并使用聯(lián)合訓(xùn)練提高網(wǎng)絡(luò)的效果。CHEN等[8]提出了一個(gè)名為GCNet(Guided Calibration Network)的網(wǎng)絡(luò)結(jié)構(gòu),分別設(shè)計(jì)了一個(gè)光照估計(jì)網(wǎng)絡(luò)和法線估計(jì)網(wǎng)絡(luò),采用獨(dú)立和聯(lián)合訓(xùn)練的方式分別優(yōu)化網(wǎng)絡(luò)的參數(shù)。
2 光度立體網(wǎng)絡(luò)模型(The photometric stereonetwork model)
本文的網(wǎng)絡(luò)結(jié)構(gòu)由兩個(gè)部分組成,分別是光照估計(jì)網(wǎng)絡(luò)和法線恢復(fù)網(wǎng)絡(luò)。網(wǎng)絡(luò)結(jié)構(gòu)的整體組合方式借鑒了CHEN等[8]的方法(圖1),分別使用了兩個(gè)光照估計(jì)網(wǎng)絡(luò)和一個(gè)法線恢復(fù)網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸入是若干張不同光源作用的目標(biāo)圖像和物體遮罩圖,將遮罩圖和一張目標(biāo)圖像組合作為一組輸入。通過(guò)利用不同光照下的圖像,可以為網(wǎng)絡(luò)提供充足的信息,實(shí)現(xiàn)光源和法向的準(zhǔn)確估計(jì)。本文模型的訓(xùn)練流程如下:首先,使用第一個(gè)光照估計(jì)網(wǎng)絡(luò)對(duì)輸入圖片的光源信息進(jìn)行初步的預(yù)測(cè);其次,法線恢復(fù)網(wǎng)絡(luò)根據(jù)初步預(yù)測(cè)的光源信息和輸入圖片恢復(fù)圖片的法線信息;最后,第二個(gè)光照估計(jì)網(wǎng)絡(luò)總結(jié)已有的信息,進(jìn)而恢復(fù)更準(zhǔn)確的光照方向和光照強(qiáng)度。
2.1 光照估計(jì)網(wǎng)絡(luò)
光照估計(jì)網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖2所示。對(duì)于輸入的圖片,首先,經(jīng)過(guò)了7個(gè)卷積層和一個(gè)自注意力模塊,每個(gè)卷積層后都加入了批歸一化層和Leaky Relu激活函數(shù),用于提高網(wǎng)絡(luò)的性能、穩(wěn)定性及泛化能力。其中,每個(gè)卷積核的大小都是3×3,采用步長(zhǎng)為1和步長(zhǎng)為2的卷積核交替對(duì)特征進(jìn)行提取。其次,通過(guò)一個(gè)最大池化層將來(lái)自不同輸入的特征進(jìn)行融合,并拼接到各自原來(lái)的輸入中。最后,通過(guò)4個(gè)卷積層、1個(gè)自注意力模塊和2個(gè)全連接層,分別對(duì)光照方向和光照強(qiáng)度進(jìn)行估計(jì)。其中,自注意力模塊的設(shè)計(jì)借鑒了ZHANG等[9]的方法。
2.2 法線恢復(fù)網(wǎng)絡(luò)
本文設(shè)計(jì)的法線恢復(fù)網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖3所示,它將圖片和光源等信息作為輸入條件,因?yàn)橐獙?duì)多個(gè)不同輸入進(jìn)行特征提取,所以該網(wǎng)絡(luò)整體上采用并行計(jì)算的方式。法線恢復(fù)網(wǎng)絡(luò)的前半部分總共有3組卷積層,由殘差模塊和最大池化層組成特征提取模塊,每個(gè)卷積層都包含了批歸一化層和LeakyRelu激活函數(shù),使得非線性變換的結(jié)果更容易被學(xué)習(xí)。第一組的特征提取模塊的卷積層的卷積核大小為3×3,步長(zhǎng)為1,主要是為了提取淺層特征。后兩組的卷積層的卷積核大小為3×3,步長(zhǎng)為2,通過(guò)將步長(zhǎng)設(shè)置為2,可以提升卷積核的感受野,并壓縮提取后特征圖的大小,從而起到減少計(jì)算量和避免過(guò)擬合的作用。
法線恢復(fù)網(wǎng)絡(luò)的后半部分通過(guò)一個(gè)上采樣層、卷積層及最大池化層,將所有輸入的特征融合后進(jìn)行綜合性的卷積操作,其中上采樣層采用反卷積的結(jié)構(gòu)可以學(xué)習(xí)到更多的參數(shù)。將融合后的特征通過(guò)多個(gè)卷積和一個(gè)上采樣層后,再通過(guò)L2激活函數(shù)將結(jié)果映射到真實(shí)的法向分布空間。
本文設(shè)計(jì)的殘差模塊結(jié)構(gòu)示意圖如圖4所示,輸入特征經(jīng)過(guò)一個(gè)卷積核大小為3×3,步長(zhǎng)為1的卷積層,再依次經(jīng)過(guò)批歸一化層、Leaky Relu激活函數(shù)、卷積層及批歸一化層后,通過(guò)跳躍連接,將最初的輸入和經(jīng)過(guò)卷積后的輸出合并后,通過(guò)Leaky Relu激活函數(shù)進(jìn)行非線性變換映射。通過(guò)引入跳躍連接,使得殘差模塊不再直接學(xué)習(xí)輸入到輸出的映射,而是學(xué)習(xí)輸入到輸出的殘差關(guān)系,從而更利于模型的學(xué)習(xí),并減少過(guò)擬合和梯度消失等問(wèn)題。
3 實(shí)驗(yàn)結(jié)果與分析(Experimental results andanalysis)
3.1 數(shù)據(jù)集
本文訓(xùn)練所使用的數(shù)據(jù)集來(lái)自CHEN等[10]提出的合成數(shù)據(jù)集,該數(shù)據(jù)集包含了blobby shape和sculpture shape兩個(gè)部分,其中blobby shape數(shù)據(jù)集包含25 920個(gè)樣本,sculptureshape數(shù)據(jù)集包含59 292個(gè)樣本,總共85 212個(gè)樣本。在訓(xùn)練過(guò)程中按照99∶1的比例劃分訓(xùn)練集和驗(yàn)證集,并運(yùn)用介于[-0.02,0.02]的噪聲對(duì)樣本進(jìn)行數(shù)據(jù)增強(qiáng),從而增強(qiáng)模型的泛化能力和魯棒性。
3.2 實(shí)驗(yàn)環(huán)境
本文的實(shí)驗(yàn)環(huán)境在Windows11系統(tǒng)下進(jìn)行,使用的GPU為RTX4080-16GB,CPU為AMD 5600X。本文使用PyTorch1.13.1作為訓(xùn)練用的框架,Python版本為3.8,使用Adam優(yōu)化器,在訓(xùn)練過(guò)程中根據(jù)模型的特點(diǎn)動(dòng)態(tài)調(diào)整了學(xué)習(xí)率和批量大?。˙atchSize),從而加快模型的擬合速度。
3.3 結(jié)果分析
本文首先對(duì)光照估計(jì)網(wǎng)絡(luò)的效果進(jìn)行結(jié)果分析。使用DiLiGenT[11]作為測(cè)試用的數(shù)據(jù)集,該測(cè)試數(shù)據(jù)集總共有10個(gè)不同類型的樣本,每個(gè)樣本各包含96份光度圖和法向信息圖。在評(píng)價(jià)光照方向和法向時(shí),使用平均角度誤差(Mean AngularError,MAE)作為評(píng)價(jià)標(biāo)準(zhǔn)。在評(píng)價(jià)光照強(qiáng)度時(shí),使用尺度恒定相對(duì)誤差作為評(píng)價(jià)標(biāo)準(zhǔn)。
本文分別選擇PF14[12]、LCNet和GCNet作為光照結(jié)果的比較對(duì)象,比較結(jié)果如表1所示,其中最好的數(shù)值以粗體形式標(biāo)出。從表1中的數(shù)據(jù)可以發(fā)現(xiàn),本文方法在光源法向的平均角度上有更低的誤差,而光源強(qiáng)度也與表現(xiàn)最好的GCNet十分接近。
本文選取了部分光照分布效果對(duì)比圖,這些樣本均來(lái)自DiLiGenT數(shù)據(jù)集,如圖5所示,在Buddha、Cat和Cow三個(gè)樣本上,本文方法模擬的光照分布效果與真實(shí)光照分布更加接近,這從側(cè)面印證了本文方法對(duì)提升光照分布的正面作用。
在分析對(duì)比法向網(wǎng)絡(luò)的效果時(shí),本文選取了目前效果最好的非標(biāo)定光度立體方法作為對(duì)比對(duì)象,包括PF14(A RobustSolution to Uncalibrated Photometric Stereo Via Local DiffuseReflectance Maxima)[12]、LC18[13]、SDPS-Net[5]、KS21(InverseRendering for Photometric Stereo)[14]和SK22(Neural ArchitectureSearch for Uncalibrated Deep Photometric Stereo)[15]。除此之外,本文還將GCNet[8]的光照預(yù)測(cè)結(jié)果作為PS-FCN[10]的輸入,將兩者組合作為其中一個(gè)對(duì)比對(duì)象。DiLiGenT數(shù)據(jù)集的法線的平均角度誤差對(duì)比結(jié)果如表2所示,本文方法在平均角度誤差上取得了更好的表現(xiàn),說(shuō)明本文對(duì)法線恢復(fù)網(wǎng)絡(luò)功能設(shè)計(jì)的有效性。
4 結(jié)論(Conclusion)
本文提出了一種基于深度學(xué)習(xí)和殘差網(wǎng)絡(luò)的光度立體方法。該方法采用分段的方式分別對(duì)輸入圖像的光源信息和法線進(jìn)行估計(jì),通過(guò)結(jié)合使用多重池化和殘差網(wǎng)絡(luò)的方式,提升了網(wǎng)絡(luò)的擬合性能。在光源估計(jì)網(wǎng)絡(luò)中,通過(guò)在特征融合前后加入自注意力模塊使得網(wǎng)絡(luò)可以學(xué)習(xí)到長(zhǎng)距離的像素特征關(guān)系,從而提高網(wǎng)絡(luò)對(duì)圖像分解與信息的利用能力。在法線恢復(fù)網(wǎng)絡(luò)中,通過(guò)設(shè)計(jì)由淺入深的特征融合層,使得網(wǎng)絡(luò)可以更充分融合多圖像輸入的信息,同時(shí)在卷積過(guò)程中使用殘差塊的方式,可以加快網(wǎng)絡(luò)反向傳播的進(jìn)程,從而提高特征的利用效率。
本文提出的基于深度學(xué)習(xí)和殘差網(wǎng)絡(luò)的光度立體方法雖然有助于提升對(duì)光源和法線估計(jì)的準(zhǔn)確度,但是該方法存在一定的局限性,究其原因是本文方法采用先估計(jì)光照后估計(jì)法向的方式,這種分段式的網(wǎng)絡(luò)設(shè)計(jì)雖然可以顯著減少模型訓(xùn)練和擬合所需的時(shí)間,但是估計(jì)法線依賴估計(jì)光源的準(zhǔn)確度,所以不可避免地存在誤差。為了更好地解決這一問(wèn)題,可以引入更多約束的方式,例如將輸入圖像分解為更全面的材質(zhì)屬性,將這些材質(zhì)屬性綜合的渲染結(jié)果作為訓(xùn)練網(wǎng)絡(luò)的約束方式,從而減小誤差,提升準(zhǔn)確度,但也會(huì)擴(kuò)大模型的規(guī)模,因此需要做好兼顧與平衡。
作者簡(jiǎn)介:
方明權(quán)(1997-),男,碩士生。研究領(lǐng)域:計(jì)算機(jī)圖形學(xué),深度學(xué)習(xí)。
宋 瀅(1981-),女,博士,副教授。研究領(lǐng)域:計(jì)算機(jī)圖形學(xué)。