CAT3D: Create Anything in 3D with Multi-View Diffusion Models 论文解读

24年5月的论文,上一版就是ReconFusion

目录

一、概述

二、相关工作

1、2D先验

2、相机条件下的2D先验

3、多视角先验

4、视频先验

5、前馈方法

三、Method

1、多视角扩散模型

2、新视角生成

3、3D重建


一、概述

该论文提出一种CAT3D方法,实现单视图,稀疏视图,文本提示生成图像创建3D场景。可以利用多视图扩散模型生成大量一致的新视图,并且用作3D重建的输入,通过有效的并行采样策略生成任何视角下三维一致渲染的3D表示。创新在于将欠约束的3D重建问题首次表述为生成问题,提供更多的视角来实现完全约束下的重建。并且可以实现1分钟生成场景和对象级的逼真结果,在多个benchmarks上,相比以往的SOTA快一个数量级。

二、相关工作

1、2D先验

由于3D数据集相对稀缺,很多3D生成研究都集中在利用从2D图像空间学习到的先验知识。例如,预训练的文本到图像模型可以为文本到3D生成提供强大的生成先验。但是,将这些基于图像的先验知识转化为一致的3D模型目前仍需要一个迭代的蒸馏过程。

2、相机条件下的2D先验

为了克服文本到图像模型无法精确控制图像姿态的局限性,一些方法尝试训练或微调具有图像和姿态条件的生成模型。这些模型为给定文本和/或输入图像的情况下对象或场景的外观提供了更强的先验。但是,当存在一定的不确定性时,这些方法仍需要昂贵的3D蒸馏过程来解决不同视图之间的不一致性

3、多视角先验

对多个视图进行建模可以为部分观察的3D内容提供更强的先验。一些方法尝试微调文本到图像模型,以同时生成多个视图。这种方法捕捉了多视图依赖性,从而在3D提取方面实现了更高的质量和效率。

4、视频先验

视频扩散模型已经展示了生成逼真视频的惊人能力,被认为隐式地推理了3D信息。但是,直接使用现有的视频扩散模型进行3D生成仍然存在挑战,例缺乏精确的相机控制,只能生成平滑和短暂的相机轨迹。一些工作尝试通过微调视频扩散模型来解决这些挑战,但主要集中在3D物体生成,无法处理3D场景、少视角3D重建或物体在上下文中的情况。

5、前馈方法

另一类研究是学习前馈模型,直接从少量视图输入输出3D表示,无需优化过程。这些方法可以高效地生成3D表示(几秒内),但当时质量通常低于基于图像空间先验的方法。cat3d还是一个老论文。

三、Method

这个论文的重点是第一个设计出多视图扩散模型的,所以CAT3D也是一个two-step的模型,先通过相机嵌入的MVLDM来生成多视角图像,再基于多视角图像和相机位姿通过NeRF模型来渲染3D模型。

1、多视角扩散模型

这个多视角扩散模型可以看成给定参考图像,参考位姿,目标位姿,输出目标图像的模型。

模型架构类似LDM,论文中提到这是一个文本生成图像的模型,相比于LDM使用时间t作为嵌入,该模型使用相机姿态作为嵌入,将相机光线图concat到输入图像经VAE得到的潜在特征上。

在下图可以看到输入图像为512*512*3,经过encoder得到64*64*8与相机光线图拼接。

(1)三维自注意力层的使用:在扩散模型中原有的2D自注意力层被膨胀到了3D自注意力层,也就是空间2维加时间1维,其目的是同时输入多张图像作为时间维度,达到了三维的一致性。另外经过这一工作也省去了以往稀疏视图生成中ReconFusion中添加CLIP嵌入和PixelNeRF解码器的需要。

(2)二值掩码:一个二值掩码被连接潜在特征的通道维度上,目的是为了指示输入图像是否被观察到(用于多视角生成)。

(3)FlashAttention:快速训练和采样,并影响对LDM所有权重微调。

2、新视角生成

(1)相机轨迹问题:在新视角生成过程中,给定的轨迹越能够覆盖整个场景,那么最后重建的效果越良好。

(2)生成大量合成视图:我的理解就是在稀疏视角下一定可以拟合一个轨迹,那么每个参考视图周围的视点的生成和这个参考视图独立分在一个组里,因为靠近的视图肯定更加相近。如果对于单图像情况,就先生成7个锚定视图能够覆盖整个场景的不同位置,之后基于这八张视图以及周围的视点再次分组,补充周围视点的目标视图。这样可以得到全局的一致性以及附近视图的局部相似性。

3、3D重建

在ReconFusion使用的Zip-NeRF的基础上,添加了渲染图像与输入图像之间的光感损失LPIPS,强调两者之间的高级语义相似性,而忽略低水平高频细节的潜在不一致性。

四、实验

稀疏视角输入下的对比。

量化对比。

单视角图像输入下对比。

论文地址:https://arxiv.org/abs/2405.10314

相关推荐
致Great1 小时前
Agent未来已来?揭示LLM Agent技术架构与现实挑战
人工智能·llm·nlp
py小王子2 小时前
离线语音识别+青云客语音机器人(幼儿园级别教程)
人工智能·语音识别
望天hous2 小时前
C#中在实现多语言遇到问题
服务器·人工智能·c#
说私域2 小时前
智能型企业的发展与开源AI智能名片S2B2C商城小程序的应用
人工智能·小程序·开源
刘大猫263 小时前
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
大数据·人工智能·docker
Channing Lewis3 小时前
ChatGPT 是通用人工智能吗
人工智能·chatgpt
zaige663 小时前
【mediapipe】实现卷腹运动识别(视频或摄像头)并计数
opencv·计算机视觉·音视频
跟德姆(dom)一起学AI3 小时前
0基础跟德姆(dom)一起学AI 自然语言处理08-认识RNN模型
人工智能·python·rnn·深度学习·神经网络·自然语言处理
人总该做点什么3 小时前
【机器学习】梯度下降
人工智能·机器学习
唯创知音4 小时前
4G报警器WT2003H-16S低功耗语音芯片方案开发-实时音频上传
人工智能·单片机·物联网·音视频·智能家居·语音识别