Google发布的CAT3D,在1分钟内,能够从任意数量的真实或生成的图像创建3D场景。

给定任意数量的输入图像,使用以这些图像为条件的多视图扩散模型来生成场景的新视图。生成的视图被输入到强大的 3D 重建管道,生成可以交互渲染的 3D 表示。总处理时间(包括视图生成和 3D 重建)仅需一分钟。

相关链接

论文:https://arxiv.org/pdf/2405.10314

项目:cat3d.github.io

论文阅读

CAT3D:使用多视图扩散模型以3D形式创建任何内容

摘要

3D重建的进步使高质量的3D捕获成为可能,但需要用户收集数百到数千张图像来创建3D场景。我们提出了cat3d,这是一种通过多视图扩散模型模拟真实世界的捕获过程来创建任何3D内容的方法。给定任意数量的输入图像和一组目标新颖视点,我们的模型生成高度一致的场景新颖视点。

这些生成的视图可以用作鲁棒的3D重建技术的输入,以产生可以从任何视点实时呈现的3D表示。CAT3D可以在短短一分钟内创建整个3D场景,并且优于现有的单图像和少视图3D场景创建方法。

方法

CAT3D是3D创建的两步方法:首先,我们使用多视图扩散模型生成大量与一个或多个输入视图一致的新视图,其次生成视图的鲁棒3D重建管道。我们从多视图扩散模型中生成大量几乎一致的新视图的方法,以及如何在3D重建管道中使用这些生成的视图。

给定一对多视图,CAT3D在短短一分钟内创建整个场景的3D表示。CAT3D分为两个阶段:

  • (1)以输入视图和目标视图的相机姿态为条件,从多视图潜在扩散模型生成大量合成视图;

  • (2)在观察到的和生成的视图上运行一个鲁棒的3D重建管道,以学习NeRF表示。这种生成先验与3d重建过程的解耦导致了计算效率的提高和相对于先前工作的方法复杂性的降低,同时也产生了改进的图像均衡性。

实验

定性结果:CAT3D可以通过多种输入方式创建高质量的3D对象或场景:由文本到图像模型生成的输入图像(第1-2行),单个捕获的真实图像(第3-4行)和多个捕获的真实图像(第5行)。

mip-NeRF360和CO3D数据集场景少视图重建的定性比较。这里显示的示例是渲染图像,有3个输入捕获视图。与ReconFusion等基线方法相比,CAT3D在可见区域与地面真实相符,而在不可见区域产生似是而非的内容。

少视图三维重建的定量比较。CAT3D在几乎所有设置和指标上都优于基线方法(修改后的基线用取自的∗表示)。

从单一输入图像的3D创建。来自CAT3D的3D模型效果图(中图)的质量高于场景的基线(下行),并且对对象具有竞争力。请注意,比例歧义放大了方法之间渲染的差异。

结论

我们提出了CAT3D,一种从任意数量的输入图像创建3D内容的统一方法。CAT3D利用多视图扩散模型生成高度一致的3D场景新视图,然后将其输入到3D多视图重建管道中。CAT3D将生成先验与3D提取分离,从而实现高效、简单和高质量的3D生成。

尽管CAT3D产生了令人信服的结果,并且在多个任务上优于先前的工作,但它的局限性。因为我们的训练数据集对于相同场景的视图具有大致恒定的相机特征,所以训练模型不能很好地处理由多个具有不同特征的相机捕获的输入视图的测试用例。CAT3D的生成质量依赖于基本文本到图像模型的表达能力,当场景内容不在基础模型的分布范围内时,CAT3D的表现会更差。

我们的多视图扩散模型支持的输出视图数量仍然相对较少,因此当我们从模型中生成大量样本时,并非所有视图都可能彼此3D一致。最后,CAT3D使用手动构建的相机轨迹完全覆盖场景,这可能很难设计大规模开放式3D环境。

在未来的工作中,CAT3D的改进有几个值得探索的方向。多视图扩散模型可以从预训练的视频扩散模型初始化中受益。通过扩展模型处理的条件视图和目标视图的数量,可以进一步提高样本的一致性。自动确定不同场景所需的相机轨迹可以增加系统的灵活性.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql图形化界面及将mysql注册成后台程序

安装图形化界面版本 右键新建数据库 字符集使用utf8防止以后数据库中存在中文字符导致乱码 将mysql注册成后台程序 cmd进入命令行界面 切换路径到cd /mysql/bin 将mysql注册成后台程序 mysqld.exe --install mysql1 (失败,说明没有权限) 以管理员身份打开成功…

未授权访问:Hadoop 未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、通过REST API命令执行 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验,一共有好多篇,内容主要是参考先知社区的一位大佬的关于未授权访问的好文章,还有其他大佬总结好的文章…

Qt 在windows下显示中文

Qt在windows平台上显示中文,简直是一门玄学,经过测试,有如下发现: 1, 环境:Qt 5.15.2 vs2019 64位 win11系统 默认用Qt 创建的文件使用utf-8编码格式,此环境下 中文没有问题 ui->textE…

手写tomcat(Ⅲ)——tomcat动态资源的获取

仿写tomcat的Servlet接口体系 之前写过一篇博客,Tomcat的Servlet-GenericServlet-HttpServlet体系的具体结构,以及Servlet的生命周期 Servlet讲解 想要模仿tomcat获取动态资源,就需要我们自己仿写一个Servlet接口体系 主要包括&#xff1a…

软考-下午题-试题二、三

主要是最后一问的不同解答 1、父图子图平衡 1、员工关系是否存在传递依赖?用100字以内的文字说明理由。2019 2、在职员关系模式中,假设每个职员有多名家属成员,那么职员关系模式存在什么问题? 应如何解决?2020 职员关系…

