Realiz3D:通过域感知学习让 3D 生成走向照片级真实 Realiz3D: 3D Generation Made Photorealistic via Domain-Aware Learning
用域迁移适配器把视觉域(真实/合成)与控制信号解耦,让扩散模型在合成 3D 数据上学到 3D 一致性,同时保住真实感。
前置知识
扩散模型(Diffusion Models)
通过逐步去噪从高斯噪声生成数据的生成模型。前向过程逐步向真实数据加噪直至接近标准高斯 $\mathcal{N}(0, I)$,反向过程学习一个去噪网络 $\epsilon_\theta(z_t, t, c)$ 把噪声还原为图像。训练目标是最小化噪声预测误差 $\mathcal{L} = \mathbb{E}_{z, \epsilon, t}[\|\epsilon - \epsilon_\theta(z_t, t, c)\|_2^2]$。
Realiz3D 建立在 DiT 扩散 Transformer 之上,必须理解 timestep 调度和特征层级才能看懂它对'早层/晚层'、'早 timestep/晚 timestep'的差异化处理。
扩散 Transformer(DiT)
用 Transformer 块(自注意力 + MLP)替代传统 UNet 作为去噪骨干的扩散模型。Peebles & Xie 2023 提出的架构是 Stable Diffusion 3、Flux 等现代模型的底座。DiT 中共有 $N_B$ 个同构块沿深度堆叠,每个块输出的特征图对应不同抽象层级。
Realiz3D 的 Domain Shifter 作为低秩残差注入到 DiT 块中,'冻结前 i 个块'、'早层 vs 晚层'等操作都依赖 DiT 的层级结构。
LoRA(Low-Rank Adaptation)
在冻结的预训练权重旁并联两个低秩矩阵 $W_\text{left} \in \mathbb{R}^{d \times r}$、$W_\text{right} \in \mathbb{R}^{r \times d}$($r \ll d$),仅训练这两个小矩阵来适应下游任务。原始权重 $W_0$ 保持不变,残差为 $\Delta W = W_\text{left} W_\text{right}$。
Domain Shifter 借鉴了 LoRA 思想,是低秩残差形式的轻量适配器。理解 LoRA 就能看懂它如何在不破坏预训练先验的前提下注入域信息。
控制信号(Control Signal)与 ControlNet
ControlNet 通过把额外的条件(法线图、深度图、姿态等)编码后注入扩散模型的中间特征,使生成结果符合几何/结构约束。控制信号通常以 VAE 编码后的潜空间特征或通道拼接形式加入噪声潜变量。
Realiz3D 解决的核心问题就是:在向扩散模型注入法线/位置/相机位姿等 3D 控制信号时,如何不丢失真实感。
域间隙(Domain Gap)
当训练数据与目标数据分布不一致时模型性能下降的现象。在 3D 纹理生成中,预训练在真实图像上的 T2I 模型需用 3D 资产渲染的合成图微调,但合成图(无 PBR 真实感、缺少高频细节、均匀光照)与真实图存在显著分布差异。
Realiz3D 整篇文章在解决'控制信号泄漏域身份'这一具体形态的域间隙问题。
研究动机
当前 3D 内容生成的常用做法是先在大规模真实图像上预训练扩散模型,再用 3D 资产渲染的合成图(带有法线、深度、相机位姿等真值标注)微调以获得 3D 控制能力。这种做法面临严重的域间隙问题:合成图普遍光照均匀、纹理偏卡通、缺少真实照片的高频细节和复杂材质表现,模型在拟合控制信号的同时会'灾难性遗忘'真实感。在文本生成多视角(Text-to-Multiview)任务中,论文定量展示了这种权衡——例如在多视角纹理生成(Tab. 1)上,全微调仅用合成数据(Syn Only)时真实世界 FID $I$(FIDI)高达 218.29、KIDI 0.0431,CLIP 分数也偏低;而混入真实数据微调(Syn+Real)虽然把 FIDI 降到 214.84,仍显著高于作者目标的 200 量级。在 2×2 视角网格上,这种权衡更加突出——控制信号出现时图像就偏向'塑料感',关闭控制信号时又退回为不可控的普通图像。作者敏锐地指出根本原因:模型把'控制信号是否存在'与'合成视觉外观'错误地关联起来,即控制信号泄漏了域身份。
本文的目标是本文提出 Realiz3D 框架,目标是构建一个既能严格遵循 3D 控制信号(法线图、位置图、相机位姿)又保留预训练扩散模型照片级真实感的微调方案。具体而言,要让模型在'看到控制信号 $c \neq \emptyset$'时仍处于'真实视觉域'中工作——即用真实域外观生成受几何约束的多视角图像,使多视角纹理(Texturing)和文本生成多视角(Text-to-Multiview)两个任务都达到既逼真又 3D 一致。
与已有工作不同的是,现有缓解域间隙的策略各有不足:全参数微调(Full Fine-Tuning)容易过拟合到合成域;LoRA 适配器虽能保留先验,但容量不足以学到 3D 控制;AnimateDiff [12] 的域适配器是为视频域(低分辨率、噪声大)设计,不适用于真实-合成这种更细粒度的视觉域差异;Wonder3D [22] 的域切换器需要配对的法线+RGB 数据且改动主条件机制;Still-Moving [4] 的 Spatial Adapter 同样依赖配对数据。本文切入角度独特:用一个低秩残差模块(Domain Shifter)显式建模'real vs synthetic'作为协变量,把视觉域与控制信号完全解耦——先在无控制信号下学会区分两个域(Stage 1),再在有控制信号时强制在真实域下生成(Stage 2),并通过'早层/晚层'与'早 timestep/晚 timestep'的差异化处理实现控制能力从合成域到真实域的迁移。
核心方法
Realiz3D 的整体思路是'先分离、后绑定'。直觉上,合成 3D 渲染图和真实照片虽然整体外观不同,但它们的'低频结构'(物体轮廓、空间布局)非常相似,而'高频细节'(皮肤毛孔、毛发、材质反光)才呈现真实/合成的本质差异。基于此,方法设计成两阶段:第一阶段冻结扩散骨干,只训练 Domain Shifter——一个低秩残差适配器,让模型在'无控制信号'条件下学会区分真实域和合成域,相当于把两种视觉外观编码到潜空间的一个可切换旋钮上;第二阶段冻结 Domain Shifter,微调扩散骨干以学习控制信号,同时通过'Representation Binding'(表征绑定)策略——Layer-Aware Training(分层感知训练)+ Domain Reassignment(域重分配)——把合成域学到的控制能力'嫁接'到真实域。Layer-Aware Training 利用了'早 DiT 块编码域无关的低频结构、晚 DiT 块编码域相关的高频细节'这一观察,训练时让真实样本只更新晚块以保留真实感;Domain Reassignment 则在部分早块上把真实样本的处理强行切到合成域,让这些早块学会承载'控制信号无关域'的结构表征。推理时,固定 $e_\text{domain} = e_\text{real}$ 提供控制信号即可得到既真实又 3D 一致的结果,并可通过 Inference-time Domain Shifting 在'控制强度 vs 真实感'之间做无成本的细调。
Realiz3D 的核心创新是把'视觉域'和'控制信号'当作两个独立的协变量来处理,与现有方法的本质区别有三:其一,Domain Shifter 设计为低秩残差 $\tilde{X} = X + W_\text{left} W_\text{right} e_\text{domain}$(rank $r=8$),只调制激活而不修改主条件机制和已有时间步嵌入——这与 Wonder3D 把 1D 域向量拼接到 timestep 嵌入的做法不同,也与 AnimateDiff 把域适配器用于视频域迁移的范式不同;其二,引入'分层 + 域重分配'的不对称训练机制,只让真实样本更新晚块,且在早块上强制按合成域处理——这种非对称设计比 AnimateDiff 的'先学视频域、冻结适配器再学'更精细地利用了层级偏置;其三,推理时支持'按层/按 timestep 混合域'(如前 30% 块用合成域、$t \geq 950$ 用合成域),允许用户在控制强度和真实感之间细调而无需重训。
方法步骤详情
方法分两阶段执行,每阶段输入输出和操作都很明确。Stage 1(Decoupling Domain from Control):输入是混合数据集——合成的 120K 3D 资产(每个渲染 $V=4$ 视角,带法线和位置图)和由基础 T2I 模型以同样 prompt 在白底上生成的等量真实图像;操作时冻结整个 DiT 骨干,每个 DiT 块旁添加一个共享的 Domain Shifter(参数 $W_\text{left}, W_\text{right} \in \mathbb{R}^{d \times 8}$,域嵌入 $e_\text{real}, e_\text{syn} \in \mathbb{R}^d$),仅在控制信号 $c = \emptyset$ 条件下用标准扩散损失 $\mathcal{L} = \mathbb{E}_{z, \epsilon, t}[\|\epsilon - \epsilon_\theta(z_t, t, c=\emptyset, e_\text{domain})\|_2^2]$ 训练 3 个 epoch;输出是能区分两个视觉域但不影响控制信号的 Domain Shifter。Stage 2(Fine-tuning with Representation Binding):冻结 Domain Shifter,对 DiT 骨干进行 10 epoch 微调;合成数据(带法线/位置/视角条件)按常规 $\mathcal{L} = \mathbb{E}_{z, \epsilon, t}[\|\epsilon - \epsilon_\theta(z_t, t, c, e_\text{syn})\|_2^2]$ 全块更新;真实数据($c=\emptyset$)以 $\mathcal{L} = \mathbb{E}_{z, \epsilon, t}[\|\epsilon - \epsilon_\theta(z_t, t, c=\emptyset, e_\text{real})\|_2^2]$ 更新且采用'Layer-Aware'——每步从 $\mathcal{U}[0, 0.4 N_B]$ 随机采样一个整数 $i$,冻结块 $B \in [0, i]$,并以概率 $p_B=0.1$ 把早块($B \in [0, j]$,$j$ 同样从 $\mathcal{U}[0, 0.4 N_B]$ 采样)的域嵌入替换为 $e_\text{syn}$。推理时设 $e_\text{domain} = e_\text{real}$ 提供 $c \neq \emptyset$ 得到真实可控结果;如需强化控制,可选 Inference-time Domain Shifting:对所有 $t \geq 950$ 或前 30% 块的 DS 切换为 $e_\text{syn}$。
技术新颖性
技术新颖性体现在三方面。一是 Domain Shifter 的轻量与原位性:相比 Wonder3D 改动 timestep 嵌入、AnimateDiff 添加大段适配器,Realiz3D 的低秩残差($r=8$)只作为加性偏置注入到 DiT 块中,对原模型结构和已学表征干扰极小——这与 Rebuffi 等人 [29] 关于'残差适配器能保留预训练分布'的观察一致。二是将'早块编码域无关结构'这一本来只在图像编辑/特征可视化领域被观察到的性质(参考 Tumanyan、Geyer 等 [38])系统性地转化为训练时的非对称约束,用 Layer-Aware Training + Domain Reassignment 实现了'在共享结构空间里对齐两个域'的效果。三是首次把'域协变量解耦'显式拆为两阶段——Stage 1 学域身份、Stage 2 学控制——避免了 AnimateDiff 那种'jointly 训域适配器 + 主体'会出现的双模式坍缩问题(论文 Tab. 2 的 (1) 行展示 joint 训练 FIDI 高达 216.63,明显劣于两阶段的 198.44)。整个方法全程只使用标准扩散损失,无对抗损失、无额外正则化,工程简洁度也是亮点。
实验结果
核心发现一:Realiz3D 在真实感指标上大幅领先所有基线,同时 3D 一致性仅略低于纯合成微调。在多视角纹理任务(Tab. 1)上,Ours 的 FIDI=200.24、KIDI=0.0291,相比 Syn+Real 基线(FIDI=214.84、KIDI=0.0411)分别下降 6.8% 和 29.2%,相比纯 Syn Only 基线(FIDI=218.29)下降 8.3%;Prior Preservation(FIDB/KIDB)从 164.37/0.0226 降到 141.90/0.0121,提升 13.6% 和 46.5%。3D 一致性指标 PSNR/SSIM/LPIPS 为 24.78/0.9153/0.0865,相比 Syn Only 的 25.76/0.9269/0.0831 略低(PSNR 差 0.98、SSIM 差 0.012),但显著优于 LoRA(PSNR 21.88)和 SDEdit(PSNR 22.21),且在所有'用真实数据训练'的方法中 Realiz3D 的 PSNR 最高。在文本生成多视角任务(Tab. 3)上,Ours 的 FIDI=196.01、KIDI=0.0171、FIDB=122.01、KIDB=0.0056,全部为最佳;PSNR 19.02 略低于 Syn Only 的 19.66 但优于 LoRA(17.54)、Spatial Adapter(18.48)和 Domain Switcher 2-Stage(18.56);相比预训练模型 TRELLIS-large(FIDI=224.22、CLIP=0.2495),Realiz3D 在 CLIP 上达到 0.2643,显著领先。核心发现二:消融研究(Tab. 2)逐项验证了各组件的贡献——(1) joint 训练 FIDI=216.63 差于 (3) 两阶段训练的 198.44,证明两阶段策略的必要性;(2) Stage 2 不用真实数据时 FIDI=212.86,比 (3) 的 198.44 差 7.3%,证明 Representation Binding 中真实数据回放的价值;(7) 加入 Layer-Aware Training 把 PSNR 从 24.18 提升到 24.52、SSIM 从 0.9125 提升到 0.9141、FIDI 仅升 0.68,证明它在不严重损害真实感的前提下显著增强控制;(8) 完整模型(含 Inference-time Sampling)PSNR 进一步升到 24.78、FIDI 200.24,达到控制-真实感最佳平衡。核心发现三:定性结果(Fig. 1、Fig. 3、Fig. 4)显示 Realiz3D 在 'a man with dark short beard'、'standing red pepper'、'cute corgi dog'、'rhino with thick gray skin' 等场景下,材质(毛发、胡须、辣椒表皮光感)和光照一致性明显优于全微调基线和 LoRA,且多视角之间的几何对齐保持良好。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 多视角纹理生成(Multiview Texturing) | FIDI (Real-World Realism FID, ↓) | 200.24 | Syn Only 全微调 218.29;Syn+Real 全微调 214.84;Ours 完整模型 | 相对 Syn Only 降低 18.05(-8.3%),相对 Syn+Real 降低 14.60(-6.8%),所有方法中最佳 |
| 多视角纹理生成 | KIDI (↓) | 0.0291 | Syn Only 0.0431;Syn+Real 0.0411 | 相对 Syn+Real 降低 0.0120(-29.2%) |
| 多视角纹理生成 | PSNR (3D 一致性, ↑) | 24.78 | Syn Only 25.76(最优基线);LoRA rank32 21.88;SDEdit 22.21 | 略低于纯合成基线 0.98 dB,但优于所有用真实数据训练的方法,3D 一致性基本保留 |
| 多视角纹理生成 | FIDB (Prior Preservation, ↓) | 141.90 | Syn+Real 164.37;Domain Switcher Joint 145.48 | 比 Syn+Real 降低 22.47(-13.6%),保留真实先验最有效 |
| 文本生成多视角(Text-to-Multiview) | FIDI (↓) | 196.01 | TRELLIS-large 224.22;Syn+Real 全微调 214.72;SDEdit 199.67 | 比 TRELLIS 降低 28.21(-12.6%),比 SDEdit 降低 3.66(-1.8%),所有方法中最佳 |
| 文本生成多视角 | KIDB (↓) | 0.0056 | Syn+Real 0.0192;Domain Switcher Joint 0.0061;TRELLIS 0.0275 | 为所有方法最低,比 TRELLIS 降低 0.0219(-79.6%) |
| 文本生成多视角 | CLIP Score (Text-Image Alignment, ↑) | 0.2643 | TRELLIS 0.2495;SDEdit 0.2609;Syn Only 0.2541 | 比 TRELLIS 高 0.0148(+5.9%),在所有基线中最高 |
| 文本生成多视角 | PSNR (↑) | 19.02 | Syn Only 19.66;Domain Adapter 19.27 | 略低于 Syn Only 0.64 dB,但在使用真实数据训练的方法中接近最优 |
局限与改进
作者承认的局限主要有三:其一,3D 一致性仍小幅低于纯合成基线(PSNR 差 0.64–0.98 dB),原因是 3D 一致性对细节极其敏感——合成数据纹理平滑、细节少,纯合成模型容易蒙混过关;Realiz3D 输出的细粒度细节(毛发、胡须、复杂材质)对像素级错位更敏感,PSNR 自然下降。其二,域间隙有时会表现为几何失真而非外观失真,导致模型为'显得真实'而稍微偏离法线约束。其三,基础 T2I 模型的'光照偏置'会导致多视角之间的光照不一致(Fig. 14 展示了汉堡纹理在前右偏亮、后左偏暗的现象),作者提出引入'随机光照'合成域或采用 relighting 方法 [3, 18, 20] 是有希望的解决方向。我自己的观察还有:方法目前只在'域无关的控制信号'(几何/文本)下验证,对图像类条件(image-to-image)的直接适用性有限;两阶段训练增加工程复杂度,Stage 1 的 DS 训练虽仅 3 epoch 但需要合成+真实两套数据准备;Inference-time Domain Shifting 引入 $B_\text{max}$ 和 $t_\text{max}$ 两个超参,虽然论文报告用 20 个 held-out 对象做一次不到一小时的 tuning,但本质上仍是人工阈值选择,没有自适应的物理解释。
独立分析的弱点
独立分析的几个具体弱点及其改进方向。第一,'控制信号泄漏域身份'的对症方案虽然巧妙,但 Stage 1 仍依赖一个隐含假设:基础 T2I 模型已经同时见过'real 真实域'和'通过 prompt 可以生成的物体居中、白底'两类风格。论文在真实数据集构造时确实为 prompt 附加了'白底'约束,但这种风格匹配仍不够鲁棒——如果用户想要复杂背景下的多视角生成,'真实域'和'合成域'的边界会更模糊。改进方向:可考虑在 Stage 1 引入'风格'作为额外协变量,或在真实数据上引入数据增强扩展真实域的多样性。第二,Layer-Aware Training 冻结了随机数 $i \in [0, 0.4 N_B]$ 个早块,但 0.4 这个比例是基于经验选择——对不同 DiT 骨干(DiT-S/B/L/XL)应当不同,且对不同任务(纹理 vs 多视角)最优比例可能也不同。改进方向:可设计一个轻量级预测器,根据样本统计动态决定冻结范围,或采用课程学习从冻结 50% 块逐渐放宽到 20%。第三,Inference-time Domain Shifting 用 $B_\text{max}=30%$ 块和 $t_\text{max}=950$ 切换到合成域,这种'前向重赋值'是手调的硬阈值,会在 $B = B_\text{max}$ 处产生不连续的表征切换,可能在某些样本上引入可见的'拼接缝'。改进方向:可用 softmax 加权或注意力门控让早块在 $e_\text{real}$ 和 $e_\text{syn}$ 之间平滑插值,构造一个连续可微的'控制强度'旋钮。第四,'随机早块切换为合成域'的 Domain Reassignment 概率 $p_B=0.1$ 较低,这意味着大部分真实样本仍按真实域处理、合成结构表征可能学得不够充分;论文没有给出 $p_B$ 消融,存在调优空间。第五,方法依赖一个相对干净的法线/位置/视角监督,对低质量 3D 资产(如 Objaverse 中含有瑕疵的法线)会很敏感,这限制了在更广 3D 资源上的可扩展性。
未来方向
作者在结论和附录 E 中明确点出的未来方向:(1) 引入 relighting 领域的最新进展(Diffusion Renderer [18]、LightSwitch [20]、SynthLight [3])解决基础模型的'光照偏置'问题——具体可考虑构造第二个合成域(随机光照),让模型学到光照无关的表征。(2) 把 Realiz3D 的思想扩展到视频扩散模型,因为视频模型在用合成 3D 数据微调时也面临完全相同的域间隙问题,且多视角纹理生成本身就可以视为'空间维度的视频'。(3) 在 Domain Reassignment 中引入第二种合成域(relit 版本)来联合训练,缓解汉堡这类案例。我基于成果可延伸的设想包括:(a) 把 Domain Shifter 的 rank $r=8$ 做成'内容感知'——用文本条件动态调整 rank 的有效维度,让简单场景用更小 rank、复杂场景用更大 rank;(b) 把 Layer-Aware 的'块冻结'思路与 LoRA 结合,只在晚块上施加 LoRA、早块保持冻结,进一步压缩可训练参数;(c) 把两阶段训练统一为端到端的形式:用一个轻量 classifier 显式监督 $e_\text{domain}$ 的可分性(类似对抗判别器),避免显式分阶段;(d) 把域解耦的思路推广到'风格控制'——把'real/synthetic'换成'卡通/水彩/油画'等艺术风格,让一个模型同时支持多种视觉域而无需为每个风格单独微调。
复现评估
复现可行性整体较高但需要相当算力。代码和模型未在论文主页明确声明开源(论文未给 GitHub 链接),但作者来自 Meta AI/Technion 团队,附录 C.2 给出了非常完整的训练超参:64 张 NVIDIA H100 GPU,batch size 8,学习率 $5 \times 10^{-5}$,DiT 训练 10 epoch、Domain Shifter 训练 3 epoch,DDIM 50 步采样,CFG 仅对文本开启。合成数据集规模 120K 资产 × 4 视角 = 480K 张 512×512 渲染图(带法线、位置图),真实数据集是同 prompt 由基础 T2I 生成的等量图像。Domain Shifter 关键超参 $r=8$、$\tau_B = 0.4 N_B$、$p_B=0.1$、$B_\text{max}=0.3 N_B$、$t_\text{max}=950$。评估用 40 个 Sketchfab 3D 物体(来自 [2])+ 42 类 ImageNet 验证集(4 张/类,背景分割后用于 Real-World Realism 指标)。难度评估:(1) 数据准备——需要 120K 3D 资产和一套渲染管线,门槛较高但可借助 Objaverse;(2) 训练成本——64 H100 × 10 epoch 属于 4–7 天的中等规模工作,对一般实验室是显著投入;(3) 评估——需要 LGM 多视角提升、CLIP 分数计算、ImageNet 类别匹配等流程,工程量不小。综合判断:方法在算法层面是高度可复现的(思路清晰、组件模块化),但在算力和数据管线层面具有较高门槛,普通研究者可能需要依赖官方代码发布或与作者合作。
论文图表
展示 Realiz3D 的两个代表应用:左侧是文本生成多视角('a fluffy cat'、'a panda bear, sitting'),右侧是多视角纹理('a slice of creamy cheesecake with a cherry on top'、'a cow with black and white patterns')。每张图都是 2×2 的四视角网格,对比展示了在标准混合数据微调下的结果与 Realiz3D 的结果。
作为论文封面图直观对比了 Realiz3D 与基线在真实感和 3D 一致性上的差异,是快速理解论文价值的入口。
展示 'hamburger' 纹理生成时的失败案例:四个视角中前右偏亮、后左偏暗,与基础 T2I 模型训练数据中的光照偏置一致。
明确指出方法当前的局限和未来改进方向(引入 relighting)。
结构同 Tab. 1,并加入预训练 3D 模型 TRELLIS-large 作参考:TRELLIS 在 Real-World Realism 上 FIDI=224.22、CLIP=0.2495,均弱于 Realiz3D 的 196.01 和 0.2643。Ours 在 FIDI、KIDI、FIDB、KIDB 四个真实感指标上为所有方法最低。
证明方法在第二个任务上同样有效,且显著超越预训练的 3D 原生模型 TRELLIS。