← 返回 2026-05-13

WildRelight:单图重光照的真实世界基准与物理引导的自适应方法 WildRelight: A Real-World Benchmark and Physics-Guided Adaptation for Single-Image Relighting

Lezhong Wang, Mehmet Onurcan Kaya, Siavash Bigdeli, Jeppe Revall Frisvad 📅 2026-05-12 👍 3 2026-07-13 08:36
单图重光照 扩散模型 数据集 测试时自适应 逆渲染

首个真实户外单视图重光照基准+物理引导自适应框架

前置知识

单图逆渲染 (Single-Image Inverse Rendering)

从单张 RGB 图像反推其本征分解 (albedo 反射率、geometry 几何、illumination 光照),并在新光照下重新渲染。它是 ill-posed 的不适定问题,必须借助深度生成模型 (如潜在扩散模型) 学到的图像先验才能得到合理解。

本文核心任务就是单图重光照,重光照是逆渲染的下游应用;要理解 WildRelight 解决的问题和提出的 DPS 算法,必须先理解逆渲染管线 (G-buffer → 可微渲染器 → 图像) 的基本结构。

HDR 环境贴图 (Environment Map) 与图像基光照 (IBL)

环境贴图是用一张全景 HDR 图像记录场景 360° 方向上的入射辐射度,可以驱动 PBR 渲染器生成任意视角的环境光照。IBL (Image-Based Lighting) 是基于这种 envmap 进行物理光照计算的方法。

WildRelight 数据集的核心就是为每张照片配一个像素级对齐的 HDR envmap 作为 ground truth;Torrance 渲染器 $R(D(\hat{x}_0), L)$ 中 $L$ 就是这个 envmap,没有它就无法做定量重光照评估。

Diffusion Posterior Sampling (DPS)

在扩散采样 (DDIM) 的每一步把当前估计的 $\hat{x}_0$ 投影到测量一致性约束上,即对一致性损失 $\|\mathcal{R}(D(\hat{x}_0), L) - I_{gt}\|$ 求梯度,再用该梯度修正采样轨迹 $x_{t-1} \leftarrow x_{t-1} - \zeta_t g_t$。

这是本文物理引导逆渲染方法 (DPS) 的核心机制;在不重训扩散模型的前提下,把可微渲染器作为物理约束注入采样过程,从而得到更符合物理的 G-buffer 估计。

测试时自适应 (Test-Time Adaptation, TTA) 与 LoRA

TTA 是在推理阶段利用测试样本自身的信息对模型做临时性微调,使其适应当前实例的分布。LoRA (Low-Rank Adaptation) 是一种参数高效的微调方法,只在原始权重旁注入低秩矩阵 $\Delta W = BA$ ($A\in\mathbb{R}^{d\times r}$, $B\in\mathbb{R}^{r\times k}$, $r\ll\min(d,k)$),冻结主网络避免过拟合。

本文 TTA 阶段正是冻结扩散主干、只优化 LoRA 模块,并提出 'Sampling-Aware Optimization' 在 DDIM 轨迹的后 $K$ 步回传感知损失 $\mathcal{L}_{LPIPS}$,使模型适配具体场景的光照动力学。

合成-真实域差异 (Sim-to-Real Gap)

指在合成数据集上训练的模型在真实数据上性能显著下降的现象。在重光照中体现为:合成渲染缺乏真实大气散射、复杂植被高频阴影、自然材质非理想 BRDF 等,导致 PSNR 暴跌。

本文的 motivation 完全是这个 gap:实验测出 DiffusionRenderer 在合成训练后零样本到 WildRelight 只有 22.81 dB,而 OpenIllumination 之类的受控数据集不能解决这个问题,WildRelight 正是为量化与缩小该 gap 而设计。

研究动机

近年基于扩散模型的单图重光照方法 (如 RGB↔X、DiffusionRenderer) 在合成基准上效果惊艳,但在真实场景中表现非常糟糕。本文用 WildRelight 测试集量化了这个问题:零样本下 RGB↔X 只有 15.87 dB PSNR/0.4507 SSIM/0.4917 LPIPS,DiffusionRenderer 为 22.81 dB/0.6218/0.3927。现有真实数据集都不能解决这个 gap:受控实验室数据集 (如 OpenIllumination 的 142+13 OLAT 光源、ReNe 的 40 个 OLAT) 受限于单一物体且使用离散 LED,无法表达户外连续 HDR 自然光;多视角户外数据集 (NeRF-OSR 9 场景、OWL 8 场景) 围绕多视角重建设计,相机轨迹移动破坏了单图重光照要求的视点严格对齐;其他单视角数据集 (Murmann 等的 1000 室内场景、LSMI 的 2700 室内场景) 多为室内点光源、无 HDR、无 GT envmap 视点对齐。总之,真实户外 + 单视角 + 严格视点对齐 + HDR GT envmap 这四个要素从未在同一个数据集中被同时满足。

