【多视重建】从Zero-123到One-2-3-45:多视角生成

news2024/11/26 9:31:21

在这里插入图片描述

文章目录

  • 摘要
  • 一、引言
  • 二、相关工作
  • 三、Zero-1-to-3
    • 3.1.学习如何控制照相机的视角
    • 3.2.视角作为条件的扩散
    • 3.3三维重构
    • 3.4 数据集
  • 四、One-2-3-45
    • 4.1 Zero123: 视角条件的 2D Diffusion
    • 4.2 NeRF优化:将多视图预测提升到三维图像
    • 4.3 基于不完美多视图的 神经表面重建
    • * 2阶段 源视图选择 和 Groundtruth预测 混合训练
    • 4.4 像机位姿估计
  • 总结


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,它在这个相机转换下合成了一个新的图像:
在这里插入图片描述
我们希望我们估计的 x ^ \hat{x} x^ R.T 在感知上与真实但未被观察到的新视图 xR,T 相似。

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

在这里插入图片描述

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

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

为此,给定成对图像及其相机外参的数据集{x,xR,T,R,T},如图3所示,我们微调预训练的扩散模型,以学习对相机参数的控制,而不破坏其他参数的表示。使用具有编码器、去噪U-Net和解码器的潜在扩散架构。在扩散时间步长t∼[1,1000],设c(x,R,T)作为输入视图和相对相机外部信息的嵌入。然后,我们求解以下目标来微调模型:
在这里插入图片描述
经过模型εθ 的训练后,推理模型 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π

在这里插入图片描述

在这里插入图片描述
其中,∇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不高,特别是当输入相对姿态很大或目标姿态在不寻常的位置(例如,从底部或顶部)。
在这里插入图片描述


在这里插入图片描述

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

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

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

在这里插入图片描述

如图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源视图的相机姿态。(重投影误差,请参阅补充资料)。


总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/875701.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下在qtcreator中创建qt程序

目录 1、新建项目 2、单工程项目创建 3、多工程项目创建 4、添加子工程(基于多工程目录结构) 5、 .pro文件 1、新建项目 切换到“编辑”界面,点击菜单栏中的“文件”-“新建文件或项目” 2、单工程项目创建 只有一个工程的项目&#…

【自用】终端设备(ESP32-S3)连接云服务器 HomeAssistant + MQTT 物联网平台

总览 1.流程概述 2.开始搭建! 3. 一、流程概述 0.总体流程 二、开始搭建 1.下载 MQTTX 客户端( 在PC上 ) https://mqttx.app/zh/downloads 2.新建 MQTTX 连接 0.点击左侧的加号,开始新建连接。 一共需要填写几个参数&#…

合并图形并共享同一个图例的三种方法

简介 小编在科研中,需要将多个图形进行合并,并共享同一个图例。此时应该如何实现?关于图形合并的相关推文写了很多了:R可视乎|合并多幅图形、cowplot包,ggplot2图形排版R包。 但是对于今天这个问题&#x…

SpringBoot-Hello World

SpringBootWeb快速入门 创建Springboot工程,并勾选web开发相关依赖定义HelloController类,添加方法hello,并添加相关注释运行测试 创建新的SpringBoot项目 几个注意的点: Name:基本上不用管,会根据下面的Ar…

智能电动机保护控制器的应用与分析

安科瑞 华楠 分析了智能电动机保护器相比热继电器的优点,指出了在我公司成功应用的原因,提出了应用过程中需要注意的地方。 公司新建一车间中,当工程设计到电动机保护这一部分时,设计者出于对热继电器保护性能的不满意&#xff0c…

【数据库基础】Mysql下载安装及配置

下载 下载地址:https://downloads.mysql.com/archives/community/ 当前最新版本为 8.0版本,可以在Product Version中选择指定版本,在Operating System中选择安装平台,如下 安装 MySQL安装文件分两种 .msi和.zip [外链图片转存失…

红帽8.2版本CSA题库:第八题配置 autofs自动挂载

红帽8.2版本CSA题库:第八题配置 autofs自动挂载 yum -y install autofs #安装autofs vim /etc/auto.master #在…

Spring Boot业务代码中使用@Transactional事务失效踩坑点总结

1.概述 接着之前我们对Spring AOP以及基于AOP实现事务控制的上文,今天我们来看看平时在项目业务开发中使用声明式事务Transactional的失效场景,并分析其失效原因,从而帮助开发人员尽量避免踩坑。 我们知道 Spring 声明式事务功能提供了极其…

圆满收官丨“2023年度第一季万博智云云迁移架构师训练营”结营了

