LRM: Large Reconstruction Model for Single Image to 3D

基本信息

项目 内容
论文标题 LRM: Large Reconstruction Model for Single Image to 3D
作者 Yicong Hong, Kai Zhang, Jiuxiang Gu, Sai Bi, Yang Zhou, Difan Liu, Feng Liu, Kalyan Sunkavalli, Trung Bui, Hao Tan
第一作者单位 Adobe Research (Yicong Hong 同时隶属 Australian National University)
时间 2024 (根据引用文献推断,应为 CVPR 2024)
发表会议/期刊 预计为 CVPR 2024

方法概览

特点 描述
输入 单张 RGB 图像 (背景已移除)
输出 3D 形状 (以 NeRF / Triplane 形式呈现,可快速提取为 Mesh)
核心目标 从单张图像快速 (5秒内) 重建高质量、高泛化性的 3D 物体模型
所属领域 单视图三维重建

摘要精简

本文提出了首个大规模重建模型 (LRM),能够仅用5秒时间从单张输入图像预测物体的3D模型。与以往依赖小规模数据集或特定类别的方法不同,LRM采用了一个具有5亿可学习参数、高度可扩展的基于Transformer的架构,直接从图像预测神经辐射场 (NeRF)。模型在包含约100万个物体的大规模多视图数据(包括 Objaverse 的合成渲染和 MVImgNet 的真实捕捉视频)上进行端到端训练。高容量模型与大规模训练数据的结合使其具有高度的泛化能力,能够从各种真实世界图像和生成模型创建的图像中产生高质量的3D重建结果。

引言与出发点

从单张任意物体的图像即时创建3D形状,在工业设计、动画、AR/VR等领域有广泛应用前景。然而,单视图下3D几何存在固有的模糊性。早期基于学习的方法通常依赖特定类别的数据先验,泛化能力有限。近期工作(如 Zero-1-to-3, Make-It-3D)尝试利用2D扩散模型的强大泛化能力来提供多视角监督,但它们的结果受限于预训练的2D生成模型,且常需要精细的参数调整。

受自然语言处理(如GPT系列)和图像处理领域大模型成功的启发,作者认为成功关键在于:1) 使用高度可扩展的网络(如Transformer);2) 海量数据集;3) 鼓励模型发现数据底层结构的自监督式训练目标。基于此,作者提出核心问题:给定足够的3D数据和大规模训练框架,能否学习到一个通用的3D先验,用于从单张图像重建物体? LRM便是对此问题的肯定回答。

对比方法 核心问题指出
类别特定重建方法(如 Mesh R-CNN) 1. 仅适用于特定类别,泛化性差;2. 依赖类别先验,无法处理任意物体;3. 细节重建不足
扩散引导方法(如 Zero-1-to-3、One-2-3-45) 1. 依赖预训练 2D 扩散模型,结果受限于扩散模型;2. 需生成多视图图像再重建,流程复杂;3. 细节模糊、一致性不足
per-shape 优化方法(如 NeRF 微调) 1. 每个物体需单独优化,耗时久(分钟级);2. 泛化性差,依赖初始化和正则;3. 难以处理未见物体
3D 扩散模型(如 Point-E、Shap-E) 1. 3D 数据稀缺,模型容量有限;2. 表示效率低(点云 token 数量多);3. 重建质量和细节不足
GINA-3D(图像到 triplane) 1. 模型规模小,训练数据量有限;2. 聚焦类别特定生成,重建泛化性差;3. 无相机特征调制

创新点

  1. 首个大规模3D重建模型:参数量巨大(5亿),训练数据规模空前(约100万个物体),旨在学习通用的、跨类别的3D先验。
  2. 完全基于Transformer的端到端流水线:采用了高度可扩展的Transformer编码器-解码器架构,直接从单张图像回归出3D表示,无需逐形状优化。
  3. 高效且表达力强的3D表示:采用 Triplane-NeRF 作为3D表示。相比体素网格 (O(N3)O(N^3)) 和点云,Triplane 具有计算友好性 (O(N2)O(N^2));相比 Shap-E 等将NeRF权重token化的方法,Triplane 与图像输入具有更好的局部性对应关系。
  4. 数据驱动且训练目标简洁:不依赖任何预训练的视觉-语言对比模型或生成模型的引导,仅通过最小化新视角渲染图像与真实图像之间的差异进行训练,无需复杂的3D感知正则化。
  5. 3D作为新模态的跨模态映射:将3D Triplane 视为一种新的模态,通过交叉注意力 (Cross-Attention) 直接将2D图像特征映射到3D空间,让模型自行学习2D到3D的对应关系。