本文的目标是本文的具体目标有两个层面。第一个层面是构建一个 'Middlebury/DTU 级别' 的高精度评估基准 WildRelight:包含 30 个户外场景,每个场景在固定机位下跨 5-7 个不同时段 (从午后到日落) 各拍一组高分辨率图像 + 全景 HDR envmap,且二者满足像素级视点对齐和时间接近对齐 (通常 1 分钟内、最长 2 分钟)。第二个层面是给出一个 reference 方法框架,证明该数据集不仅能做评估、还能用物理引导的 Diffusion Posterior Sampling (DPS) 推理和 Sampling-Aware Test-Time Adaptation (TTA) 把 sim-to-real gap 转化为可解的自监督任务,让无 GT 监督的推理阶段自适应效果追平甚至接近全监督微调。

与已有工作不同的是,本文的独特切入角度是 '对齐优先于规模'。多数重光照数据集走 OpenIllumination 路线追求大规模 + OLAT,但作者认为像素级错位 (哪怕 1 像素) 都会让物理验证失效,所以 WildRelight 牺牲数量 (30 场景 vs 1000+),换取单视角静态机位、户外自然光、HDR 360° envmap、严格光学中心共定位的 '四位一体' 设计。第二个独特切入是利用数据集 '同一机位、同一场景、多个自然光照' 的天然时间结构,提出 leave-one-lighting-out 协议,把 domain adaptation 改写为 real-world self-supervised task,无需任何 G-buffer 标注即可逐场景适配,这是其他数据集 (无时间结构或非共定位) 无法支撑的实验范式。

核心方法

方法分两条主线:数据集采集协议 + 物理引导自适应框架。直觉上,作者意识到 '训练好的扩散模型不是不够强,而是没看过真实户外物理',所以与其再训练更大模型,不如给现有模型 (DiffusionRenderer) 配一个能看见真实光物理的 '外挂'。这条外挂由两个互补模块组成:DPS 负责在推理时把 Cook-Torrance 渲染一致性 $||\mathcal{R}(D(\hat{x}_0), L) - I_{gt}||$ 当作梯度信号注入 DDIM 采样轨迹,确保 G-buffer 估计符合物理;Sampling-Aware TTA 负责在实例级别上冻结主干、只调 LoRA,用 N-1 个已知光照的照片去适配模型对第 N 个光照的预测。两条线结合后,模型在无 G-buffer 监督的推理阶段就能把零样本 21.63 dB 提升到 25.04 dB,几乎追平有监督微调的 25.95 dB。

与已有方法相比,本文的本质区别在于 '把 domain adaptation 转化为可自监督的物理约束优化'。传统重光照工作要么靠更大合成数据 (如 DiffusionRenderer 的 Objaverse 合成) 训练,要么依赖 OLAT 实验室采集 (如 OpenIllumination),前者被 sim-to-real 卡住、后者牺牲户外场景复杂度。本文既不重训大模型、也不进实验室,而是用 '共定位双相机 + 时间变化自然光' 这种巧妙的数据采集设计,让一个场景的多个光照成为天然的自监督信号,再用物理可微渲染 + 采样感知 LoRA 把这些信号压回扩散模型。在技术层面,DPS 区别于普通 classifier-free guidance 之处在于它用真实可微渲染方程作为后验约束;而 TTA 的 'sampling-aware' 体现在只在 DDIM 轨迹后 $K$ 步回传 LPIPS 损失 $\mathcal{L} = \mathcal{L}_{noise} + \lambda_{perc}\mathcal{L}_{LPIPS}(D(z_0), I_{target})$,避免整条轨迹梯度爆炸。

方法步骤详情

