郭雨瀟 陳雷霆, 董 悅
1(電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 成都 611731)2(電子科技大學(xué)廣東電子工程信息研究院 廣東東莞 523808)3 (微軟亞洲研究院 北京 100080)
在真實(shí)三維場景中,每個(gè)點(diǎn)的顏色不僅取決于光源的直接照射,也包括周圍環(huán)境全局光照的貢獻(xiàn).快速評估周圍環(huán)境全局光照產(chǎn)生的亮度,對實(shí)時(shí)繪制、求解直射分量都有很重要的作用.環(huán)境光遮蔽在計(jì)算機(jī)圖形學(xué)和視覺中用于近似場景中每個(gè)點(diǎn)對環(huán)境的總體可見性.常常用于快速計(jì)算在低頻環(huán)境光照下的全局光照.
在圖形學(xué)中,一系列算法從已知的3維場景幾何形狀中直接計(jì)算環(huán)境光遮蔽.這些算法雖然可以做到實(shí)時(shí),但是都需要知道場景幾何信息,因而無法直接用于計(jì)算幾何未知的真實(shí)場景中環(huán)境光遮蔽.針對真實(shí)場景,計(jì)算機(jī)視覺的算法主要通過觀察和統(tǒng)計(jì)不同方向光源照射下,物體上同一點(diǎn)的光照強(qiáng)度變化從而對場景中每個(gè)點(diǎn)的環(huán)境光遮蔽屬性進(jìn)行估計(jì).這類方法具有以下2點(diǎn)主要缺陷:1)輸入圖像數(shù)量過多.為了有效地統(tǒng)計(jì)物體隨光照變換的趨勢,已有方法往往需要對單個(gè)視點(diǎn)在不同光照下采集多達(dá)數(shù)十幀的圖像.2)場景光照限制.該類方法往往要求場景中存在一個(gè)或者數(shù)個(gè)已知位置和滿足特定分布的方向光源.同時(shí),對場景的環(huán)境光強(qiáng)度亦做出了限制.顯然,以上2點(diǎn)要求在難以在大部分的應(yīng)用場景中得到滿足,限制了該類方法的應(yīng)用場景以及輔助其他計(jì)算機(jī)視覺問題求解的可行性.
針對以上不足,本文提出了一種基于單幅輸入圖像的環(huán)境光遮蔽估計(jì)算法.給定在自然光照下的單幅輸入圖像,我們設(shè)計(jì)了一個(gè)多層的卷積神經(jīng)網(wǎng)絡(luò),直接估計(jì)圖像中每個(gè)像素對應(yīng)點(diǎn)的環(huán)境光遮蔽值.為了有效地訓(xùn)練這一卷積神經(jīng)網(wǎng)絡(luò),我們算法利用大量的3維物體模型,通過真實(shí)感渲染生成大量的仿真圖像和對應(yīng)的環(huán)境光遮蔽貼圖作為訓(xùn)練數(shù)據(jù).我們提出了3種不同的網(wǎng)絡(luò)結(jié)構(gòu)和相應(yīng)的訓(xùn)練方法.通過分析和比較,得到了針對這一問題非常有效的一種卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).仿真和對比實(shí)驗(yàn)證明了本文提出的方法在任意光照單張圖像的輸入條件下,能夠取得比現(xiàn)有多幀估計(jì)算法在更多輸入條件下更好的結(jié)果.同時(shí),在真實(shí)圖像中的測試表明該方法能夠?qū)φ鎸?shí)世界的物體進(jìn)行較為準(zhǔn)確環(huán)境光遮蔽的估計(jì).和已有的算法相比,我們的算法極大地減少了輸入圖像的數(shù)目并放寬了圖像的光照條件,加快了求解速度,擴(kuò)展了算法的普適性.
在圖形學(xué)繪制中,給定場景幾何信息,一些算法在場景在當(dāng)前視點(diǎn)下的深度圖像上直接快速計(jì)算環(huán)境光遮蔽[1-4].這些方法通過對相鄰像素間進(jìn)行采樣,通過像素間的深度變化對沿各個(gè)方向的可視角進(jìn)行估計(jì),進(jìn)而計(jì)算環(huán)境光遮蔽.
針對幾何未知的真實(shí)場景,一些視覺算法利用場景在不同光照下的圖像計(jì)算環(huán)境光遮蔽[5-6].文獻(xiàn)[7]通過假設(shè)物體由單一材質(zhì)構(gòu)成,利用同一方向光源在不同視點(diǎn)下的多幀圖像中求解其環(huán)境光遮蔽.文獻(xiàn)[8-9]假設(shè)環(huán)境光照均勻且光照強(qiáng)度固定,通過單張圖像針對人臉的環(huán)境光遮蔽進(jìn)行計(jì)算.文獻(xiàn)[10]借助多幀圖像重建的點(diǎn)云信息對環(huán)境光遮蔽進(jìn)行估計(jì),并且將其帶入到了光照與物體表面反射率的估計(jì)中.在該類方法中,環(huán)境光遮蔽常作為其算法流程的中間步驟.通過在特定的輸入條件下對環(huán)境光遮蔽求解,從而進(jìn)一步優(yōu)化光照或者幾何結(jié)構(gòu)估計(jì)精度.
另外,一些工作旨在對光照做有限假設(shè)和未知物體幾何結(jié)構(gòu)、表面材質(zhì)的條件下,通過引入額外先驗(yàn)求解環(huán)境光遮蔽.文獻(xiàn)[11]提出了一種多幀圖像的估計(jì)方法.通過假設(shè)物體的局部可見面呈圓錐形和獨(dú)立統(tǒng)計(jì)各像素光照強(qiáng)度的變化,建立了物體反射率與環(huán)境光遮蔽關(guān)系的數(shù)學(xué)模型,進(jìn)而使用優(yōu)化方法求解問題.該方法最大的問題在于對要求輸入大量不同光照方向下相同視角的圖像,在實(shí)際的應(yīng)用中難以滿足.同時(shí),該方法還存在全局模糊等問題.文獻(xiàn)[12]允許在單張圖像中存在多個(gè)光源,結(jié)合壓縮感知技術(shù)同時(shí)求解滿足該圖像成立最稀疏的光源分布和局部可見性關(guān)系,有效地減少了對輸入圖像數(shù)量的依賴.然而,其需要預(yù)先知道所有光源在3維空間中的位置,使其難以推廣和擴(kuò)展.文獻(xiàn)[13]在文獻(xiàn)[11]的基礎(chǔ)上,通過約束各像素在多幀圖像中對應(yīng)的光照入射角也應(yīng)該滿足均勻分布,使其在10幀左右圖像的輸入條件下亦能取得較為合理的效果.基于圖像估計(jì)的方法往往需要從多張圖像中推測物體的光照和陰影關(guān)系,同時(shí)還需要對光照進(jìn)行特殊布置或滿足一些基本條件(例如無環(huán)境光以及光源分布均勻等).與該類方法相同,本文通過圖像對物體的環(huán)境光遮蔽進(jìn)行估計(jì).但是,本文使用單張圖像作為輸入,對物體的環(huán)境光遮蔽屬性進(jìn)行估計(jì).同時(shí),本文算法能夠在自然光照的條件下適用.
環(huán)境光遮蔽計(jì)算可以被看作本征圖像分解的擴(kuò)展和延伸.本征圖像假設(shè)場景材質(zhì)為漫反射,從而將輸入圖像分解為場景的反射率圖和光照圖.環(huán)境光遮蔽計(jì)算是對本征圖像恢復(fù)的光照圖像的進(jìn)一步分解和求解.本征圖像最早由文獻(xiàn)[14]提出,并衍生了一些具有代表性的工作[14-18].對于該類問題,由于未知量多于已知等式,重點(diǎn)在引入合理的假設(shè)和先驗(yàn)使得問題可解.近年來,由深度學(xué)習(xí)在相關(guān)視覺任務(wù)中的進(jìn)展啟發(fā)[19-22],文獻(xiàn)[23-24]將卷積神經(jīng)網(wǎng)絡(luò)作為特征提取器,引入到了本征圖像分解中.隨后,文獻(xiàn)[25]提出了以光照貼圖和反射率貼圖為卷積神經(jīng)網(wǎng)絡(luò)輸出的端到端網(wǎng)絡(luò)結(jié)構(gòu).在此基礎(chǔ)上,文獻(xiàn)[26]通過在大量仿真數(shù)據(jù)中訓(xùn)練網(wǎng)絡(luò),實(shí)現(xiàn)了非漫反射場景下本征圖像的分解.目前,尚未見算法將深度學(xué)習(xí)引入環(huán)境光遮蔽的計(jì)算中.
對于環(huán)境光遮蔽,通常定義如下:
其中,x為物體表面上的點(diǎn);AO為該點(diǎn)對應(yīng)的環(huán)境光遮蔽值,其取值范圍AO∈[0,1];S+是以該點(diǎn)法向量n為中心的上半球面積分區(qū)域;V(·)為一個(gè)布爾函數(shù),表示該點(diǎn)與當(dāng)前環(huán)境光源方向w間是否被其他幾何結(jié)構(gòu)遮擋;·為點(diǎn)乘操作.由定義可知,環(huán)境光遮蔽的值僅由物體的幾何形狀決定,與光照強(qiáng)度和物體表面反射率無關(guān).
給定輸入的圖像I,假設(shè)對應(yīng)場景的表面為漫反射表面,其像素值I(x)為
本文并不假設(shè)環(huán)境光位于無窮遠(yuǎn),所以對于每一像素,其環(huán)境光強(qiáng)度可能不同.
我們的目標(biāo)是從輸入圖像I(x)中恢復(fù)每個(gè)像素的環(huán)境遮蔽值A(chǔ)O(x).與本征圖像的其他問題相似,對于單個(gè)等式存在多個(gè)未知量,是一個(gè)典型的病態(tài)問題.我們將問題形式化為一個(gè)輸入圖像I到環(huán)境遮蔽圖AO的映射.采用卷積神經(jīng)網(wǎng)絡(luò)對這一映射進(jìn)行建模,并通過基于大量數(shù)據(jù)的訓(xùn)練對模型進(jìn)行回歸.
本文采用了多層編碼器-解碼器卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示:
Fig. 1 Encoder-decoder network structure圖1 編碼器-解碼器結(jié)構(gòu)示意圖
這一結(jié)構(gòu)被廣泛應(yīng)用于計(jì)算機(jī)視覺中的不同圖像解構(gòu)問題.具體地,我們使用的編碼器由5層獨(dú)立編碼單元構(gòu)成,各編碼單元包含卷積層、向下采樣層(down sampling)、批單位化層(batch normalization)以及線性激活單元(ReLU)等操作.經(jīng)過編碼單元后,特征圖的大小變?yōu)檩斎氲囊话?,但是特征圖數(shù)量變?yōu)?倍.即對于通過5層編碼器的輸入特征圖邊長依次變?yōu)?56,128,64,32,16,其對應(yīng)的輸入輸出特征圖數(shù)目為38,816,1632,3264,64128.隨后,將經(jīng)過編碼器的特征圖進(jìn)行特征提取,特征提取階段包含3個(gè)連續(xù)的卷積層、批單位化層以及線性激活單元操作.在此階段,保持特征圖的數(shù)量以及大小不變.解碼器階段亦包含5層結(jié)構(gòu),其解碼單元包含卷積層、批單位化層、線性激活單元以及向上采樣層等操作.根據(jù)文獻(xiàn)[24],采用近道連接(shortcut connection)能夠很好地處理利用卷積神經(jīng)網(wǎng)絡(luò)求解圖像回歸問題中的輸出圖像模糊問題.在本文中,
亦使用了近道連接對網(wǎng)絡(luò)進(jìn)行改進(jìn),將編碼器的特征圖直接并聯(lián)到同尺度的解碼單元中.故對于各解碼器,其輸入特征圖邊長依次為16,32,64,128,256,對應(yīng)的輸入輸出特征圖數(shù)目為128128,25664,12832,6416,328.隨后,將根據(jù)不同的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)方案對編碼器-解碼器進(jìn)行組合和擴(kuò)展.
由于圖像分解中各分量僅保持了相對關(guān)系,故估計(jì)值和真實(shí)值間往往具有一個(gè)全局放縮量,該任意性的存在使得均方估計(jì)損失函數(shù)(MSE)并不適用于本征圖像相關(guān)的工作中.為了同時(shí)確保訓(xùn)練精確性和收斂性,本文采用了放縮不變性L2損失函數(shù)[25]作為損失函數(shù):
其中,Y*為預(yù)測值;Y為真實(shí)值;y=Y*-Y為兩者間的估計(jì)誤差;i,j分別對應(yīng)圖像長寬坐標(biāo);n為參與誤差估計(jì)的總像素個(gè)數(shù)(僅包含圖像中屬于目標(biāo)物體的部分);λ是調(diào)節(jié)系數(shù).當(dāng)λ=0時(shí),該聯(lián)合損失函數(shù)變?yōu)榫綋p失函數(shù);當(dāng)λ=1時(shí),該函數(shù)為一個(gè)純粹的放縮不變損失函數(shù).考慮到訓(xùn)練數(shù)據(jù)集中包含各種光照條件下的樣本,較大的λ能夠取得更好的效果.在本文中,所有的損失函數(shù)均采用了λ=0.95的聯(lián)合損失函數(shù).
基于編碼器-解碼器結(jié)構(gòu),本文設(shè)計(jì)了3種不同的網(wǎng)絡(luò)結(jié)構(gòu)來嘗試求解這一問題.
一個(gè)直接的解決方案是將該問題建模為本征圖像分解的擴(kuò)展問題,這樣將映射分解為2步:1)由單張圖像估計(jì)物體的光照貼圖;2)由光照貼圖估計(jì)物體的環(huán)境光遮蔽結(jié)果.基于這一分解,設(shè)計(jì)一種2級的編碼-解碼器結(jié)構(gòu),結(jié)構(gòu)如圖2所示:
Fig. 2 Cascade training network structure圖2 多級訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)示意圖
每一級網(wǎng)絡(luò)針對單一問題進(jìn)行求解,并且輸出結(jié)果作為下一級網(wǎng)絡(luò)的輸入.具體地,第1級網(wǎng)絡(luò)以圖像為輸入,以光照貼圖為預(yù)測目標(biāo)進(jìn)行訓(xùn)練;第2級以第1級預(yù)測的光照貼圖為輸入,以環(huán)境光遮蔽結(jié)果為預(yù)測目標(biāo)進(jìn)行訓(xùn)練.在優(yōu)化時(shí),采用了交替優(yōu)化的策略.即首先以光照貼圖為標(biāo)簽,訓(xùn)練第1級網(wǎng)絡(luò).隨后,以環(huán)境光遮蔽為標(biāo)簽,在固定第1級網(wǎng)絡(luò)參數(shù)的條件下,對第2級網(wǎng)絡(luò)進(jìn)行訓(xùn)練.最后,以環(huán)境光遮蔽為標(biāo)簽,同時(shí)優(yōu)化第1第2級網(wǎng)絡(luò).本文亦嘗試了同時(shí)優(yōu)化的策略,發(fā)現(xiàn)訓(xùn)練過程無法收斂.
在本征圖像中,文獻(xiàn)[26]通過共享參數(shù),對反射率、高光以及光照3種不同屬性使用聯(lián)合優(yōu)化的方法進(jìn)行求解.在第2個(gè)設(shè)計(jì)中,我們嘗試了使用類似方法對網(wǎng)絡(luò)進(jìn)行改進(jìn),如圖3所示:
Fig. 3 Union training network structure圖3 聯(lián)合訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)示意圖
在解碼器后,額外接入了2個(gè)獨(dú)立輸出通道分別為3和1的卷積操作,預(yù)測光照貼圖和環(huán)境光遮蔽.在訓(xùn)練時(shí),采用同時(shí)優(yōu)化的方式進(jìn)行訓(xùn)練.2優(yōu)化目標(biāo)均采用了2.3節(jié)中提到了混合損失函數(shù),整體優(yōu)化目標(biāo)Ltotal:
Ltotal=αLshading+(1-α)LAO,
(5)
其中,Lshading為光照貼圖部分的損失函數(shù);LAO為環(huán)境光遮蔽部分的損失函數(shù);α負(fù)責(zé)調(diào)節(jié)因光照和環(huán)境光遮蔽輸出通道不同帶來的數(shù)值不平衡問題.針對該問題,取α=0.25.
2.4.3 環(huán)境光遮蔽端到端訓(xùn)練結(jié)構(gòu)
2.4.1節(jié)和2.4.2節(jié)的2種設(shè)計(jì)分別代表了串行和并行的方法,對將該問題視作一個(gè)本征圖像的擴(kuò)展問題進(jìn)行求解.在第3種設(shè)計(jì)中,本文直接將該問題作為一個(gè)獨(dú)立問題進(jìn)行端到端的求解.為此,我們將編碼器-解碼器的輸出結(jié)果直接與一個(gè)輸出通道為1的卷積層相連,輸出預(yù)測的環(huán)境光遮蔽估計(jì)值.結(jié)構(gòu)如圖4所示:
Fig. 4 End-to-end training network structure圖4 端到端訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)示意圖
卷積神經(jīng)網(wǎng)絡(luò)需要大量的標(biāo)注數(shù)據(jù)作為訓(xùn)練樣本,從訓(xùn)練數(shù)據(jù)中抽取相關(guān)任務(wù)所需的特征.文獻(xiàn)[27]中所提出數(shù)據(jù)集包含了大約50 000個(gè)物體的3維模型,近年來被計(jì)算機(jī)圖形學(xué)用于訓(xùn)練數(shù)據(jù)的生成.考慮到環(huán)境光遮蔽與物體的幾何特點(diǎn)相關(guān),而ShapeNet中的大部分物體的幾何構(gòu)成簡單,難以作為訓(xùn)練樣本.本文從中選取了6類物體共計(jì)2 500余模型作為訓(xùn)練目標(biāo),包含飛機(jī)、摩托車、洗手臺、耳機(jī)、照相機(jī)以及吉他.其中,飛機(jī)和吉他的幾何構(gòu)成與環(huán)境光遮蔽分布的相似性較高.其余4類具有更加復(fù)雜的幾何結(jié)構(gòu)和環(huán)境光遮蔽強(qiáng)弱分布.對于環(huán)境光照,為了保證光照的隨機(jī)性和復(fù)雜性,本文選取了計(jì)算機(jī)圖形學(xué)研究中一些常見的環(huán)境光貼圖.其包含了室內(nèi)室外以及晴天、陰天等各種條件下的環(huán)境光照情況,共計(jì)92張.
本文使用MITSUBA作為物理渲染引擎,使用路徑追蹤作為光線追蹤渲染算法,單像素采樣次數(shù)為512次.渲染時(shí),對于每個(gè)模型,將其置于世界坐標(biāo)中心.對于每一張環(huán)境光貼圖,隨機(jī)挑選位于上半球面中半徑為2(所有模型已經(jīng)歸一化)的一點(diǎn)作為攝像機(jī)位置.同時(shí),使用采樣次數(shù)512次的環(huán)境光遮蔽采樣結(jié)果作為真實(shí)值進(jìn)行訓(xùn)練和評估.仿真數(shù)據(jù)共計(jì)生成約270 000左右的數(shù)據(jù),對于每個(gè)模型,我們按8020的比例劃分訓(xùn)練測試數(shù)據(jù)集.
本文在1臺PC上用Torch實(shí)現(xiàn)了上述的算法.訓(xùn)練使用AdaDelta算法作為梯度更新方法,對3個(gè)模型,設(shè)置初始學(xué)習(xí)率為0.01,初始L2正則懲罰項(xiàng)為0.000 1.同時(shí),設(shè)定單次迭代的批樣本數(shù)量為32,總迭代為40次全數(shù)據(jù)周期(epoch).對于輸入圖像,將其放縮到256×256.訓(xùn)練網(wǎng)絡(luò)消耗的內(nèi)存大約為4 GB,訓(xùn)練使用的顯卡為Nvidia TITAN X.
首先對提出的3個(gè)模型進(jìn)行了評估,從數(shù)據(jù)集中選擇摩托車作為訓(xùn)練數(shù)據(jù)集,因?yàn)槠渚哂懈鼜?fù)雜的幾何結(jié)構(gòu)以及精細(xì)的局部特征,能夠較好地反映估計(jì)結(jié)果.
3種網(wǎng)絡(luò)的數(shù)值對比結(jié)果如表1所示,發(fā)現(xiàn)端到端的模型在給定的數(shù)據(jù)集上得到了最好的訓(xùn)練和測試結(jié)果.而另外2個(gè)基于本征圖像分解擴(kuò)展的模型對環(huán)境光遮蔽回歸結(jié)果與端到端直接訓(xùn)練相比并無提高,甚至還略微有下降.一個(gè)可能的原因來自于本征分解和環(huán)境遮蔽估計(jì)的問題屬性決定的.本征圖像分解具有較高的難度,因?yàn)樵诜瓷鋵傩院凸庹罩卸纪瑫r(shí)包含高頻和低頻屬性,例如深色貼圖和陰影的區(qū)分.而在環(huán)境遮蔽中只包含低頻量.所以,與端到端的訓(xùn)練相比,以上2種網(wǎng)絡(luò)結(jié)構(gòu)如果在本征分解精度不高的時(shí)候,很難再從光照圖中得到準(zhǔn)確的環(huán)境遮蔽結(jié)果.同時(shí)網(wǎng)絡(luò)層數(shù)的增多導(dǎo)致參數(shù)增多,導(dǎo)致網(wǎng)絡(luò)的訓(xùn)練變得更加困難和不穩(wěn)定.使得在同樣的訓(xùn)練數(shù)據(jù)集后,其結(jié)果不如端到端的直接訓(xùn)練準(zhǔn)確有效.一些具有代表性的視覺對比結(jié)果如表2所示.
Table 1 Numerical Comparison Among Three Networks表1 3種網(wǎng)絡(luò)結(jié)構(gòu)數(shù)值精度比較
Table 2 Visual Comparison Among Three Networks表2 3種網(wǎng)絡(luò)結(jié)構(gòu)視覺效果比較
隨后,評估算法在仿真數(shù)據(jù)上的性能.由于之前沒有其他基于單張圖像的環(huán)境光遮蔽算法,我們選擇了文獻(xiàn)[11]的方法進(jìn)行對比.為了滿足文獻(xiàn)[11]的輸入要求,對于每個(gè)測試項(xiàng),本文在固定方向光源光照強(qiáng)度的情況下,在物體中心向著攝像機(jī)為中心的半徑為2半球面上,以Halton序列隨機(jī)生成約60組光源位置,并采集其在該光照下的渲染結(jié)果.由于場景中不存在環(huán)境光源,本文選擇其非迭代結(jié)果作為比較項(xiàng)(根據(jù)其報(bào)告,無環(huán)境光時(shí)估計(jì)結(jié)果更加準(zhǔn)確).
由于文獻(xiàn)[11]對于每個(gè)測試樣本需要生成大量數(shù)據(jù),受到計(jì)算資源限制,本文在訓(xùn)練數(shù)據(jù)集中具有代表性的水龍頭、摩托車和飛機(jī)3個(gè)類別中隨機(jī)選取了約2 000個(gè)樣本進(jìn)行了對比實(shí)驗(yàn).
在數(shù)值誤差評估時(shí),選擇了RMSE (root mean square error),LMSE (local mean square error),DSSIM (district structural similarity)3種指標(biāo)對結(jié)果的數(shù)值精度進(jìn)行評估.其中,RMSE是均方誤差開根結(jié)果,其衡量了估計(jì)值與真實(shí)值間的像素誤差.LMSE由文獻(xiàn)[28]提出,其通過衡量局部均方誤差,能夠更好的表達(dá)視覺準(zhǔn)確度與數(shù)值誤差的相關(guān)性.DSSIM是常見的衡量圖像間相似程度的指標(biāo).其對比結(jié)果如表3所示.顯然地,本文算法在仿真數(shù)據(jù)上的數(shù)值誤差遠(yuǎn)好于測試基準(zhǔn)線和文獻(xiàn)[11]的方法.值得注意的是,在本文所用的數(shù)據(jù)集中,文獻(xiàn)[11]的結(jié)果在數(shù)值精度上與基準(zhǔn)值相比仍有差距,顯示出了該類方法對復(fù)雜物體的局限性.
Table 3 Numerical Error among Different Methods表3 不同方法數(shù)值誤差對比
另外,本文從視覺上將算法結(jié)果與真實(shí)值和文獻(xiàn)[11]方法結(jié)果進(jìn)行了對比,其結(jié)果如表4所示.表4中4列分別包含了本文算法所用的輸入圖像、真實(shí)值、本文所用算法結(jié)果和文獻(xiàn)[11]所有算法結(jié)果(其輸入圖像為前文所述方法生成).另外,為了更好地對比局部結(jié)果,本文每個(gè)物體環(huán)境光遮蔽較為復(fù)雜和明顯的區(qū)域進(jìn)行了放大比較(表4中實(shí)虛方框),同時(shí)展示了誤差熱度圖(圖像下方區(qū)域).
總的來說,本文與文獻(xiàn)[11]方法均能對物體大致的環(huán)境光遮蔽分布和趨勢進(jìn)行估計(jì).在飛機(jī)的環(huán)境光遮蔽估計(jì)中,2種方法均能對引擎、機(jī)身和機(jī)翼接縫處的環(huán)境光遮蔽進(jìn)行準(zhǔn)確的估計(jì).在水龍頭的估計(jì)中,文獻(xiàn)[11]如其論文以及文獻(xiàn)[12]報(bào)告的一樣,在整體的估計(jì)上存在模糊和估計(jì)值失真等問題.然而,本文的方法能夠?qū)ζ涓魈幍沫h(huán)境光遮蔽進(jìn)行較為準(zhǔn)確的估計(jì).值得注意的是,在該場景中,本文算法的輸入圖像具有明顯明暗變化,在最終的估計(jì)結(jié)果中,算法能夠準(zhǔn)確地處理光照的變化.摩托車代表了較難的場景,其存在較多的幾何細(xì)節(jié)和復(fù)雜的局部結(jié)構(gòu).在該類場景中,我們的方法和文獻(xiàn)[11]方法類似,能夠?qū)Υ笾碌沫h(huán)境光遮蔽趨勢進(jìn)行估計(jì),但在具體局部細(xì)節(jié)的估計(jì)上均存在著模糊的問題.但是和文獻(xiàn)[10]相比,本文方法只需要單張圖像作為輸入.
Table 4 Visual Comparison Among Different Methods表4 不同方法視覺效果對比
最后,為評估算法在真實(shí)場景的圖像上的性能,我們從網(wǎng)上下載了一些常見的物體圖像,通過本文算法對其環(huán)境光遮蔽值進(jìn)行估計(jì),結(jié)果如圖5所示.其中,吉他、摩托車、飛機(jī)以及耳機(jī)等有類似物體的圖像在訓(xùn)練數(shù)據(jù)集中.而玩偶和椅子2個(gè)類別均不包含在訓(xùn)練數(shù)據(jù)集里.
從圖5中結(jié)果可以看出,即使作用于真實(shí)圖像中,本文所訓(xùn)練的網(wǎng)絡(luò)能夠較為合理地估計(jì)物體的環(huán)境光遮蔽.
Fig. 5 Real cases results圖5 真實(shí)場景結(jié)果圖
在真實(shí)物體上的實(shí)驗(yàn)說明了我們的估計(jì)算法有以下2個(gè)優(yōu)點(diǎn):1)能夠區(qū)分陰影和環(huán)境光遮蔽的關(guān)系.在飛機(jī)和玩偶的示例中,均存在一個(gè)較為明顯的方向光源.處在陰影中的區(qū)域與非陰影區(qū)域相比,亮度較低,具有與環(huán)境光遮蔽較大區(qū)域相似的特征.在估計(jì)結(jié)果中,算法準(zhǔn)確地估計(jì)了陰影處的環(huán)境光遮蔽結(jié)果;2)能夠較為準(zhǔn)確地區(qū)分暗色系材質(zhì)與環(huán)境光遮蔽的關(guān)系.在吉他中心偏右處,玩偶眼部材質(zhì)近乎黑色,與環(huán)境光較大時(shí)的表現(xiàn)相似.本文的算法能夠較為準(zhǔn)確地識別該區(qū)域正確的環(huán)境光遮蔽結(jié)果(玩偶的眼部和吉他下部仍然存在一個(gè)較淺的環(huán)境光遮蔽估計(jì)值).值得注意的是,由于漫反射場景在真實(shí)世界中幾乎不存在,以上真實(shí)物體并不完全符合算法的輸入假設(shè).但是,本文算法在一定程度內(nèi)仍然能夠?qū)Νh(huán)境光遮蔽結(jié)果進(jìn)行合理估計(jì).其中,耳機(jī)存在著一定的高光和反光部分,本文算法在對該物體進(jìn)行預(yù)測時(shí)效果與其他物體較比相對較差.不過仍然能夠反映該物體環(huán)境光遮蔽的總體趨勢.
本文方法仍存在一定的局限性,現(xiàn)就2個(gè)典型的失敗案例進(jìn)行討論,如圖6所示:
Fig. 6 Failure cases圖6 失敗案例
在飛機(jī)的例子中,網(wǎng)絡(luò)將機(jī)翼和機(jī)頭黑色貼圖部分誤估計(jì)為環(huán)境光遮蔽較大的區(qū)域.在本征圖像中,對于陰影區(qū)域和貼圖較暗區(qū)域的區(qū)分一直是一個(gè)較為困難的問題,在環(huán)境光遮蔽的估計(jì)中也存在相似的問題.在相機(jī)的例子中,鏡頭以及周邊存在環(huán)境光遮蔽估計(jì)失真的情況.這是由于鏡頭周圍的鏡面反射明顯,使得本文非漫反射的前提條件被破壞,使得估計(jì)出現(xiàn)較大誤差.
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的從原始圖像到環(huán)境光遮蔽估計(jì)算法.算法僅要求單幀圖像作為輸入,同時(shí)對光照沒有特別假設(shè).本文提出并評估了3種不同的卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì),其中端對端的網(wǎng)絡(luò)取得了最好的效果.本文對算法在仿真圖像和真實(shí)圖像上的性能進(jìn)行了評估,實(shí)驗(yàn)結(jié)果表明,本文方法具有較好的魯棒性.與已有方法相比,本文提出的算法結(jié)果精度更高,極大地減輕了傳統(tǒng)基于圖像的環(huán)境光遮蔽估計(jì)對輸入圖像數(shù)量和光照布置均有較高的限制,使得在單張圖像估計(jì)環(huán)境光遮蔽成為可能.
本文的算法假設(shè)場景為漫反射,在未來的工作中,我們將對非漫反射場景的環(huán)境遮蔽問題進(jìn)行研究.另外,下一步通過將本文的方法與其他以環(huán)境光遮蔽作為中間步驟的方法進(jìn)行結(jié)合,使得該類其能夠在更加通用的條件下進(jìn)行求解并應(yīng)用于不同的視覺應(yīng)用.
致謝衷心地感謝微軟亞洲研究院的童欣老師在論文完成過程中提供的指導(dǎo)和幫助.在研究過程中,與他的多次討論使我受益匪淺!