仅用三张图片实现任意场景三维重建:ReconFusion

论文题目:

ReconFusion: 3D Reconstruction with Diffusion Priors

论文作者:

Rundi Wu, Ben Mildenhall, Philipp Henzler, Keunhong Park, Ruiqi Gao, Daniel Watson, Pratul P. Srinivasan, Dor Verbin, Jonathan T. Barron, Ben Poole, Aleksander Holynski

项目地址:https://reconfusion.github.io/

编译:lean_loves_lulu

图片

基于NeRF技术的三维重建是目前计算机视觉和图形渲染领域的研究热点,但是每次重建不仅需要从零开始,甚至需要上百张图片作为输入才能完成高保真度的三维重建任务。ReconFusion通过在三维重建过程中加入扩散模型作为先验来减少输入图片数量,利用少量视图信息即可完成高质量场景渲染与重建,为三维重建领域提供了新的研究方向。

图片

▲图1|ReconFusion与Zip使用少量视图进行三维重建对比 ©️【深蓝AI】编译

图片

基于神经辐射场(NeRF)的三维重建很擅长于不同视角下场景的高质量渲染,然而对于复杂场景的高质量重建通常需要数十张甚至上百张输入图像,这无疑是一个极为耗时的过程。本文提出的ReconFusion仅用少量图片即可重建真实场景。具体方法为:利用扩散先验进行新视图的合成,并在人工合成和多视图数据集上进行训练,并将扩散先验信息融合进NeRF的三维重建过程中。

本文提出的方法在多种真实场景数据集上与基于NeRF的重建方法进行了详细的对比实验,实验结果表明:ReconFusion不仅能在欠约束区域内还原真实场景的纹理和几何形状,同时还能保留观察区域内的场景外观,证明了本文提出的方法在少量图像的三维重建方面比NeRF具有更为优秀的性能表现。

图片

图片

▲图2|ReconFusion模型整体框架(来源:该论文)©️【深蓝AI】编译

3.1 Diffusion Model for Novel View Synthesis(用于新视图合成的扩散模型)

扩散模型基于LDMs(Latent Diffusion Models)实现对高分辨率图像的建模。LDMs使用预先训练好的自编码器VAE(Variational auto-encoder)将输入图像编码为潜在空间表示(latent representation),这里可以理解为对输入数据进行压缩,在较低维度上对数据进行表示。扩散模型具体实现为time-conditional UNet,在该扩散模型的基础上引入了条件机制,与Zero-1-to-3类似,将图像位姿作为UNet框架中额外的条件限制,使其能通过不同位姿的图像完成新视图合成任务。

■3.2 3D Reconstruction with Diffusion Priors(基于扩散先验的三维重建)

经过训练后的扩散模型能通过新的相机位姿生成正确的图像,但在使用不同的相机位姿或随机种子时,生成的图像往往不一致。最先进的NeRF方法能生成3D表示一致的三维模型,但通常新视图伴随着”漂浮“现象或出现无法辨认的几何形状。基于上述分析,为了实现利用少量视图作为输入完成三维重建任务,本文使用Zip-NeRF作为三维重建模块,并将扩散模型作为先验加入Zip-NeRF用于新视图合成。

图片

实验分为三部分:首先,将ReconFusion在五个“真实世界”数据集上进行评估,用于验证其在少量视图条件下进行三维重建的性能及可泛化性(对比实验);然后针对于扩散模型及三维重建过程进行消融实验(消融实验);最后在不同的场景捕获条件下验证ReconFusion在三维重建上的最终性能(扩展实验)

■4.1 对比实验

图片

▲图3|ReconFusion在五种真实场景数据集上的对比实验结果(来源:该论文)©️【深蓝AI】编译

图片

▲图4|ReconFusion在五种真实世界数据集上的对比实验结果,即定量分析(来源:该论文)©️【深蓝AI】编译

■4.2 消融实验

对扩散模型的消融实验体现在两个方面:预训练扩散模型权重(PT)和条件信号。分别通过从头开始训练扩散模型和替换PixelNeRF模块(替换为类似于ZeroNVS的模块)进行实现。

首先在扩散模型中选取两个样本,在三种不同条件(限制pose条件下、无预训练权重、完整模型)下基于NeRF进行三维重建,并对渲染结果进行对比分析。

图片

▲图5|扩散模型在三视图三维重建上的消融实验(来源:该论文)©️【深蓝AI】编译

图片

▲图6|消融实验定量分析结果(来源 :该论文)©️【深蓝AI】编译

■4.3 扩展实验

为了进一步研究扩散先验模型的有效性和鲁棒性,将少量视图的条件扩展为不同数量的视图,将本文提出的模型与Zip-NeRF进行对比实验。

图片

▲图7|三维重建扩散损失对比(来源:该论文)©️【深蓝AI】编译

图片

▲图8|有无扩散先验模块对三维重建性能的影响(来源:该论文)©️【深蓝AI】编译

图片

ReconFusion将NeRF和扩散模型进行了有效结合。首先,使用了基于优化的三维重建模块NeRF,保证了算法底层3D表示的多视图一致性。同时,采用了基于扩散模型的新视图合成模块,解决了在三维重建过程中欠约束问题的影响。目前此项研究的局限性也是显而易见的:扩散模型计算成本较高,会明显降低重建速度;模型在三维绘制能力上稍有不足;调整重建与样本损失之间的平衡也较为困难。尽管现阶段的研究在存在一些问题,本文提出的模型已在各类场景中初见成效,视图计算量显著降低,未来工作可以在稀疏重建方向针对于本文模型作进一步的优化与改进。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

