论文带读——IC3D: Image-Conditioned 3D Diffusion for Shape Generation

IC3D: Image-Conditioned 3D Diffusion for Shape Generation

————YssssMikey

Tips: 我会基本上几天更新一篇论文引读,一般是AIGC模型——3D+Diffusion方向每日在Arxiv上新发布的最新Paper来导读,喜欢支持的伙伴可以支持关注点赞哦!!对于文章中可能出现的错误和建议可以在评论区打出(本人也只是刚入AIGC方向的小朋友)

Summary: IC3D——第一个通过图像引导生成三维形状的Image-Conditioned 3D diffusion model(第一个采用体素表示的3D DDPM Model)

在text-to-image的启发下,创建利用了pair图像-形状预训练(CISP),通过对比预训练将image-shape联合嵌入

在这里插入图片描述

Intro:

第一个基于单视图图像条件生成三维形状的DDPM Model.1

对于选择体素的原因:

  • 无需引入其他额外的体系结构复杂性

  • 点云的使用需要特定的权宜来正确处理无序点集,如排列不变量permutation invariance和局部性利用locality exploitation

  • 避免上述复杂性来focus图像驱动 的3D生成

Contribution:
  • 提出CISP:利用对比学习联合image-shape嵌入的模型

  • 利用CISP来引导DDPM进行image-guide 来生成shape

  • 采用DDPM来生成基于Voxel-based 3D 数据

  • IC3D比SOTA形状生成模型更真实,并有强大的图像一致性

  • 研究了CISP学习到的嵌入空间的正则化和泛化能力

    • 通过learned manifold(流型学习)进行插值可以得到一致的形状

    • 将learned sapce 泛化到相关input domains,可以实现草图到形状的生成(sketch-to-shape)


Model

在这里插入图片描述

  • Contrastive Image-shape pre-traing(CISP)

    定义处理shape 的编码器 E s E_s Es 和处理image的编码器 E i E_i Ei ,然后他们能够输出一个大小为f 的embeddings。

    Image encoder: 不同于CLIP中利用Vit作为image encoder,这里由于数据集有限,使用了DeiT(高效数据图像转换器),DeiT Base 使用768维 hidden embedding 和12层有12个attention head 的layer

    Shape encoder: 将Vit模型扩展到3D,将2D卷积(mapping image to patch embedding)替换为3D 卷积(mapping voxel shape to patch embedding)。用一个可学习的token添加到输入序列,然后由network到所需的embedding dimension。这样可以轻松地提取(image or shape) CISP embedding——[cls]类标记应用在VIT ,启发于NLP。

    在这里插入图片描述

    上图显示描述了shape在embedding space的示例图像。对于上图可以观察模型如何捕捉细节和子类别。E.g. 桌子的高度随着 d 1 d_1 d1 增大而减小等等,对于类间的相互作用(公共汽车靠近最长的船,因为他们在体素化时有相似的形状因子)

    训练过程:

    • 给定包含N个对应(image-shape)的batch

    • 使用 E i E_i Ei E s E_s Es 生成的image-shape embeddings 。

    • 计算image embedding(行)和shape embedding(列)之间的对称N×N相似矩阵,计算余弦相似度

    • 训练Loss: 两个交叉熵组成,衡量预测给定图像形状的能力

    • 训练目标: 最大化匹配N个pair(image-shape)的相似度,同时最小化 N 2 − N N^2-N N2N 对的相似度,类似于CLIP

  • Shape Generation Pipeline

    见上述fig.1 ,输入query image ,获得它的CISP embedding后,携带关于它的3D shape的信息,以及附加的token ,但编码信息没有被CISP捕获。然后利用这些embedding来guide DDPM的生成过程。最后通过二进制阈值来将其转换成为输出形状

  • Architecture

    扩展了GLIDE中使用的架构,是基于ADM模型:

    • 3D 卷积替代2D卷积

    • 将text-encoder 替换为image encoder E c E_c Ec ,选择了 DeiT

    • 使用以下两种方式进行图像嵌入

      • 将其投影并添加到timestep embedding中

      • 在每一个attention block中,将CISP embeddings 嵌入到4个额外的token,并将其连接到attention context (keys,values)

      • E c E_c Ec 加了8个可学习的token,并把他们对应的输出作为额外的attention context

  • Guidance

    利用classifier-free guidance来训练模型,消除了单独分类器的需要,获得了与分类器引导相似的结果

    • 首先,联合训练一个条件模型和一个无条件模型

    • 结合他们的分数估计进行预测(朝着guidance方向)

    • 联合训练 条件模型和无条件模型中,replace with probability p the input conditioning with a null token ∅.

      在生成过程中,用learned null token ∅ 替换image token不会影响模型性能,且表明 E c E_c Ec 只在训练过程起关键作用。若用空标记代替CISP embedding则无法生成和guide image一致的形状

      ϵ ^ θ ( x t , t ∣ y ) = ϵ θ ( x t , t ∣ ∅ ) + w ⋅ ( ϵ θ ( x t , t ∣ y ) − ϵ θ ( x t , t ∣ ∅ ) ) \hat{\epsilon}_{\theta}\left(x_{t}, t \mid y\right)=\epsilon_{\theta}\left(x_{t}, t \mid \emptyset\right)+w \cdot\left(\epsilon_{\theta}\left(x_{t}, t \mid y\right)-\epsilon_{\theta}\left(x_{t}, t \mid \emptyset\right)\right) ϵ^θ(xt,ty)=ϵθ(xt,t)+w(ϵθ(xt,ty)ϵθ(xt,t))

      y: guidance token

      w≥1:guidance scale

      在image token和CISP embeddings中应用p=0.1的classifier-free-guidance

Experiments(part)

  • sketch-to-shape generation

  • Interpolations

    在两个对象的CISP embedding之间进行插值来遍历它们之间的概念空间,下图是利用Slerp(球面线性插值),它比标准版的线性插值好(因为linear interpolation很难有效混合两张shapes)

    与此同时,对于下图可以清晰的知道,CISP的泛化能力允许我们生成连贯的形状。

    在这里插入图片描述

    另外,CISP概念空间也允许IC3D生成一致的形状,即使在两个不相关的嵌入进行插值

    在这里插入图片描述


Limitations

  • IC3D的采样速度低,同DDPM一样存在相同的问题

Conclusion

  • 提出了利用对比训练学习image-shape联合嵌入空间的CISP模型,利用其结构来在embedding space中引导从IC3D生成query image.

  • IC3D比SOTA 3D重建有更高质量shape的真实感,并且保持了图像一致性

  • 模型的生成性强化了必要的归纳偏差

  • 作者推测:模型的生成特性使学习训练数据分布的结构语义,从而能够生成多样化但一致的样本

  • Future work:

    • 目前该模型只在ShapeNet上进行训练,若在更大的数据集上训练CISP可以有更强的泛化能力,有机会成为zero-shot model 的可能性

    • 利用CISP embedding 将我们的single-view pipeline 拓展到能获取multi-view guidanc


  1. 可以去看看:Pix2vox++从Auto-encoder去提取shape latent对DDPM进行条件指导生成 ↩︎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值