网络架构构成

image-20251219133941171

LRM是一个完全可微分的、基于Transformer的编码器-解码器框架(如图1所示),主要由三部分组成由图像编码器、image-to-triplane 解码器、triplane-NeRF 解码器三部分组成:

  1. 图像编码器 (Image Encoder):使用预训练的视觉Transformer (DINO ViT-B/16) 将输入图像编码为一系列图像块特征token {hi}i=1nRdE\{h_i\}_{i=1}^{n} \in \mathbb{R}^{d_E}
  2. 图像到Triplane解码器 (Image-to-Triplane Decoder):一个大型Transformer解码器。它以可学习的空间位置嵌入和相机特征为条件,通过交叉注意力将图像特征投影到3D空间,并通过自注意力建模Triplane token间的关系,最终输出上采样后形成Triplane特征图 T\mathbf{T}
    • 架构:16 层 transformer,隐藏维度 1024,含 cross-attention、self-attention、MLP 子层;
    • 输入:初始化的 triplane 位置嵌入(3×32×32×1024)、图像特征 token、相机特征嵌入;
    • 核心操作:
      • 相机调制:通过ModLNc(fj)=LN(fj)⋅(1+γ)+β(γ,β由相机特征 MLP 输出)调制各子层输入;
      • cross-attention:triplane token 关注图像特征 token,建立 2D-3D 映射;
      • self-attention:建模 triplane 内部空间关系;
    • 输出:3×32×32×1024 特征,经反卷积上采样至 3×64×64×80,得到最终 triplane。
  3. Triplane-NeRF渲染器:一个共享的MLP (MLPnerfMLP^{nerf})。对于3D空间中的任意点,通过双线性插值从Triplane的三个平面上查询其特征,拼接后输入该MLP,预测该点的颜色 (RGB) 和密度 (σ\sigma),最后通过体积渲染公式合成任意视角的图像。
    • 架构:10 层 MLP,隐藏维度 64,ReLU 激活;
    • 输入:3D 点在 triplane 查询的特征(3×80 维度);
    • 输出:RGB 颜色(3 维)和体密度σ(1 维),用于体渲染。

体积渲染公式如下,其中对于射线 r\mathbf{r} 上的点 pi\mathbf{p}_i

\mathbf{c}(\mathbf{r}) = \sum_i T_i (1 - xp(-\sigma_i \delta_i)) \mathbf{c}_i, \quad T_i = xp(-\sum_{j=1}^{i-1} \sigma_j \delta_j)

特征提取

  • 图像特征:使用自蒸馏训练的 DINO 模型作为图像编码器。DINO 能学习到图像中显著内容的结构和纹理的可解释注意力,这种详细的结构和纹理信息对3D几何和颜色重建至关重要。作者不仅使用了ViT预定义的[CLS] token,还利用了整个图像块特征序列 {hi}i=1n\{h_i\}_{i=1}^{n},以更好地保留这些信息。
  • 相机特征:构造一个20维的相机特征向量 c\mathbf{c}​,包含外参矩阵(经过归一化)、焦距和主点。通过一个MLP将其映射为高维相机嵌入 $ ilde{\mathbf{c}}$​,用于调制解码器。相机外参矩阵(4×4)、焦距、主点拼接为 20 维特征,经 MLP 映射为高维嵌入;嵌入特征通过 ModLN 调制 transformer 各层输入,让模型感知相机姿态,辅助 2D-3D 映射。