“2023年度第一季万博智云云迁移架构师训练营”于今日圆满落幕。百余名来自全国各地30企业的工程师报名参加学习,其中60工程师在忙碌工作中抽空参与考试,近40名工程师通过万博智云云迁移架构师OCCE认证。 为了帮助工程师们掌握云迁移基础知识&#xff0c…

基于UDS on CAN的bootloader

UDS (Unified Diagnostic Services)&#xff1a;汽车诊断标准协议 Tester(诊断方)<--------------------------------------->ECU(汽车电控单元&#xff09; 2.UDS的硬件实现&#xff1a;CAN总线和诊断接口 3.UDS的软件实现&#xff1a;协议栈(Core)和应用程序 UDS协议…

【数字图像处理】数字图像处理中的直方图相关操作

文章目录 前言一、直方图为什么可以进行图像处理&#xff1f;二、直方图处理怎么实现&#xff1f;直方图均衡化直方图匹配-规定化局部直方图处理直方图统计量增强图像 三、OpenCv提供的直方图基础操作直方图均衡化OpenCv中直方图的表示从数据创建直方图&#xff1a;cv::calcHis…

Kafka的下载安装以及使用

一、Kafka下载 下载地址&#xff1a;https://kafka.apache.org/downloads 二、Kafka安装 因为选择下载的是 .zip 文件&#xff0c;直接跳过安装&#xff0c;一步到位。 选择在任一磁盘创建空文件夹&#xff08;不要使用中文路径&#xff09;&#xff0c;解压之后把文件夹内容…

2014-2022年阿里淘宝村省市县数据

2009-2022年阿里淘宝村-省市县数据&#xff08;原始数据汇总&#xff09; 从萌芽到扩散&#xff0c;再到大规模、集群式增长&#xff0c;生机勃勃的“淘宝村”和“淘宝镇”已成为中国农村电商发展的典范。2022年&#xff0c;在全面推动乡村振兴的进程中&#xff0c;又有一批村…

ChatGPT收录

VSCode插件-ChatGPT 多磨助手 多磨助手 (domore.run) Steamship Steamship 免费合集 免费chatGPT - Ant Design Pro 免费AI聊天室 (xyys.one)

OceanMind海睿思受邀出席2023长三角数字化大会,斩获两项数字化转型年度大奖

8月10日&#xff0c;由江苏省工业和信息化厅指导&#xff0c;长三角首席信息官联盟主办&#xff0c;江苏省企业信息化协会承办的“2023年长三角数字化转型大会”在江苏南京成功召开。 本次大会以“工业互联智造未来”为主题&#xff0c;旨在促进产业互联网的发展&#xff0c;并…

JavaScript函数声明与函数表达式

在 JavaScript 中&#xff0c;可以通过两种方式来定义函数&#xff1a;函数声明和函数表达式。 函数声明使用 function 关键字进行定义&#xff0c;并且在整个作用域中都可用。 函数声明的方式&#xff1a; function calcAge1(birthYear) {return 2037 - birthYear; } const …

制造执行系统(MES)在新能源领域的应用

制造执行系统&#xff08;MES&#xff09;在新能源领域有许多应用&#xff0c;特别是在管理、监控和优化新能源生产过程方面。新能源包括太阳能、风能、生物质能、地热能等。以下是一些MES在新能源方面的应用领域&#xff1a; 生产计划与调度&#xff1a;MES可以协助规划和调度…

FiboSearch Pro – Ajax Search for WooCommerce 商城AJAX实时搜索插件

FiboSearch Pro是最受欢迎的WooCommerce 产品搜索插件。它为您的用户提供精心设计的高级 AJAX 搜索栏&#xff0c;并提供实时搜索建议。默认情况下&#xff0c;WooCommerce 提供非常简单的搜索解决方案&#xff0c;没有实时产品搜索&#xff0c;甚至没有 SKU 搜索。FiboSearch&…

多种求组合数算法

目录 求组合数Ⅰ&#xff08;递推&#xff09;核心理论理论推导典型例题代码实现 求组合数Ⅱ&#xff08;预处理&#xff09;核心理论典型例题代码实现 求组合数Ⅲ&#xff08;Lucas定理&#xff09;核心理论Lucas定理的证明1.证明Lucas定理的第一形式2.证明Lucas定理的第二形式…

顺序表的插入,删除,修改和查找(详细解析)

目录 一.顺序表的初始化----静态分配 二.顺序表的初始化----动态分配 三.顺序表的插入 1.插入操作 2.插入操作的时间复杂度 三.顺序表的删除操作 1.顺序表的删除 2.删除操作的时间复杂度 四.顺序表的查找 1.按位查找操作&#xff1a;查找第i位置的元素 2.按位查找操作…