PAPER READING
CVPR 2023 · 3D Generation · Deep Reading

Latent-NeRF

让 NeRF 直接渲染 Stable Diffusion 的四通道潜变量,再用粗几何或固定网格控制形状与纹理。

Gal Metzer、Elad Richardson 等共同标星作者:Metzer、RichardsonCVPR 2023 · 12663–12673arXiv:2211.07600v1
01 / Research motivation

研究问题与三种控制强度

DreamFusion 已证明二维扩散模型的 score distillation 可以优化三维辐射场,但 Imagen 权重未公开,且纯文本生成缺少可靠的几何约束。直接用 Stable Diffusion 引导 RGB-NeRF,每步都要把渲染图送进 VAE encoder。作者把 NeRF 的输出移到 Stable Diffusion 潜空间,并在同一框架上探索软几何约束与固定网格纹理优化。[1]

Latent-NeRF

文字 → 三维辐射场

输入文字提示,优化四通道潜特征与体密度。几何由文本和多视角优化形成。

Sketch-Shape

文字 + 粗几何 → 三维形状

输入由简单几何体构成的草模。占据损失约束远离表面的区域,在表面附近给文字引导留出生成细节的空间。

Latent-Paint

文字 + 固定网格 → 纹理

网格顶点和面保持固定;优化 UV 图上的四通道潜纹理,然后用 VAE decoder 得到 RGB 纹理。

问题边界

论文没有训练新的通用三维生成模型,也没有使用三维数据集训练生成器。每个对象执行一次优化;二维 Stable Diffusion v1-4 提供图像先验。ModelNet40 在纹理演示中提供网格,不构成 Latent-NeRF 的训练集。[1]

02 / Representation & score distillation

从相机射线直接渲染潜变量

场函数 \(F_{\theta}(\mathbf p,\mathbf d)\) 接受三维位置 \(\mathbf p\) 与观察方向 \(\mathbf d\),输出密度 \(\sigma\) 和四维特征 \(\mathbf c=(c_1,c_2,c_3,c_4)\)。沿相机射线积分得到 \(64\times64\times4\) 的潜特征图 \(\mathbf z=R_{\theta}(v)\),其中 \(v\) 为随机视角。Stable Diffusion 的 VAE decoder \(D\) 可把渲染结果解码成 RGB 预览。潜特征具有近似局部性,因此作者认为跨视角的 NeRF 表示具有可行性;这是方法动机,不构成一般潜空间等变性的证明。[1]

文字提示 \(T\)→随机视角 \(v\)→NeRF 渲染 \(\mathbf z\)→扩散加噪与 UNet→SDS 梯度→更新 \(\theta\)
\[\mathbf z_t=\sqrt{\bar\alpha_t}\,\mathbf z+\sqrt{1-\bar\alpha_t}\,\boldsymbol\epsilon,\qquad \boldsymbol\epsilon\sim\mathcal N(0,\mathbf I)\]
潜图在随机扩散时间 \(t\) 加噪;\(\bar\alpha_t\) 由预训练扩散调度器确定。原文式 (1) 用 \(x\) 表示通用渲染输出,本页在 Latent-NeRF 情境中记为 \(\mathbf z\)。
\[\nabla_{\mathbf z}\mathcal L_{\mathrm{SDS}}\approx w(t)\bigl(\hat{\boldsymbol\epsilon}_{\phi}(\mathbf z_t,t,T)-\boldsymbol\epsilon\bigr)\]
预训练 UNet 的预测噪声与真实噪声之差,经过时间权重 \(w(t)\) 后回传给渲染图与 NeRF。式 (2) 指定梯度方向;论文说明对应损失的精确数值无法直接取得。

基础目标还包括稀疏性项:\(\mathcal L=\lambda_{\mathrm{SDS}}\mathcal L_{\mathrm{SDS}}+\lambda_{\mathrm{sparse}}\mathcal L_{\mathrm{sparse}}\)。后者使用前景混合权重的二元熵,抑制半透明漂浮云团。每一步只优化当前对象的 NeRF 参数;Stable Diffusion 权重保持冻结。[1][3]