三维物体生成步骤

  1. 输入与编码:输入一张去除背景、中心化的RGB图像。DINO编码器提取其图像块特征序列 {hi}\{h_i\}

  2. 图像编码:预处理后的图像输入 DINO ViT,输出 1025 个特征 token,保留图像细节和全局信息;

  3. Triplane解码:图像特征 {hi}\{h_i\} 和相机嵌入 $ ilde{\mathbf{c}}$ 被送入图像到Triplane解码器。解码器通过交叉注意力将图像信息“绘制”到初始的、可学习的空间位置嵌入上,再通过自注意力完善Triplane内部的空间结构关系,最终输出一个低分辨率的Triplane特征。

    • 初始化 triplane 位置嵌入,结合相机特征嵌入输入 transformer 解码器;
    • 经 16 层 transformer 的 cross-attention(融合图像特征)和 self-attention(优化空间关系),输出 3×32×32 特征;
    • 反卷积上采样至 3×64×64×80,得到最终 triplane 表示。
  4. 特征上采样:通过可学习的反卷积层将解码器输出的Triplane特征上采样至目标分辨率(如 64imes64imes364 imes 64 imes 3 个特征向量)。

  5. 3D点查询与属性预测:对于需要渲染的3D空间点,将其投影到Triplane的三个特征平面上,通过双线性插值获取对应的特征,拼接后输入 MLPnerfMLP^{nerf},得到该点的颜色和密度。

    • 对 3D 空间 [−1,1]³ 内的点,从 triplane 查询特征并输入 MLP,预测颜色和密度;
    • 体渲染计算像素颜色:u®=∑iTi(1−exp(−σiδi))ui(Ti=exp(−∑j=1i−1σjδj));
  6. 渲染与网格提取:通过体积渲染公式,沿相机光线积分,合成任意新视角的RGB图像和深度图。在推理时,可通过在规则网格上查询密度并使用 Marching Cubes 算法,在约2秒内提取出3D网格。

    查询 384×384×384 分辨率的 3D 点密度,通过 Marching Cubes 算法提取 3D 网格,完成生成。

训练与测试数据及对比结果

  • 训练数据
    • 合成数据:从 Objaverse 数据集中选取约73万个3D资产,对每个资产进行归一化后,随机渲染32个视角的图像(分辨率 1024imes10241024 imes 1024)。
    • 真实数据:从 MVImgNet 数据集中选取约22万个视频,提取帧,利用预测的物体掩码进行裁剪和居中处理。
    • 总计使用约100万个对象进行训练。
  • 测试数据:Objaverse 和 MVImgNet 的未见过的图像、ImageNet、Google Scanned Objects、Amazon Berkeley Objects、真实世界拍摄的照片、Adobe Firefly生成的图像。
  • 对比方法与结果:与同期state-of-the-art方法进行对比(在Google Scanned Objects的100个物体上评估):
    | 模型 | FID \downarrow | CLIP相似性 \uparrow | PSNR \uparrow | LPIPS \downarrow | Chamfer距离 \downarrow |
    | :------------- | :--------------- | :-------------------- | :-------------- | :----------------- | :----------------------- |
    | Point-E | 123.70 | 0.741 | 15.60 | 0.308 | 0.099 |
    | Shap-E | 97.05 | 0.805 | 14.36 | 0.289 | 0.085 |
    | One-2-3-45 | 139.24 | 0.713 | 12.42 | 0.448 | 0.123 |
    | LRM (Ours) | 31.44 | 0.902 | 19.60 | 0.163 | 0.053 |
    LRM在所有评估指标上均显著优于对比方法。视觉对比也显示LRM能产生细节更清晰、表面更一致的重建结果。

消融实验分析

论文在缩小版模型上进行了广泛的消融实验,验证了各个设计选择的有效性:

  1. 合成 vs. 真实数据:同时使用合成和真实数据训练效果最好,优于仅使用任何一种,表明真实数据的多样性(光照、目标尺寸、相机位姿)对学习泛化先验至关重要。
  2. 训练视图数量:每个形状使用更多不同的训练视图(如16个)能带来更好的重建质量,因为模型能更好地关联同一形状不同部分的外观和几何。
  3. 模型超参数
    • 解码器深度:增加交叉注意力层数(从6到24层)能略微提升性能,尤其是语义和感知相似性指标。
    • NeRF MLP层数:2到4层是一个“甜点”,过多的层数并无必要,表明形状信息主要由Triplane编码。
    • Triplane分辨率:通过反卷积上采样提高输出Triplane分辨率,能提升图像质量。
  4. 相机姿态归一化:在训练时将输入图像的相机外参归一化到统一视角,极大地促进了模型收敛并提升了泛化性能。不归一化或随机化相机姿态会导致结果变差。
  5. 监督侧视图数量:在训练时,对每个样本使用更多的侧视图(1到4个)进行监督,能提高重建质量。
  6. 训练渲染分辨率:使用更高的图像分辨率(如 128imes128128 imes 128)进行训练,鼓励模型学习更多高频细节,显著改善结果。
  7. LPIPS损失:使用LPIPS感知损失对提升重建图像的视觉质量至关重要,移除会导致各项指标大幅下降。

其他关键技术点

  • 相机特征调制 (Modulation):借鉴 DiT 的思想,通过自适应层归一化将相机信息注入解码器的每一层。调制公式如下:

\gamma, eta = MLP^{mod}( ilde{c})

ModLNc(fj)=LN(fj)ModLN_c(f_j) = LN(f_j)