↓ 跳过正文

Metatron Dev. IV: ReSTIR

·14628 字·30 分钟

RIS
#

定义无偏贡献权重为随机变量WW, supp(X)\mathrm{supp}(X)为ff在XX的支撑集.

E[f(X)W]=∫supp(X)f(x)dx \begin{equation} E[f(X)W] = \int_{\mathrm{supp}(X)} f(x) \mathrm{d}x \end{equation}

若各样本空间使用相同提议分布, 权重w=p^(X)Mp(X)w=\frac{\hat{p}(X)}{Mp(X)}的RIS可以将抽样概率收敛为目标分布.

E[f(Y)WY]=E[∑n=1Mf(Xn)p^(Xn)∑i=1Mwiwn∑i=1Mwi]=M E[f(Xn)p^(Xn)wn]=∫supp(X1)⋯∫supp(XM)f(xn)pn(xn)∏i=1Mp(xi)dxi=∫supp(X1)⋯∫supp(XM)f(xn)dxn∏i=1,i≠nMp(xi)dxi=∫supp(Y)f(y)dy \begin{equation} \begin{aligned} E[f(Y)W_Y] &= E[\sum_{n=1}^M \frac{f(X_n)}{\hat{p}(X_n)}\sum_{i=1}^M w_i \frac{w_n}{\sum_{i=1}^M w_i}]\\ &= M\ E[\frac{f(X_n)}{\hat{p}(X_n)} w_n]\\ &= \int_{\mathrm{supp}(X_1)}\cdots\int_{\mathrm{supp}(X_M)} \frac{f(x_n)}{p_n(x_n)}\prod_{i=1}^M p(x_i)\mathrm{d}x_i\\ &= \int_{\mathrm{supp}(X_1)}\cdots\int_{\mathrm{supp}(X_M)} f(x_n)\mathrm{d}x_n \prod_{i=1, i \neq n}^M p(x_i)\mathrm{d}x_i\\ &= \int_{\mathrm{supp}(Y)} f(y)\mathrm{d}y \end{aligned} \end{equation}

若各样本空间提议分布不同, 需泛化1M→ci(Xi)\frac{1}{M} \to c_i(X_i), 要求∑i=1Mci(x)=1\sum_{i=1}^M c_i(x) = 1.

E[f(Y)WY]=E[∑n=1Mf(Xn)p^(Xn)∑i=1Mwiwn∑i=1Mwi]=∑n=1M∫supp(X1)⋯∫supp(XM)f(xn)cn(xn)pn(xn)∏i=1Mpi(xi)dxi=∑n=1M∫supp(X1)⋯∫supp(XM)f(xn)cn(xn)dxn∏i=1,i≠nMpi(xi)dxi=∑n=1M∫supp(Xn)f(xn)cn(xn)dxn=∫supp(Y)f(y)∑n=1Mcn(y)dy \begin{equation} \begin{aligned} E[f(Y)W_Y] &= E[\sum_{n=1}^M \frac{f(X_n)}{\hat{p}(X_n)}\sum_{i=1}^M w_i \frac{w_n}{\sum_{i=1}^M w_i}]\\ &= \sum_{n=1}^M \int_{\mathrm{supp}(X_1)}\cdots\int_{\mathrm{supp}(X_M)} \frac{f(x_n) c_n(x_n)}{p_n(x_n)}\prod_{i=1}^M p_i(x_i)\mathrm{d}x_i\\ &= \sum_{n=1}^M \int_{\mathrm{supp}(X_1)}\cdots\int_{\mathrm{supp}(X_M)} f(x_n) c_n(x_n)\mathrm{d}x_n \prod_{i=1, i \neq n}^M p_i(x_i)\mathrm{d}x_i\\ &= \sum_{n=1}^M \int_{\mathrm{supp}(X_n)} f(x_n) c_n(x_n)\mathrm{d}x_n\\ &= \int_{\mathrm{supp}(Y)} f(y) \sum_{n=1}^M c_n(y)\mathrm{d}y \end{aligned} \end{equation}

分层选取指下标分级确定, 如先选子池tt再选子池内下标kk, 记池为Z=(Zt,k)Z=(Z_{t,k}). 全概率公式展开可得: 只要每一级都不依赖池中样本的数值, 逐级归一后边缘分布不变:

pX(x)=∑tP(t)∑kP(k∣t) pZt,k(x)=∑tP(t)∑kP(k∣t) p(x)=∑tP(t) p(x)=p(x) \begin{equation} \begin{aligned} p_X(x) &= \sum_t P(t) \sum_k P(k|t)\ p_{Z_{t,k}}(x)\\ &= \sum_t P(t) \sum_k P(k|t)\ p(x) = \sum_t P(t)\ p(x) = p(x) \end{aligned} \end{equation}

预抽样指抽样与使用分离: 按分布pp生成样本池Z=(Z1,…,ZN)Z=(Z_1, \dots, Z_N), 使用样本不再抽样, 而是以下标JJ取出X=ZJX=Z_J. 要求下标与池内容独立, 下标本身可以分层选取, 只要不依赖池中样本的数值. 对ZZ取全期望, 边缘分布为池内样本分布的混合:

pX(x)=∑n=1NP(J=n) pZn(x)=∑n=1NP(J=n) p(x)=p(x) \begin{equation} p_X(x) = \sum_{n=1}^N P(J=n)\ p_{Z_n}(x) = \sum_{n=1}^N P(J=n)\ p(x) = p(x) \end{equation}

