基本信息

项目 内容
论文标题 Zero-Shot 3D Content Generation from a Single Image
作者
作者单位 加州大学圣地亚哥分校、英伟达、多伦多大学和麻省理工学院
时间 2023
发表会议/期刊
全称

方法概览

特点 文章性质
输入 单张 RGB 图像
输出 从指定相机视点合成图像进一步生成三维模型
所属领域 新视图合成和 3D 形状重建

创新点

  1. Zero1to3的核心是一个条件扩散模型(Conditional Diffusion Model),但它不是直接生成3D网格或点云,而是生成多视角的二维图像
  2. 利用了强大的几何先验
    • Depth Estimation (深度估计): 模型首先使用一个预训练的单目深度估计模型(如MiDaS或DPT)从输入的单张2D图像中预测出一个粗略的深度图。这个深度图提供了关于物体表面距离的重要几何线索。
    • Camera Pose (相机姿态): 模型假设了一组固定的、围绕物体的相机轨迹(例如,一个环绕物体的圆圈)。它知道从哪个视角生成下一张图像。
    • Cross-View Attention (跨视图注意力): 这是Zero1to3的关键创新。在扩散模型的UNet架构中,引入了跨视图的注意力机制。当生成一个新视角的图像时,模型不仅关注当前视角的特征,还能“看到”并参考已经生成或正在生成的其他视角的特征。这强制了不同视角之间的几何和外观一致性,避免了物体形状或纹理的矛盾。
  3. 工作流程
    1. 输入: 一张单视角的2D图像。
    2. 深度预测: 使用预训练模型估计输入图像的深度图。
    3. 多视角生成: 以输入图像及其深度图为条件,扩散模型沿着预设的相机轨迹,逐步去噪生成一系列新视角的RGB图像和对应的深度图。
      • 生成过程是迭代的,利用跨视图注意力确保一致性。
    4. 3D重建: 将生成的多视角RGB图像和深度图作为输入,使用成熟的3D重建技术(如Multi-View Stereo - MVS 或 NeRF)来生成最终的3D模型(如网格或NeRF场景)。

两个挑战

  1. 虽然大规模生成模型在不同视点的大量对象上进行训练,表示并未显式编码视点之间的对应关系。训练数据没有相机角度编码

  2. 生成模型继承了互联网上反映的观点偏见。如图 2 所示,Stable Diffusion 倾向于生成正统姿势的前向椅子的图像。这两个问题极大地阻碍了从大规模扩散模型中提取 3D 知识的能力。训练的数据太多重复视角比如椅子就应该正着拍摄,Dalle2和Stable Diffusion数据集里都是这样的

方法细节

  1. Learning to Control Camera Viewpoint:教给模型一种机制来控制用于捕获照片的相机外部函数。我们微调了预先训练的扩散模型,以便在不破坏其余表示的情况下学习对相机参数的控制,我们使用带有编码器 E、降噪器 U-Net 和解码器 D 的潜在扩散架构。在扩散时间步长 t ∼ [1, 1000] 处,设 c(x, R, T ) 是输入视图和相对相机外函数的嵌入。最终模型可以为缺少 3D 资产且从未出现在微调集中的对象类合成新视图。就是把视角信息作为promt扔进Latent Diffusion Model重新训练让他能够学习视角信息,这里训练的是一个从不同视角生成图片的LDM模型
  2. View-Conditioned Diffusion:
    1. 3D 重建需要低级感知(深度、阴影、纹理等)和高级理解(类型、功能、结构等)。因此,我们采用混合调节机制。
    2. 在一个stream上,输入图像的 CLIP嵌入与 (R, T ) 连接,以形成“姿势 CLIP”嵌入 c(x, R, T )。我们应用交叉注意力来调节去噪 U-Net,它提供输入图像的高级语义信息。将输入图像和带姿势的 CLIP 嵌入随机设置为 null 向量,并在推理过程中缩放条件信息。
    3. 在另一个流上,输入图像与被去噪的图像进行通道连接,帮助模型保持被合成对象的标识和细节。
  3. 3D Reconstruction:
    4. 需要完整的 3D 重建来捕获对象的外观和几何形状。我们采用了一个最近的开源框架,即 Score Jacobian Chaining (SJC),来优化具有文本到图像扩散模型的先验的 3D 表示。然而,由于扩散模型的概率性质,梯度更新是高度随机的。受 DreamFusion 的启发,SJC 中使用的一种关键技术是将无分类器的指导值设置为明显高于平常。这种方法降低了每个样本的多样性,但提高了重建的保真度。
    5. 与 SJC 类似,我们随机采样视点并执行体积渲染。然后,我们用高斯噪声 ∼ N (0, 1) 扰动生成的图像,并通过应用以输入图像 x 为条件的 U-Net、姿势 CLIP 嵌入 c(x, R, T ) 和时间步长 t 来对它们进行降噪。输出多个视角之利用nerf生成三维模型