Learning Latent Proxies for Controllable Single-Image Relighting¶
会议: CVPR 2026
arXiv: 2603.15555
代码: 无
领域: 图像重光照 / 扩散模型
关键词: 单图重光照, PBR 先验, 潜在代理编码器, DPO 后训练, 光照感知掩码
一句话总结¶
提出 LightCtrl,一个基于扩散模型的单图重光照框架,通过小样本潜在代理编码器(few-shot latent proxy)提供轻量材质-几何先验、光照感知掩码引导空间选择性去噪、DPO 后训练增强物理一致性,实现对光照方向/强度/色温的精确连续控制,在合成和真实场景上均优于现有方法。
研究背景与动机¶
单图重光照是一个严重欠约束问题:阴影、高光和漫反射依赖不可观测的几何和材质,且光照的微小变化可导致外观的大幅非线性变化。现有方法存在明确的能力边界:
Intrinsic/G-buffer 方法(如 Neural LightRig)需要密集 PBR 监督,脆弱且成本高
纯潜空间方法(如 LBM)缺乏物理基础,方向/强度控制不可靠
端到端方法(如 IC-Light)在肖像上效果好但缺乏几何感知,难泛化到复杂场景
关键洞察:精确重光照不需要完整的 intrinsic 分解;稀疏但物理有意义的线索——指示哪里光照应变化、材质如何响应——就足以引导扩散模型。这催生了轻量 proxy + mask 的设计思路。
方法详解¶
整体框架¶
LightCtrl 要解决的是单图重光照里「物理信息缺失」与「可控性」之间的张力:既不想像 intrinsic 方法那样背上密集 PBR 分解的包袱,又不能像纯潜空间方法那样丢掉物理约束。它的做法是在一个 Stable Diffusion 骨干外面挂三组轻量线索,让扩散过程被「够用」的物理暗示牵引。
整体怎么转:给定源图 \(x_s^{\ell_s}\) 和一个相对光照编码 \(\Delta\ell\)(方向/强度/色温的差异),网络要生成目标光照下的结果 \(\hat{x}_s^{\ell_t} = f_\theta(x_s^{\ell_s}, \Delta\ell)\)。源图先被编成 appearance token \(t_{\mathrm{img}}\) 保留外观,\(\Delta\ell\) 编成 lighting token \(t_{\mathrm{light}}\) 指明要怎么改光,另一支轻量编码器再从源图抽出 physics proxy token \(t_{\mathrm{phys}}\) 提供材质-几何先验。三个 token 一起注入去噪器,最后用一张光照敏感的空间权重图 \(W\) 给重建损失加权:
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入:源图 + 相对光照编码 Δℓ"] --> B["外观 token(脚手架)"]
A --> C["光照 token(脚手架)"]
A --> D["小样本潜在代理调控<br/>轻量编码器抽 albedo / 法线 / 粗糙度 / 金属度 → 物理代理 token"]
A --> E["光照感知掩码预测<br/>预判阴影 / 高光敏感区 → 空间权重 W"]
B --> F["扩散去噪器(SD 骨干)<br/>注入外观 / 光照 / 物理代理三 token"]
C --> F
D --> F
F --> G["W 加权重建损失"]
E --> G
G --> H["输出:目标光照下重光照图"]
I["DPO 后训练<br/>GT PBR 作正样本优化代理编码器"] -.->|"提升物理一致性"| D
关键设计¶
1. 小样本潜在代理调控(Few-shot Latent Proxy Conditioning):用「够用」的材质-几何暗示替代密集 intrinsic 分解
纯潜空间方法控制不住光照方向/强度,根子在于它对场景的几何和材质一无所知;但完整 intrinsic 分解又太贵太脆。这里的折中是只让一个轻量编码器-解码器 \(E_\phi\) 从源图预测一组紧凑的潜在代理 \(\hat{\mathcal{B}} = \{a, n, r, m\} \in \mathbb{R}^{H \times W \times 8}\)(albedo、法线、粗糙度、金属度),而且只在少量带 PBR 标注的样本上监督它,损失把四种属性各自的误差加在一起:
关键在于它不追求逐像素重建出精确的 PBR maps——这些 proxy maps 经空间池化加投射后被压成一个条件 token \(t_{\text{proxy}} = f_{\text{proj}}(E_\phi(x_s^{\ell_s})) \in \mathbb{R}^{1 \times 768}\) 注入去噪器,提供的是「这块大概是金属、那块偏粗糙」这种暗示,用来约束去噪轨迹,而不是当成精确监督信号。这样既给了扩散模型物理抓手,又把 PBR 标注的需求降到小样本级别。
2. 光照感知掩码预测(Lighting-Aware Mask Prediction):把算力压到真正会变的那一小撮像素上
改一次光,画面里其实只有阴影边界和高光这少数区域会大幅变化,大片漫反射区域基本不动。如果对所有像素一视同仁地优化,敏感区域的细节反而被淹没。作者先从源-目标对的亮度差异导出一张软标签 mask,把对数亮度差和一个鲁棒差异项加权归一化:
但推理时拿不到目标图,所以又训练一个轻量预测器 \(M_\theta = m_\theta(x_s^{\ell_s}, \Delta\ell)\),只凭源图加光照变化就能预判哪里会变(用 BCE + Dice loss 对齐上面的软标签)。预测出的 mask 转成空间权重图 \(W\) 去调制噪声重建损失,等于告诉去噪器「把注意力放在阴影和高光这些光照敏感区」,方向变化下的阴影边界因此更准。
3. 潜在编码器的 DPO 后训练(DPO Post-training):用偏好优化补上稀疏 PBR 监督的窟窿
Proxy 编码器只在小样本上学过 PBR,物理一致性容易飘。作者借了一招 RLHF 里的 DPO:冻住主扩散骨干,单独对 PBR 编码器 \(E_\phi\) 做偏好后训练——把 GT PBR maps 当正样本 \(y_{\text{pos}}\)、编码器当前输出当负样本 \(y_{\text{neg}}\),用一个聚合了 L1/角度/BCE 的物理奖励 \(\Delta r = r(y_{\text{pos}}) - r(y_{\text{neg}})\) 来定义偏好,再用一个冻结的参考编码器提供稳定的似然基准。优化目标把高奖励预测的似然往上推,等于在没有更多标注的情况下,让编码器自己朝「更符合物理」的方向收敛,显著改善了代理的一致性。
损失函数 / 训练策略¶
- 主干在 ScaLight 上全量微调,学习可泛化的光传输先验
- Proxy 分支只做小样本训练,再靠 DPO 后训练补稳定性
- 最终扩散目标用 lighting-aware 的空间加权 \(W\)
- 配套构建 ScaLight 数据集:30 万+ 可控 3D 物体、100 万+ 渲染图像,系统变化光照方向/强度/色温,并附完整相机-灯光元数据
实验关键数据¶
主实验¶
ScaLight 测试集,三类光照变化(色温/方向/强度):
| 方法 | 条件类型 | Temp RMSE↓/PSNR↑ | Pos RMSE↓/PSNR↑ | Energy RMSE↓/PSNR↑ |
|---|---|---|---|---|
| IC-Light | text | 0.397/8.21 | 0.375/8.65 | 0.380/8.63 |
| LBM | image | 0.064/27.8 | 0.084/23.1 | 0.073/25.3 |
| LumiNet | image | 0.172/15.8 | 0.146/17.8 | 0.164/16.2 |
| Ours (full) | Light Info | 0.053/30.2 | 0.074/25.6 | 0.083/27.1 |
场景级(MIIW)评测:
| 方法 | RMSE↓ | SSIM↑ | PSNR↑ |
|---|---|---|---|
| IC-Light | 0.413 | 0.337 | 7.94 |
| LumiNet | 0.139 | 0.904 | 17.20 |
| Ours | 0.167 | 0.655 | 18.30 |
用户偏好研究(N=35):场景级 55.73%,物体级 81.45%。
消融实验¶
| 配置 | Temp RMSE↓ | Pos PSNR↑ | Energy PSNR↑ |
|---|---|---|---|
| w/o proxy | 0.062 | 22.4 | 18.0 |
| w/o mask | 0.073 | 20.5 | 23.2 |
| w/o DPO | 0.114 | 19.8 | 17.5 |
| Full | 0.053 | 25.6 | 27.1 |
关键发现¶
- DPO 后训练对所有光照变化类型的提升最显著(移除后 RMSE 翻倍),是体系中最关键的组件
- Lighting-aware mask 对方向变化特别重要(阴影边界精确性)
- 用户偏好率在物体级达 81.45%,远超 IC-Light(11.45%) 和 LumiNet(4.3%)
亮点与洞察¶
- "中间路线"哲学:不追求完整 intrinsic 分解,也不放弃物理基础,用稀疏物理线索约束扩散
- DPO 引入 PBR 质量优化:将 RLHF 范式引入 intrinsic 估计是新颖的跨领域应用
- ScaLight 大规模数据集:30万物体+系统光照参数变化,填补了可控物体级重光照数据的空白
局限与展望¶
- 场景级性能仍与物体级有差距,复杂全局光传输(长距离阴影投射)是薄弱环节
- 高频几何和强高光区域易被过度平滑,proxy 缺少足够高频约束
- 训练主要在合成数据,真实场景泛化依赖 fine-tuning
相关工作与启发¶
- IC-Light:端到端扩散重光照,在肖像上强但缺物理建模,本文补充了物理先验
- Neural LightRig:密集 G-buffer 管线,本文用小样本 proxy 替代
- LBM:潜空间光照插值,物理基础弱,本文通过 proxy+mask 增强可控性
评分¶
- 新颖性: ★★★★☆ — Latent proxy + DPO post-training 的组合新颖
- 技术深度: ★★★★☆ — 三模块互补设计清晰,消融充分验证各组件贡献
- 实验充分度: ★★★★★ — 合成/真实/用户研究/消融全面,ScaLight 数据集有持久价值
- 实用性: ★★★★☆ — 连续光照控制实用性强,但复杂场景仍需改进