【多视重建】从Zero-123到One-2-3-45:单张图到3D

这篇具有很好参考价值的文章主要介绍了【多视重建】从Zero-123到One-2-3-45:单张图到3D。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d


Zero-1-to-3: Zero-shot One Image to 3D Object
论文:https://arxiv.org/pdf/2303.11328.pdf

摘要

提示:这里可以添加本文要记录的大概内容:

Zero-1-3:只给定一张RGB图像(为了在这种欠约束的设置下进行新的视图合成),利用大规模扩散模型,学习关于自然图像的几何先验。我们的条件扩散模型使用合成数据集来学习对相对摄像机视点的控制,这允许在特定的摄像机转换下生成同一对象的新图像。即使它是在合成数据集上训练的,我们的模型保留了对分布外数据集的zero shot 泛化能力,以及在野外的图像,包括印象派绘画。我们的视点条件扩散方法可以进一步用于从单幅图像的三维重建任务。

One-2-3-45则是在 Zero-123的基础上,进一步将不太一致的多视图像,提升到三维空间(mesh 或 sdf 形式)

一、引言

仅仅从一个相机的角度来看,人类通常能够想象一个物体的三维形状和外观。这种能力可以部分通过依赖几何先验来解释,事实上,我们可以预测在物理世界中不存在(甚至不可能存在)的物体的三维形状,这依赖于人类一生的视觉探索而积累起来的先验知识。

相比之下,大多数现有的3D图像重建方法都是在封闭的世界环境中运行的,因为它们依赖于昂贵的3D注释(如CAD模型)或针对特定类别的先验[37,21,36,67,68,66,25,24]。

在本文中,我们证明了大规模扩散模型,能够学习操纵摄像机视点的控制机制,如稳定扩散[44],以进行zero shot 新视图合成和三维形状重建。现代生成模型(超过50亿张图像),扩散模型是自然图像分布的最新表示,支持从许多角度涵盖了大量的对象。虽然它们是在没有摄像机对应的二维单眼图像上训练的,没有任何对应的图像,但我们可以微调模型,以学习在生成过程中相对摄像机旋转和平移的控制。这些控制允许我们编码任意图像解码到一个不同的我们选择的相机视点。图1显示了我们的结果的几个示例。

本文证明了大型扩散模型已经学习了关于视觉世界的丰富的三维先验,即使它们只在二维图像上进行了训练。第2节中简要回顾一下相关的工作。在第3节中,我们描述了通过微调大型扩散模型来学习相机外显器控制的方法。在第4节提出了几个定量和定性的实验来评估zero shot视图的合成和从单一图像的几何形状和外观的三维重建。

二、相关工作

三、Zero-1-to-3

给定一个物体的单一RGB图像 x∈RH×W×3,目标是从不同的相机角度合成该物体的图像。设R∈R3×3和T∈R3 分别为所需视点的相对摄像机旋转和平移。我们的目标是学习一个模型 f,它在这个相机转换下合成了一个新的图像:
【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d
我们希望我们估计的 x ^ \hat{x} x^ R.T 在感知上与真实但未被观察到的新视图 xR,T 相似。

由于其训练数据[47]的规模,预先训练好的扩散模型是当今自然图像分布的最先进的表示。然而,我们必须克服两个挑战来创造 f 。首先,大规模生成模型是在不同视点下的各种对象上进行训练的,这些表示并没有明确地编码视点之间的对应关系。其次,生成模型继承了互联网上反映的观点偏见。如下图2所示,稳定扩散倾向于生成具有规范姿态的前置椅子的图像。这两个问题极大地阻碍了从大规模扩散模型中提取三维知识的能力。

【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d

3.1.学习如何控制照相机的视角

由于扩散模型是在网络尺度数据上进行训练的,它们对自然图像分布的支持可能涵盖了大多数对象的大多数观点,但这些观点不能在预先训练的模型中得到控制。一旦我们能够教模型一种机制来控制捕捉照片的相机外部功能,那么我们就能解锁执行新视图合成的能力。

