01 · 为什么移动一个物体还要重算整张图
场景中只移动茶壶,变化并不只在茶壶占据的像素:影子、反射和多次间接光都会变化。本文不在图像上圈一个更新区域,而是在光路空间寻找受编辑影响的路径,相关地估计新旧图之差,再加回已有高质量图。

方法针对已知新旧几何和材质、相机与光源通常固定、场景只有一小部分改变的重新渲染。它不学习图像神经网络,不需要训练数据;已有旧图是控制变量,需要足够准确。文章报告相对correlated PT的物体移动加速约2–5倍、材质编辑约4–16倍,收益依赖场景和编辑规模。
基准为用户15页最终稿,包括Appendix A与Figure14;作者PDF · 共同作者项目页 · CGF DOI。
02 · 身份、贡献与现有路线
作者Bing Xu、Tzu-Mao Li、Iliyan Georgiev、Trevor Hedstrom、Ravi Ramamoorthi。除Georgiev来自Adobe Research UK,其余为UC San Diego。发表于Computer Graphics Forum43(4)/EGSR2024,官方项目页标注Best Paper Award。原笔记BibTeX key里Xu:2023只是键名,不推翻正文year2024。DOI为10.1111/cgf.15152,arXiv为2406.16302;所查一手页面未单列通讯作者,因此不把原笔记Ravi Ramamoorthi的unverified改为确认。
三项贡献分别是残差路径积分、覆盖动态顶点/动态边的采样族、适配这些路径的映射与Jacobian。此前同随机种子渲染两帧的correlated PT也能降做差方差,但仍经常采到不受编辑影响的光路;本文主动把计算花到受影响路径上。
与ReSTIR/路径重采样、path guiding、重投影和降噪不同,本文重点是重新定义并采样残差积分。它们可互补,但并未在文中交付完整的实时组合系统。与gradient-domain rendering相似的是计算差值,不同的是目标差异来自场景改变而不是邻近像素的空间平移,所以作者使用path mapping而非简单称shift mapping。
03 · 符号与普通路径积分
原 Table 1
| Symbol | Description |
|---|---|
| \(x\) | path vertex in the path integral formulation |
| \(x_{D}\), \(x_{G}\), \(x_{S}\) | dynamic vertex, ghost vertex, static vertex in the path representation |
| \(x_{E}\), \(x_{L}\) | sensor and emitter vertices |
| \(\bar{x}=x_{0}...x_{k-1}\) | full, path with \(k\) vertices |
| \(\bar{y}=y_{0}...y_{s-1}\) | emitter sub-path, with the last vertex \(y_{s-1}\) on an emitter. Note the direction of the path here is opposite to BDPT convention. |
| \(\bar{z}=z_{0}...z_{t-1}\) | sensor sub-path, with the last vertex \(z_{t-1}\) on a sensor. |
| \(\overrightarrow{p_{i}}\), \(\overleftarrow{p_{i}}\) | forward and reverse area PDFs for sub-path vertex i |
| \(E\), \(L\) | sensor and emitter vertices in path regular expression grammar |
| \(\mathbb{S}\), \(\mathbb{D}\) | static and a dynamic vertices in regular expression |
| \(\bar{\mathbb{S}}\) | static path edge, not passing through ghost objects |
| \(\bar{\mathbb{D}}\), \(\bar{\mathbb{D}_{n}}\) | dynamic path edge, passing through ghost objects \(n\) times; subscript \(n\) may be dropped for convenience |
| \(\bm{p}\), \(\bm{q}=T(\bm{p})\) | base and transformed paths in the other frame. |
| \(f_{d}\) | difference radiance contribution function (Eq. 5) |
路径 \(\mathbf p=x_0\cdots x_{k-1}\) 从sensor端到emitter端,\(\Omega\)含不同长度的合法光输运路径;\(d\mu\)通常为各表面顶点面积测度的乘积,像素滤波在文中省略。所有PDF必须与对应测度一致,不能把solid-angle PDF直接当面积PDF。
原 Eq.1
原 Eq.2
\(L\)是光源辐射,\(\rho\)是BSDF,\(G\)是距离/余弦几何项,\(V\)是可见性。路径贡献相当于沿光路逐次衰减并检查遮挡。\(\bar y\)为向光源构造的子路径、\(\bar z\)为向sensor构造的子路径,索引按生成顺序;\(y_{s-1}\)在光源,这与一些BDPT记法方向相反。
Table1的 \(\bar D\) 表示一条穿过ghost表面的边,不是一个真实散射顶点。动态顶点 \(x_D\)、辅助ghost点 \(x_G\)、静态顶点 \(x_S\) 是整套方法的关键区别。
04 · 由两帧差到同一积分域
原 Eq.3
原 Eq.4
旧图 \(I_1\) 已经算好,新图 \(I_2\)未知。形式上只需估计 \(I_2-I_1\),但物体移动导致两帧合法路径域 \(\Omega_1,\Omega_2\)不同。直接把任意两条路径相减无法保证对应,也不能漏掉一帧有、另一帧被遮挡的路径。
定义 \(\mathbf q=T(\mathbf p)\),把新帧路径映射到旧帧。变量替换引入测度Jacobian,得到原Eq.5:
原 Eq.5
\(f_d=f_2-f_1\circ T\,|T'|\)是可正可负的差值贡献。Jacobian不是可有可无的“权重修正”:如果映射扩大/压缩了路径面积而仍不改权重,就会改变积分值。理论要求覆盖和变换条件成立;实际映射不总成功,后文通过双向采样和拒绝后的独立路径处理保持完整支持域。
对任意提议分布 \(q\),基础Monte Carlo估计可写为 \(\hat\Delta=N^{-1}\sum_i f_d(\mathbf p_i)/q(\mathbf p_i)\)。这是理解估计器的通用写法,不是原文额外编号公式。新旧贡献越相关,差值方差越小;若编辑很大使二者失去相关,优势会减弱。
上式解释correlated sampling的目的。旧图含固定噪声时,加残差不会神奇抹掉该噪声;若把旧图当真值,最终误差仍受旧图质量限制。连续多次更新的误差累积与重置策略不是本文完整解决的问题。
05 · Ghost物体如何捕捉影子的变化

新场景中的真实移动物体叫dynamic,旧位置在新场景中放一个不参与真实遮挡/散射的ghost几何标记。它只是追踪“过去那里有物体”的辅助表面。例如一条光路在新图可穿过旧位置,旧图却被挡住,这条路径即使完全没有撞上新位置的物体,仍有非零残差。
路径受影响的两种充分分类:至少一个顶点在dynamic表面;或至少一条边穿过ghost表面。其余路径由静态顶点和静态边组成,在静态保持的映射下新旧贡献一致,残差为零。路径也可以同时满足两类,后续不能重复计数。
原 Eq.6
把全路径域分为静态 \(\mathcal S\) 与动态 \(\mathcal D\),只需积分后者。它是几何上“可能受影响”的支持域,不等于每个被采到的动态路径都有很大 \(|f_d|\):两帧贡献仍可能抵消。本文先解决不要把样本浪费在确定为零的地方,还未达到按真实残差大小最优采样。
正则语法可直观读为:E到L的路径中间至少出现一次D顶点,或者至少出现一次带横线的D边;其余段可为静态/动态任意组合。算法不是只更新物体的屏幕包围盒,所以能处理远处影子和多跳间接光。
06 · 六种主动采样加一种PT补充

| 策略 | 起点与延伸 | 适用贡献 |
|---|---|---|
| 1 Dynamic from emitter | 在dynamic取点,再取光源点连接;从dynamic用BSDF向sensor随机走,每步连接sensor | 移动物体容易直达光源 |
| 2 Dynamic from sensor | 对称交换光源与sensor | 移动物体可直达相机 |
| 3 Dynamic two ends | 从dynamic两端出发,一边余弦半球、一边给定方向下BSDF采样 | 需要更一般的双向间接路径 |
| 4 Ghost from emitter | 取ghost点作方向引导,光源射线穿过它继续追踪 | 旧位置遮挡消失/改变的光路 |
| 5 Ghost from sensor | sensor射线经过ghost继续追踪 | 相机可见性变化 |
| 6 Ghost two ends | 从ghost按一条直线的两个相反方向找真实表面,再延伸两端 | 一般经过旧位置的动态边 |
| 7 PT with selection | 普通camera path tracing,剔除完全不受影响路径 | 补充偏好相机采样的贡献 |
ghost点不是最终光路的物理散射点;如果把它当额外顶点乘上BSDF,就改了所求积分。起点在物体表面“从中间长出路径”的采样需要光源和sensor子路径,也需要为不同构造方式算共同测度下的密度。
原 Eq.7
原 Eq.8
原 Eq.9
原 Eq.10
Eq.7是子路径PDF的初始密度乘逐步前向密度;Eq.8–10分别对应三个dynamic策略。\(p(x_D)\)只计一次,即便它同时是两个子路径的第一个点。三顶点直接光情况下策略1、2等价,论文将直接光交给策略1,避免重复的特殊情况。
07 · Ghost方向采样的测度转换

原 Eq.11
原 Eq.12
在光源 \(x_L\)看来,采样ghost面积点 \(x_G\)等价于采方向,然后射线实际碰到 \(x_1\)。先从ghost面积转换到光源处solid angle,再从solid angle转回真实交点面积。距离平方与法线余弦的两次转换正是Eq.12中的比例;方向向量须采用单位方向才能当余弦。
原 Eq.13
策略5交换光源与sensor。同理,ghost两端先取一条穿过辅助表面的方向,再得到两个真实端点 \(x_1,x_2\);联合密度不能误当两个独立面积样本:
原 Eq.14–15
这里 \(p_{\mathrm{dir}}\)是选方向的密度,\(g\)含两个真实面余弦、ghost面余弦及端点间距离平方。Eq.15将最靠近ghost的两个首步密度联合替换为 \(p(x_G)g\)。分母小的掠射几何会带来数值和方差问题,不能忽略这些Jacobian项来换“稳定”。
这些公式给出的是提议分布密度;最终贡献还应结合完整BSDF、几何和可见性,不是仅凭碰到dynamic/ghost就往图上加亮度。
08 · 为什么需要数每一次ghost相交
同一条完成路径可能从不同dynamic顶点、不同ghost相交点或者普通PT生成。如果一条路径碰dynamic一次、穿ghost四次,就有多个可作为起点的生成历史。不能只给“策略类型六选一”算权重,必须把同一路径的全部有效生成方式纳入MIS。
原 Eq.16
这是文中的balance式权重,分母包含 \(N_D+N_G\) 个动态/ghost生成位置及额外PT项;在本文各策略安排下使用对应面积PDF。若将来改变每策略采样数量,应在一般MIS中计入样本数因子,不能不加修改套这个简式。
实现沿每段记录ghost相交的法线、位置和shape ID。前向/反向PDF各做累积乘积表,查询子路径段密度时用两个索引相除,将每路径权重计算从 \(O((N_D+N_G)N_k)\) 降至 \(O(N_D+N_G)\)。这是减少重复计算,不是降低应计入的路径支持域。
Figure3的每列先画该策略单独结果,再乘MIS;加总得到完整动态辐射贡献。它验证各方法覆盖互补区域,但不是任何一列单独就能代替完整估计器。
09 · 映射算子与重连接条件

原 Eq.17
原 Eq.18
完整映射由逐顶点算子组成。dynamic/ghost表面的点按物体刚体变换映到另一帧,刚体面积Jacobian为1。并非支持任意非刚体形变;若要扩展形变,面积变化和可逆性需重新处理。
原 Eq.19–20
原 Eq.21
静态顶点可以保持原位置,若前一个点也不动,Jacobian为1;若前一点移动,重连接方向与solid angle改变,需要Eq.21的余弦/距离比。采用相同随机数重新采样可先让两条路径一起走,遇到合适位置再reconnect;只要它们落到同一图像像素附近,相关性才有效减少图像域差值噪声。
论文要求重连接点不是dynamic;当前/前一对应顶点足够粗糙(最小roughness不低于阈值);连接距离足够长(不低于阈值)。这样避免镜面敏感方向和短距离导致巨大Jacobian。原文未在已查设置中给所有roughness/distance阈值数值,本次不补造。
路径不反复重连接,以免多个Jacobian相乘放大方差。随机种子复用也不是无条件一一对应:一帧遮挡不同或BSDF分支变化时,必须有明确处理支持域的方法。
10 · Appendix A:哪些策略实际用了映射
| 策略 | 完整映射选择 | 原因 |
|---|---|---|
| Dynamic from light | 随物体变换起点,随机种子重放,到可行时连接回同一静态顶点 | 尽早复用和提高相关性 |
| Dynamic two ends | 两子路径分别采用类似做法 | 两侧都可能快速重连 |
| Dynamic/Ghost from sensor | 对应dynamic/ghost空间位置,保持相机射线方向,再重放随机数;此分支不做后续重连 | 单纯随物体移动起点会落到不同像素,浪费相关性 |
| Ghost from light / Ghost two ends | 尝试映射收益差,实际采用两帧独立追踪 | 对应光路常被真实物体挡住,或撞上不同表面 |
所以不能概括成“六种策略都靠相同映射成功相关”。论文承认从场景中间发射路径不天然保证两帧落到相同像素,路径选择收益有时会被较弱的图像相关性抵消。
重连后仍要检查每条边是否被动态物体挡住;一旦又碰上移动物体,路径可能重新分叉。实现另建只含dynamic的加速结构快速检查,可见性没有因为重连而永久锁定。
拒绝与无偏:映射遇遮挡、Jacobian大于10、或base path再次碰dynamic时,拒绝的是映射分支,base path继续,两帧都采样并做双向映射来覆盖积分域。不是把高贡献路径截断为零,也不是直接clamp firefly;缺少对称/独立分支补偿就会引入偏差。
11 · 实现、预算与比较公平性
实现是独立C++渲染器,基于Intel Embree,在AMD Ryzen16核CPU上运行。额外两个加速结构分别含dynamic与ghost,前者检查重连后的遮挡,后者记录ghost交点并算MIS。本文无学习模型,没有训练或数据集划分。
每次spp设置调用七种策略,但首连接失败的路径会被拒绝,因此不会恰好产生7n条完成路径。作者spp口径是投到图像的样本数除以像素数;等spp不等于等时间、等随机步数。本文主要采用等时比较,PT常能走更多路径,因为中间起点采样缓存局部性较差,报告约10–20%额外开销。
| 比较对象 | 做法 | 是否依赖已有旧图 |
|---|---|---|
| PT from scratch | 独立渲染新场景 | 否 |
| Correlated PT | 两帧同随机序列追踪,估残差后加旧图 | 是 |
| Incremental | 主动dynamic/ghost采样,MIS和适配映射 | 是 |
| Incremental w/o PM | 保留主动采样,独立估两帧动态贡献差 | 是 |
已有旧图的渲染成本不计作一次编辑的额外成本,这是任务设定的重要前提。对一次性新场景比较总成本,应另外算初始图;对反复编辑同一准备好的场景,旧图成本可摊销。作者未整合控制变量系数优化、空间梯度Poisson重建或完整时空降噪,不把Correlated PT基线说成包含这些全部模块。
12 · 主结果、材质编辑和难例表



移动物体案例中,残差既有新增亮度也有被移走的光,展示正负两部分有助于理解;最终图里的负噪声像素不应先截断再声称无偏。论文报告物体移动通常比Correlated PT快2–5倍,材质编辑4–16倍;对从零PT可有数量级收益,但并非所有位置或所有编辑均如此。
原 Table 2
| Metric | Editing | PT from | Correlated | Incremental |
| operation | scratch | PT | (ours) | |
| MSE | Lambertian color:white to blue | 990 | 17.9 | 2.10 |
| MSE | GGX roughness: 0.1 to 0.5 | 990 | 22.2 | 2.91 |
| MSE | Lambertian to metalic | 990 | 88.9 | 5.48 |
| SSIM | Lambertian color:white to blue | 0.27 | 0.56 | 0.84 |
| SSIM | GGX roughness: 0.1 to 0.5 | 0.28 | 0.59 | 0.79 |
| SSIM | Lambertian to metalic | 0.27 | 0.40 | 0.73 |
原Table2所有MSE乘10⁵,三种编辑分别为漫反射白→蓝、GGX roughness .1→.5、Lambertian→metallic。静止材质编辑不改变路径几何域,dynamic与ghost重合,只需动态顶点采样,ghost相关策略可关闭。MSE比值17.9/2.10≈8.52、22.2/2.91≈7.63、88.9/5.48≈16.22(本精读计算),是等时误差比;解释为达到同误差的速度倍率还需假设Monte Carlo方差随时间近似反比。
原 Table 3
| Metric | Dynamic | PT from | Correlated | Incremental | Incremental |
|---|---|---|---|---|---|
| count | scratch | PT | w/o PM (ours) | w/ PM (ours) | |
| MSE | 1 | 920 | 14.0 (5.1x) | 3.38 (1.22x) | 2.76 (1x) |
| MSE | 2 | 960 | 18.2 (2.8x) | 7.84 (1.20x) | 6.53 (1x) |
| MSE | 4 | 720 | 22.9 (1.4x) | 20.0 (1.23x) | 16.2 (1x) |
| MSE | 8 | 1000 | 96.2 (1.1x) | 109 (1.24x) | 87.4 (1x) |
| SSIM | 1 | 0.27 | 0.68 (0.7x) | 0.89 | 0.94 (1x) |
| SSIM | 2 | 0.28 | 0.61 (0.7x) | 0.79 | 0.87 (1x) |
| SSIM | 4 | 0.32 | 0.56 (0.7x) | 0.69 | 0.80 (1x) |
| SSIM | 8 | 0.31 | 0.40 (0.7x) | 0.46 | 0.57 (1x) |
| Metric | Distant | PT from | Correlated | Incremental | Incremental |
| scratch | PT | w/o PM (ours) | w/ PM (ours) | ||
| MSE | 40 | 990 | 10.0 (4.4x) | 2.76 (1.22x) | 2.26 (1x) |
| MSE | 100 | 990 | 11.5 (4.2x) | 3.31 (1.20x) | 2.75 (1x) |
| MSE | 160 | 990 | 11.7 (5.2x) | 2.69 (1.18x) | 2.27 (1x) |
| MSE | 220 | 920 | 8.72 (5.0x) | 1.95 (1.12x) | 1.74 (1x) |
| SSIM | 40 | 0.28 | 0.71 (0.7x) | 0.90 | 0.95 (1x) |
| SSIM | 100 | 0.28 | 0.69 (0.7x) | 0.89 | 0.94 (1x) |
| SSIM | 160 | 0.28 | 0.69 (0.7x) | 0.89 | 0.93 (1x) |
| SSIM | 220 | 0.27 | 0.74 (0.7x) | 0.91 | 0.93 (1x) |
Table3(a)(b)完整保留。动态物体从1个增到8个时,Correlated PT与完整方法的MSE比从约5.1降到1.1,主动采样优势消失,因为几乎整个路径域都受影响。8物体且不使用PM时MSE109,甚至差于Correlated PT96.2,不能写成本文所有变体都更好。

位移40→220时,主动采样仍有帮助,但PM带来的额外倍率从约1.22降到1.12。表中单位叫Distant未提供可直接转成米的统一单位,本次不补单位。作者强调这些困难设置同时改变位置、大小、靠近光源等条件,不是严格单因素控制实验;因此不能从表拟合普遍的物体数/位移性能定律。
表内SSIM括号的0.7x在多行重复,且不能一致由对应SSIM比值推出。本精读照录原表,但不将这些括号解释为可靠时间加速;主要分析使用明确的MSE和SSIM原值。
13 · 主动采样与映射各自贡献

Figure9把主动从dynamic/ghost出发与“先普通PT,再只留下动态路径”相比,隔离了寻找稀疏支持域的好处。三组图示MSE分别从1.029e−5、1.077e−5、.201e−5降到.675e−5、.239e−5、.089e−5,说明仅筛掉无关路径并不等于高效生成有用路径。

Figure10保留主动采样,比较无PM与有PM:三个图示MSE从3.821e−4、8.671e−5、.947e−5降到2.942e−4、1.215e−5、.397e−5。映射在不同区域收益不同,而不是固定乘数。两种改进对不同场景各有作用。

Livingroom示例中新旧间接光影响全图,图示PT378秒、Correlated PT380秒与Incremental96秒,约4倍时间优势;本文并非只在残差屏幕区域很小的时候成立,关键是受影响光路在整个路径空间中的比例。

官方3页补充文档提供Ninja Sponza收敛图,SPP为7、14、28、56、112、224、448、896,对应图上MSE标注.000614、.0003099、.0001542、7.96e−5、4.268e−5、2.434e−5、1.468e−5、9.873e−6。趋势支持随采样收敛,但有限样本曲线不是数学上无偏性的单独证明。补充第3页文字称Table3(b),其图注却写3(a)并展示物体数,是版本内交叉引用冲突,按实际图注对象解释。
14 · 失败场景、ghosting与可微渲染关系

新旧物体位置附近残差方差不均匀,可能出现明暗ghosting,更多采样会缓解。作者用现成OptiX降噪作示例,表明过滤有用,不代表原始估计器因此成为有偏,也不代表降噪后的图保留严格无偏性;两者应分开报告。
如果大部分对象都移动、相机移动或光源变化影响所有路径,动态域接近全域,方法退化为普通差分,没理由还保持大幅收益。相机近处的物体也可能更适合camera tracing。本文加入PT作为补充,但完整BDPT、light tracing、路径复用与实时组合仍需新的MIS推导和工程优化。

理论上可以把两帧差写成沿编辑时间的导数积分,借用differentiable rendering计算。但这增加时间维度,遮挡边界附近导数采样可高方差。本文直接估有限变化的残差,不等于对场景参数求梯度,更不是自动微分优化器。Dynamic Two Ends从表面起点采样,与PSDR从更低维几何边界采样也不同。
作者主张有限运动大小没有硬约束,但大运动会破坏映射相关性,回退到独立差分;“仍正确”不等于“仍快”。支持的刚体/关节刚体变化不能无条件推广到拓扑改变或任意非刚体变形。
15 · 复现状态与PMG研究延伸
截至本次核查,第一作者官方项目页仍把CPU代码标作coming、实时版本标作scheduled;未找到可验证的完整公开实现,因此本文给出算法级理解和公开PDF核对,不声称代码审计或独立复现。roughness/distance重连接阈值、各几何处理细节需代码或作者说明,Jacobian拒绝阈值10是正文明确值。
以下是研究设想,不是论文已有结果。
- 程序化材质优化时,若只改局部图节点,可将受影响表面作为dynamic集合,估渲染差值来加速交互预览;但节点变化可能全局改变纹理,必须先判定影响域。
- 将采样概率从“是否受影响”进一步按预测的残差绝对值引导,同时保留足够支持域并用正确PDF重加权;不能简单舍弃预测小的路径。
- 设计材质编辑大小自适应的primal/residual混合估计器,记录旧图噪声和累计误差,选择何时完整重渲染。
- 用对应约束改善跨帧同像素相关性,并测大运动、镜面、相机近处物体和多动态对象的收益/退化。
- 对有符号残差专门降噪,分别报告原始无偏估计、最终感知画面和滤波偏差,避免把三者混为一个数字。
16 · 一页记忆与验收范围
- 旧图+残差;路径空间受影响不等于屏幕局部区域。
- dynamic是真物体,ghost是旧位置的辅助几何;ghost点不成为散射顶点。
- 六个中间起点策略加PT补充,所有生成历史用MIS正确计数。
- 变量替换必须有Jacobian;拒绝映射不等于丢弃贡献,双向覆盖是无偏关键。
- 主动采样和路径相关性是两个不同收益;不是所有ghost策略都使用PM。
- 已有旧图成本、CPU时间、spp口径和等时MSE尺度必须同时交代。
- 大动态域、镜面敏感连接、相机/光源移动、累计旧图误差都是重要边界。
- 覆盖原Eq.1–21、Tables1–3(Table3两子表)、Figures1–14、Appendix A及官方补充收敛图;原笔记字节保留。
本次为内容与静态QA完成的下载候选,浏览器公式渲染/响应式验收按用户要求延后。未运行渲染器、未发布网站、未整合到Obsidian。原图表归原作者;所有外部来源在相应图表和正文旁链接。