跳过正文

Metatron Dev. IV: ReSTIR

·15047 字·31 分钟

RIS
#

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

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=1Mwiwni=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)dxni=1,inMp(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}

若各样本空间提议分布不同, 需泛化1Mci(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=1Mwiwni=1Mwi]=n=1Msupp(X1)supp(XM)f(xn)cn(xn)pn(xn)i=1Mpi(xi)dxi=n=1Msupp(X1)supp(XM)f(xn)cn(xn)dxni=1,inMpi(xi)dxi=n=1Msupp(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(kt) pZt,k(x)=tP(t)kP(kt) 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(YX=x)dxE(XY)=\int_X x\ p(x)\ E(Y|X=x) \mathrm{d}x, 可得:

E[WX]=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)JXYpx(X)w=\frac{\hat{p}(Y)c_x(Y)J_{X \to Y}}{p_x(X)}, 其中JXY=YXJ_{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:YTn(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))nN(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=1Mwiwni=1Mwi]=n=1,yn=Tn(xn)Msupp(X1)supp(XM)f(yn)cn(yn)Jxnynpn(xn)i=1Mpi(xi)dxi=n=1,yn=Tn(xn)Msupp(X1)supp(XM)f(yn)cn(yn)Jxnyndxni=1,inMpi(xi)dxi=n=1,yn=Tn(xn)MTn(supp(Xn))f(yn)cn(yn)dyn=n=1MTn(supp(Xn))f(y)nN(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)WxJXYi=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)WnJXnYni=1Mwiwnwni=1Mwi]=n=1,Yn=Tn(Xn)ME[f(Yn)cn(Yn)WnJXnYn]=n=1,yn=Tn(xn)Msupp(Xn)f(yn)cn(yn)JxnynE[WnXn=xn]pn(xn)dxn=n=1,yn=Tn(xn)Msupp(Xn)f(yn)cn(yn)Jxnyndxn=n=1,yn=Tn(xn)MTn(supp(Xn))f(yn)cn(yn)dyn=n=1MTn(supp(Xn))f(y)nN(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权重, 满足nN(y)mn(y)=1\sum_{n \in \mathcal{N}(y)} m_n(y) = 1, RIS权重设置如下:

w={mx(Y)p^(Y)WxJXY,YTx(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}yf=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}

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

WY=1p^(Y)i=1Mwip^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(ppe)=cosθcosθepep2G(\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(ppe)V(ppe)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,Afdμ=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顶点无关, 且所有顶点的积分域都是同一面积测度下的光源表面, 因此复用时位移映射恒等即JXY=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)=Mni=1NMim_n(Y)=\frac{M_n}{\sum_{i=1}^N M_i}.

ReSTIR DI/GI都将MM解释为蓄水池的样本数量, 但它实际决定MIS权重, 可以自由调整, 因此认为MM是样本置信度更合理, 只是通常它与样本数相关. 若追求无偏, 需要复用过程中投射阴影光线, 若被遮挡不合并该蓄水池, 保证nN(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(P1(u))P1(u)udu=uf(P1(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表示:

ωAf(x)dμ(pe)i=1d2dωi=uAf(x)i=1d2pi(ωi)dμ(pe)i=1d2dui \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=1xif(xi)dxif(\mathbf{x})=\sum_{i=1}^\infty\int_{\mathbf{x}_i}f(\mathbf{x}_i)\mathrm{d}\mathbf{x}_i, i=1xi=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}拥有相同的顶点数, 且除生成yiyi+1yi+2y_i \to y_{i+1} \to y_{i+2}使用的随机数外其余随机数相同, 若未使用VNDF等视线相关抽样则只需考虑yiyi+1y_i \to y_{i+1}.

重要性抽样中UU为目标分布CDF, 微分得PDF. 重连接方向ωiy\omega^y_i由几何确定, 波瓣选择随机数u~iy\tilde{u}^y_iu~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}不变, 可得ωiyu~ix=0\frac{\partial \omega^y_i}{\partial \tilde{u}^x_i}=0, 同理ωixu~iy=0\frac{\partial \omega^x_i}{\partial \tilde{u}^y_i}=0. 根据波瓣选择概率可得u~iyu~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的选取:

uiyuix=uiy(ωiy,u~iy)(ωiy,u~iy)(ωix,u~ix)(ωix,u~ix)uix=Pyi(ly)pyi(ωiyly)Pxi(lx)pxi(ωixlx)ω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),jlP(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}

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

(ω,s)(uˉ,u~)=ωuˉ0suˉsu~=ωuˉsu~=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如下:

uiyuix=pyi(ωiy)dωiydspxi(ωix)dωixds=pyi(ωiy)pxi(ωix)ωiyωix=pyi(ωiy)pxi(ωix)cosθycosθxpi+1xpix2pi+1xpiy2 \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}, 形式如下:

