賀懷清,任瑋潔,劉浩翰
(中國(guó)民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)
由于傳統(tǒng)光線追蹤[1]算法的求交計(jì)算基本占據(jù)整個(gè)過(guò)程運(yùn)算量,渲染時(shí)間較長(zhǎng),同時(shí)點(diǎn)采樣容易造成圖像走樣。使用Monte Carlo光線追蹤[2,3]可以離散采樣來(lái)估計(jì)場(chǎng)景中真實(shí)光照的近似結(jié)果,但對(duì)復(fù)雜光照?qǐng)鼍暗匿秩救杂胁蛔?。因此Veach等[4]提出的MLT(Metropolis light transport)算法由于在復(fù)雜場(chǎng)景中展現(xiàn)了強(qiáng)大的處理能力,引起了學(xué)者關(guān)注。以此為基礎(chǔ),研究者們提出了多種改進(jìn)方案,最為經(jīng)典的就是PSSMLT(primary sample space Metropolis light transport)[5]算法和MMLT(multiplexed Metropolis light transport)[6]算法。PSSMLT算法針對(duì)MLT采樣局部性問(wèn)題,將突變應(yīng)用到基礎(chǔ)樣本空間,隨機(jī)擾動(dòng)獲得路徑。Hachisuka等提出的MMLT算法將多重重要性采樣(multiple importance sampling,MIS)引入到基礎(chǔ)樣本空間,成為MLT發(fā)展的最新里程碑算法。
曾笮等[7]引入雙向Lightcuts算法思想提高路徑空間連貫性以及路徑重用率。賈潔等[8]通過(guò)對(duì)初始樣本進(jìn)行方差過(guò)濾來(lái)減少啟動(dòng)偏差。Zirr等[9]通過(guò)對(duì)螢火蟲(chóng)樣本重新加權(quán)來(lái)減少樣本估計(jì)的方差。湛少勝等[10]從樣本采樣數(shù)量出發(fā)優(yōu)化采樣分布。Pantaleoni[11]通過(guò)圖表映射和坐標(biāo)轉(zhuǎn)換的方式提升了算法路徑探索能力。而B(niǎo)itterli等[12]提出的RJMLT算法(reversible jump metropolis light transport)通過(guò)確定性的方法突變解決漣漪效應(yīng)。
這些算法均是以提高路徑探索效率為目的來(lái)改進(jìn)MMLT算法。而文獻(xiàn)[13]從路徑樣本影響像素合成的角度出發(fā),在傳統(tǒng)光線追蹤算法上通過(guò)使用信息熵表現(xiàn)像素內(nèi)的樣本均勻程度來(lái)評(píng)價(jià)樣本噪聲水平,改進(jìn)了渲染圖像過(guò)程中產(chǎn)生的噪聲問(wèn)題。
本文借鑒采用信息熵評(píng)價(jià)像素內(nèi)樣本均勻性的思想,不同的是,本文將信息熵引入到MMLT算法的重要性函數(shù)中進(jìn)行重新加權(quán),同時(shí)動(dòng)態(tài)修改突變概率,在保留高貢獻(xiàn)樣本的同時(shí)不忽略低貢獻(xiàn)但結(jié)構(gòu)信息豐富的樣本,優(yōu)化采樣分布,使渲染的圖像輪廓更清晰,渲染效果更逼真。
MLT光線追蹤算法是將Metropolis-Hastings采樣引入到全局光照渲染的采樣當(dāng)中,基于MCMC(Markov chain monte carlo)[14]方法在局部區(qū)域內(nèi)進(jìn)行光線探索,通過(guò)對(duì)獲得的有效路徑進(jìn)行突變和復(fù)用,以有限采樣點(diǎn)和光線來(lái)達(dá)到較好的渲染效果。
MLT算法首先通過(guò)對(duì)路徑空間進(jìn)行部分采樣生成一系列采樣點(diǎn)xi構(gòu)成采樣路徑Xi,并定義路徑空間的貢獻(xiàn)函數(shù)f。然后以某一已知分布函數(shù)p正式采樣這些路徑來(lái)構(gòu)建馬爾可夫鏈,從而,生成一個(gè)路徑序列X0,X1,…,Xn并記錄路徑在圖像表面的分布。其中每一條路徑Xi都是對(duì)前一條路徑Xi-1進(jìn)行轉(zhuǎn)移而得到的(Xi可稱(chēng)為提議樣本),且每一條路徑的生成只與前一條路徑相關(guān),與采樣過(guò)程的歷史狀態(tài)無(wú)關(guān)。無(wú)論選擇哪一個(gè)初始分布,生成的序列最終都會(huì)逐漸收斂于一個(gè)與函數(shù)f成比例的穩(wěn)態(tài)分布。提議樣本的接受與拒絕由接受概率決定。其中,接受概率a(xi,y) 表示形式為
(1)
式中:T為轉(zhuǎn)移函數(shù),也可稱(chēng)為突變策略。T(xi,y) 為描述當(dāng)前樣本xi突變?yōu)樘嶙h樣本y的概率密度函數(shù)。為了使采樣過(guò)程盡快達(dá)到穩(wěn)態(tài)分布,要在不影響收斂速度的狀況下盡可能增大接受概率,因此可以將接受概率較大者的值設(shè)為1,則提議樣本被接受的概率為a。若被接受則xi+1=y,否則xi+1=xi。同時(shí),需要滿(mǎn)足細(xì)節(jié)平衡條件來(lái)保證采樣過(guò)程是收斂的,細(xì)節(jié)平衡可表示為
f(xi)T(xi,y)a(xi,y)=f(y)T(y,xi)a(y,xi)
(2)
MMLT算法在MLT算法的基礎(chǔ)上,引入了多重重要性采樣,通過(guò)MIS自動(dòng)地自適應(yīng)地構(gòu)建路徑,使得采樣分布可以更接近于真實(shí)的光照分布。MMLT算法依舊通過(guò)在基礎(chǔ)樣本空間上突變獲得新路徑,但額外使用兩個(gè)隨機(jī)變量,選取指定的頂點(diǎn)對(duì)來(lái)限制子路徑的連接。接受函數(shù)也是基于重要性采樣,這樣使得馬爾可夫鏈在獲得重要采樣的同時(shí),可以更快地達(dá)到穩(wěn)態(tài)分布。
盡管MMLT算法減少了對(duì)每一條路徑連接時(shí)做可見(jiàn)性測(cè)試的概率,但降低了路徑的重用率。同時(shí)MMLT算法使用光照強(qiáng)度作為重要性函數(shù),強(qiáng)調(diào)光照強(qiáng)度高的路徑采樣的重要性。但在采樣數(shù)量一定的情況下,集中對(duì)光照強(qiáng)度高的區(qū)域進(jìn)行大量的采樣,會(huì)導(dǎo)致光照強(qiáng)度低但信息豐富的位置未獲得足夠的采樣,使得最后的渲染結(jié)果在這些位置出現(xiàn)明顯的噪聲或使這個(gè)位置根本沒(méi)有被很好地渲染出來(lái)。
對(duì)于像素合成而言,像素值為像素內(nèi)所有采樣樣本光照強(qiáng)度值的均值。因此樣本值的均勻性是表征像素質(zhì)量的關(guān)鍵。像素值越均勻,噪聲水平越低。MMLT算法使用蒙特卡羅積分估計(jì)像素樣本值,而蒙特卡羅積分是一個(gè)在積分區(qū)域內(nèi)獨(dú)立獲取并隨機(jī)采樣來(lái)對(duì)積分值進(jìn)行估計(jì)的過(guò)程[15],其隨機(jī)性導(dǎo)致無(wú)法獲知像素樣本值均勻性或一致性的確切情況,從而使得像素質(zhì)量測(cè)量具有不確定性。當(dāng)從單一像素?cái)U(kuò)大到局部區(qū)域時(shí),區(qū)域像素值的均勻性則可表示該區(qū)域是否具有不確定性,即當(dāng)前區(qū)域所映射場(chǎng)景的結(jié)構(gòu)信息豐富程度,從而可知該區(qū)域的重要性。
而熵可以很好地表示一個(gè)體系的混亂程度,是衡量不確定性、無(wú)序性、分散性和變異性的指標(biāo)。信息熵則表示一個(gè)信源的不確定度,即所包含的信息量的多少,且它和信源所包含的信息量成正相關(guān)。若信源符號(hào)X為n種不同值的離散隨機(jī)變量,X={x1,…,xn},其對(duì)應(yīng)的概率為P={p1,…,pn},則信息熵的公式表示為
H=-∑Xpilog2pi
(3)
根據(jù)式(3)可以得知如果信源所包含樣本均不相同時(shí)差異性最大,此時(shí)信息熵最大且包含的信息量最大。將信息熵引入到圖像中時(shí),當(dāng)一個(gè)圖像有且僅有一個(gè)無(wú)任何變化的物體時(shí),如一片純色的畫(huà)布,不需要任何條件就可以確定圖像的情況,此時(shí)該圖像不包含任何結(jié)構(gòu)信息量。而當(dāng)圖像包含各種不同物體時(shí),需要的信息量大,這個(gè)時(shí)候圖像包含的結(jié)構(gòu)信息也十分豐富。
因此我們采用局部區(qū)域的信息熵來(lái)獲得區(qū)域權(quán)重,從而表現(xiàn)某個(gè)區(qū)域的重要性。當(dāng)這個(gè)區(qū)域信息熵大的時(shí)候表示這個(gè)區(qū)域內(nèi)像素位置映射到場(chǎng)景中的信息相對(duì)復(fù)雜,通常情況下這些區(qū)域?yàn)閳D像交界、陰影、高光周?chē)冉Y(jié)構(gòu)信息變化劇烈的地方,也就是本文中需要在場(chǎng)景中找到的光照強(qiáng)度低但結(jié)構(gòu)信息豐富的位置。
考慮到MMLT算法采用光照強(qiáng)度作為重要性函數(shù)在高貢獻(xiàn)度像素的周?chē)l繁采樣,使采樣分布不均勻,所以本文將信息熵引入重要性函數(shù)進(jìn)行重新加權(quán),優(yōu)化高貢獻(xiàn)度區(qū)域周?chē)牟蓸臃植肌S捎诨叶饶軌蚝芎玫爻尸F(xiàn)圖像的整體結(jié)構(gòu),能將圖像更好地分割且可離散地表示,因此使用灰度作為圖像的信源。根據(jù)式(3)可知,要獲得一個(gè)信源的信息熵時(shí),需要遍歷該信源內(nèi)所有的變量,因此為便于計(jì)算,本文算法使用256級(jí)灰度。
首先使用m表示區(qū)域范圍內(nèi)的灰度級(jí)數(shù),則g[m] 表示區(qū)域范圍內(nèi)灰度級(jí)m出現(xiàn)的次數(shù),即灰度級(jí)頻率。
然后根據(jù)式(3)可得圖像的信息熵
(4)
(5)
其中,H代表對(duì)應(yīng)像素所映射的場(chǎng)景結(jié)構(gòu)信息復(fù)雜情況。
MMLT中僅使用光照強(qiáng)度作為像素采樣合成的依據(jù),但實(shí)際中影響像素合成的因素還包含材質(zhì)、紋理等結(jié)構(gòu)信息,而H正反應(yīng)了該信息的豐富度。因此,我們將信息熵引入重要性函數(shù)中,用信息熵來(lái)平衡光照強(qiáng)度,使得光照強(qiáng)度低但所映射場(chǎng)景中結(jié)構(gòu)信息豐富的位置采樣權(quán)重增大。最終使整體采樣分布更加均勻,同時(shí)減少漣漪效應(yīng)。因此,將H添加到重要性函數(shù)中得到新的重要性函數(shù)為
W=HL
(6)
其中,L為樣本的光照強(qiáng)度,H值越大,像素對(duì)應(yīng)的結(jié)構(gòu)信息越豐富,則采樣權(quán)重越大。
同時(shí)使用信息熵來(lái)動(dòng)態(tài)修改突變概率,使得在有限的采樣量下貢獻(xiàn)度低但結(jié)構(gòu)信息豐富的位置可以有更好的采樣效率。為了可以在結(jié)構(gòu)信息相對(duì)豐富的位置周?chē)M(jìn)行更多的采樣,通過(guò)信息熵控制突變概率從而調(diào)整突變范圍,即信息熵越大突變概率越小,則可突變的范圍也隨之減小。同時(shí)若突變概率過(guò)小,會(huì)導(dǎo)致陷入局部循環(huán)采樣,降低整體的收斂速度;但突變概率過(guò)高導(dǎo)致樣本方差大且接受概率較低。由于當(dāng)突變概率低于自身一半或超過(guò)兩倍時(shí)差異性明顯,并會(huì)出現(xiàn)局部循環(huán)或逃逸現(xiàn)象,因此為防止極端現(xiàn)象的出現(xiàn),將突變概率設(shè)置為
(7)
在接受概率的計(jì)算公式中,為了使馬爾可夫鏈更快的收斂,將式(2)中接受概率較大者的值設(shè)為1。為了滿(mǎn)足接受概率選擇所需的時(shí)間可逆性,加入概率密度函數(shù)后仍需滿(mǎn)足細(xì)節(jié)平衡條件。在采樣狀態(tài)改變過(guò)程中,通過(guò)設(shè)置提議樣本與當(dāng)前樣本之間轉(zhuǎn)移概率相同來(lái)使小范圍突變滿(mǎn)足對(duì)稱(chēng)性,則接受概率表示為
(8)
其中,Wxi和Wy分別表示當(dāng)前樣本xi和提議樣本y的重要性函數(shù)。
本文算法步驟如下:
輸入:場(chǎng)景文件。
輸出:進(jìn)行完全采樣后的渲染結(jié)果圖像。
步驟1 對(duì)要渲染圖像的每一個(gè)像素點(diǎn)進(jìn)行一次采樣,獲得每一個(gè)像素點(diǎn)的顏色值并存放在容器中。
步驟2 對(duì)不同路徑長(zhǎng)度(0 步驟3 根據(jù)步驟1獲取該次采樣周?chē)南袼仡伾担檬?5)、式(6)分別計(jì)算該次采樣的信息熵和重要性函數(shù)。 步驟4 如果采樣數(shù)量未達(dá)到預(yù)設(shè)定樣本數(shù)量,重復(fù)步驟2~步驟3,否則進(jìn)入步驟5。 步驟5 獲取馬爾可夫鏈起始樣本,利用式(5)得到當(dāng)前采樣信息熵。 步驟6 根據(jù)樣本的信息熵值利用式(7)動(dòng)態(tài)設(shè)置樣本突變概率,對(duì)樣本進(jìn)行突變獲取提議樣本,利用式(5)計(jì)算樣本信息熵。 步驟7 利用式(8)計(jì)算接受概率a判斷提議樣本接受與否,同時(shí)更新步驟1構(gòu)建的像素顏色信息。 步驟8 如果提議樣本滿(mǎn)足接受條件,則將馬爾可夫鏈的當(dāng)前樣本轉(zhuǎn)移為提議樣本,并在此基礎(chǔ)上繼續(xù)突變;否則保持當(dāng)前樣本不變。 步驟9 如果所構(gòu)建的馬爾可夫鏈未達(dá)到所需的馬爾可夫鏈節(jié)點(diǎn)數(shù),重復(fù)步驟6~步驟8,否則進(jìn)入步驟10。 步驟10 重復(fù)步驟5~步驟9,直到達(dá)到場(chǎng)景中設(shè)置的最大采樣數(shù)量,結(jié)束路徑突變。 MMLT算法中使用光照強(qiáng)度作為重要性函數(shù),使得采樣大部分集中在貢獻(xiàn)度高的位置。而對(duì)于光照強(qiáng)度差異小但結(jié)構(gòu)信息豐富的位置,僅以光照強(qiáng)度為權(quán)重使該位置無(wú)法得到很好的采樣,當(dāng)采樣量不足時(shí)甚至?xí)霈F(xiàn)某些貢獻(xiàn)度低的位置根本沒(méi)有采樣的情況。本文將信息熵引入重要性函數(shù),讓采樣分布從貢獻(xiàn)度高的地方向貢獻(xiàn)度低但結(jié)構(gòu)信息豐富的位置轉(zhuǎn)移,進(jìn)一步滿(mǎn)足遍歷性的要求。所以本文算法的采樣分布更接近圖像真實(shí)情況,渲染的圖像在高光周?chē)⒚靼到唤绲蓉暙I(xiàn)度低但結(jié)構(gòu)信息豐富的位置表現(xiàn)會(huì)更好。 通過(guò)將本文算法應(yīng)用到MMLT中來(lái)驗(yàn)證其改進(jìn)的渲染效果。實(shí)驗(yàn)中主要選取了Teapot、Bmw、Veach和Killeroo這4個(gè)具有代表性的場(chǎng)景,將本文算法和MMLT算法在PBRT3.0版本渲染平臺(tái)中進(jìn)行4組主對(duì)比實(shí)驗(yàn)。為了進(jìn)一步驗(yàn)證本文算法與最新的MMLT改進(jìn)算法的對(duì)比,額外選取Bathroom場(chǎng)景,以便本文算法與MMLT算法、文獻(xiàn)[8]算法以及RJMLT算法進(jìn)行一組輔助實(shí)驗(yàn)對(duì)比,由于RJMLT算法采用Tungsten渲染平臺(tái),該組實(shí)驗(yàn)統(tǒng)一在該平臺(tái)下進(jìn)行。由于CMLT算法主要對(duì)基礎(chǔ)樣本空間進(jìn)行處理;文獻(xiàn)[10]算法主要根據(jù)采樣的分布來(lái)修改結(jié)果,而本文算法是針對(duì)重要性函數(shù)的修改,側(cè)重于像素本身而非采樣分布,且未對(duì)樣本空間進(jìn)行修改。因此這兩種算法均與本文算法側(cè)重點(diǎn)不同,不具有可比性。文獻(xiàn)[13]雖為本文算法的思想啟發(fā),但二者不在同一框架,信息熵所起作用也不同,且年份較久,因此也未進(jìn)行對(duì)比。 選取5組場(chǎng)景的原因:Teapot場(chǎng)景中存在介質(zhì)轉(zhuǎn)變,在光線照射下透明玻璃與透明液體相互作用會(huì)出現(xiàn)明暗混合現(xiàn)象。BMW場(chǎng)景與Killeroo場(chǎng)景中都僅存在間接光照,其中BMW場(chǎng)景環(huán)境光亮度偏低且存在大量高光,容易出現(xiàn)光斑剝離;而Killeroo場(chǎng)景中背景作為主要內(nèi)容且環(huán)境昏暗,能夠展現(xiàn)出算法的噪聲改善效果。Veach場(chǎng)景既有直接光照,又有間接光照,同時(shí)存在焦散現(xiàn)象,能夠很好地展現(xiàn)算法的性能。Bathroom場(chǎng)景作為一個(gè)復(fù)雜場(chǎng)景,存在多個(gè)不同介質(zhì)間的相互作用,可以進(jìn)一步驗(yàn)證算法的改進(jìn)效果。實(shí)驗(yàn)中每組對(duì)比圖像均在同一場(chǎng)景的相同采樣數(shù)下進(jìn)行。實(shí)驗(yàn)所用環(huán)境配置如下: 渲染器為PBRT-V3和Tungsten;開(kāi)發(fā)工具為Qt Creator 5.8和Cmake 3.9;操作系統(tǒng)為Ubuntu 16.04;硬件環(huán)境為IntelRCoreTMi7-7700 CPU@ 3.60 GHz,8 GB內(nèi)存。 在實(shí)驗(yàn)中,除了將渲染圖像與參考圖像進(jìn)行主觀表現(xiàn)上的對(duì)比外,還采用峰值信噪比(peak signal to noise ratio,PSNR)[16]和結(jié)構(gòu)相似度(structural similarity,SSIM)[17]兩個(gè)客觀評(píng)價(jià)指標(biāo)來(lái)對(duì)生成圖像進(jìn)行質(zhì)量評(píng)價(jià)。PSNR和SSIM均是全參考的圖像質(zhì)量評(píng)價(jià)指標(biāo),其中PSNR是基于像素維度誤差進(jìn)行的圖像質(zhì)量評(píng)價(jià),PSNR越大,像素的顏色值與參考圖越接近。而SSIM分別從亮度、對(duì)比度、結(jié)構(gòu)3個(gè)層次對(duì)圖像相似度進(jìn)行衡量,其值越大表示圖像質(zhì)量越好。除此以外,實(shí)驗(yàn)中還加入了采樣密度分布圖,通過(guò)將每個(gè)像素被采樣的數(shù)量轉(zhuǎn)換為對(duì)應(yīng)的顏色觀察其漸變情況來(lái)直觀對(duì)比算法采樣分布的改進(jìn)。 3.2.1 不同場(chǎng)景渲染結(jié)果對(duì)比 實(shí)驗(yàn)1:驗(yàn)證本文算法在光線情況復(fù)雜且包含不同透明介質(zhì)場(chǎng)景中的性能。應(yīng)用本文算法和MMLT算法分別對(duì)Teapot場(chǎng)景在相同采樣數(shù)下進(jìn)行渲染,渲染結(jié)果如圖1所示。 圖1 Teapot場(chǎng)景渲染結(jié)果 通過(guò)圖1的對(duì)比實(shí)驗(yàn)可以發(fā)現(xiàn),本文算法在光線情況復(fù)雜和光線傳播介質(zhì)發(fā)生變化的位置效果更加清晰,比改進(jìn)前的MMLT算法更接近參考圖。由局部放大圖中可以看出壺身噪點(diǎn)明顯減少,反光投影處降低了模糊感,壺底紋路也更加分明。 實(shí)驗(yàn)2:驗(yàn)證本文算法在包含大量高光但環(huán)境較暗的間接光照?qǐng)鼍爸械男阅?。?yīng)用本文算法和MMLT算法分別對(duì)BMW場(chǎng)景在相同采樣數(shù)下進(jìn)行渲染,渲染結(jié)果如圖2所示。 圖2 BMW場(chǎng)景渲染結(jié)果 通過(guò)圖2的對(duì)比實(shí)驗(yàn)可以發(fā)現(xiàn),MMLT算法在有高亮出現(xiàn)的偏暗區(qū)域很容易出現(xiàn)光斑剝離現(xiàn)象。本文算法通過(guò)使用信息熵平衡光照亮度,計(jì)算圖像分離邊界解決了這一問(wèn)題。由局部放大圖可以看出,遠(yuǎn)近車(chē)燈的整體輪廓更加分明,同時(shí)光照強(qiáng)度低的內(nèi)部環(huán)境也明顯顯現(xiàn)出來(lái)。 實(shí)驗(yàn)3:驗(yàn)證本文算法在存在直接光源且光線在流形透明介質(zhì)中發(fā)生復(fù)雜傳播的場(chǎng)景中的性能。應(yīng)用本文算法和MMLT算法分別對(duì)Veach場(chǎng)景在相同采樣數(shù)下進(jìn)行渲染,渲染結(jié)果如圖3所示。 圖3 Veach場(chǎng)景渲染結(jié)果 在圖3的對(duì)比實(shí)驗(yàn)中,改進(jìn)前的MMLT算法在墻角、燈座等需要表現(xiàn)出明顯交界的地方分割能力表現(xiàn)較差,在墻角、玻璃四周還出現(xiàn)了較大的噪聲干擾,本文算法在這些地方表現(xiàn)的場(chǎng)景分割能力優(yōu)于改進(jìn)前的MMLT算法。另外,分析局部放大圖可以發(fā)現(xiàn)本文算法在減少噪聲的同時(shí)使玻璃輪廓更加清晰,玻璃球體也更加通透,整體效果更加真實(shí)。 實(shí)驗(yàn)4:驗(yàn)證本文算法的噪聲改善效果。對(duì)于一般場(chǎng)景,實(shí)驗(yàn)1~實(shí)驗(yàn)3可以看出本文算法在貢獻(xiàn)度低但結(jié)構(gòu)信息豐富的位置的渲染優(yōu)化效果。但當(dāng)場(chǎng)景完全處于間接光照下并由大量結(jié)構(gòu)信息單調(diào)的內(nèi)容組成時(shí),由于MMLT算法使用亮度作為權(quán)重,會(huì)在信息單調(diào)的位置進(jìn)行反復(fù)采樣,且總是會(huì)接受,導(dǎo)致結(jié)構(gòu)信息豐富的位置無(wú)法得到很好的采樣,使得渲染圖像出現(xiàn)大量噪聲。而本文算法將信息熵引入重要性函數(shù),減少了對(duì)結(jié)構(gòu)信息單調(diào)位置的采樣,并降低了該位置的接受率,使渲染圖像的噪聲得到很大改善。應(yīng)用本文算法和MMLT算法分別對(duì)Killeroo場(chǎng)景在相同采樣數(shù)下進(jìn)行渲染,渲染結(jié)果如圖4所示。 圖4 Killeroo場(chǎng)景渲染結(jié)果 在圖4的對(duì)比實(shí)驗(yàn)中,改進(jìn)前的MMLT算法物體輪廓模糊不清,渲染圖像包含大量的噪聲。而本文算法使得渲染圖像的噪聲得到很大改善。另外,分析局部放大圖發(fā)現(xiàn)本文算法在減少噪聲的同時(shí)使得物體交界處輪廓更加清晰。 實(shí)驗(yàn)5:進(jìn)一步驗(yàn)證本文算法的渲染效果。應(yīng)用本文算法、MMLT算法、文獻(xiàn)[8]算法、RJMLT算法分別對(duì)Bathroom場(chǎng)景在相同采樣數(shù)下進(jìn)行渲染,渲染結(jié)果如圖5所示。 圖5 Bathroom場(chǎng)景渲染結(jié)果 通過(guò)圖5的對(duì)比實(shí)驗(yàn)可以發(fā)現(xiàn),改進(jìn)后的算法整體渲染效果優(yōu)于其它3種算法,降低了噪聲。細(xì)節(jié)上,對(duì)于那些結(jié)構(gòu)信息未發(fā)生劇烈變化的位置,如木質(zhì)地板和墻面,本文算法渲染效果與其它3種算法基本相同。但在一些光線情況發(fā)生變化且結(jié)構(gòu)復(fù)雜處,本文算法得到了更加逼真的渲染結(jié)果。從局部放大圖中可以看出,對(duì)于洗手池高光周?chē)?,本文算法采樣效果更加真?shí),沒(méi)有出現(xiàn)尖銳區(qū)域,降低了噪聲;洗手池底部更接近原圖,與木臺(tái)相接的陰影部分噪聲明顯減少,沒(méi)有過(guò)多黑白斑點(diǎn),底座、鏡子支架也更加清晰。 MMLT算法與本文算法在不同場(chǎng)景中的采樣分布圖如圖6所示。通過(guò)比較采樣密度變化可以發(fā)現(xiàn),相較于MMLT算法針對(duì)高亮度區(qū)域的密集采樣或在光照亮度差異小的場(chǎng)景中無(wú)差別采樣,本文算法通過(guò)使用信息熵重新加權(quán),減少高亮度區(qū)域高密度采樣的同時(shí),將采樣分布于結(jié)構(gòu)信息豐富的區(qū)域,使整體采樣更加均勻,優(yōu)化渲染效果。 圖6 采樣密度分布 通過(guò)表1可以發(fā)現(xiàn)本文算法相比改進(jìn)前的MMLT算法在各項(xiàng)指標(biāo)上都有明顯提升。結(jié)合以上5組實(shí)驗(yàn)結(jié)果圖1~圖5,可以得出本文的算法在結(jié)構(gòu)信息豐富、光線情況復(fù)雜、光線傳播介質(zhì)發(fā)生變化的場(chǎng)景中表現(xiàn)優(yōu)于MMLT算法,并且不同場(chǎng)景中的噪聲相較于MMLT算法均有不同程度的提升。特別是在場(chǎng)景中包含大量結(jié)構(gòu)信息單調(diào)的內(nèi)容或需要清晰的圖像分割時(shí)本文算法表現(xiàn)更為明顯。 表1 PSNR和SSIM對(duì)比 但由于MMLT算法僅以光照強(qiáng)度作為權(quán)重,忽略其結(jié)構(gòu)信息,一方面會(huì)在光照強(qiáng)度高的位置集中采樣,另一方面在光照強(qiáng)度相近的情況下,無(wú)法較好地分辨出交界、陰影等結(jié)構(gòu)變化明顯的位置,從而無(wú)法達(dá)到較好的采樣效率。而本文算法引入信息熵,在平衡光照強(qiáng)度高位置采樣的同時(shí),加強(qiáng)了對(duì)貢獻(xiàn)度低但結(jié)構(gòu)信息豐富的位置的采樣,達(dá)到了自適應(yīng)采樣的目的。因此對(duì)于貢獻(xiàn)度高的位置來(lái)說(shuō),其與參考圖像的像素差異較MMLT算法略微增大,但通過(guò)增強(qiáng)其它重要位置的采樣使整體結(jié)構(gòu)與原圖更為接近。因此本文算法雖然優(yōu)化了不同場(chǎng)景的輪廓信息,提高渲染效果,減少了生成圖像的噪聲,但PSNR沒(méi)有得到很大的提高。 3.2.2 馬爾可夫鏈?zhǔn)諗克俣葘?duì)比 任取一場(chǎng)景將本文算法與MMLT算法的馬爾可夫鏈?zhǔn)諗克俣冗M(jìn)行對(duì)比。由于MMLT算法與本文算法的采樣均基于權(quán)重,權(quán)重的變化趨勢(shì)則為馬爾可夫鏈趨于穩(wěn)態(tài)的過(guò)程。采用Veach-mis場(chǎng)景,其參考圖像如圖7所示。 圖7 實(shí)驗(yàn)用到的Veach-mis場(chǎng)景 圖8為Veach-mis場(chǎng)景在相同配置參數(shù)下隨采量的增多MMLT算法和本文算法的馬爾可夫鏈權(quán)重趨勢(shì)對(duì)比,其中橫坐標(biāo)表示第幾次采樣,及算法運(yùn)行時(shí)間,縱坐標(biāo)表示采樣權(quán)重。 圖8 采樣分布權(quán)重趨勢(shì)對(duì)比 從圖8的權(quán)重趨勢(shì)對(duì)比可以看出,隨著采樣量的逐漸增多,兩種算法的采樣分布權(quán)重都從散亂逐漸趨向于一個(gè)穩(wěn)定的區(qū)域。也就代表了隨著算法運(yùn)行時(shí)間的增加,馬爾可夫鏈逐步達(dá)到穩(wěn)態(tài)。而本文算法較MMLT算法更快趨于穩(wěn)定,優(yōu)勢(shì)明顯。由此可知本文算法有效減少了采樣到達(dá)穩(wěn)態(tài)分布的時(shí)間,加快了馬爾可夫鏈的收斂速度。 本文借鑒信息熵能表示信源不確定度的思想,從提升光照強(qiáng)度低但結(jié)構(gòu)信息豐富的位置的采樣權(quán)重的角度改進(jìn)MMLT,解決了局部采樣數(shù)量過(guò)度依賴(lài)光照強(qiáng)度而忽略結(jié)構(gòu)信息的問(wèn)題,從而優(yōu)化了輪廓信息,提升了MMLT在不同場(chǎng)景中渲染的真實(shí)感,達(dá)到渲染過(guò)程中自適應(yīng)采樣的目的。雖然本文算法在整體上使渲染結(jié)果更逼真,但由于平衡了光照強(qiáng)度高的位置周?chē)牟蓸臃植际筆SNR沒(méi)有得到很大提高,未來(lái)工作將針對(duì)這一問(wèn)題繼續(xù)改進(jìn)。2.4 改進(jìn)算法遍歷性和采樣分布優(yōu)化說(shuō)明
3 實(shí)驗(yàn)結(jié)果
3.1 實(shí)驗(yàn)環(huán)境及度量標(biāo)準(zhǔn)
3.2 實(shí)驗(yàn)結(jié)果分析
4 結(jié)束語(yǔ)