XX与直接按pp抽样同分布, 因此可以直接替换任何一次抽样, 下游估计的无偏性不变:

E[f(X)p(X)]=∫f(x)p(x)pX(x)dx=∫f(x)dx \begin{equation} E\left[\frac{f(X)}{p(X)}\right] = \int \frac{f(x)}{p(x)}p_X(x)\mathrm{d}x = \int f(x)\mathrm{d}x \end{equation}

GRIS
#

依据全期望公式E(XY)=∫Xx p(x) E(Y∣X=x)dxE(XY)=\int_X x\ p(x)\ E(Y|X=x) \mathrm{d}x, 可得:

E[W∣X]=1p(X) \begin{equation} E[W|X]=\frac{1}{p(X)} \end{equation}

若各样本的积分域与最终积分域不同, 需经位移映射Y=Tx(X)Y = T_x(X)变换后再计算权重, 得到w=p^(Y)cx(Y)JX→Ypx(X)w=\frac{\hat{p}(Y)c_x(Y)J_{X \to Y}}{p_x(X)}, 其中JX→Y=∣∂Y∂X∣J_{X \to Y}=\left|\frac{\partial Y}{\partial X}\right|. 由于变换后为supp(Y)≠Ti(supp(Xi))\mathrm{supp}(Y) \neq T_i(\mathrm{supp}(X_i)), 记变换后包含YY的样本域集合N(Y)={n:Y∈Tn(supp(Xn))}\mathcal{N}(Y) = \{n : Y \in T_n(\mathrm{supp}(X_n))\}, 无偏要求supp(Y)⊆⋃n=1MTn(supp(Xn))\mathrm{supp}(Y) \subseteq \bigcup_{n=1}^M T_n(\mathrm{supp}(X_n))且∑n∈N(Y)cn(Y)=1\sum_{n \in \mathcal{N}(Y)} c_n(Y)=1

E[f(Y)WY]=E[f(Y)p^(Y)∑i=1Mwi]=E[∑n=1,Yn=Tn(Xn)Mf(Yn)p^(Yn)∑i=1Mwiwn∑i=1Mwi]=∑n=1,yn=Tn(xn)M∫supp(X1)⋯∫supp(XM)f(yn)cn(yn)Jxn→ynpn(xn)∏i=1Mpi(xi)dxi=∑n=1,yn=Tn(xn)M∫supp(X1)⋯∫supp(XM)f(yn)cn(yn)Jxn→yndxn∏i=1,i≠nMpi(xi)dxi=∑n=1,yn=Tn(xn)M∫Tn(supp(Xn))f(yn)cn(yn)dyn=∫⋃n=1MTn(supp(Xn))f(y)∑n∈N(y)cn(y)dy \begin{equation} \begin{aligned} E[f(Y)W_Y] &= E[\frac{f(Y)}{\hat{p}(Y)}\sum_{i=1}^M w_i]\\ &= E[\sum_{n=1, Y_n=T_n(X_n)}^M \frac{f(Y_n)}{\hat{p}(Y_n)}\sum_{i=1}^M w_i \frac{w_n}{\sum_{i=1}^M w_i}]\\ &= \sum_{n=1, y_n=T_n(x_n)}^M \int_{\mathrm{supp}(X_1)}\cdots\int_{\mathrm{supp}(X_M)} \frac{f(y_n) c_n(y_n) J_{x_n \to y_n}}{p_n(x_n)}\prod_{i=1}^M p_i(x_i)\mathrm{d}x_i\\ &= \sum_{n=1, y_n=T_n(x_n)}^M \int_{\mathrm{supp}(X_1)}\cdots\int_{\mathrm{supp}(X_M)} f(y_n) c_n(y_n) J_{x_n \to y_n}\mathrm{d}x_n \prod_{i=1, i \neq n}^M p_i(x_i)\mathrm{d}x_i\\ &= \sum_{n=1, y_n=T_n(x_n)}^M \int_{T_n(\mathrm{supp}(X_n))} f(y_n) c_n(y_n)\mathrm{d}y_n\\ &= \int_{\bigcup_{n=1}^M T_n(\mathrm{supp}(X_n))} f(y) \sum_{n \in \mathcal{N}(y)} c_n(y)\mathrm{d}y\\ \end{aligned} \end{equation}

泛化为无偏权重1px(X)→Wx\frac{1}{p_x(X)} \to W_x, 不显式定义ww, 可以基于全期望公式证明蓄水池合并结果WY=cx(Y)WxJX→Y∑i=1MwiwxW_Y=c_x(Y)W_xJ_{X \to Y}\frac{\sum_{i=1}^M w_i}{w_x}无偏:

