← 返回 2026-09-09

RelightFormer:面向多视角物体重光照的前馈生成式Transformer RelightFormer: Feed-forward Generative Transformer for Multiview Object Relighting

Hejun Wang, Jinxi Li, Junwei Jiang, Shiwei Mao, Hu Cheng, Shouwang Huang, Bo Yang 📅 2026-09-07 👍 12 2026-09-12 18:30
多视角重光照 流匹配扩散模型 生成式Transformer 视频基础模型 重光照数据集

改造视频生成大模型,用交叉注意力注入光照,前馈完成单/多视角物体重光照

前置知识

逆向渲染(Inverse Rendering)与病态性

从一张或多张照片反推场景本征属性——几何形状、材质反射率(BRDF/BSDF)与环境光照的过程。由于渲染是多对一映射,同一张图像可由无数种“几何×材质×光照”组合产生,因此该问题严重病态,传统方法需手工正则化并逐场景优化数小时(如NeRFactor约5小时、PhySG 10–20小时)。

理解本文动机的关键:RelightFormer正是为了绕过这一病态分解步骤,直接学习“输入图像+目标光照→重光照图像”的端到端生成式映射。

渲染方程(Rendering Equation)

Kajiya 1986提出的物理基本方程:出射辐亮度 $L_o(\omega_o)=\int_\Omega f(\omega_i,\omega_o)L_i(\omega_i)(\omega_i\cdot n)\,d\omega_i$,即对半球 $\Omega$ 内所有入射方向的贡献按BSDF $f$ 与余弦项加权积分。它是所有物理渲染与重光照的理论出发点。

本文核心的“光照交叉注意力”模块就是对该方程的离散化类比:注意力权重隐式逼近被积函数 $f(\omega_i,\omega_o)(\omega_i\cdot n)$,对value的加权和对应离散积分。

Rectified Flow / 流匹配

一类生成建模范式:在数据分布与高斯噪声之间构造直线路径 $z_t=(1-t)z_0+t\epsilon$,训练网络预测速度场 $v_\theta(z_t,t)$,生成时通过求解常微分方程 $dz_t/dt=v_\theta$ 把噪声样本搬运到数据分布。轨迹比传统DDPM更直,采样更高效。

RelightFormer的生成骨干Wan2.1即采用Rectified Flow,重光照被表述为求解该ODE,这是读懂论文公式(1)(2)与整个生成流程的前提。

潜在扩散与DiT(Diffusion Transformer)

Latent Diffusion先用VAE把图像压缩到低分辨率潜空间,再用Transformer架构(DiT)在潜空间去噪,兼顾质量与算力。视频DiT将每帧图像patch化为token,通过(时空)自注意力联合建模多帧,因此天然支持把“多视角图像当作多帧”输入。

本文以视频DiT(Wan2.1)为骨干:参考图token与噪声token沿序列维拼接后统一过DiT block,最后一层丢弃参考token、用噪声token预测速度场。

RoPE与置换不变位置编码(PRope)

RoPE通过按token位置旋转query/key来编码顺序,是LLM和视频模型的标准做法;但视频模型的帧序号RoPE会给多视角输入强加虚假的“时序”偏置。置换不变性要求打乱输入顺序不影响输出。PRope把旋转角改为直接从相机配置(投影矩阵+patch坐标)计算,天然与输入顺序无关。

本文用PRope替换Wan2.1的帧序RoPE实现视角置换不变;消融显示去掉该设计sPSNR从23.51暴跌至17.53,是性能的关键来源之一。

Plücker射线坐标

用6维向量 $r=(d,m)^\top$ 表示一条空间射线,$d$ 为单位方向,$m=p\times d$ 为矩($p$ 为射线上一点)。它同时编码了像素对应的光线方向与相机中心的相对位置,是把相机内外参喂给神经网络的标准表示,如 $d=R^\top K^{-1}u,\ m=c\times d$。

本文把每张参考图的每个像素与环境图的每个像素都转为Plücker射线,经SIREN式浅层卷积网络 $\phi$ 嵌入后加到token上,为注意力提供立体几何先验。

环境贴图(Environment Map / HDR全景图)

