Hero wavelength sampling

研究現(xiàn)狀

MC波長采樣

最簡單的方法,每一條路徑path一個波長,但是會產(chǎn)生很多噪聲,而且很浪費路徑。


每一條路徑一個波長的方法

因為,在沒有波長依賴的路徑的情況下,各個波長的路徑是一樣的。(但是如果遇到透射的情況,波長會導致路徑不一致)

Evans和McCool給出了一條路徑多個波長的方法, LuxRender在使用。

Evans和McCool方法

預定義波長和基函數(shù)

預定義波長,在可見光范圍內(nèi)使用n個波長樣本,但是如果樣本不夠,會產(chǎn)生error;到底使用多少個波長,且波長之間的間隔沒有標準。一般至少為8,顏色驗證的時候用32。

使用傅里葉基函數(shù)難以使用所有的場景。

波長相關(guān)散射函數(shù)

波長會影響B(tài)SDF和體散射的采樣。Evans和McCool建議:

  • 要么split路徑(導致路徑指數(shù)上升)
  • 要么選擇其一,丟棄其他的(導致color noise增強)

光譜重要性采樣

Radziszewski提出使用MIS克服上述問題:隨機選一個波長,然后計算其權(quán)重。


MIS for wavelength sampling

但是沒給出權(quán)重和采樣的計算方法。

本文是上述的一個簡化版本,且可以適用于更多的path sampling方法。

算法 Hero wavelength sampling

首先,隨機選取一個波長\lambda_h,作為hero wavelength,用來作為路徑傳播的主波長。

然后,以hero wavelength \lambda_h 為中心,在其左右,以等間隔分布,計算其他C個附加波長。

以hero wavelength為中心,附加波長的計算

3.1 聯(lián)合采樣密度

當每條路徑使用多個波長的時候,相當于對多個波長重復使用路徑X_i。如果采樣X_i的時候,是波長相關(guān)的,這實際上導致了聯(lián)合樣本對(combined sample pair) [X_i, \lambda_i^j] 的概率的不同。因為X_i對于一系列波長是固定的,那么樣本對[X_i, \lambda_i^j]的概率為:

樣本對概率

個人思考:

  • p(X_i, \lambda_i^j)的意義:對于一組波長\lambda_j其中j = 1, ..., C,在這些波長下,都得到同一條路徑X_i,那么第j個波長和路徑的聯(lián)合概率密度,為 p(X_i, \lambda_i^j)

  • 上述公式,相當于將j個波長的p(X_i, \lambda_i^j)求和取平均, 也就說,這j個波長的聯(lián)合概率是相等的???

概率中的求和來自于:C個波長中的任何一個,都可以產(chǎn)生路徑X_i,都可以產(chǎn)生樣本對[X_i, \lambda_i^j]?!扒蠛汀痹俪訡是因為,1/C是選擇這個波長作為hero wavelength的概率。

需要注意的是:甚至當附加波長是采樣的,而不是確定選擇的時候,都成立!

大多數(shù)渲染系統(tǒng)對于每條路徑使用多個波長,忽略了這個事實,而且使用如下的概率

大多數(shù)渲染系統(tǒng)使用的聯(lián)合密度計算公式

這當且僅當采樣的概率對于所有波長是一樣的時候,才成立,i.e. 沒有路徑采樣的波長相關(guān)性。(換句話說,如果具有波長相關(guān)性的時候,波長不同,采樣路徑的概率 就不同,那么聯(lián)合概率密度 ,就不同)

3.2 MIS with shifted techniques

[RBA09] 沒有給出權(quán)重和采樣的計算方法。

(下面內(nèi)容不太理解)

定義采樣方法 s=1,...., C

  • 根據(jù)p(r_s^{-1}(·)) = : p_{r,s},采樣波長\lambda,, 其中r_s^{-1}(\lambda)返回采樣方法s原始的hero wavelength\lambda_h
  • 根據(jù)概率密度p(·|r_s^{-1}(\lambda))=:p_{X,s},采樣路徑X,
  • p_s(X,\lambda):= p_{X,s}(X|\lambda)·p_{\lambda,s}(\lambda)

這相當于每次,C個波長中的一個,被選為hero wavelength,我們定義一個不同的技術(shù)去采樣聯(lián)合樣本對[X_i, \lambda_i^s]

權(quán)重可以定義為:

w_s(X, \lambda):= \frac{p_s(X,\lambda)}{\sum_{k=1}^Cp_k(X,\lambda)}

從而:

I = \frac{1}{N}\sum_{i=1}^{N}\sum_{s=1}^Cw_s(X_i^s, \lambda_i^s)\frac{f(X_i^s, \lambda_i^s)}{p_s(X_i^s, \lambda_i^s)}

我們方法的一個重要特性是,對上面每一個采樣技術(shù)都使用了同樣的(Q)MC序列,用于生成等距的波長,和同樣的路徑X_i^s=X_i。更多的,p_s(X_i, \lambda_i^s) = p(X_i|\lambda_i^h)*p(\lambda_i^h).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容