官方仓库展示潜空间 NeRF 的多视角生成结果
官方仓库演示:Latent-NeRF 多视角结果。原论文 Figure 2 给出训练时从潜图、扩散去噪到梯度回传的流程,详见论文 PDF 第 3 页。[3]

RGB refinement 的转换

潜空间阶段结束后,作者在场函数输出端添加线性层,将四通道特征映射成三通道 RGB,随后继续在 RGB 空间用扩散指导优化。线性层初始化为原文式 (3) 的经验矩阵;它是快速近似,不能等同 VAE decoder 的完整非线性解码。[1]

\[\begin{bmatrix}\hat r\\\hat g\\\hat b\end{bmatrix}=\begin{bmatrix}0.298&0.187&-0.158&-0.184\\0.207&0.286&0.189&-0.271\\0.208&0.173&0.264&-0.473\end{bmatrix}\begin{bmatrix}c_1\\c_2\\c_3\\c_4\end{bmatrix}\]
此矩阵只负责初始通道转换;后续微调会更新新增层与 NeRF 参数。论文 Figure 3、Figure 7 分别展示流程与可见细节变化。
03 / Sketch-Shape

让粗形状控制占据区域

草模可以用球体、盒子、圆柱或二维轮廓拉伸后组合而成。对 NeRF 射线采样点 \(\mathbf p\),网格 winding number 给出草模内外标签 \(\alpha_{\mathrm{GT}}(\mathbf p)\),NeRF 密度转换成占据量 \(\alpha_{\mathrm{NeRF}}(\mathbf p)\)。在距草模表面 \(d(\mathbf p)\) 较远处强化占据约束,在近表面区域降低权重,允许扩散先验生成细节。[1]

\[\mathcal L_{\mathrm{shape}}=\sum_{\mathbf p}\mathrm{CE}\bigl(\alpha_{\mathrm{NeRF}}(\mathbf p),\alpha_{\mathrm{GT}}(\mathbf p)\bigr)\left(1-\exp\left[-\frac{d(\mathbf p)^2}{2\sigma_S}\right]\right)\]
原文式 (4) 的 \(\sigma_S\) 控制约束宽松程度:值越小,离开表面后权重越快趋近 1。公式仅在当前 NeRF 体渲染采样点上计算,节省额外采样成本。

官方实现进一步把草模 winding number 以 0.5 阈值二值化,用 \(\alpha_{\mathrm{NeRF}}=1-\exp(-0.2\sigma)\) 从密度构造占据值;距离权重的实现使用 \(\exp[-d^2/(2s^2)]\),其中 \(s\) 是代码中的 proximal_surface。这与论文公式分母中的 \(\sigma_S\) 记法存在参数化差异;直接填入同一数字不会严格产生相同的高斯宽度。[4]

官方 Sketch-Shape 粗几何引导生成示例
官方仓库 Sketch-Shape 演示。论文 Figure 9–11 给出同一草模配合不同文字以及不同草模的结果;Figure 14 比较加入和去除形状引导。[3]
条件的性质

Sketch-Shape 是软约束,最终几何可以偏离草模。固定网格的 Latent-Paint 提供严格的几何边界。两者对应不同控制需求,不能仅以图像清晰度比较优劣。

04 / Latent-Paint

在给定网格上直接优化纹理

输入一个三角网格与文字提示。如果网格没有 UV 参数化,可用 XAtlas 计算;实验中作者使用 \(128\times128\times4\) 的可学习潜纹理。Kaolin 可微分渲染器从随机视角输出 \(64\times64\times4\) 潜图,再将 SDS 梯度穿过渲染器传回纹理。最后对潜纹理运行一次 Stable Diffusion VAE decoder,得到高分辨率 RGB 纹理。论文说明每个面单独存储潜属性也可以工作,但 UV 贴图使纹理精度与几何面数分离,且便于下游工具使用。[1]