用等距柱状投影全景图记录周围空间所有方向的入射光辐亮度(HDR,动态范围极大),是表示“无限远全局光照”的标准格式,可直接用于基于图像的照明(IBL)渲染。本文中目标光照 $L\in\mathbb{R}^{3\times H_L\times W_L}$ 即一张环境贴图。

重光照的目标条件就是环境贴图;论文先按 $L_{ldr}=\frac{\log(1+L/M_{ldr})}{\log(1+1/M_{ldr})}$、$L_{log}=\frac{\log(1+L)}{\log(1+M_{log})}$($M_{ldr}=16$、$M_{log}=10000$)做双路色调映射再编码,防止数值爆炸。

GTA(Geometry-Aware Attention)几何感知注意力

Miyato等人提出的多视角Transformer注意力机制:为每个token构造由相机投影矩阵与2D patch坐标导出的变换矩阵 $D\in\mathbb{R}^{T\times d\times d}$,按 $\mathrm{GTA}(Q,K,V)=D\,\mathrm{Attn}(D^\top Q, D^{-1}K, D^{-1}V)$ 运算,使注意力显式感知相机视锥间的相对射影几何,超越只编码2D网格位置的普通RoPE。

RelightFormer的多视角自注意力直接采用GTA,并与PRope的分解 $D_i=D_{Proj_i}\oplus D_{RoPE_i}$(射影分量+旋转分量)结合,是多视角推理能力的架构基础。

研究动机

图像重光照要求在保持几何、反射率与内容不变的前提下改变光照,难点在于光、几何、材质三者的复杂耦合。传统路线是“逆向渲染+物理渲染”:先从图像估计形状、材质、光照,再用渲染方程重渲染,但2D图像到本征属性的映射严重病态——多种几何与材质组合可以产生完全相同的视觉输入,错误的估计在新光照下会被放大成阴影错位、高光丢失等伪影,且逐场景优化极其耗时(基准中优化式方法普遍需要1小时到20小时,如NeRFactor约5小时、PhySG 10–20小时),难以泛化到新物体和镜面等复杂效果。近年来的生成式重光照方法(Neural Gaffer、IllumiNeRF、DiLightNet等)改用扩散模型直接输出重光照图像,绕过了显式分解,但它们基本只处理单张图像、逐视角独立推理,丢掉了多视角对应关系这一理解三维几何与光照交互的关键线索;最新的LightSwitch虽然接受多视角输入,却把多视角信息沿通道维简单拼进UNet扩散模型,缺乏将全局环境光照与空间图像特征深度对齐的机制,导致重光照质量受限。

本文的目标是本文要构建一个前馈式生成Transformer(RelightFormer):给定1到32张任意视角的物体图像(含相机内外参)和一张代表目标光照的HDR环境贴图,直接合成新光照下的图像,完全绕过显式的本征属性估计。模型需要满足几个具体目标:一是视角数量灵活,训练时每个迭代随机采样1–16张参考图,测试时可扩展到16视角乃至32视角输入,且性能随视角数单调提升;二是对输入视角顺序置换不变,因为多视角图像是无序集合而非视频帧序列;三是在单视角重光照、多视角重光照、真实数据零样本泛化和新视角重光照等任务上都达到或接近SOTA;四是为支撑这种数据驱动的路线,构建一个大规模、完全开源的多视角重光照数据集,打破现有数据集要么规模小、要么不公开的僵局。

与已有工作不同的是,本文的独特切入是把“多视角重光照”当成一个多视角条件下的视频生成问题,直接改造视频基础模型Wan2.1。与LightSwitch等在UNet里做通道拼接不同,作者从物理出发找到了架构对应:渲染方程是对入射光照的加权积分 $\int_\Omega f(\omega_i,\omega_o)L_i(\omega_i)(\omega_i\cdot n)d\omega_i$,而cross-attention恰好就是对value的加权求和,于是设计了“潜在光照模块”——环境贴图token作为key/value、图像token作为query,让注意力权重隐式学习BSDF×余弦项的被积函数。另一个被忽视的细节是:视频模型固有的帧序号位置编码会给无序多视角输入引入顺序偏置,本文用基于相机几何的PRope彻底消除之。数据侧的空白同样明显:已有的多视角重光照数据要么只有4个物体(TensoIR)、要么因商业授权不公开(LightSwitch约10万物体、relitObjaverse 9万物体),本文据此构建首个完全开源的9万物体级数据集LOD。

