人类的视觉展现出了惊人的灵活性。
比如说,在上图的左侧图像中,虽然人脑无法创建毫米级精确的3D模型,但人类的视觉系统可以结合少量图像的信息,在脑海中形成一个连贯的3D表现,包括老虎的复杂面部特征或形成玩具火车的积木的排列,即使是对于完全遮挡的部分也是如此。
3D重建技术在过去十五年里以一种根本不同的方式发展。
与人类从几张图像中推断3D形状的能力不同,这项技术需要数百张物体的图像,估计它们的精确相机参数,并以亚毫米级的精度重建高保真度的3D几何形状。
最近,来自西门菲莎大学等机构的研究人员提出了一种结合计算方法高保真和人类视觉系统灵活性的新3D重建范式,其灵感来源于最近多视图图像生成模型的发展,尤其是MVDiffusion、MVDream和Wonder3D等,这些方案展示了通过大生成模型生成3D模型的可能性。
论文链接:https://arxiv.org/abs/2402.12712
项目网站:https://mvdiffusion-plusplus.github.io/
文中介绍了一种新方法,能够生成高分辨率的密集图像集,用于3D模型重建,无需精确相机姿态,该方法基于扩散模型和「视图丢弃」训练策略,实现了3D一致性的学习。
该方法在新视角合成、单视图重建和稀疏视图重建上都展现了优异性能,超越了现有技术,同时还探索了与文本到图像模型结合的文本到3D应用。
MVDiffusion++可以根据任意数量的无位姿图片, 生成密集,高分辨率的有位姿图像。学习3D一致性是3D建模这项人物的核心,通常需要精确的图像投影模型和/或相机参数。
令人惊讶的是,对2D潜在图像特征之间的自注意力就是进行3D学习所需的全部,无需投影模型或相机参数,而一个简单的训练策略将进一步实现密集和高分辨率的多视图图像生成。
MVDiffusion++的生成目标是一组密集(32张)且高分辨率(512×512像素)的图像,这些图像位于球体上均匀的2D网格点上。具体来说,有八个方位角(每45°一个)和四个仰角(在[-30°, 60°]范围内每30°一个)。
相机的上向量与重力对齐,其光轴穿过球心。输入条件是一张或几张没有相机姿态的图像,其中视觉重叠可能极小或根本没有,无法通过structure from motion算出精确的相机位姿。MVDiffusion++最多支持10张输入分辨率为512×512的图像。
MVDiffusion++是一种多视图扩散模型,其结构包括一个用于单视图或稀疏视图输入图像的条件分支和一个用于输出图像的生成分支。注意,条件分支共享相同的架构,目标是生成条件图像(是一个简单的任务)。
通过一个微调的VAE将所有512 X 512的输入/输出图像及其前景掩码转换为64X 64的隐式空间Z,为这个隐式空间的每个特征Z添加一个线性的高斯噪声。
去噪过程如上图所示,MVDiffusion++用UNet对所有Z_i(t)进行降噪。这个UNet由编码器/解码器两侧的四个特征金字塔级别上的9个网络模块块组成。具体细节如下所述。
将输入特征U_i^0是通过以下输入初始化的:
1)带噪声的潜在Z_i(t);
2)一个常量二进制掩码,全是0或者全是1,用以指示分支类型(条件或生成);
3)隐式空间的特征Z,其中使用VAE来编码条件图像及其分割掩码得到Z。注意,这个输入有9=(4+4+1)个通道,并且一个1 X 1的卷积层将通道维度减少到4。对于生成分支,传递一个白色图像作为和一个二进制图像1作为分割掩码。
由三个网络模块处理输入:
1)所有图像中的UNet特征之间的全局自注意机制(global self attention),学习3D一致性;
2)交叉注意机制(cross attention),通过CLIP入将条件图像的CLIP embedding注入到所有其他图像中;以及
3)CNN层,在处理每张图像的特征时注入时间步频率编码embedding和图像索引的可学习embedding。对于自注意模块,复制网络架构和模型权重,并将其应用于所有视图。
输出产生噪声估计,使用标准的DDPM采样器产生下一个时间步Z_i(t-1)。
MVDiffusion++训练将面临可扩展性挑战。一共有42个UNet特征产生超过130k个token,其中即使使用最新的flash attention也无法实现全局自注意机制。
团队提出了一种简单但出奇有效的view dropout训练策略,它在训练期间完全丢弃所有层的一组视图。
具体来说,团队在每次训练迭代中随机丢弃每个对象的32个视图中的24个,显著减少了训练时的内存消耗。在测试时,运行整个架构并生成32个视图。
MVDiffusion++使用objaverse训练,在google scanned object测试,以下是实验结果.
主要基线是三种最先进的单视图对象建模方法:SyncDreamer[1]、Wonder3D[2]和Open-LRM[3]。
上表展示了重建的3D mesh和生成图像的定量评估。MVdiffusion++始终以明显的优势领先所有竞争方法。
上图展示了生成的图像和重建的3D mesh。MVDiffusion++的方法清晰地显示了钟表上的数字(第3行),而其他方法显示的数字模糊不清。另一个例子(第5行)展示了新方法生成的两个完全对称的窗户,与Wonder3D未能保持对称性或清晰度形成鲜明对比。
稀疏视图未定位输入图像是一个具有挑战性的设置。MVDiffusion++选择LEAP作为第基线比较视图生成结果。关于多视图3D重建的文献非常丰富,尽管这些方法需要输入相机姿态,与新方法进行对比仍然具有价值。
作为一种妥协,团队选择了NeuS作为第二个基准用于比较3D重建精度,为它们提供真实相机姿态作为输入。
上表和上图呈现了定性与定量的比较结果。与LEAP相比,MVDiffusion++生成的图像质量要好得多。LEAP和新方法都利用多视图自注意力来建立全局3D一致性。
因此,团队将更好的性能归因于从预训练的潜在扩散模型继承的强大图像先验。MVDiffusion++重建的网格在大多数设置下都超过了NeuS,考虑到NeuS使用真实相机姿态,这是一个值得注意的成就。
这次比较突出了新方法的实用性,使用户能够仅从几张物体快照中获得高质量的3D模型。
本文提出了一种无需姿态的技术,用于使用任意数量的图像重建对象。这种方法的核心是一个复杂的多分支、多视图扩散模型。
该模型可以处理任意数量的条件图像,从固定视角生成密集、一致的视图。这一能力显著提高了现有重建算法的性能,使它们能够生成高质量的3D模型。结果表明,MVDiffusion++为单视图和稀疏视图对象重建设置了新的性能标准。
本文来源于公众号新智元,作者LRS
【开源免费】LGM是一个AI建模的项目,它可以将你上传的平面图片,变成一个3D的模型。
项目地址:https://github.com/3DTopia/LGM?tab=readme-ov-file
在线使用:https://replicate.com/camenduru/lgm
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner