美文网首页工作生活
Hero wavelength sampling

Hero wavelength sampling

作者: wangchi | 来源:发表于2019-07-02 17:38 被阅读0次

研究现状

MC波长采样

最简单的方法,每一条路径path一个波长,但是会产生很多噪声,而且很浪费路径。


每一条路径一个波长的方法

因为,在没有波长依赖的路径的情况下,各个波长的路径是一样的。(但是如果遇到透射的情况,波长会导致路径不一致)

Evans和McCool给出了一条路径多个波长的方法, LuxRender在使用。

Evans和McCool方法

预定义波长和基函数

预定义波长,在可见光范围内使用n个波长样本,但是如果样本不够,会产生error;到底使用多少个波长,且波长之间的间隔没有标准。一般至少为8,颜色验证的时候用32。

使用傅里叶基函数难以使用所有的场景。

波长相关散射函数

波长会影响BSDF和体散射的采样。Evans和McCool建议:

  • 要么split路径(导致路径指数上升)
  • 要么选择其一,丢弃其他的(导致color noise增强)

光谱重要性采样

Radziszewski提出使用MIS克服上述问题:随机选一个波长,然后计算其权重。


MIS for wavelength sampling

但是没给出权重和采样的计算方法。

本文是上述的一个简化版本,且可以适用于更多的path sampling方法。

算法 Hero wavelength sampling

首先,随机选取一个波长\lambda_h,作为hero wavelength,用来作为路径传播的主波长。

然后,以hero wavelength \lambda_h 为中心,在其左右,以等间隔分布,计算其他C个附加波长。

以hero wavelength为中心,附加波长的计算

3.1 联合采样密度

当每条路径使用多个波长的时候,相当于对多个波长重复使用路径X_i。如果采样X_i的时候,是波长相关的,这实际上导致了联合样本对(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个波长和路径的联合概率密度,为 p(X_i, \lambda_i^j)

  • 上述公式,相当于将j个波长的p(X_i, \lambda_i^j)求和取平均, 也就说,这j个波长的联合概率是相等的???

概率中的求和来自于:C个波长中的任何一个,都可以产生路径X_i,都可以产生样本对[X_i, \lambda_i^j]。“求和”再除以C是因为,1/C是选择这个波长作为hero wavelength的概率。

需要注意的是:甚至当附加波长是采样的,而不是确定选择的时候,都成立!

大多数渲染系统对于每条路径使用多个波长,忽略了这个事实,而且使用如下的概率

大多数渲染系统使用的联合密度计算公式
这当且仅当采样的概率对于所有波长是一样的时候,才成立,i.e. 没有路径采样的波长相关性。(换句话说,如果具有波长相关性的时候,波长不同,采样路径的概率 就不同,那么联合概率密度 ,就不同)

3.2 MIS with shifted techniques

[RBA09] 没有给出权重和采样的计算方法。

(下面内容不太理解)

定义采样方法 s=1,...., C

  • 根据p(r_s^{-1}(·)) = : p_{r,s},采样波长\lambda,, 其中r_s^{-1}(\lambda)返回采样方法s原始的hero wavelength\lambda_h
  • 根据概率密度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,我们定义一个不同的技术去采样联合样本对[X_i, \lambda_i^s]

权重可以定义为:

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)}

我们方法的一个重要特性是,对上面每一个采样技术都使用了同样的(Q)MC序列,用于生成等距的波长,和同样的路径X_i^s=X_i。更多的,p_s(X_i, \lambda_i^s) = p(X_i|\lambda_i^h)*p(\lambda_i^h).

相关文章

网友评论

    本文标题:Hero wavelength sampling

    本文链接:https://www.haomeiwen.com/subject/ebqmcctx.html