数据集采集步骤 (Protocol):(a) 把 Sony A7 主相机 (ISO 100, f/4, 5000K 白平衡, 40mm 焦距, 16bit RAW) 和 Insta360 Pro 2 全景相机 (匹配 ISO/WB) 装在同一导轨上;(b) 用无平移视差法 (no-parallax point) 标定 Sony A7 镜头的入瞳位置,再把 Insta360 光学中心竖直对齐到该轴;(c) 先拍 envmap、紧接着拍主相机照片,两次切换控制在 1-2 分钟内以减小光变化;(d) 在 11:00-17:00 每 45-60 分钟采样一次,日落前 17:00 后加密到 10-15 分钟一次,每个场景 5-7 组;(e) 用 X-Rite ColorChecker 做一次性跨相机色彩校正 (RAW 域 16bit linear),对包围曝光用三角权重 $w(z)=1.0-|2z-1.0|$ 加权合成 HDR float64 EXR;(f) 用人工 pairwise 对比对每帧动态区域 (风吹树叶等) 标注二值 mask。物理引导 DPS 步骤:(1) 在 DDIM 第 $t$ 步,把估计的 $\hat{x}_0$ 通过 VAE 解码器 $D(\cdot)$ 得到本征分量;(2) 用可微 Cook-Torrance 渲染器 $\mathcal{R}(\cdot)$ 在目标 envmap $L$ 下重渲染,计算渲染一致性损失 $\mathcal{L}_{render}=||\mathcal{R}(D(\hat{x}_0), L) - I_{gt}||$;(3) 求梯度 $g_t=\nabla_{x_t}\mathcal{L}_{render}$,按 $x_{t-1}\leftarrow x_{t-1}-\zeta_t g_t$ 修正采样轨迹,扩散网络参数保持冻结,用 split-sum 近似稳定 IBL。Sampling-Aware TTA 步骤:(1) 对一个场景的 $N$ 组光照采用 leave-one-lighting-out,选 1 组作 target、其余 N-1 组做自监督;(2) 冻结 UNet 主干,只在注意力层注入 LoRA;(3) 跑部分 DDIM 采样,对最后 $K$ 步的 $z_0$ 解码图像与 target $I_{target}$ 计算感知损失 $\mathcal{L}=\mathcal{L}_{noise}+\lambda_{perc}\mathcal{L}_{LPIPS}(D(z_0), I_{target})$,反向传播优化 LoRA;(4) 测试时直接用适配后的 LoRA 做推理。评估时对所有方法采用全局最小二乘标量 $\alpha$ 对齐强度,再算 PSNR/SSIM/LPIPS。

技术新颖性

技术新颖性主要体现在三点。第一,'对齐优先于规模' 的数据集设计哲学:第一次同时把单视角静态机位、户外自然光、HDR 360° envmap、严格光学中心共定位这四个对单图重光照缺一不可的要素放进同一数据集,并用 30 场景 vs 1000+ 场景的取舍换取像素级可信度。第二,把 sim-to-real domain adaptation 改写为 self-supervised temporal task:现有工作要么靠合成数据增广要么靠 OLAT 监督,本文用同一场景多个自然光照天然成对的事实,让 N-1 组光照成为第 N 组的目标监督,绕开了 G-buffer 标注成本。第三,把物理可微渲染 (DPS) 和 sampling-aware LoRA TTA 协同:单独 TTA 虽能把 PSNR 拉高 2.5 dB,但 LPIPS 从 0.3901 退化到 0.3923 (过拟合到像素强度、损失自然图像流形),单独 DPS 提 0.95 dB 提 LPIPS 不到 0.008,二者结合后 PSNR 25.04 + LPIPS 0.3453 才是真正的物性 + 感知双优,这说明 DPS 的渲染约束起到了正则化作用,抑制了 TTA 的像素级过拟合。

Capture settings. (a) Both the Insta360 Pro2 and Sony A7M2 are mounted on a rail system to enable front-to-back adjustments for precise alignment with the nodal point. (b) Photos of Xrite ColorChecker are used to calibrate color between main camera Sony A7 and envmap camera Insta360 Pro2
Fig. 3: Capture settings. (a) Both the Insta360 Pro2 and Sony A7M2 are mounted on a rail system to enable front-to-back adjustments for precise alignment with the nodal point. (b) Photos of Xrite ColorChecker are used to calibrate color between main camera Sony A7 and envmap camera Insta360 Pro2
Comparison examples of color calibration effects
Fig. 4: Comparison examples of color calibration effects

实验结果