核心方法

直觉上,与其先病态地猜几何材质再物理渲染,不如让一个见过90万+张多视角重光照样本的生成大模型直接“想象”新光照下的样子,多视角参照让它足够准。技术路线上,模型建立在Wan2.1(基于Rectified Flow的潜在视频扩散Transformer)之上。输入为 $N$ 张参考图 $I^0_i\in\mathbb{R}^{3\times H\times W}$(已知外参 $T_i$、内参 $K_i$)、目标环境贴图 $L$,以及一个与目标潜变量同形状的标准高斯噪声。三路输入各自过冻结的VAE编码器 $\mathcal{E}$ 进入潜空间;环境贴图先做对数与LDR双路色调映射防止HDR数值过大;所有模态配上Plücker射线嵌入(轻量SIREN式卷积网络 $\phi$ 投影成1536维后逐元素相加)再patchify成token;噪声token与参考图token沿序列维拼接为 $x^t_{image}=[x_{ref},x^t_{noise}]\in\mathbb{R}^{2S\times C}$。随后每个DiT block中,多视角自注意力(GTA)负责视角内与跨视角特征聚合,光照交叉注意力把光照token注入图像特征,两支输出逐元素相加后过FFN。最后一层丢弃参考token,用噪声token预测流匹配速度场 $v_\theta(z^t,t)$,推理时通过ODE积分从噪声生成重光照图像。

核心创新是“潜在光照模块”,其设计有明确的物理对应:渲染方程 $L_o(\omega_o)=\int_\Omega f(\omega_i,\omega_o)L_i(\omega_i)(\omega_i\cdot n)d\omega_i$ 与交叉注意力输出 $o_i=\sum_j \mathrm{softmax}(q_i^\top k_j/\sqrt{d})v_j$ 结构同构——query来自目标图像的空间位置特征(相当于出射方向 $\omega_o$ 一侧),key/value来自经射线嵌入的入射光照token(相当于入射方向 $\omega_i$ 一侧),于是注意力权重隐式逼近被积函数 $f(\omega_i,\omega_o)(\omega_i\cdot n)$,逐位置动态决定每个入射光方向对当前表面点外观的贡献。这与Neural Gaffer、LightSwitch把环境图当普通条件做通道拼接有本质区别:通道拼接隐含“全景图像素与局部图像patch空间对齐”的假设,而球面光照域与图像坐标域根本不同,特征对齐必然受阻;交叉注意力则让每个空间位置按需检索相关光照。第二个创新是置换不变多视角编码:把Wan2.1继承的帧序号RoPE替换为PRope,旋转角完全由相机配置计算,并把每个token的变换矩阵分解为射影分量 $D_{Proj_i}=I_{d/8}\otimes\tilde{P}_i$ 与旋转分量 $D_{RoPE_i}$,保证任意视角顺序下结果一致。

方法步骤详情

第一步,数据构建(LOD数据集):从Objaverse按Neural Gaffer的筛选标准选出90,545个高质量物体;光照取Laval Indoor/Outdoor HDR数据集并对每张环境图做均匀水平旋转16倍增广,共得39,008个独特光照;每个物体随机采样16张环境图(8室内+8室外),用Cycles渲染16个训练视角和200个验证/测试视角;物体归一化到单位包围盒,相机均匀分布在距离1.8或2.2的球面上;物体、光照、相机三方严格按8:1:1切分防数据泄漏。第二步,token化:参考图与色调映射后的目标环境贴图过冻结VAE得潜码;按Plücker参数化(普通像素 $d=R^\top K^{-1}u, m=c\times d$;环境图像素 $m=0$)计算射线,经3层SIREN卷积(输出1536维)投影后逐元素加到潜特征;patchify得到图像token $x_{ref}$、噪声token $x^t_{noise}$、光照token $x_{illum}$。第三步,去噪主干:每个DiT block先做GTA多视角自注意力 $\mathrm{GTA}(x^t_{image})$,再做光照交叉注意力 $\mathrm{CrossAttn}(x^t_{image};x_{illum})$,两支逐元素相加后过FFN;重复若干层后丢弃 $x_{ref}$,由更新的噪声token预测速度场。第四步,训练与推理:256×256分辨率,每迭代随机采1–16张参考图训练同一个模型,全局batch 128、初始学习率 $10^{-4}$ 余弦退火、80K步、4块NVIDIA H200;推理时给定任意数量参考图+环境图,采样噪声后数值积分ODE即得重光照结果。