为此,给定成对图像及其相机外参的数据集{x,xR,T,R,T},如图3所示,我们微调预训练的扩散模型,以学习对相机参数的控制,而不破坏其他参数的表示。使用具有编码器、去噪U-Net和解码器的潜在扩散架构。在扩散时间步长t∼[1,1000],设c(x,R,T)作为输入视图和相对相机外部信息的嵌入。然后,我们求解以下目标来微调模型:
【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d
经过模型εθ 的训练后,推理模型 f 可以通过对以c(x,R,T)为条件的高斯噪声图像进行迭代去噪来生成图像

推断出微调数据集中看到的对象之外的视角,最终的模型可以为缺乏3D assets 且永远不会出现在微调集中的对象类合成新的视图。

3.2.视角作为条件的扩散

从单一图像进行三维重建需要低级感知(深度、阴影、纹理等)高水平的理解(类型、功能、结构等)。因此,我们采用了一种混合调节机制

在一个流上,将输入图像的CLIP嵌入与(R,T)连接,形成一个“posed CLIP”嵌入c(x,R,T)。我们将交叉注意作为去噪U-Net的条件,其 提供了输入图像的高级语义信息

在另一个流上,输入图像与被去噪的图像进行通道连接,帮助模型保持被合成的对象的身份和细节

为了能够应用无分类器引导[19],我们遵循[3:InstructPix2Pix]中提出的类似机制,将输入图像和假设的CLIP嵌入随机设置到一个零向量,并在推理过程中对条件信息进行缩放。

3.3三维重构

在许多应用中,合成一个物体的新视图是不够的。一个完整的三维重建,能够捕获对象的外观和几何形状是理想的。我们采用了一个最近的开源框架,Score Jacobian Chaining (SJC)[53],来优化一个从文本到图像扩散模型的先验的三维表示。然而,由于扩散模型的概率性质,梯度更新是高度随机的。受DreamFusion [38]的启发,SJC中使用的一个关键技术是将无分类器的引导值设置为明显高于通常的值。这种方法减少了每个样本的多样性,但提高了重建的保真度

如图4所示,与SJC类似,我们随机抽样视点,并执行体渲染。然后,我们用高斯噪声 ε~N(0,1)对得到的图像进行扰动,并通过应用以输入图像x、假设CLIP嵌入c(x,R,、T)和时间步长T为条件的U-Net εθ 对其进行去噪,以近似于无噪声输入xπ

【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d

【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d
其中,∇LSJC 是由[53]引入的PAAS分数。此外,我们还使用MSE损失来优化输入视图。为了进一步规范NeRF表示,我们还对每个采样视点应用深度平滑性损失,并应用近视图一致性损失来规范附近视图之间的外观变化。

3.4 数据集

我们使用最近发布的Objaverse[8]数据集进行微调,这是一个大规模的开源数据集,包含由100K+艺术家创建的800K+ 3D模型。虽然它没有像ShapeNet [4]这样明确的类标签,但它体现了大量几何形状丰富的高质量3D模型,其中许多具有细粒度的细节和材料属性。对于数据集中的每个对象,我们随机抽取12个相机外部矩阵,我指向对象的中心,并使用光线追踪引擎渲染12个视图。在训练时,每个对象可以采样两个视图,形成一个图像对(x、xR,T)。相应的相对视点变换(R,T)去了两个视点之间的映射,可以很容易地从两个外部矩阵中导出。


四、One-2-3-45

给定一幅图像,首先使用 view-conditioned 二维扩散模型 Zero123,生成对应的多视图图像然后将它们提升到三维空间。由于传统的重建方法存在不一致的多视图预测,我们基于sdf的广义神经表面重建方法构建了三维重建模块,并提出了几种关键的训练策略来实现360度网格(mesh)的重建,能产生更好的几何形状和三维一致的结果。此外,还集成了现成的文本到图像的扩散模型