实验分四个阶段,都围绕 'sim-to-real gap' 的存在与缩小展开。第一阶段 (Table 2) 量化零样本 sim-to-real gap:RGB↔X 15.87 dB、DiffusionRenderer 22.81 dB、Materialist (用 GT envmap 优化) 24.19 dB;这说明在合成数据上训练的生成模型零样本到户外几乎不可用,特别是 RGB↔X 的 LPIPS 0.4917 表明重建图像与 GT 差异巨大。第二阶段 (Table 3) 验证数据集本身的可学性:DiffusionRenderer 在 WildRelight 训练集 22 场景上 LoRA 微调后从 23.28 → 25.95 dB (+2.67 dB),SSIM 0.6165 → 0.6687、LPIPS 0.3790 → 0.3368,证明该数据集含有足够强的真实信号来教模型理解户外光物理。第三阶段 (Table 4) 消融实验是最关键发现:基线 21.63 dB,加 DPS 升到 22.58 (+0.95 dB、LPIPS 从 0.3901 → 0.3825 改善),加 TTA 升到 24.10 (+2.47 dB、但 LPIPS 微涨到 0.3923),DPS+TTA 联合达 25.04 dB/0.6829/0.3453,三个指标同时最优。值得注意的是,推理阶段无监督的 DPS+TTA 25.04 dB 几乎追平有监督全量微调的 25.95 dB,差距仅 0.91 dB,这意味着真实户外数据 + 物理约束可以在不重训的前提下逼近监督上限。第四阶段 (Fig. 6/7) 定性观察:零样本时 DiffusionRenderer 和 RGB↔X 都明显偏暗 (亮度对齐失败),Materialist 虽然亮度对齐好但几何过优化导致植被区域有伪影;DPS+TTA 后图像在亮度、阴影、间接光照上都更接近 GT。第四阶段表明 TTA 单独会出现 'photometric-perceptual 权衡',但 DPS 能起到几何锚点作用防止阴影幻觉。

Comparison with existing real-world, multi-illumination datasets
Table 1: Comparison with existing real-world, multi-illumination datasets
Performance of pretrained baseline models on full WildRelight dataset
Table 2: Performance of pretrained baseline models on full WildRelight dataset
Effect of finetuning DiffusionRenderer on the WildRelight testset
Table 3: Effect of finetuning DiffusionRenderer on the WildRelight testset
Ablation Study of the Proposed Methodology. Evaluated on the full 30-scene WildRelight dataset
Table 4: Ablation Study of the Proposed Methodology. Evaluated on the full 30-scene WildRelight dataset
Qualitative Comparison of Different Methods on the Test Set Relighting
Fig. 6: Qualitative Comparison of Different Methods on the Test Set Relighting
Qualitative Ablation Study Results
Fig. 7: Qualitative Ablation Study Results
查看结构化数据
任务指标本文基线提升
零样本单图重光照 (WildRelight 全集) PSNR (↑) DPS+TTA 25.04 dB DiffusionRenderer 零样本 22.81 dB (Table 2) / 21.63 dB (Table 4 baseline) +2.23 ~ +3.41 dB,无需 G-buffer 监督
零样本单图重光照 SSIM (↑) DPS+TTA 0.6829 DiffusionRenderer 零样本 0.6218 (Table 2) / 0.6311 (Table 4 baseline) +0.052 ~ +0.061
零样本单图重光照 LPIPS (↓) DPS+TTA 0.3453 DiffusionRenderer 零样本 0.3927 / 0.3901 -0.045 ~ -0.047 感知质量显著提升
有监督 LoRA 微调 (上限参考) PSNR/SSIM/LPIPS DiffusionRenderer+finetune 25.95/0.6687/0.3368 DiffusionRenderer 零样本 23.28/0.6165/0.3790 +2.67 dB PSNR、+0.0522 SSIM、-0.0422 LPIPS;DPS+TTA 与之差距仅 0.91 dB
DPS 单组件贡献 PSNR/LPIPS +DPS 22.58/0.3825 Baseline 21.63/0.3901 +0.95 dB、LPIPS -0.0076;说明物理渲染约束独立有效
TTA 单组件贡献 PSNR/LPIPS +TTA 24.10/0.3923 Baseline 21.63/0.3901 +2.47 dB,但 LPIPS 微涨 +0.0022,揭示 photometric-perceptual 权衡
sim-to-real gap 量化 PSNR (↑) RGB↔X 零样本 15.87 dB DiffusionRenderer 零样本 22.81 dB / Materialist (w/ GT illum) 24.19 dB 表明最先进生成模型零样本到户外差 6-9 dB,而基于优化的方法虽有 GT 优势仍只 24.19 dB

局限与改进