技术新颖性

新颖性体现在四个层面。其一,首次把视频基础模型(Wan2.1)改造成多视角物体重光照引擎,并系统性消除其时序归纳偏置:用PRope替换帧序号RoPE、对称地对所有参考图采用第一帧编码路径(避免Wan2.1为视频压缩设计的首帧/后续帧不对称编码),这在多视角生成文献中少有被认真处理。其二,光照注入机制具备物理可解释性——交叉注意力作为渲染积分的离散化近似,而不是单纯“架构试出来的”,消融证明其相对通道拼接带来PSNR约0.85dB提升(20.95 vs 20.10),且基线LightSwitch在单视角模糊场景下的退化反衬了这一机制的鲁棒性。其三,几何编码精细:GTA与PRope的射影分解 $D_i=D_{Proj_i}\oplus D_{RoPE_i}$ 把相机视锥间的相对射影几何显式写入注意力,配合Plücker射线嵌入构成完整的立体先验。其四,单模型通吃1–32视角输入:训练时从[1,16]均匀采样视角数,测试可外推到32视角,消融显示固定单视角训练在32视角评测下sPSNR仅16.07,而灵活采样达23.51;这使“加视角就能涨点”成为可能。此外,LOD是首个完全开源的大规模多视角重光照数据集,与LightSwitch(约10万物体但数据不公开)形成鲜明对比。

Architecture of RelightFormer. Input modalities (noise, reference images, and an environment map) are first patchified into token sequences, with ray embeddings added to encode stereo geometric priors...
Fig. 2: Architecture of RelightFormer. Input modalities (noise, reference images, and an environment map) are first patchified into token sequences, with ray embeddings added to encode stereo geometric priors...

实验结果

在自建LOD测试集上(每子任务7,248个测试对=453物体×16光照组合,前景mask评测):单视角重光照sPSNR/PSNR/SSIM/LPIPS=23.80/21.16/0.894/0.112,全面超过DiLightNet(17.83/15.95/0.777/0.232)、原版Neural Gaffer(20.79/17.78)、在本文数据上微调过的Neural Gaffer(22.27/20.25/0.883/0.095,其LPIPS略优)、LightSwitch(18.63/16.56)与Reli3D(18.52/15.54);值得注意的是LightSwitch和Reli3D在单视角设定下因几何歧义而明显退化,而本文模型靠大规模训练先验保持稳健。16视角设定升至24.83/22.62/0.905/0.084,32视角达25.07/22.83/0.906/0.080,性能随视角数单调提升,反观单图方法多视角几乎无增益(如Neural Gaffer三个设定PSNR均在17.8左右徘徊)。分布外泛化:TensoIR数据集零样本16视角重光照取得19.74/17.64/0.904/0.100,为所有对比方法最优。真实世界OLATverse(42物体)零样本:环境图重光照20.48/17.23/0.964/0.047;更具挑战的旋转点光设定(强视角相关高光与阴影)取得31.16/29.39/0.826/0.209,PSNR与SSIM全场最佳,sPSNR与LPIPS略逊于Neural Gaffer,说明快速变化的镜面高光仍是短板。材质分层评测(Table 3)显示本文在绝大多数材质上最优,包括glossy(PSNR/sPSNR 17.40/19.91)、translucent(13.61/18.51)、furry(14.28/17.75),仅plastic与stone的PSNR低于微调版Neural Gaffer(15.42 vs 15.27、15.18 vs 15.06)。新视角重光照:经20K步后训练的RelightFormer-Post在Stanford-ORB上取得PSNR-H/L=20.99/26.84、SSIM 0.952、LPIPS 0.061,略胜使用真值三维形状的Reli3D(20.26/25.13/0.943/0.077),两者推理都约2分钟;优化式方法Neural-PBIR质量更高(26.01/33.26)但需约1小时;3DGS+RelightFormer约10分钟达23.25/30.12/0.967/0.038,提供了中间档的质量—效率折中。消融实验(2,989物体子集,Table 5):光照通道拼接版sPSNR/PSNR=23.27/20.10(本文交叉注意力23.51/20.95);固定单视角训练在32视角评测下暴跌至16.07/14.87;1–8视角采样为22.91/20.17;去掉置换不变性跌至17.53/15.98/0.797/0.269——置换不变设计贡献了约6dB的sPSNR,是消融中最关键的组件。

