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

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

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

相关文章

【huggingface】【pytorch-image-models】timm框架中使用albumentations库数据增广

文章目录 一、前言二、实操2.1 声明库2.2 定义你的数据增广算子2.3 加入其中 一、前言 问题是这样的,在使用timm框架训练时,发现数据增广不够,想用Albumentations库的数据增广,怎么把后者嵌入到前者的训练中。 其实也是比较简单…

Codeforces Round 919 (Div. 2) D题 偏移量,二分,子问题

Problem - D - Codeforces 题意: 用两种方式制作一个很大的数组,然后查询对应下标对应的数字。 难点: 制作的方式有复制n次原数组接到后面,样例的数据很大,很快就会溢出unsigned long long。暴力做出这个数组是不可…

第7章-第9节-Java中的Stream流(链式调用)

1、什么是Stream流 Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的鼻端。 2、案例 假设现在有一个需求, 将list集合中姓张的元素过滤到一个新的集合中;然后将过滤…

【C++】Qt:Qt事件介绍与正弦曲线绘制示例

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Qt事件介绍与正弦曲线绘制示例。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更…

[软件工具][windows]yolov8自动标注工具自动打标签工具

软件截图如下: 这个工具可以自动将图片识别为指定类别并保存为VOC格式xml文件, 软件只支持官方80类别,您可以选择其中一部分或者一部分进行自动标注,标注的效果依据图片而定,通过自动标注您可以减少很多标注工作量&…

制造知识普及--MES系统中的调度排产管理

要想弄清楚MES系统调度排产的管理机制,则要首先搞清楚车间调度排产是一套怎样的工作流程,它的难点在什么地方? 生产调度指的是具体组织实现生产作业计划的工作,是对执行生产作业计划过程中发生的问题和可能出现的问题&#xff0c…

Unity 工具 之 Azure 微软连续语音识别ASR的简单整理

Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 目录 Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 一、简单介绍 二、实现原理 三、注意实现 四、实现步骤 五、关键脚本 一、简单介绍 Unity 工具类,自己整理的一些游戏开发可能用到的模块&#x…

重磅!ESI高被引论文阈值发布

1月11日,科睿唯安(Clarivate Analytics)公布了最新的ESI数据。 注:ESI的更新时间为每奇数月的第二个星期四。 Essential Science Indicators (ESI) 是一种分析工具,可帮助识别 Web of Science 核心合集中表现最好的研…

Lamp架构从入门到精通

系列文章目录 lnmp架构 lnmp架构-nginx负载均衡以及高可用 系列文章目录一、源码编译configure(检测预编译环境是否可行)makemake install优化关闭Debug 二、 nginx负载均衡三、nginx的高并发nginx work数量的设定nginx work进程与cpu的静态绑定压力测试nginx高并发修改操作系…

Unity使用Protobuf

1.下载Protobuf ProtoBuf 2.打开它并且编译 如果有报错下载相应的.net版本即可 这里默认是6.0.100 由于我本机是8.0.100所以我改了这个文件 3.编译后的文件复制到Unity Assets/Plugins下 4.写个测试的proto文件 5.然后使用protoc生成 这里实现了一个简单的bat批量生成 Protos C…

从0开始学Git指令(3)

从0开始学Git指令 因为网上的git文章优劣难评,大部分没有实操展示,所以打算自己从头整理一份完整的git实战教程,希望对大家能够起到帮助! 远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不…

MySQL体系结构

MySQL体系结构 MySQL采用的是客户/服务器体系结构,实际是有两个程序,一个是MySQL服务器程序,指的是mysqld程序,运行在存放数据库的机器上,负责在网络上监听并处理来自客户的服务请求,根据这些请求去访问数据…

运筹说 第84期 | 网络计划-网络图的基本概念

自华罗庚教授将网络计划技术引入我国,网络计划已取得巨大发展。本期开始,小编将从网络图基本概念、时间参数计算、网络计划优化和图解评审法等方面对网络计划进行系统的介绍。 01前言 20世纪50年代以来,产生了许多计划管理的新方法&#xf…

如何使用Docker一键部署WBO白板并实现固定公网地址远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

详解ISIS动态路由协议

华子目录 前言应用场景历史起源ISIS路由计算过程ISIS的地址结构ISIS路由器分类ISIS邻居关系的建立P2PMA ISIS中的DIS与OSPF中DR的对比链路状态信息的交互ISIS的最短路径优先算法(SPF)ISIS区域划分ISIS区域间路由访问原理ISIS与OSPF的不同ISIS与OSPF的术语…

【Python机器学习系列】建立随机森林模型预测心脏疾病(完整实现过程)

这是Python机器学习系列原创文章,我的第200篇原创文章。 一、引言 对于表格数据,一套完整的机器学习建模流程如下: 针对不同的数据集,有些步骤不适用即不需要做,其中橘红色框为必要步骤,由于数据质量较高&…

【降龙算法】基于QT插件机制实现一个机器视觉算法小框架

机器视觉行业有各种各样的拖拉拽框架,也叫做低代码平台,例如国内海康的VisionMaster: 一个机器视觉框架需要包含各种算法模块,日志窗口,图像显示窗口等等,【降龙算法】就是做了一个入门级的机器视觉算法框…

python贪吃蛇游戏

为了实现这个游戏,需要用到Python的pygame模块,它是一个专门用于开发游戏的模块,提供了很多方便的功能,比如窗口、图形、音效、事件处理等。 用pygame来创建一个窗口,设置游戏的背景色,画出蛇和食物&#…

芯片有关新闻-China chip imports suffer steepest drop on record after US curbs

Jan 16, 2024 9:01 am 由于长期的经济不确定性和美国的出口管制,中国的芯片进口去年遭遇了有记录以来的最大降幅。 全球最大半导体市场的集成电路进口额下降了15.4%,至3494亿美元,这是自2004年中国海关数据公布以来的最大跌幅,并…

目标服务器执行脚本

deploy.sh 为了任何时候都能执行,移动到环境变量 Publish Over SSH deploy.sh 178.119.30.133:80 repo ${JOB_NAME} $tag $port 构建