作者在结论中明确指出三个局限:(1) 动态元素目前只能 masking 而不能建模,wild 场景中风吹树叶、移动云、行人都是直接被排除在评估之外,这意味着模型对这些区域的真实物理表现未被验证。(2) 实例级 TTA 的计算开销较大,每个场景都要跑 LoRA 优化 + 部分 DDIM 采样 + LPIPS 反传,文中未给出 wall-clock 时间估计但显然不能实时。(3) 场景数量 (30) 和光照数 (5-7) 较小,主要服务高精度评估而非大规模预训练,从 Table 3 的 +2.67 dB 收益看,扩大规模后能学到什么仍是开放问题。我自己的观察还有:(a) Table 4 baseline 21.63 dB 与 Table 2 DiffRender 22.81 dB 不一致 (差了 1.18 dB),可能是因为 Table 2 用的是不同测试切片或不同 PSNR 对齐策略,正文未充分解释,给复现造成困扰;(b) TTA 在像素强度上过拟合的现象 (LPIPS 微涨) 说明仅靠 LPIPS 正则还不够,可能需要加入对抗/频率域约束;(c) envmap 的色彩与主相机的色彩匹配 (X-Rite ColorChecker) 虽在论文中描述但其误差对最终 PSNR 的敏感度未做 ablation;(d) 物理引导依赖 Cook-Torrance 这种简化 BRDF,对皮肤、水、镜面玻璃等复杂材质可能引入反物理的优化信号。

独立分析的弱点

(1) 评估与训练切片划分不清:Table 4 的 baseline 21.63 dB 与 Table 2 的 DiffusionRenderer 22.81 dB 在不同小节给出,但全文未明确说明两者是不同测试切片还是不同对齐策略,复现时极易混淆。改进方向是统一报告一个 'full 30-scene test split' 上的零样本基线,并把所有方法 (含本文) 放在同一对齐协议下对比。(2) TTA 阶段的 photometric-perceptual 权衡:TTA 单独把 LPIPS 从 0.3901 推到 0.3923,说明单纯靠 $\mathcal{L}_{LPIPS}$ 还不足以防止自然图像流形的偏离。改进方向是加入对抗判别器 (类似 GAN 思想) 或在特征域加自相似损失,或者干脆用扩散模型自身的多步去噪目标作为正则。(3) 物理约束基于 Cook-Torrance 简化 BRDF,对复杂材质 (皮肤次表面散射、镜面玻璃的菲涅尔) 的引导可能误导优化方向。改进方向是引入更通用的可微路径追踪 (如 Mitsuba 3 的可微版本) 或者干脆放弃 BRDF 假设、只保留能量守恒 + 单色一致性这种弱约束。(4) 动态元素目前只做 mask 排除,无法评估这些区域的重光照质量;改进方向是结合视频重光照 / 时序扩散模型,对动态区域做联合建模。(5) 数据集 30 场景对深度学习偏小,finetuning 收益 +2.67 dB 是否能随规模放大尚不确定,改进方向是增加场景 (50-100) 并保持对齐精度。

未来方向

作者明确提出的方向有三个:(a) 不再 masking 动态元素而是显式建模,把风吹树叶、移动云纳入评估;(b) 优化实例级 TTA 的计算效率,让方法能向 real-time 部署靠近;(c) 进一步推进 TTA 走向 streaming 或 online 形式。基于成果可延伸的方向有:(1) 把 WildRelight 的时序结构扩展到视频域,构建 'multi-illumination video' 基准,催生视频重光照新工作;(2) 用本文 DPS+TTA 框架做环境光照估计 (envmap 估计) 任务,而不只是 envmap 已知下的重光照;(3) 把物理可微渲染扩展到神经辐射场 (NeRF) / 3DGS 表征,让单图方法升级为稀疏视角方法;(4) 利用数据集的色彩校正协议和 HDR 合成流程,构建跨相机、跨曝光的标准预处理工具,服务于其他多模态数据集;(5) 探索该数据集在 intrinsic image decomposition、BRDF estimation、relighting transfer learning 等任务上的副产品价值。

复现评估

作者声明 'The dataset and code will be made publicly available',数据集、采集协议、color/HDR 校准脚本、训练配置都会公开。从可复现性细节看,正文给出了比较完整的协议描述 (双相机、ColorChecker、HDR 合成公式 $L = \sum_i w(Z_i)\cdot(Z_i/\Delta t_i)/\sum_i w(Z_i)$、三角权重 $w(z)=1.0-|2z-1.0|$、LoRA 配置等),但 DPS 引导强度 $\zeta_t$ 的 schedule、TTA 的 $K$ 步数、$\lambda_{perc}$ 的具体值、训练 epoch 数、batch size、GPU 型号等关键超参都在 supplementary (截至本解读不可见) 中,主干扩散模型是 DiffusionRenderer 但具体 checkpoint 也需补查。从可复现难度看,数据采集门槛较高 (需要 Sony A7 + Insta360 Pro 2 + 校准导轨 + 多次户外长时段拍摄,每个场景 5-7 组),中小实验室难以重复采集,但代码与已发布数据可复用;Torrance 渲染器 (论文提到 'split-sum approximation') 和 LoRA 优化都是标准工具链,复现 DPS+TTA 算法本身门槛适中。整体来看代码可复现性较好、数据可复现性中等。