E[f(Y)WY]=E[∑n=1,Yn=Tn(Xn)Mf(Yn)cn(Yn)WnJXn→Yn∑i=1Mwiwnwn∑i=1Mwi]=∑n=1,Yn=Tn(Xn)ME[f(Yn)cn(Yn)WnJXn→Yn]=∑n=1,yn=Tn(xn)M∫supp(Xn)f(yn)cn(yn)Jxn→ynE[Wn∣Xn=xn]pn(xn)dxn=∑n=1,yn=Tn(xn)M∫supp(Xn)f(yn)cn(yn)Jxn→yndxn=∑n=1,yn=Tn(xn)M∫Tn(supp(Xn))f(yn)cn(yn)dyn=∫⋃n=1MTn(supp(Xn))f(y)∑n∈N(y)cn(y)dy \begin{equation} \begin{aligned} E[f(Y)W_Y] &= E[\sum_{n=1, Y_n=T_n(X_n)}^M f(Y_n)c_n(Y_n)W_nJ_{X_n \to Y_n}\frac{\sum_{i=1}^M w_i}{w_n}\frac{w_n}{\sum_{i=1}^M w_i}]\\ &= \sum_{n=1, Y_n=T_n(X_n)}^M E[f(Y_n)c_n(Y_n)W_nJ_{X_n \to Y_n}]\\ &= \sum_{n=1, y_n=T_n(x_n)}^M \int_{\mathrm{supp}(X_n)} f(y_n) c_n(y_n) J_{x_n \to y_n} E[W_n | X_n=x_n] p_n(x_n) \mathrm{d}x_n\\ &= \sum_{n=1, y_n=T_n(x_n)}^M \int_{\mathrm{supp}(X_n)} f(y_n) c_n(y_n) J_{x_n \to y_n} \mathrm{d}x_n\\ &= \sum_{n=1, y_n=T_n(x_n)}^M \int_{T_n(\mathrm{supp}(X_n))} f(y_n) c_n(y_n)\mathrm{d}y_n\\ &= \int_{\bigcup_{n=1}^M T_n(\mathrm{supp}(X_n))} f(y) \sum_{n \in \mathcal{N}(y)} c_n(y)\mathrm{d}y\\ \end{aligned} \end{equation}

令mx(Y)≥0m_x(Y) \geq 0为MIS权重, 满足∑n∈N(y)mn(y)=1\sum_{n \in \mathcal{N}(y)} m_n(y) = 1, RIS权重设置如下:

