蒙特卡洛积分和重要性采样

231 阅读2分钟

引言

在前面了解了渲染方程和BRDF函数之后,对于如何采样也需要进行一个分析,本文主要通过数学的方式进行分析。

蒙特卡洛积分

在渲染的过程中,因为噪音的存在,我们的渲染还是会很多的问题,主要是采用是是均匀采样,然后光线不一定是这样的,所以需要重新设定采样规则,蒙特卡洛积分是针对数值解无法求解的情况下,用采样的方式来进行拟合求解的思路,在前面使用的均匀采样的规则:

图片30.png

其中f(x)是变量分布函数,且x的分布为[a,b],为了更好的采样的结果,我们需要更改采样方式,采用非均匀的采样。

设p(x)是f(x)的概率密度函数,则有:

图片31.png

这个的过程并不复杂,现在需要了解如何把这个采样值尽可能的有效,这里试计算一下它的方差:

图片32.png

不难了解到,采用数N的提升确实可以降低方差,第二点就是需要合适的p(x)才可以尽量的获得更好的效果,当然最好的效果就是p(x)=k*f(x)。这里可以做到无偏估计。

现在看一下渲染方程:

图片33.png

其中的f(x)是:

图片34.png

重要性采样

如何获得最佳的p(x)就是现在最重要的问题,一般有二种方法,一是逆采样法,然后是拒绝采样法。

先了解逆采样法,计算机一般先生成一个均匀分布,U~U(0,1),目标是X的非均匀分布,所以先需要一个T分布,使T(U)和X同分布,满足:

图片35.png

现在求一下X的分布,设f(x)是X的概率密度函数:

图片36.png

可能看着有一点的抽象,简单解释一下,由于是一个分布函数,在全部可能性的和为1,被积分函数为f(x),需要最优的采样,需要x的概率密度函数,也就是p(x),计算器累计的概率密度函数,然后取逆函数,就是我们需要得到的采样函数,这里简单的给出一个例子:

图片37.png

拒绝采样法非本文的重点,不做多余解释,也有一些更好的采样的方式,也不再进行解释,如吉布斯采样等。

渲染中的PDF选择

由上文知道,在渲染方程中的积分部分有:

图片34.png

主要为三个部分组成,分别是BRDF函数,光线,和cos值。关于这里的一些东西,在后面了解PBR等在进行细致的分析。