exFAT文件系统识别不了怎么办?

一般存储驱动器通常会使用几种文件系统,其中比较常见的是FAT32、NTFS和exFAT,那么它们之间有什么区别呢?exFAT文件系统识别不了怎么办? 常用文件系统之间的区别有哪些? FAT32文件系统:它是一个兼容性非常强…

关联系统-智能集成制动系统IPB

整车制动原理 在讲述IPB之前,需要先了解一下整车的制动原理: 如上图所示: 驾驶员踩下制动踏板,由于制动踏板和真空助力器连接,踏板下降的同时会导致真空助力器内压力增大,真空助力器推动制动液进入ESP&am…

九、Qt C++ 数据库开发

《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时,几种窗体的区别》 《七、Qt 信号和槽》 《八、Qt C 毕业设计》 《九、Qt …

2024 1.6~1.12 周报

一、上周工作 论文研读 二、本周计划 思考毕业论文要用到的方法或者思想,多查多看积累可取之处。学习ppt和上周组会内容、卷积神经网络。 三、完成情况 1. 数据训练的方式 1.1 迁移学习 迁移学习是一种机器学习方法,把任务 A 训练出的模型作为初始模…

【剑指offer】替换空格

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述1、题目2、示例 二、题目分析1、replaceAll 方法2、StringBuilder3、临时数组 一、题目描述 1、题目 剑指of…

【Python3】【力扣题】387. 字符串中的第一个唯一字符

【力扣题】题目描述: 【Python3】代码: 1、解题思路:遍历字符串,依次判断元素在字符串中的个数是否为1,第一个为1的返回该元素的索引号,若整个字符串都没有个数为1的,则返回-1。 知识点&#…

武汉灰京文化:抓住用户心理,游戏推广不可或缺的前提

在当今激烈竞争的游戏市场中,了解目标用户成为游戏推广的不可或缺的前提。不同类型的游戏适合不同的用户群体,因此通过深入研究用户画像,准确定位目标用户群体,成为游戏成功推广的关键一环。游戏推广不仅仅是让更多的人知道游戏的…

运算符重载函数

C为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。 函数名字为:关键字operator后面接需要重载的运算符符…

机器学习-决策树

1、什么是决策树? 一种描述概念空间的有效的归纳推理办法。基于决策树的学习方法可以进行不相关的多概念学习,具有简单快捷的优势,已经在各个领域取得广泛应用。 决策树是一种树型结构,其中每个内部结点表示在一个属性上的测试&a…

大数据Doris(五十六):SQL函数之地理位置函数

文章目录 SQL函数之地理位置函数 一、​​​​​​​ST_AsText(GEOMETRY geo)

Java - Lombok的添加和使用详解

目录 🐶6.1 lombok介绍 🐶6.2 lombok使用 1. 🥙添加方法一 2. 🥙添加方法2 3. 使用 🐶6.3 lombok常用注解 1. 🥙Getter和Setter 2. 🥙ToString 3. 🥙NoArgsConstructor和Al…

Docker入门安装、镜像与容器下载 —— 基本操作

目录 前言 Docker 1. docker介绍 2. docker安装 3. docker基本使用 3.1 镜像下载 3.2 操作容器 前言 虚拟机:基于主机(物理机或虚机)的多服务实例。在该模式下,软件开发人员可以提供单个或多个物理机或虚机,同时在每个主机上运行多个服…

【务实笔记】总要朝前看

最近关注了鱼皮的编程导航,打算跟着鱼皮做一做项目,为研究生复试作准备。其实我原先已经有一个C高并发服务器的项目了,只不过最近很无奈,开始打造前端页面的时候,虚拟机Qt安装界面死活卡在了第一步: ┭┮﹏…

Java多线程并发篇----第十七篇

系列文章目录 文章目录 系列文章目录前言一、为什么要用 join()方法?二、线程唤醒(notify)三、线程其他方法四、进程五、上下文前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享…

用Python实现USB插拔测试

测试目的 我司的产品需要进行唤与睡眠状态之间的切换测试,而且需要进行长时间的压力测试。由于没有插拔USB的机械设备,所以我这边就需要设计一个能模拟USB插拔的测试环境。 设计 测试环境的设计只能根据现有资源来进行,所以我这边给出的方…

Html+Css+JavaScript实现完整的轮播图功能

概要 这个案例具备常见轮播图完整的功能,大家可以根据自己的需求去修改; 代码可以直接复制运行,需要安装sass 主要功能: (1)鼠标移入轮播图,左右两边的按钮出现,离开则隐藏按钮&a…

【前后端的那些事】开源!treeSelect树形结构数据展示

文章目录 tree-selector1. 新增表单组件2. 在父组件中引用3. 父组件添加新增按钮4. 树形组件4.1 前端代码4.2 后端代码 前言:最近写项目,发现了一些很有意思的功能,想写文章,录视频把这些内容记录下。但这些功能太零碎&#xff0c…

qemu、virt-manager克隆虚拟机

前提 必须先关闭虚拟机,不然克隆按钮是灰的,不能点击 克隆虚拟机 选择虚拟机--克隆 点击克隆 等待完成克隆 下图说明已经克隆成功 运行虚拟机

IntelliJ IDEA安装来了

IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超…

接口interface--java学习笔记

认识接口 java提供了一个关键字interface,用这个关键字可以定义出一个特殊的结构:接口在接口里面定义的变量,不管加不加public static final修饰都默认为常量,必须赋初值在接口里面定义的方法,不管加不加public abstr…