这项工作是一个通用的解决方案,将任何类别的图像,变成一个高质量的3D纹理网格(mesh)。与3D数据相比,2D图像更容易获得和可扩展。最近的二维生成模型(如DALLE 、Imagen 和Stable Diffusion)和视觉语言模型(如CLIP )通过对互联网规模的图像数据集进行预训练取得了重大进展。一个新兴领域,如DreamField, DreamFusion, and Magic3D常用可微渲染和CLIP模型或二维扩散模型的指导来执行每个形状的优化。其中神经场是优化中最常用的表示。其缺点:1.耗时 2.内参紧张 3.三维不一致 4.不好的纹理

4.1 Zero123: 视角条件的 2D Diffusion

最近的工作[23:Lora,91:Adding conditional control to text-to-image diffusion models]表明,预训练2D Diffusion 的微调允许我们在扩散模型中添加各种条件控制,并根据特定条件生成图像。条件,如canny 边缘、用户涂鸦、深度和法线图,已经被证明是有效的[91]。

Zero123 旨在为 2D Diffusion添加视点条件控制:微调成对图像上的相对相机转换,由大规模3D数据集[11]合成。其假设对象以坐标系的原点为中心,并使用一个球形摄像机,即摄像机被放置在球体的表面上,并且总是查看原点。对于两个相机姿态(θ1,ϕ1,r1)和(θ2,ϕ2,r2)分别表示极角、方位角和半径,目标模型:f(x1,θ2−θ1,ϕ2−ϕ1,r2−r1)在感知上与x2 相似,其中x1和x2是从不同视图捕获的一个物体的两幅图像。

4.2 NeRF优化:将多视图预测提升到三维图像

给定一张图像,首先使用Zero123生成32张多视图图像(相机姿态从球面均匀采样);然后用基于nerf的方法(TensoRF [48])和基于SDF的方法(NeuS [74]),分别优化密度和SDF场。效果如图3:由于zero 123预测不一致,产生了大量的扭曲和漂浮物。在图4中,我们将Zero123的预测与GroundTruth 的效果进行比较,总体PSNR不高,特别是当输入相对姿态很大或目标姿态在不寻常的位置(例如,从底部或顶部)。
【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d


【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d

然而,mask IoU(大多数区域大于0.95)和CLIP相似性相对较好。表明Zero123倾向于产生在感知上与GroundTruth 相似的预测,并具有相似的轮廓或边界,但像素级的外观可能并不完全相同,这种不一致对于传统的基于优化的方法已经是致命的。

4.3 基于不完美多视图的 神经表面重建

不使用基于优化的方法,重建模块基于一个可推广的SDF重建方法SparseNeuS(MVSNeRF 的一个变体),它结合了多视图立体、神经场景表示和体积渲染。如图2所示,我们的重建模块将多个源图像与相应的摄像机位姿作为输入,并在一次前馈通道中生成一个纹理网格。

【多视重建】从Zero-123到One-2-3-45:单张图到3D,三维重建与编辑,人工智能,深度学习,机器学习,3d

如图2所示,重建模块以m个姿态的源图像作为输入,首先使用二维特征网络提取 m 个二维特征图。接下来,该模块构建一个三维cost volume(代价体),其内容由 每个三维体素投影到m个二维特征平面,对应的 m 个投影二维位置的特征的方差计算得到。然后使用一个稀疏的3D CNN来处理cost volume,以获得一个对输入形状的基础几何形状进行编码的的几何 volume。为了预测任意三维点上的SDF,MLP网络从几何编码体中获取三维坐标及其相应的插值特征作为输入。为了预测一个三维点的颜色,另一个MLP网络以投影位置的二维特征,从几何体中插值特征,以及相对于源图像的查看方向的查询光线的查看方向作为输入。该网络预测每个源视图的混合权重,并将三维点的颜色预测为其投影颜色的加权和。最后,将一种基于sdf的渲染技术应用于两个MLP网络之上,用于RGB和深度渲染[74:Neus]。

* 2阶段 源视图选择 和 Groundtruth预测 混合训练

SparseNeuS 只演示了正面视图重建,但我们通过以特定的方式选择源视图并在训练过程中添加深度监督,在一次前馈通道中重建360度网格。具体来说,我们的重建模型是在一个三维对象数据集上训练的,同时冻结zero 123。我们遵循Zero123来规范化训练形状,并使用一个球形摄像机模型。对于每个形状,我们首先渲染n个GroundTruth RGB和来自n个相机姿态的深度图像,均匀地放置在球体上。对于n个视图中的每一个,我们使用Zero123来预测附近的四个视图。