Science 基于尖峰时序编码的模拟神经触觉系统,可实现动态对象分类

快速处理和有效利用手与物体交互过程中产生的动态触觉信号(例如触摸和抓握)对于触觉探索和灵巧的物体操作至关重要。将电子皮肤(e-skins)推进到模仿自然触觉的水平,是恢复截肢者和瘫痪患者丧失的功能的可行解决方案&am…

奥维互动地图奥维彩色图源

彩色图源(不足,更精细放大) 等位线3D模式 中科星 谷歌2024(不足没以前高清)

题解:CF1016E Rest In The Shades

题意 平面上有一个点光源 s s s 并以每秒 1 1 1 单位长度的速度从点 ( a , s y ) (a,sy) (a,sy) 移动到点 ( b , s y ) (b,sy) (b,sy)&#xff0c;其中 s y < 0 sy<0 sy<0&#xff1b;在 x x x 轴正方向上有 n n n 不相交、不接触的挡板&#xff0c;第 i i i …

Visual Studio 的调试(一)

最近事儿很多昂&#xff0c;更新速度相较以往慢了许多&#xff0c;备考六月份的四级&#xff0c;还有学校的期末等等&#xff0c;事儿真的太多啦&#xff0c;所以后面的更新速度也会放慢一点&#xff0c;实在是抽不开身啊诸位&#xff0c;相当抱歉&#xff0c;还望诸君见谅 言…

【LLM多模态】多模态LLM在图表处理的应用

note 在真实场景下&#xff0c;我们进行测试&#xff0c;多模态大模型在处理显著文本时表现尚可&#xff0c;但在处理细粒度文本时往往效果并不太好&#xff0c;why? ​具体原因如下&#xff1a; 首先&#xff0c;视觉编码器的分辨率对于多模态大模型的性能影响较大&#x…

树莓派4B 有电但无法启动

试过多个SD卡&#xff0c;反复烧系统镜像都无法启动。接HDMI显示器没有信号输出&#xff0c;上电后PWR红灯长亮&#xff0c;ACT绿灯闪一下就不亮了&#xff0c;GPIO几个电源脚有电&#xff0c;芯片会发热&#xff0c;测量多个TP点电压好像都正常。 ……

Java面试题--JVM大厂篇(1-10)

引言&#xff1a; 在这个信息时代&#xff0c;对于准备进入大厂工作的朋友们来说&#xff0c;对于JVM&#xff08;Java虚拟机&#xff09;的掌握是面试中的一项重要内容。下面是一些精选的JVM面试题&#xff0c;希望对大家能有所帮助。 正文&#xff1a; 1. JVM有哪几种垃圾收…

用Python一键生成PNG图片的PowerPoint幻灯片

在当今的商业环境中,PowerPoint演示是展示和传递信息的常用方式。然而,手动将大量图像插入到幻灯片中往往是一项乏味且耗时的工作。但是,通过Python编程,我们可以轻松自动化这个过程,节省时间和精力。 C:\pythoncode\new\folderTOppt.py 在本文中,我将介绍如何使用Python、wx…

C/C++ vector详解

要想了解STL&#xff0c;就必须会看&#xff1a; cplusplus.comhttps://legacy.cplusplus.com/ 官方内容全都是英文的&#xff0c;可以参考&#xff1a; C/C初始识https://blog.csdn.net/2301_77087344/article/details/138596294?spm1001.2014.3001.5501 vector&#xff…

redisson的使用及LUA脚本实现分布式秒杀

1.redisson实现分布式锁(推荐) redisson官网&#xff1a;Redisson: Easy Redis Java client and Real-Time Data Platform Redisson是一个基于Redis的Java客户端&#xff0c;它不仅提供了对Redis基本操作的支持&#xff0c;而且是一个功能丰富的分布式协调服务客户端。Rediss…

知识分享:隔多久查询一次网贷大数据信用报告比较好?

随着互联网金融的快速发展&#xff0c;越来越多的人开始接触和使用网络贷款。而在这个过程中&#xff0c;网贷大数据信用报告成为了评估借款人信用状况的重要依据。那么&#xff0c;隔多久查询一次网贷大数据信用报告比较好呢?接下来随小易大数据平台小编去看看吧。 首先&…

Pandas 多层索引中的索引和切片操作你学会了吗

1. Series的索引操作 对于Series来说&#xff0c;直接中括号[]与使用 .loc() 完全一样 显式索引 # 导包import numpy as npimport pandas as pd data np.random.randint(0,100,size6) index [ ["1班","1班","1班","2班","…

C++——list的实现以及源码

前言&#xff1a; 最近学习了clist的实现&#xff0c;这让我对迭代器的理解又上升了一个新的高度&#xff0c;注意&#xff1a;代码里的list是放在一个叫zgw的命名空间里边&#xff0c;但是在实现list的代码中没有加namespace&#xff0c;这里给个注意&#xff0c;以后复习时能…

颜色值进制转换

颜色值进制转换 专业的和非专业程序员在编程时都碰到过颜色值的表达式。特别是在编制网页和设计界面时&#xff0c;都要选择颜色。各语言的颜色值表达式就两种&#xff0c;十六进制的颜色值hex$和十进制的RGB格式。现成的调色板颜色表也是这两种格式。写代码时会遇到写颜色值码…

Linux-组管理和权限管理

1 Liunx组的基本介绍&#xff1a; 在Linux中的每个用户必须属于一个组&#xff0c;不能独立于组外。在Linux中每个文件都有所有者、所在组、其他组的概念 所有者所在组其它组改变用户所在的组 2 文件/目录的所有者 一般文件的创建者&#xff0c;谁创建了该文件&#xff0c;就…