Quantitative results of image relighting on our dataset under different input view settings.
Table 1: Quantitative results of image relighting on our dataset under different input view settings.
Zero-shot evaluation on the real-world OLATverse dataset under environment-map relighting and rotating point-light relighting.
Table 2: Zero-shot evaluation on the real-world OLATverse dataset under environment-map relighting and rotating point-light relighting.
Material-stratified masked PSNR/sPSNR results on the real-world OLATverse dataset.
Table 3: Material-stratified masked PSNR/sPSNR results on the real-world OLATverse dataset.
Quantitative comparison on Stanford-ORB benchmark.
Table 4: Quantitative comparison on Stanford-ORB benchmark.
Quantitative results of ablation experiments.
Table 5: Quantitative results of ablation experiments.
Architectural details of the RaysEmbedding module. The output dimention is 1536 to match the setting of the Transformer.
Table 6: Architectural details of the RaysEmbedding module. The output dimention is 1536 to match the setting of the Transformer.
Comparison of our Laval Objaverse Dataset (LOD) and others.
Table 7: Comparison of our Laval Objaverse Dataset (LOD) and others.
Material-stratified quantitative results on the real-world OLATverse dataset. We report sPSNR, PSNR, SSIM, and LPIPS.
Table 8: Material-stratified quantitative results on the real-world OLATverse dataset. We report sPSNR, PSNR, SSIM, and LPIPS.
Quantitative results for 16 images relighting on TensoIR dataset.
Table 9: Quantitative results for 16 images relighting on TensoIR dataset.
Qualitative results for multi-view image relighting in real-world OLATverse Dataset.
Fig. 3: Qualitative results for multi-view image relighting in real-world OLATverse Dataset.
Qualitative results of the ablation experiments.
Fig. 4: Qualitative results of the ablation experiments.
Qualitative results for single image relighting.
Fig. 5: Qualitative results for single image relighting.
More qualitative results for multi-view image relighting.
Fig. 6: More qualitative results for multi-view image relighting.
More qualitative results for multi-view image relighting on Laval Objaverse dataset.
Fig. 7: More qualitative results for multi-view image relighting on Laval Objaverse dataset.
查看结构化数据
任务指标本文基线提升
单视角重光照(LOD测试集,7248对) sPSNR (dB) 23.80 微调版Neural Gaffer 22.27 +1.53 dB
16视角重光照(LOD测试集) PSNR (dB) 22.62 微调版Neural Gaffer 20.26 +2.36 dB
32视角重光照(LOD测试集) PSNR (dB) 22.83 微调版Neural Gaffer 20.26 +2.57 dB
TensoIR零样本16视角重光照(分布外) sPSNR (dB) 19.74 Reli3D 19.51 +0.23 dB(四项指标全面领先)
OLATverse零样本环境图重光照(42真实物体) PSNR (dB) 17.23 微调版Neural Gaffer 16.64 +0.59 dB
OLATverse零样本旋转点光重光照 PSNR (dB) 29.39 DiLightNet 22.83 +6.56 dB(PSNR/SSIM最佳)
Stanford-ORB新视角重光照(RelightFormer-Post) PSNR-H (dB) 20.99 Reli3D 20.26(同为约2分钟前馈推理) +0.73 dB
消融:置换不变位置编码(32视角评测) sPSNR (dB) 23.51 去掉PRope 17.53 +5.98 dB
消融:光照注入方式(32视角评测) PSNR (dB) 20.95(交叉注意力) 通道拼接 20.10 +0.85 dB

局限与改进