训练时,我们将所有4个具有GroundTruth 姿态的×n预测输入重建模块,并随机选择n个地面真实RGB图像视图中的一个作为目标视图。我们将这种视图选择策略称为2阶段的源视图选择。我们用GT的RGB和深度值来监督训练。通过这种方式,该模块可以学习处理来自Zero123的不一致的预测,并重建一个一致的360◦网格。我们认为,我们的两级源视图选择策略是至关重要的,因为从球面统一选择n×4个源视图会导致相机姿态之间的距离更大。然而,基于cost volume 的方法[40,28,6]通常依赖于非常接近的源视图来找到局部相关性。此外,如图4所示,当相对姿态较小时(例如,相距10度),Zero123可以提供非常准确和一致的预测,因此可以用来寻找局部对应和推断几何形状。

训练时,我们在第一阶段使用n个GroundTruth 渲染,使深度损失更好的监督。然而,在推理过程中,我们可以用Zero123预测替换n个GroundTruth 渲染,如图2所示,并且不需要深度输入。我们将在实验中表明,这种GroundTruth 预测混合训练策略也很重要。为了导出纹理网格,我们使用 marching cubes [41]从预测的SDF字段中提取mesh,并查询 Neus 中描述的网格顶点的颜色。虽然我们的重建模块是在三维数据集上训练的,但我们发现它主要依赖于局部对应,可以很好地推广到看不见的形状。

4.4 像机位姿估计

我们的重建模块需要4×n源视图图像的像机位姿。请注意,我们采用Zero123来进行图像合成,它在一个标准的球面坐标系中,(θ,ϕ,r)中参数化摄像机。虽然我们可以任意调整方位角ϕ和半径r所有源视图图像同时,导致相应的旋转和比例重建对象,这个参数化需要知道一个相机的绝对仰角θ,在一个标准的XYZ框架中确定所有相机的相对位姿。具体地,相机(θ0,ϕ0,r0)和相机(θ0+∆θ,ϕ0+∆ϕ ,r0)对不同θ0 的相对姿态也不同,即使∆θ和∆ϕ是相同的。因此,同时改变所有源图像的elevation angle仰角(例如,上升30度或下降30度)将导致重建形状的扭曲(示例见图10)。

因此,我们提出了一个仰角估计模块来推断输入图像的仰角(elevation angle)。首先,我们使用Zero123来预测输入图像的四个附近视图。然后,我们以从粗到细的方式列举所有可能的仰角。对于每个高程候选角,我们计算四张图像对应的相机姿态,并计算这组相机姿态的重投影误差,以测量图像和相机姿态之间的一致性。通过结合输入视图的姿态和相对姿态,使用重投影误差最小的仰角来生成所有4×n源视图的相机姿态。(重投影误差,请参阅补充资料)。文章来源地址https://www.toymoban.com/news/detail-729667.html


总结