固定网格 + UV→潜纹理 \(U\)→可微分渲染 \(R(U,v)\)→SDS→更新 \(U\)→VAE 解码 RGB 纹理
官方 Latent-Paint 鱼模型纹理生成示例
官方仓库鱼模型纹理演示。论文 Figure 4 是完整优化流程,Figure 12、13、15 展示固定网格上的多种文字纹理。[3]

实验的鱼网格已有高质量 UV;ModelNet40 演示网格与鞋子等示例通过 XAtlas 获得 UV。论文 Figure 13 与 Tango、CLIPMesh 展示定性对比,没有给出纹理相似度的系统数值评测。[1]

05 / Evidence

实验具体支持哪些结论

证据论文观察可以支持的结论与边界
Figure 5 / 6不同视角结果;与 DreamFields、CLIPMesh、DreamFusion 的图像对照证明作者挑选的示例具备多视角外观;没有统一提示集上的定量质量分数或重复试验。
Figure 7潜空间训练后进行 RGB refinement,复杂物体局部细节改善可见质量变化;精修阶段迭代约慢两倍,完整运行超过 30 分钟。
Figure 9–11 / 14相同草模配合不同提示、不同草模,以及有无几何约束展示文字与粗几何可共同影响结果;尚无可量化的形状遵循率和用户研究。
Figure 17 消融\(\sigma_S=0.05,0.1,0.3,0.7,1.5\)较小值贴近草模,较大值带来更多自由度;同时说明几何遵循与生成变化存在权衡。
Figure 12 / 13 / 15固定网格的文本纹理;与 Tango、CLIPMesh 定性比较表明在展示案例中可生成局部纹理与风格变化;没有系统定量纹理一致性指标。

速度数据怎样解读

设置论文报告时间硬件与条件
Latent-NeRF 基础优化通常少于 15 分钟单张 V100
RGB-NeRF + Stable Diffusion 实现约 30 分钟论文引用的公开实现;每步需 VAE 编码
加入 RGB refinement超过 30 分钟RGB 阶段单步约慢两倍
DreamFusion 原论文约 1.5 小时4 个 TPU;Imagen 与实现不同

这些数字说明作者实现中的潜空间渲染节省编码开销;跨 Imagen、Stable Diffusion、V100 与 TPU 的比较不能分离模型、硬件和实现因素。[1]

论文明确指出的失效方式

方向性提示不稳定时会出现多面脸:论文 Figure 16 的松鼠从某些视角具有双脸,Stable Diffusion 自身对背面提示也会生成失败。不同随机种子导致明显质量波动。文字提示微调也是实际运行流程的一部分,因此单次示例不能代表稳定成功率。[1]

06 / Reproducibility

官方实现给出的可复现设置

Latent-NeRF 默认配置

Stable Diffusion CompVis/stable-diffusion-v1-4;Instant-NGP 风格 NeRF;Adam,学习率 \(10^{-3}\)、\((\beta_1,\beta_2)=(0.9,0.99)\)、eps=1e-15;5,000 次迭代;默认随机种子 0;开启混合精度。稀疏损失权重 \(5\times10^{-4}\),草模形状损失权重 \(5\times10^{-6}\);proximal_surface=0.3。这些数字来自仓库默认配置,个别示例 YAML 可以覆盖。[5]

Latent-Paint 默认配置

同一 Stable Diffusion v1-4;Kaolin 网格渲染;潜纹理默认 \(128\times128\times4\),训练潜图 \(64\times64\);Adam 学习率 \(10^{-2}\)、\((0.9,0.99)\)、eps=1e-15;5,000 次迭代。几何来自输入网格,优化变量为纹理及代码中的背景颜色参数。[6]