w={mx(Y)p^(Y)WxJX→Y,Y⊆Tx(supp(X))0,otherwise \begin{equation} \begin{aligned} w= \begin{cases} m_x(Y)\hat{p}(Y)W_xJ_{X \to Y}, & Y \subseteq T_x(\mathrm{supp}(X))\\ 0, &\mathrm{otherwise} \end{cases} \end{aligned} \end{equation}

设置cx=mxc_x = m_x, 此时WY=1p^(Y)∑i=1MwiW_Y=\frac{1}{\hat{p}(Y)}\sum_{i=1}^Mw_i, 即p^(Y)WY=∑i=1Mwi\hat{p}(Y)W_Y = \sum_{i=1}^M w_i, 对无偏性E[f(Y)WY]=∫supp(Y)f(y)dyE[f(Y)W_Y]=\int_{\mathrm{supp}(Y)} f(y)\mathrm{d}y取f=p^f=\hat{p}, 得权重和的期望:

E[∑i=1Mwi]=E[p^(Y)WY]=∫supp(Y)p^(y)dy=∥p^∥ \begin{equation} E[\sum_{i=1}^M w_i] = E[\hat{p}(Y)W_Y] = \int_{\mathrm{supp}(Y)} \hat{p}(y)\mathrm{d}y = \|\hat{p}\| \end{equation}

M→∞M \to \infty时, 由大数定律∑i=1Mwi\sum_{i=1}^M w_i收敛至常数∥p^∥\|\hat{p}\|. 若p^\hat{p}归一化, 则WY→1p^(Y)W_Y \to \frac{1}{\hat{p}(Y)}.

WY=1p^(Y)∑i=1Mwi→∥p^∥p^(Y) \begin{equation} W_Y = \frac{1}{\hat{p}(Y)}\sum_{i=1}^M w_i \to \frac{\|\hat{p}\|}{\hat{p}(Y)} \end{equation}

ReSTIR DI
#

直接光照使用NEE在光源表面抽样, 样本域为所有发光表面的并集A=⋃iAiA=\bigcup_i A_i, 积分表示如下, 其中G(p↔pe)=∣cos⁡θcos⁡θe∣∥pe−p∥2G(\mathbf{p} \leftrightarrow \mathbf{p}_e)=\frac{|\cos\theta \cos\theta_e|}{\|\mathbf{p}_e-\mathbf{p}\|^2}为几何项, VV为可见性:

Lo(p,ωo)=∫Af(p,ωo,ωi)Le(pe,−ωi)G(p↔pe)V(p↔pe)dA \begin{equation} L_o(\mathbf{p}, \omega_o) = \int_{A} f(\mathbf{p}, \omega_o, \omega_i) L_e(\mathbf{p}_e, -\omega_i) G(\mathbf{p} \leftrightarrow \mathbf{p}_e) V(\mathbf{p} \leftrightarrow \mathbf{p}_e) \mathrm{d}A \end{equation}

Delta光源无面积, 作为原子点并入基测度, 样本域扩充为A′=A∪{p1,…,pK}A' = A \cup \{\mathbf{p}_1, \dots, \mathbf{p}_K\}:

μ=dA+∑k=1Kδpk,∫A′fdμ=∫AfdA+∑k=1Kf(pk) \begin{equation} \mu = \mathrm{d}A + \sum_{k=1}^K \delta_{\mathbf{p}_k}, \quad \int_{A'} f \mathrm{d}\mu = \int_A f\mathrm{d}A + \sum_{k=1}^K f(\mathbf{p}_k) \end{equation}

面光样本为光源面上的点, 其表示与NEE顶点无关, 且所有顶点的积分域都是同一面积测度下的光源表面, 因此复用时位移映射恒等即JX→Y=1J_{X \to Y}=1. 点光与聚光的世界空间位置, 或方向光的世界空间方向, 同样与NEE顶点无关, 为恒等映射.

ReSTIR GI
#

每次蓄水池复用最终都存储无偏权重, 因此根据GRIS下次复用也可以得到无偏结果, 即链式GRIS. 目标像素的蓄水池总是被使用, 因此满足supp(Y)⊆⋃n=1MTn(supp(Xn))\mathrm{supp}(Y) \subseteq \bigcup_{n=1}^M T_n(\mathrm{supp}(X_n)). 蓄水池结构为:

struct Reservoir {
    f32 p_hat; // target distribution
    f32 w_sum; // RIS weight sum
    f32 M; // confidence
    f32 W; // unbiased weight
};

蓄水池累积代码为w = p_hat * W * M * J, 可能的疑惑点在于, 相比GRIS定义的ww, mx(Y)m_x(Y)被替换为MM. 令累积后支撑集中的样本数为NN, 实际上累积过程会统计∑i=1NMi\sum_{i=1}^N M_i, M是分配给该样本域的置信度, 因此该域中的样本具有相同MIS权重. 最终计算无偏权重时使用w_sum / p_hat / M_sum, 此时w中的M被归一化, 得到满足∑i=1Nmi(Y)=1\sum_{i=1}^N m_i(Y) = 1的MIS权重mn(Y)=Mn∑i=1NMim_n(Y)=\frac{M_n}{\sum_{i=1}^N M_i}.

ReSTIR DI/GI都将MM解释为蓄水池的样本数量, 但它实际决定MIS权重, 可以自由调整, 因此认为MM是样本置信度更合理, 只是通常它与样本数相关. 若追求无偏, 需要复用过程中投射阴影光线, 若被遮挡不合并该蓄水池, 保证∑n∈N(y)mn(y)=1\sum_{n \in \mathcal{N}(y)} m_n(y) = 1.

由于Lambertian的均匀分布特性, 基于入射辐亮度分布采样效率更高, 因此ReSTIR GI使用入射辐亮度作为目标分布. 由于Lambertian出射辐亮度均匀, 新样本不需要重新计算. Torrance-Sparrow直接基于BSDF抽样效率更高, 若一定要应用ReSTIR, 新样本目标分布计算开销大, 可采用Blinn-Phong等简单模型.

ReSTIR PT
#

使用主样本空间执行积分, 令CDF为PP, 这使得每个顶点生成光线的PDF不再属于无偏权重.

∫xf(x)dx=∫uf(P−1(u))∣∂P−1(u)∂u∣du=∫uf(P−1(u))p(x)du \begin{equation} \begin{aligned} \int_{\mathbf{x}} f(\mathbf{x}) d\mathbf{x} &=\int_{\mathbf{u}} f(P^{-1}(\mathbf{u})) \left|\frac{\partial P^{-1}(\mathbf{u})}{\partial\mathbf{u}}\right| \mathrm{d}\mathbf{u}\\ &=\int_{\mathbf{u}} \frac{f(P^{-1}(\mathbf{u}))}{p(\mathbf{x})} \mathrm{d}\mathbf{u}\\ \end{aligned} \end{equation}

末尾为BSDF采样时所有维度均经CDF生成, PSS样本X=uX=\mathbf{u}均匀, p(X)=1p(X)=1. 若采样包含轮盘赌, 此时p(X)=∏iqip(X)=\prod_i q_i. 末尾为NEE时令末端顶点为pe\mathbf{p}_e, 得到混合样本X=(u,pe)X=(\mathbf{u}, \mathbf{p}_e). 散射维度以立体角测度表示, 末端顶点以ReSTIR DI光源测度μ\mu表示:

∫ω∫A′f(x)dμ(pe)∏i=1d−2dωi=∫u∫A′f(x)∏i=1d−2pi(ωi)dμ(pe)∏i=1d−2dui \begin{equation} \int_{\omega} \int_{A'} f(\mathbf{x}) \mathrm{d}\mu(\mathbf{p}_e) \prod_{i=1}^{d-2} \mathrm{d}\omega_i = \int_{\mathbf{u}} \int_{A'} \frac{f(\mathbf{x})}{\prod_{i=1}^{d-2} p_i(\omega_i)} \mathrm{d}\mu(\mathbf{p}_e) \prod_{i=1}^{d-2}\mathrm{d}\mathbf{u}_i \end{equation}

u\mathbf{u}均匀且pe\mathbf{p}_e独立地以NEE分布p1p_1生成, 因此p(X)=p1(pe)∏iqip(X)=p_1(\mathbf{p}_e)\prod_i q_i. 若NEE使用RIS生成, p1p_1使用无偏权重即可. 末端顶点复用时为恒等映射, Jacobian只由散射维度贡献.

不同顶点数的积分不相交, 即f(x)=∑i=1∞∫xif(xi)dxif(\mathbf{x})=\sum_{i=1}^\infty\int_{\mathbf{x}_i}f(\mathbf{x}_i)\mathrm{d}\mathbf{x}_i, ⋃i=1∞xi=x\bigcup_{i=1}^\infty\mathbf{x_i}=\mathbf{x}使得样本满足supp(Y)⊆⋃n=1MTn(supp(Xn))\mathrm{supp}(Y) \subseteq \bigcup_{n=1}^M T_n(\mathrm{supp}(X_n)), 同时对于单个像素生成的光线, 生成的每个NEE样本总是顶点数不同, N(y)\mathcal{N}(y)只位于一个支撑集, MIS权重设置为11即可.

对于当前像素yy, 从对所有像素相同的相机顶点y0y_0出发, 发射确定的初始光线击中y1y_1, 之后由随机数ui\mathbf{u}_i生成散射方向ωi\omega_i, 其中分量u~i\tilde{u}_i选取波瓣. 复用时使用另一个像素xx的路径使用的随机数, 从y1y_1出发生成新的ωiy\omega^y_i, 若yiy_i, xix_i, xi+1x_{i+1}都满足重连接条件(材质足够粗糙, 顶点距离足够远…), 将yiy_i连接到xi+1x_{i+1}并复用后续路径, 得到新路径y\mathbf{y}.

注意到由于重连接y\mathbf{y}和x\mathbf{x}拥有相同的顶点数, 且除生成yi→yi+1→yi+2y_i \to y_{i+1} \to y_{i+2}使用的随机数外其余随机数相同, 若未使用VNDF等视线相关抽样则只需考虑yi→yi+1y_i \to y_{i+1}.

重要性抽样中UU为目标分布CDF, 微分得PDF. 重连接方向ωiy\omega^y_i由几何确定, 波瓣选择随机数u~iy\tilde{u}^y_i由u~ix\tilde{u}^x_i映射至可选中ωiy\omega^y_i的区间. 变化u~ix\tilde{u}^x_i而ωix\omega^x_i固定, 命中点pi+1x\mathbf{p}^x_{i+1}不变, 可得∂ωiy∂u~ix=0\frac{\partial \omega^y_i}{\partial \tilde{u}^x_i}=0, 同理∂ωix∂u~iy=0\frac{\partial \omega^x_i}{\partial \tilde{u}^y_i}=0. 根据波瓣选择概率可得∂u~iy∂u~ix=Pyi(ly)Pxi(lx)\frac{\partial \tilde{u}^y_i}{\partial \tilde{u}^x_i}=\frac{P_{y_i}(l^y)}{P_{x_i}(l^x)}, 链式法则给出的Jacobian依赖lyl^y的选取:

∣∂uiy∂uix∣=∣∂uiy∂(ωiy,u~iy)∣∣∂(ωiy,u~iy)∂(ωix,u~ix)∣∣∂(ωix,u~ix)∂uix∣=Pyi(ly)pyi(ωiy∣ly)Pxi(lx)pxi(ωix∣lx)∣∂ωiy∂ωix∣ \begin{equation} \begin{aligned} \left|\frac{\partial \mathbf{u}^y_i}{\partial \mathbf{u}^x_i}\right| &=\left|\frac{\partial \mathbf{u}^y_i}{\partial (\omega^y_i, \tilde{u}^y_i)}\right|\left|\frac{\partial (\omega^y_i, \tilde{u}^y_i)}{\partial (\omega^x_i, \tilde{u}^x_i)}\right|\left|\frac{\partial (\omega^x_i, \tilde{u}^x_i)}{\partial \mathbf{u}^x_i}\right|\\ &=\frac{P_{y_i}(l^y)p_{y_i}(\omega^y_i|l^y)}{P_{x_i}(l^x)p_{x_i}(\omega^x_i|l^x)}\left|\frac{\partial\omega^y_i}{\partial\omega^x_i}\right| \end{aligned} \end{equation}

黑盒材质只有合并波瓣的边缘分布p(ω)=∑lP(l)p(ω∣l)p(\omega)=\sum_l P(l)p(\omega|l), 需要不依赖波瓣的位移映射. 记u=(uˉ,u~)\mathbf{u}=(\bar{\mathbf{u}}, \tilde{u}), uˉ\bar{\mathbf{u}}为方向维度, u~\tilde{u}为波瓣选择维度. 波瓣选择按概率将[0,1)[0, 1)划分为连续区间, 第ll段为Il=[∑j<lP(j),∑j≤lP(j))I_l=[\sum_{j<l}P(j), \sum_{j \leq l}P(j)), 记t=u~−∑j<lP(j)P(l)t=\frac{\tilde{u}-\sum_{j<l}P(j)}{P(l)}为u~\tilde{u}在段内的相对位置. 将生成ω\omega的各波瓣原像按序拼接并归一化得坐标ss:

s=∑j<lP(j)p(ω∣j)+tP(l)p(ω∣l)p(ω) \begin{equation} s = \frac{\sum_{j<l} P(j)p(\omega|j) + t P(l) p(\omega|l)}{p(\omega)} \end{equation}

ω\omega与u~\tilde{u}无关, 因此(uˉ,u~)→(ω,s)(\bar{\mathbf{u}}, \tilde{u}) \to (\omega, s)的Jacobian矩阵为块下三角, ∂s∂uˉ\frac{\partial s}{\partial \bar{\mathbf{u}}}不参与行列式:

∣∂(ω,s)∂(uˉ,u~)∣=∣∂ω∂uˉ0∂s∂uˉ∂s∂u~∣=∣∂ω∂uˉ∣∂s∂u~=1p(ω∣l)p(ω∣l)p(ω)=1p(ω) \begin{equation} \begin{aligned} \left|\frac{\partial(\omega, s)}{\partial(\bar{\mathbf{u}}, \tilde{u})}\right| &=\begin{vmatrix} \frac{\partial \omega}{\partial \bar{\mathbf{u}}} & 0\\ \frac{\partial s}{\partial \bar{\mathbf{u}}} & \frac{\partial s}{\partial \tilde{u}} \end{vmatrix} =\left|\frac{\partial \omega}{\partial \bar{\mathbf{u}}}\right|\frac{\partial s}{\partial \tilde{u}}\\ &=\frac{1}{p(\omega|l)}\frac{p(\omega|l)}{p(\omega)}=\frac{1}{p(\omega)} \end{aligned} \end{equation}

由此可得du=p(ω)dωds\mathrm{d}\mathbf{u}=p(\omega)\mathrm{d}\omega\mathrm{d}s, 位移映射定义为即(ωix,s)→(ωiy,s)(\omega^x_i, s) \to (\omega^y_i, s), 仍为双射且与材质的波瓣定义无关. ds\mathrm{d}s约去, θ\theta为立体角与法线的夹角, 对于同序顶点Jacobian如下:

∣∂uiy∂uix∣=pyi(ωiy)dωiydspxi(ωix)dωixds=pyi(ωiy)pxi(ωix)∣∂ωiy∂ωix∣=pyi(ωiy)pxi(ωix)∣cos⁡θycos⁡θx∣∥pi+1x−pix∥2∥pi+1x−piy∥2 \begin{equation} \begin{aligned} \left|\frac{\partial \mathbf{u}^y_i}{\partial \mathbf{u}^x_i}\right| &=\frac{p_{y_i}(\omega^y_i)\mathrm{d}\omega^y_i\mathrm{d}s}{p_{x_i}(\omega^x_i)\mathrm{d}\omega^x_i\mathrm{d}s} =\frac{p_{y_i}(\omega^y_i)}{p_{x_i}(\omega^x_i)}\left|\frac{\partial\omega^y_i}{\partial\omega^x_i}\right|\\ &=\frac{p_{y_i}(\omega^y_i)}{p_{x_i}(\omega^x_i)}\left|\frac{\cos\theta^y}{\cos\theta^x}\right|\frac{\|\mathbf{p}^x_{i+1}-\mathbf{p}^x_{i}\|^2}{\|\mathbf{p}^x_{i+1}-\mathbf{p}^y_{i}\|^2} \end{aligned} \end{equation}

非同序顶点无法得到最后立体角微分的解析形式. 但由于ωi+1x\omega^x_{i+1}只依赖ωix\omega^x_{i}, 可得∂ωiy∂ωi+1x=0\frac{\partial \omega^y_i}{\partial \omega^x_{i+1}}=0, Jacobian为下三角行列式. 由于ωi+1y=ωi+1x\omega^y_{i+1}=\omega^x_{i+1}, 形式如下:

Jx→y=∣∂uiy∂uix∂uiy∂ui+1x∂ui+1y∂uix∂ui+1y∂ui+1x∣=∂uiy∂uix∂ui+1y∂ui+1x=pyi(ωiy)pxi(ωix)pyi+1(ωi+1y)pxi+1(ωi+1x)∣cos⁡θycos⁡θx∣∥pi+1x−pix∥2∥pi+1x−piy∥2 \begin{equation} \begin{aligned} J_{\mathbf{x}\to\mathbf{y}} &=\begin{vmatrix} \frac{\partial \mathbf{u}^y_i}{\partial \mathbf{u}^x_i}& \frac{\partial \mathbf{u}^y_i}{\partial \mathbf{u}^x_{i+1}}\\ \frac{\partial \mathbf{u}^y_{i+1}}{\partial \mathbf{u}^x_i}& \frac{\partial \mathbf{u}^y_{i+1}}{\partial \mathbf{u}^x_{i+1}} \end{vmatrix} = \frac{\partial \mathbf{u}^y_i}{\partial \mathbf{u}^x_i}\frac{\partial \mathbf{u}^y_{i+1}}{\partial \mathbf{u}^x_{i+1}}\\ &=\frac{p_{y_i}(\omega^y_i)}{p_{x_i}(\omega^x_i)}\frac{p_{y_{i+1}}(\omega^y_{i+1})}{p_{x_{i+1}}(\omega^x_{i+1})}\left|\frac{\cos\theta^y}{\cos\theta^x}\right|\frac{\|\mathbf{p}^x_{i+1}-\mathbf{p}^x_{i}\|^2}{\|\mathbf{p}^x_{i+1}-\mathbf{p}^y_{i}\|^2} \end{aligned} \end{equation}

如果直接用置信度计算权重, 需要了解当前样本是否位于所有被复用的样本域的支撑集中. 由于支撑集外的p^(x)=0\hat{p}(x)=0, 基于它设置MIS权重天然的满足∑n∈N(Y)cn(Y)=1\sum_{n \in \mathcal{N}(Y)} c_n(Y)=1. 常用的配对MIS权重如下, 为计算中心规范样本中的p^←i(y)\hat{p}_{\leftarrow i}(y), 必须在执行合并前将yy逆变换到每个候选空间执行重放. 最终重放次数为2N2N, 相比朴素的O(N2)O(N^2)方法显著降低开销.

mi(Y)=1N+1Mi p^←i(Y)Mi p^←i(Y)+McNp^c(Y),i≠cmc(Y)=1N+1(1+∑i=1NMcNp^c(Y)Mi p^←i(Y)+McNp^c(Y)) \begin{equation} \begin{aligned} m_i(Y) &= \frac{1}{N+1}\frac{M_i\,\hat{p}_{\leftarrow i}(Y)}{M_i\,\hat{p}_{\leftarrow i}(Y) + \frac{M_c}{N}\hat{p}_c(Y)}, \quad i \neq c\\ m_c(Y) &= \frac{1}{N+1}\left(1 + \sum_{i=1}^N \frac{\frac{M_c}{N}\hat{p}_c(Y)}{M_i\,\hat{p}_{\leftarrow i}(Y) + \frac{M_c}{N}\hat{p}_c(Y)}\right) \end{aligned} \end{equation}

目标分布为积分结果对像素的贡献, 初始权重为NEE/BSDF MIS无偏权重, 链式GRIS可实现无偏复用. 为节省内存, 采样时贪心的确定首对满足要求的xi, xi+1x_i,\ x_{i+1}, 只存储随机数种子. 统计邻域内共享随机数种子的蓄水池数量来调整MM, 可抑制时序复用带来的相关性. 此时置信度依赖其它样本, 即cn(Yn)→cn(Yn,Yn′,… )c_n(Y_n) \to c_n(Y_n, Y'_n, \dots), 无法提出至对XnX_n的积分, 因此有偏.

重连接要求路径相似, 可由J≈1J\approx1推出. 记单侧几何项G(pa→pb)=∣cos⁡θb∣∥pb−pa∥2G(\mathbf{p}_a \to \mathbf{p}_b)=\frac{|\cos\theta_b|}{\|\mathbf{p}_b-\mathbf{p}_a\|^2}, 其中θb\theta_b为pa→pb\mathbf{p}_a \to \mathbf{p}_b与pb\mathbf{p}_b处法线的夹角, 方向PDF乘单侧几何项即面积密度, Jacobian可改写为:

Jx→y=pyi(ωiy)G(piy→pi+1x)pxi(ωix)G(pix→pi+1x)pyi+1(ωi+1y)pxi+1(ωi+1x) \begin{equation} J_{\mathbf{x}\to\mathbf{y}}=\frac{p_{y_i}(\omega^y_i)G(\mathbf{p}^y_i \to \mathbf{p}^x_{i+1})}{p_{x_i}(\omega^x_i)G(\mathbf{p}^x_i \to \mathbf{p}^x_{i+1})}\frac{p_{y_{i+1}}(\omega^y_{i+1})}{p_{x_{i+1}}(\omega^x_{i+1})} \end{equation}

两个因子分别为重连接顶点pi+1x\mathbf{p}^x_{i+1}的面积密度变化, 以及pi+1x\mathbf{p}^x_{i+1}处出射方向改变导致的BSDF采样密度变化. 令二者相对误差均小于ϵ\epsilon, 则(1−ϵ)2<Jx→y<(1+ϵ)2(1-\epsilon)^2 < J_{\mathbf{x}\to\mathbf{y}} < (1+\epsilon)^2:

∣pyi(ωiy)G(piy→pi+1x)−pxi(ωix)G(pix→pi+1x)pxi(ωix)G(pix→pi+1x)∣<ϵ∣pyi+1(ωi+1y)−pxi+1(ωi+1x)pxi+1(ωi+1x)∣<ϵ \begin{equation} \begin{aligned} &\left|\frac{p_{y_i}(\omega^y_i)G(\mathbf{p}^y_i \to \mathbf{p}^x_{i+1}) - p_{x_i}(\omega^x_i)G(\mathbf{p}^x_i \to \mathbf{p}^x_{i+1})}{p_{x_i}(\omega^x_i)G(\mathbf{p}^x_i \to \mathbf{p}^x_{i+1})}\right| < \epsilon\\ &\left|\frac{p_{y_{i+1}}(\omega^y_{i+1}) - p_{x_{i+1}}(\omega^x_{i+1})}{p_{x_{i+1}}(\omega^x_{i+1})}\right| < \epsilon \end{aligned} \end{equation}

面积密度pAp_A小通常代表光线抽样范围大, 采中当前样本概率小, 因此可用1pA\frac{1}{p_A}表示光线足迹. 令θ0\theta_0为主光线与p1x\mathbf{p}^x_1处法线的夹角, Rx2R_\mathbf{x}^2为均匀球面采样在该处的足迹, RxR_\mathbf{x}可近似为πr2\sqrt{\pi r^2}即足迹半径. 有限场景中相邻像素的路径不会任意发散, 假设两条路径主顶点间距不超过RxR_\mathbf{x} 的常数倍, 且次级顶点间距随主顶点间距线性增长.

Rx=4π∥p1x−p0x∥2∣cos⁡θ0∣∥p1x−p1y∥<C1Rx∥pjx−pjy∥<C2∥p1x−p1y∥=C1C2Rx \begin{equation} \begin{aligned} &R_\mathbf{x} = \sqrt{\frac{4\pi\|\mathbf{p}^x_1-\mathbf{p}^x_0\|^2}{|\cos\theta_0|}}\\ &\|\mathbf{p}^x_1-\mathbf{p}^y_1\| < C_1R_\mathbf{x}\\ &\|\mathbf{p}^x_j-\mathbf{p}^y_j\| < C_2\|\mathbf{p}^x_1-\mathbf{p}^y_1\|=C_1C_2R_\mathbf{x} \end{aligned} \end{equation}

追踪阶段无法做映射与重放, 无法比较x\mathbf{x}与y\mathbf{y}的密度函数, 经验假设随机重放保持面积密度, 令TrT_r为从piy\mathbf{p}^y_i不做重连接而是继续重放得到的顶点, 重连接条件变换为:

px(pi+1x)=pxi(ωix)G(pix→pi+1x)≈py(Tr(pi+1x))py(pi+1x)=pyi(ωiy)G(piy→pi+1x)∣py(pi+1x)−py(Tr(pi+1x))py(Tr(pi+1x))∣<ϵ \begin{equation} \begin{aligned} &p^\mathbf{x}(\mathbf{p}^x_{i+1}) = p_{x_i}(\omega^x_i)G(\mathbf{p}^x_i \to \mathbf{p}^x_{i+1}) \approx p^\mathbf{y}(T_r(\mathbf{p}^x_{i+1}))\\ &p^\mathbf{y}(\mathbf{p}^x_{i+1}) = p_{y_i}(\omega^y_i)G(\mathbf{p}^y_i \to \mathbf{p}^x_{i+1})\\ &\left|\frac{p^\mathbf{y}(\mathbf{p}^x_{i+1}) - p^\mathbf{y}(T_r(\mathbf{p}^x_{i+1}))}{p^\mathbf{y}(T_r(\mathbf{p}^x_{i+1}))}\right| < \epsilon \end{aligned} \end{equation}

pAp_A为下一次弹射命中点的面积密度, p\mathbf{p}, q\mathbf{q}, r\mathbf{r}均为该命中点的可能位置. 假设pAp_A在自身足迹尺度内近似常数, 即存在c2c_2, 使得以p\mathbf{p}的足迹为半径的邻域内任取q\mathbf{q},r\mathbf{r}, 密度相对差不超过ϵ\epsilon.

max⁡(∥q−p∥,∥r−p∥)<c2pA(p)  ⟹  ∣pA(r)−pA(q)pA(q)∣<ϵ \begin{equation} \max(\|\mathbf{q}-\mathbf{p}\|, \|\mathbf{r}-\mathbf{p}\|) < \sqrt{\frac{c_2}{p_A(\mathbf{p})}} \implies \left|\frac{p_A(\mathbf{r})-p_A(\mathbf{q})}{p_A(\mathbf{q})}\right| < \epsilon \end{equation}

由几何假设得位移∥Tr(pi+1x)−pi+1x∥≤c1Ry\|T_r(\mathbf{p}^x_{i+1}) - \mathbf{p}^x_{i+1}\| \leq c_1R_\mathbf{y}, 其中c1=C1C2c_1=C_1C_2. 代入前式, 并由位移映射可逆性要求x\mathbf{x}满足相同重连接条件, 得光线足迹阈值:

c1Ry<c2py(pi+1x)  ⟹  1py(pi+1x)>c12c2Ry2  ⟹  1pxi(ωix)G(pix→pi+1x)>c12c2Rx2 \begin{equation} \begin{aligned} c_1R_\mathbf{y} < \sqrt{\frac{c_2}{p^\mathbf{y}(\mathbf{p}^x_{i+1})}} &\implies \frac{1}{p^\mathbf{y}(\mathbf{p}^x_{i+1})} > \frac{c_1^2}{c_2}R_\mathbf{y}^2\\ &\implies \frac{1}{p_{x_i}(\omega^x_i)G(\mathbf{p}^x_i \to \mathbf{p}^x_{i+1})} > \frac{c_1^2}{c_2}R_\mathbf{x}^2 \end{aligned} \end{equation}

同时需要保证重连接点出射时不会因为低粗糙度材质导致BSDF PDF. 由光滑材质PDF的近似互易性可使用反向光线足迹:

pxi+1(ωi+1x)=p(ωi+1x∣pi+1x,−ωix)≈p(−ωix∣pi+1x,ωi+1x)p(pix∣pi+1x,ωi+1x)=p(−ωix∣pi+1x,ωi+1x)G(pi+1x→pix) \begin{equation} \begin{aligned} p_{x_{i+1}}(\omega^x_{i+1}) &= p(\omega^x_{i+1}|\mathbf{p}^x_{i+1}, -\omega^x_i) \approx p(-\omega^x_i|\mathbf{p}^x_{i+1}, \omega^x_{i+1})\\ p(\mathbf{p}^x_i|\mathbf{p}^x_{i+1}, \omega^x_{i+1}) &= p(-\omega^x_i|\mathbf{p}^x_{i+1}, \omega^x_{i+1})G(\mathbf{p}^x_{i+1} \to \mathbf{p}^x_i) \end{aligned} \end{equation}

此时位移量为∥piy−pix∥\|\mathbf{p}^y_i-\mathbf{p}^x_i\|, 近似G(pi+1x→pix)≈G(pi+1x→piy)G(\mathbf{p}^x_{i+1} \to \mathbf{p}^x_i) \approx G(\mathbf{p}^x_{i+1} \to \mathbf{p}^y_i), 得形式对称的逆光线足迹阈值. 两式合并, 常数并入用户参数cc:

max⁡(pxi(ωix)G(pix→pi+1x), pxi+1(ωi+1x)G(pi+1x→pix))−1>cRx2 \begin{equation} \max\left( p_{x_i}(\omega^x_i)G(\mathbf{p}^x_i \to \mathbf{p}^x_{i+1}),\ p_{x_{i+1}}(\omega^x_{i+1})G(\mathbf{p}^x_{i+1} \to \mathbf{p}^x_i) \right)^{-1} > cR_\mathbf{x}^2 \end{equation}

ReSTIR Splatting
#

样本域扩展到全体路径空间, 滤波器, 镜头位置纳入主样本, 目标函数包含滤波器权重:

p^k(x)=hk(x) p^(x) \begin{equation} \hat{p}_k(\mathbf{x}) = h_k(\mathbf{x})\,\hat{p}(\mathbf{x}) \end{equation}

当前像素复用全部历史样本, 基于可见性缓冲前向投影, 当前滤波器范围外的样本权重为0, 因此只合并落入的样本. 所有历史域共用同一位移映射, 规范样本执行单次逆变换, 再评估各历史像素的滤波器即可计算MIS. 即使没有历史样本落入, 逆变换成功则仍然位于历史域部分像素的支撑集, 需要MIS.