到了这里,关于【多视重建】从Zero-123到One-2-3-45:单张图到3D的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【三维生成】Make-it-3D:diffusion+NeRF从单张图像生成高保真三维物体(上交&微软)

    题目 : Make-It-3D: High-Fidelity 3D Creation from A Single Image with Diffusion Prior Paper : https://arxiv.org/pdf/2303.14184.pdf Code : https://make-it-3d.github.io/ 在本文中,研究者的目标是: 从一个真实或人工生成的单张图像中创建高保真度的3D内容 。这将为艺术表达和创意开辟新的途径,例如为像Stable

    2024年02月13日
    浏览(42)
  • 105、Zero-1-to-3: Zero-shot One Image to 3D Object

    官网  使用合成数据集来学习相对摄像机视点的控制,这允许在指定的摄像机变换下生成相同对象的新图像,用于从单个图像进行三维重建的任务。  输入图像 x ∈ R H × W × 3 x in R^{H times W times 3} x ∈ R H × W × 3 ,所需视点的相对摄像机旋转和平移 R ∈ R 3 × 3 , T ∈ R

    2024年02月01日
    浏览(45)
  • C#开发PACS医学影像三维重建(一):使用VTK重建3D影像

    VTK简介:   VTK是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的。 因为使用C#语言开发,而VTK是C++的,所以推荐使用VTK的.Net开发库:ActiViz。 本系列文章主要以技术和代码讲解为

    2024年02月09日
    浏览(62)
  • 【3D生成与重建】SSDNeRF:单阶段Diffusion NeRF的三维生成和重建

    题目 :Single-Stage Diffusion NeRF: A Unified Approach to 3D Generation and Reconstruction 论文 :https://arxiv.org/pdf/2304.06714.pdf 任务 :无条件3D生成(如从噪音中,生成不同的车等)、单视图3D生成 机构 :Hansheng Chen,1,* Jiatao Gu,2 Anpei Chen, 同济、苹果、加利福尼亚大学 代码 :https://github.com/Lakon

    2024年02月02日
    浏览(45)
  • 【三维重建】3D Gaussian Splatting:实时的神经场渲染

    辐射场方法 改变了多张照片或视频主导的场景新视角合成。 Gaussian Splatting引入了三个关键元素 ,在保持有竞争力的训练时间的同时实现最先进的视觉质量,重要的是 允许在1080p分辨率下实现高质量的实时(≥30 fps)的新视图合成 。 1.首先, 从摄像机校准过程中产生的稀疏

    2024年02月08日
    浏览(42)
  • 三维人脸实践:基于Face3D的人脸生成、渲染与三维重建 <二>

    git code: https://github.com/yfeng95/face3d paper list: PaperWithCode 3DMM方法,基于平均人脸模型,可实现线性的人脸生成。此外,基于人脸关键点,还能渲染对应的三维人脸模型。 基于3DMM模型的生成1:正常 基于3DMM模型的生成2:微笑 3DMM模型的原理是怎样的?如何实现二维与三维的生成呢

    2024年02月05日
    浏览(45)
  • 三维人脸实践:基于Face3D的人脸生成、渲染与三维重建 <一>

    git code: https://github.com/yfeng95/face3d paper list: PaperWithCode 该方法广泛用于基于三维人脸关键点的人脸生成、属性检测(如位姿、深度、PNCC等),能够快速实现人脸建模与渲染。推荐!!! 相机坐标下的人脸变换 光照渲染 3DMM模型 提示:对于初学者来说,作者强烈建议按照这个顺

    2024年01月21日
    浏览(37)
  • 【三维重建】DreamGaussian:高斯splatting的单视图3D内容生成(原理+代码)

    项目主页:https://dreamgaussian.github.io/ (包含论文和代码) 提示:以下是本篇文章正文内容,下面案例可供参考 常用的3D内容创建方式,主要是 利用基于优化的通过分数蒸馏采样(SDS)进行的3D生成 。该方法每个样本优化较慢,很难实际应用。本文提出了DreamGaussian,兼顾效率

    2024年02月06日
    浏览(47)
  • 三维重建方法3D gaussian splatting与NeRF的区别和异同

    最近学习了一些三维重建相关的内容,目前比较主要的重建流派就是3DGS以及NeRF,NeRF作为2020年发布的文章轰动一时,影响深远,有很多NeRF based的相关工作在这些年涌现。3DGS作为2023年的new talk of the town,其在保证合成质量的情况下能够以数倍乃至数十倍的速度碾压许多NeRF b

    2024年02月01日
    浏览(39)
  • 三维重建 阈值分割 3D可视化 医学图像分割 CT图像分割及重建系统 可视化编程技术及应用

    此系统实现了常见的VTK四视图,实现了很好的CT图像分割,可以用于骨骼,头部,肺部,脂肪等分割,,并且通过三维重建实现可视化。使用了第三方库 VTK,ITK 实现分割和生不重建。 窗口分为 (横断面)、冠状面、矢状面,和3D窗口;包含了体绘制和面绘制; 效果: CT分割

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包