105、Zero-1-to-3: Zero-shot One Image to 3D Object

简介

官网
105、Zero-1-to-3: Zero-shot One Image to 3D Object_第1张图片
 使用合成数据集来学习相对摄像机视点的控制,这允许在指定的摄像机变换下生成相同对象的新图像,用于从单个图像进行三维重建的任务。

实现流程

 输入图像 x ∈ R H × W × 3 x \in \R^{H \times W \times 3} xRH×W×3,所需视点的相对摄像机旋转和平移 R ∈ R 3 × 3 , T ∈ R 3 R\in \R^{3 \times 3},T \in \R^3 RR3×3TR3,合成视点图像的函数公式表示为:
在这里插入图片描述

难点:

  • 尽管在不同视点的大量对象上训练了大规模生成模型,但其表示并未明确编码视点之间的对应关系。
  • 如下图所示,Stable Diffusion倾向于生成具有规范姿势的面向前方的椅子的图像
    105、Zero-1-to-3: Zero-shot One Image to 3D Object_第2张图片

Learning to Control Camera Viewpoint

 给定初始图像,目标图像及其相机位姿数据集 { ( x , x ( R , T ) , R , T ) } \{(x,x_{(R,T)},R,T)\} {(x,x(R,T),R,T)},如下图微调预训练的扩散模型,以便在不破坏其余表示的情况下学习对相机参数的控制。
105、Zero-1-to-3: Zero-shot One Image to 3D Object_第3张图片
 扩散目标公式表示为:
在这里插入图片描述

View-Conditioned Diffusion

 输入图像的CLIP嵌入与(R, T)连接,形成一个“pose CLIP”嵌入 c(x, R, T)。使用交叉注意来调节去噪的U-Net,它提供了输入图像的高级语义信息。输入图像与被去噪的图像进行通道连接,帮助模型保持被合成对象的身份和细节

3D Reconstruction

 采用框架Score Jacobian Chaining (SJC)来优化具有文本到图像扩散模型先验的3D表示,SJC中使用的一项关键技术是将无分类器的引导值设置为显著高于通常值。这种方法减少了每个样本的多样性,但提高了重建的保真度。
105、Zero-1-to-3: Zero-shot One Image to 3D Object_第4张图片

 如上图所示,输入图片 x,CLIP嵌入 c ( x , R , T ) c(x,R,T) c(x,R,T) 和时间 t,以便向无噪声输入 X π X_{\pi} Xπ 近似得分。
在这里插入图片描述

▽ L S J C \triangledown L_{SJC} LSJC 是【Score jacobian chaining: Lifting pretrained 2D diffusion models for 3D generation】引入的PAAS分数。

 使用MSE损失来优化输入视图,对每个采样视点应用深度平滑损失,对near-view consistency loss进行正则化,以规范nearby views 之间的变化。

实验

 使用Objaverse 数据集(100K+艺术家创建的800K+ 3D模型),对于数据集中的每个对象,随机采样12个指向对象中心的相机外部矩阵,并使用光线追踪引擎渲染12个视图,训练时,每个对象的两个视图形成一个图像对 ( x , x R , T ) (x, x_{R,T}) (x,xR,T)。对应的相对视点变换(R, T)定义了两个透视图之间的映射,可以很容易地从两个外部矩阵中导出。
105、Zero-1-to-3: Zero-shot One Image to 3D Object_第5张图片
105、Zero-1-to-3: Zero-shot One Image to 3D Object_第6张图片
105、Zero-1-to-3: Zero-shot One Image to 3D Object_第7张图片

你可能感兴趣的:(#,3D重建,3d)