一次优化的实际顺序

  1. 指定文字提示;Sketch-Shape 或 Latent-Paint 额外指定网格路径,必要时计算 UV。
  2. 随机采样相机视角;代码可按视角给提示附加 front、side 等方向词。
  3. 渲染潜特征图,采样扩散时间与高斯噪声,用 classifier-free guidance 合并 UNet 的条件与无条件预测。
  4. 计算 SDS 梯度;NeRF 分支附加稀疏和可选形状损失,纹理分支通过 Kaolin 回传到潜纹理。
  5. Adam 更新对象参数;最后 VAE 解码或进入可选 RGB refinement。

官方代码中扩散时间抽样范围约为总步数的 2%–98%,classifier-free guidance 默认系数 100,权重实现为 \(w(t)=\sqrt{\bar\alpha_t}(1-\bar\alpha_t)\)。这三个细节来自源码,正文未逐项给出。[7]

Paper vs. Implementation

原文式 (4) 写出交叉熵与距离权重,但源码将 winding number 阈值化,并以固定步长 0.2 从密度得到占据量。代码中的 ce_pq_loss(nerf_occ, indicator) 以 NeRF 占据量作第一个参数,公式的 CE 记号没有说明这种参数顺序。源码在计算 SDS 时直接对潜图调用 backward(gradient=grad),返回值 0 只是用于组合其他损失;检查训练逻辑时不应把返回的 0 误判成未执行 SDS。[4][7]

论文没有提供完整提示集合、每个展示图的随机种子和反复试验结果;仓库提供演示配置及几何样例。训练依赖 GPU CUDA、Kaolin、libigl 和 Stable Diffusion 模型访问。[3]

07 / Reviewer commentary

证据判断与后续研究

Paper Verified

论文在所展示案例中验证了直接潜空间渲染、软草模约束和固定网格纹理优化都可工作;Figure 17 展示形状约束宽度带来的可见变化;作者实现的基础 Latent-NeRF 在单张 V100 上通常少于 15 分钟。

Author Claim

作者认为潜空间操作效率高,且与 RGB 方法相比有显著计算优势。时间表述具有实现与硬件差异;论文没有给出统一计算预算下的质量—时间曲线。作者把部分质量差异归因于 Imagen 与 Stable Diffusion 的先验差异,原文明确说明无法验证该解释。

Our Interpretation

贡献可以分成计算路径与控制路径:前者移除每轮 VAE encoder,后者通过可微分占据约束或固定网格控制几何。Latent-Paint 的真实下游用途依赖 UV 稳定性、多视角纹理一致性和导出质量,论文展示了可行性但尚未系统量化这些方面。

Research Extension

可以在同一提示、同一网格与预算下测量几何遵循率、纹理跨视角一致性、种子方差及最终可编辑性。对材质生成研究,可将潜纹理目标扩展为可执行的材质节点图,并设计渲染反馈与图结构修复;这一点是研究设想,论文没有实现或验证节点图生成。

审稿视角

优点:三种控制强度构成清晰的任务划分;将 Stable Diffusion 潜特征直接作为体渲染通道,减少重复编码;给定网格的纹理生成保留了可编辑几何。弱点:结果主要由挑选的图片支撑,缺少多种子统计、几何遵循指标和用户研究;跨方法质量与速度对照混合不同基础模型;方向性提示失效和双脸问题仍然明显。可改进处:增加固定基准提示与几何集、控制相同 GPU 时间、报告约束强度曲线及输出网格质量。[1]

08 / Sources

原始资料

  1. Metzer et al. Latent-NeRF for Shape-Guided Generation of 3D Shapes and Textures. CVPR 2023, pp. 12663–12673. 本页逐节核对正式 11 页 PDF。
  2. arXiv:2211.07600v1,2022 年 11 月 14 日公开。
  3. 作者官方实现与演示素材。仓库 README、演示配置及代码用于核查复现细节。
  4. 官方 Sketch-Shape 损失源码,连同 网格距离与 winding number 计算。
  5. Latent-NeRF 默认配置与 优化循环。
  6. Latent-Paint 默认配置与 训练代码。
  7. Stable Diffusion 的 SDS 计算代码。

网页核查日期:2026-09-30。正式出版年份为 2023;arXiv 预印本首次公开于 2022 年。