作者明确承认的局限有三:其一,模型主要面向“输入视角重光照”设计,真正的新视角重光照需要额外的后训练阶段(RelightFormer-Post,20K步)或先用3DGS重建再套用原模型,纯前馈的新视角合成能力不足;其二,在旋转点光这种光照快速变化、强视角相关的设定下,感知指标LPIPS(0.209)明显逊于Neural Gaffer(0.040),说明瞬时镜面高光的细节保真度仍不够;其三,图像式重光照本质病态,在plastic、stone等材质上PSNR低于微调版Neural Gaffer,说明模型有时会“编造”几何或材质先验。我自己的观察补充几点:训练与评测分辨率仅256×256,距离SIGGRAPH级产品应用的高分辨率需求有差距;训练数据全部是Cycles渲染的Objaverse合成资产,真实域只能靠零样本泛化(点光设定下SSIM降到0.826也侧面反映域差);方法要求精确的相机内外参(PRope与射线嵌入都依赖),对随手拍摄的多图并不友好;扩散ODE多步采样也比单步前馈回归慢;此外渲染设置将物体居中、单位化并置于球面相机阵列下,回避了含复杂互反射和地面阴影的场景级光照。

独立分析的弱点

独立分析几点弱点。第一,多视角时间一致性缺乏专门保障:虽然所有视角联合去噪,但论文未报告跨视角一致性指标,若把重光照结果连成旋转动画,可能出现高频细节闪烁,改进方向是显式加入跨视角一致性损失或后处理时域滤波。第二,光照token序列长度 $S_{illum}$ 随环境图分辨率线性增长,还要与最多 $2S$ 长度的图像token做全局注意力,高分辨率下计算开销会迅速失控,可考虑把环境图压缩成低频基函数token(如球谐/Spherical Gaussian基)或分层注意力。第三,对相机参数的强依赖:PRope需要归一化投影矩阵、射线嵌入需要精确内外参,实际用户的手机照片必须先跑SfM且误差会直接传入几何编码,可通过位姿扰动训练或改用相对位姿编码提升鲁棒性。第四,光照条件是“整张环境图一换全换”的全局控制,缺少局部光照编辑能力(比如只移动一盏灯、只调某方向强度),可以扩展为空间mask化的光照控制。第五,评测全部在前景mask内进行,地面接触阴影、背景溢光等真实应用最关心的效果没有被量化评估。第六,对歧义材质(透明、镜面)模型倾向于用先验“脑补”,结果视觉可信但物理未必正确,可引入不确定性估计或输出多假设供用户选择。

未来方向

作者在结论中提出两个方向:把框架扩展到复杂场景级重光照(当前限于物体级、居中设置),以及利用视频基础模型的天然优势做动态视频重光照。基于本文成果还能自然延伸:其一,联合训练新视角合成与重光照,让单模型同时插值视角和光照,消除对RelightFormer-Post后训练或外部3DGS重建的依赖;其二,在流匹配训练中引入物理正则(能量守恒、光传输一致性)作为反馈信号,缓解镜面/透明材质的“编造”问题;其三,论文提到潜空间公式可自然容纳文本等额外条件模态,可探索“文本+环境图”的组合控制;其四,构建光照估计→光照编辑的闭环,先反推输入图的光照再让用户增量修改,把“替换式”重光照升级为“编辑式”;其五,用级联/多分辨率流匹配冲击高分辨率,并用OLATverse(765真实物体)等真实采集数据做域适应微调;其六,落地场景很明确:电商产品图打光、AR虚拟物体与现实光照融合、游戏资产的快速PBR代理生成。

复现评估

复现条件总体友好但主训练成本不低。代码与数据均承诺完全开源(github.com/vLAR-group/RelightFormer),这是本文的显著优势:LOD数据集完全由开源资产构成(Objaverse物体+Laval室内/室外HDR光照+Cycles渲染),附录B还给出了完整的渲染协议(物体归一化、相机球面距离1.8/2.2、8:1:1严格切分),而对比对象中LightSwitch、relitObjaverse、ROGR的数据均因商业授权不公开,LOD将成为社区唯一的大规模开源多视角重光照基准。算力方面,完整训练需要4块NVIDIA H200、80K步、全局batch 128、256²分辨率,估计需要数十GPU天的投入;对资源有限的团队,附录D提供了消融级配置(2,989物体子集、lr $10^{-4}$ 余弦退火),可在8×RTX3090级别的设备上复现主要结论(论文微调Neural Gaffer基线也只用了8×3090、20K步)。评测协议严谨且易复现:固定随机种子、每子任务7,248个固定测试对、sPSNR最小二乘对齐消除曝光偏差、所有基线在同一测试对上评估,对照表格即可逐步核对。总体判断:数据与代码可得性高、评测可复现性强、完整训练成本中高,复现难度中等偏上。