Jxy=uiyuixuiyui+1xui+1yuixui+1yui+1x=uiyuixui+1yui+1x=pyi(ωiy)pxi(ωix)pyi+1(ωi+1y)pxi+1(ωi+1x)cosθycosθxpi+1xpix2pi+1xpiy2 \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权重天然的满足nN(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+1Mip^i(Y)Mip^i(Y)+McNp^c(Y),icmc(Y)=1N+1(1+i=1NMcNp^c(Y)Mip^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的积分, 因此有偏.

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

Jxy=pyi(ωiy)G(piypi+1x)pxi(ωix)G(pixpi+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<Jxy<(1+ϵ)2(1-\epsilon)^2 < J_{\mathbf{x}\to\mathbf{y}} < (1+\epsilon)^2:

pyi(ωiy)G(piypi+1x)pxi(ωix)G(pixpi+1x)pxi(ωix)G(pixpi+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πp1xp0x2cosθ0p1xp1y<C1Rxpjxpjy<C2p1xp1y=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(pixpi+1x)py(Tr(pi+1x))py(pi+1x)=pyi(ωiy)G(piypi+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(qp,rp)<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+1xc1Ry\|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(pixpi+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+1xpi+1x,ωix)p(ωixpi+1x,ωi+1x)p(pixpi+1x,ωi+1x)=p(ωixpi+1x,ωi+1x)G(pi+1xpix) \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}

此时位移量为piypix\|\mathbf{p}^y_i-\mathbf{p}^x_i\|, 近似G(pi+1xpix)G(pi+1xpiy)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(pixpi+1x), pxi+1(ωi+1x)G(pi+1xpix))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}

平衡启发式MIS需要将样本变换到所有候选样本的样本域中, 盒形滤波器位于像素外为0, 由于历史帧样本都来自不同像素, MIS可被简化:

mi(Y)=Mip^i(Y)nN(Y)Mnp^n(Y)=Mip^i(Y)Mip^i(Y)+Mcp^c(Y) \begin{equation} m_i(Y) = \frac{M_i\,\hat{p}_{\leftarrow i}(Y)}{\sum_{n \in \mathcal{N}(Y)} M_n\,\hat{p}_{\leftarrow n}(Y)} = \frac{M_i\,\hat{p}_{\leftarrow i}(Y)}{M_i\,\hat{p}_{\leftarrow i}(Y) + M_c\,\hat{p}_c(Y)} \end{equation}

亚像素坐标需要计算Jacobian, 令θV\theta_V为视线与相机前向的夹角, θN\theta_N为视线与法线的夹角, 非刚体形变时表面项取三角形面积比, 反之为11:

p1u=p1ωωu=p1p02cosθNcos3θVuv=up1yp1yp1xp1xv \begin{equation} \begin{aligned} \left|\frac{\partial\mathbf{p}_1}{\partial\mathbf{u}}\right| &= \left|\frac{\partial\mathbf{p}_1}{\partial\omega}\right|\left|\frac{\partial\omega}{\partial\mathbf{u}}\right| = \frac{\|\mathbf{p}_1-\mathbf{p}_0\|^2}{\cos\theta_N}\cos^3\theta_V\\ \left|\frac{\partial\mathbf{u}}{\partial\mathbf{v}}\right| &=\left|\frac{\partial\mathbf{u}}{\partial\mathbf{p}^y_1}\right| \left|\frac{\partial\mathbf{p}^y_1}{\partial\mathbf{p}^x_1}\right| \left|\frac{\partial\mathbf{p}^x_1}{\partial\mathbf{v}}\right| \end{aligned} \end{equation}