MVSNeRF:多视图立体视觉的快速推广辐射场重建

MVSNeRF:多视图立体视觉的快速推广辐射场重建

    • 摘要
    • 1 引言

摘要

在2021年,作者提出了MVSNeRF,一种新的神经渲染方法,在视图合成中可以有效地重建神经辐射场。与之前对神经辐射场的研究不同,我们考虑了对密集捕获的图像进行每场景优化,我们提出了一种通用的深度神经网络,它可以通过快速网络推理,仅从附近的三个输入视图中重建辐射场。我们的方法利用平面扫描代价体(广泛应用于多视图立体视觉)进行几何感知场景推理,并将其与基于物理的体积渲染相结合,用于神经辐射场重建。我们在DTU数据集中的真实物体上训练我们的网络,并在三个不同的数据集上进行测试,以评估其有效性和通用性。我们的方法可以泛化跨场景(甚至是室内场景,完全不同于我们物体的训练场景),并仅使用三个输入图像生成真实的视图合成结果,显著优于同时发布的可推广的辐射场重建论文。此外,如果捕获密集的图像,我们估计的辐射场表示可以很容易地进行微调;这导致每个场景可以快速的重建,具有更高的渲染质量和更少的优化时间。

1 引言

新视角合成是计算机视觉和图形学中一个长期存在的问题。近年来,神经渲染方法显著地推进了这一领域的进展。神经辐射场( Neural Radiance Fields,NeRF)及其后续的工作已经可以产生逼真的新视图合成结果。然而,这些先前工作的一个显著缺点是它们需要一个很长的每一个场景的优化过程来获得高质量的辐射场,这相当昂贵并高度限制了实用性。

我们的目标是让神经场景重建和渲染更加实用。我们提出了MVSNeRF,一种新的方法,可以很好地推广到仅从几个(只有三个)非结构化的多视图输入图像中跨场景重建一个辐射场的任务。由于具有很强的通用性,我们避免了繁琐的每个场景优化,并可以通过快速的网络推理直接在新的视角上回归真实的图像。如果在短时间内(5-15 min)进一步优化更多图像,我们重建的辐射场甚至可以在数小时的优化下优于NeRFs(见图1)。
在这里插入图片描述
我们利用了最近在基于学习的多视点立体视觉(MVS)上的成功。对于三维重建任务,这项工作可以通过对代价体使用用三维卷积来训练可推广的神经网络。我们通过将附近的输入视图(由2DCNN推断)的二维图像特征变换到参考视图的结果中的扫描平面上,在输入参考视图上构建一个代价体。与其它MVS方法只对代价体进行深度推断不同,我们的网络对场景几何和外观进行推理,并输出一个神经辐射场(见图2),从而实现视图合成
在这里插入图片描述
具体来说,利用3D CNN,我们重建(从代价体)一个神经场景编码体,该体积由每个体素的神经特征组成,编码关于局部场景几何和外观的信息。然后,我们利用多层感知器(MLP),利用编码体内的三次插值神经特征,解码任意连续位置的体积密度和辐射。本质上,编码体是辐射场的局部神经表示;一旦估计,这个体积可以直接使用(去掉3D CNN),通过可微分射线行进行最终渲染。我们的方法结合了基于学习的MVS和神经渲染。与现有的MVS方法相比,我们实现了可微神经渲染,允许在不需要三维监督的情况下进行训练和推理时间优化,以进一步提高质量。与现有的神经渲染工作相比,我们的MVS架构可以很自然地推理相应的交叉视图,促进泛化到不可见的测试场景,也可以导致更好的神经场景重建和渲染。因此,我们的方法可以显著优于最近的发布的可推广的NeRF工作,它主要考虑二维图像特征,而没有显式的几何感知的三维结构(见表1和图4)。
在这里插入图片描述
在这里插入图片描述
我们证明,仅使用3张输入图像,我们从DTU数据集训练出来的网络在测试DTU场景时合成逼真的图像,甚至可以在其它分布不同的场景数据集上产生合理的结果。此外,我们估计的三图像辐射场(神经编码体)可以更容易地在新的测试场景上进一步优化,以改进更多被拍摄图像的神经重建,获得了逼真的结果,甚至与每个场景的过拟合NeRF相当,我们的优化时间比NeRF少(见图1)。这些实验表明,当只有少数图像捕获时,我们的技术可以作为一个强有力的重建器,可以重建一个辐射场用于真实的视图合成。或者作为一个强初始化器,当获得密集图像时,可以显著促进每个场景的辐射场优化。我们的方法向现实的神经渲染实际化迈出了重要的一步。

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

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

相关文章

十分钟带你看懂——Python测试框架之pytest最全讲

pytest特短 pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: 简单灵活,容易上手 支持参数化 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试&#xff08…

如何能够对使用ShaderGraph开发的Shader使用SetTextureOffset和SetTextureScale方法

假设在ShaderGraph中的纹理的引用名称为"_BaseMap",同时对这个"_BaseMap"纹理使用了采样的节点"SampleTexture2D",然后该采样节点的uv接入的TilingAndOffset节点,此时的关键步骤是新建一个Vector4属性&#xf…

C++实现顺序栈的基本操作(扩展)

#include <stdio.h> typedef char ElemType; #define StackSize 100 /*顺序栈的初始分配空间*/ typedef struct { ElemType data[StackSize]; /*保存栈中元素*/int top; /*栈顶指针*/ } SqStack; void InitStack(SqStack &st) {st.top-1; } …

SSM整合(注解版)

SSM 整合是指将学习的 Spring&#xff0c;SpringMVC&#xff0c;MyBatis 进行整合&#xff0c;来进行项目的开发。 1 项目基本的配置类 1.1 Spring 配置类 这个配置类主要是管理 Service 中的 bean&#xff0c;controller 层的 bean 对象是 SpringMVC 管理的 package cn.ed…

案例研究|作为一家BI厂商,飞致云是如何人人使用DataEase的?

杭州飞致云信息科技有限公司&#xff08;以下简称为飞致云&#xff09;长期秉持“软件用起来才有价值&#xff0c;才有改进的机会”的核心价值观&#xff0c;以“为数字经济时代创造好软件”为使命&#xff0c;致力于成为中国数字化团队首选的通用工具软件提供商。在软件产品不…

编码器-解码器(seq-seq)

1. 背景 encoder-decoder和seq-seq模型可以解决输入与输出都是不定长序列的问题。它们都用到了两个循环NN&#xff0c;分别叫做编码器(用来分析输入序列)与解码器(用来生成输出序列)。 2. 编码器 把一个不定长的输入序列变换成一个定长的背景变量c&#xff0c;并在其中编码输入…

大文件分片上传、分片进度以及整体进度、断点续传【前端原生、后端 Koa、Node 原生】(一)

分片&#xff08;500MB&#xff09;进度效果展示 效果展示&#xff0c;一个分片是 500MB 的 分片&#xff08;10MB&#xff09;进度效果展示 大文件分片上传效果展示 前端 思路 前端的思路&#xff1a;将大文件切分成多个小文件&#xff0c;然后并发给后端。 页面构建 先在页…

数据结构学习笔记——广义表

目录 一、广义表的定义二、广义表的表头和表尾三、广义表的深度和长度四、广义表与二叉树&#xff08;一&#xff09;广义表表示二叉树&#xff08;二&#xff09;广义表表示二叉树的代码实现 一、广义表的定义 广义表是线性表的进一步推广&#xff0c;是由n&#xff08;n≥0&…

C++11(上)

统一的列表初始化 首先要说明&#xff1a; 这个列表初始化和类和对象那里的初始化列表不是一个概念. {} 初始化 在C98中, 标准允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定. 比如: C语言里面其实就是这样支持的, 所以可以认为C支持这样就是因为要兼容C. 在…

IDEA中也能用postman了?

Postman是大家最常用的API调试工具&#xff0c;那么有没有一种方法可以不用手动写入接口到Postman&#xff0c;即可进行接口调试操作&#xff1f;今天给大家推荐一款IDEA插件&#xff1a;Apipost Helper&#xff0c;写完代码就可以调试接口并一键生成接口文档&#xff01;而且还…

.Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)

机缘 不知不觉,.NET8都已经面世,而我们一直还停留在.netframework4.5开发阶段,最近准备抽空研究一下.Net6,一是为了提高技术积累,一方面想着通过这次的学习,看有没有可能将老的FX版本替换到.Net6开发上,经过查找官方资料,对.Net6支持的系统版本做一个分享,方便大家后期…

数据库事务

Innodb引擎支持以事务的方式执行SQL&#xff0c;事务包含ACID四个特性&#xff0c;分别是原子性、一致性、隔离性和持久化。 原子性 原子性是指开启事务后&#xff0c;使用commit提交事务或rollback回滚事务&#xff0c;使事务内的多条修改语句同时成功或失败。 原子性是通过…

图中点的层次(图的BFS)

给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环。 所有边的长度都是 1&#xff0c;点的编号为 1∼n。 请你求出 1 号点到 n 号点的最短距离&#xff0c;如果从 1 号点无法走到 n 号点&#xff0c;输出 −1。 输入格式 第一行包含两个整数 n 和 m。 接…

SQL Sever 基础知识 - 限制行数

SQL Sever 基础知识 - 三、限制行数 三、限制行数第1节 OFFSET FETCH - 限制查询返回的行数1.1 OFFSET 和 FETCH 子句1.2 SQL Server OFFSET 和 FETCH 示例 第2节 SELECT TOP - 限制查询结果集中返回的行数或行的百分比2.1 SELECT TOP 子句2.2 PERCENT2.3 WITH TIES2.4 SELECT …

React全站框架Next.js使用入门

Next.js是一个基于React的服务器端渲染框架&#xff0c;它可以帮助我们快速构建React应用程序&#xff0c;并具有以下优势&#xff1a; 1. 支持服务器端渲染&#xff0c;提高页面渲染速度和SEO&#xff1b; 2. 自带webpack开发环境&#xff0c;实现即插即用的特性&#xff1b;…

ROS报错:RLException:Invalid roslaunch XML Syntax: mismatched tag:

运行roslaunch文件提示&#xff1a; RLException:Invalid roslaunch XML Syntax: mismatched tag: line 45&#xff0c; column 2 The traceback for the exception was written to the log file. j 解决办法&#xff1a; line45 行多了标签&#xff1a;</node> 另外…

FL Studio 21.2.1.3859中文破解版及FL Studio怎么录制

FL Studio 21.2.1.3859中文破解版是一个数字音频工作站 (DAW)。该软件借助各种编辑工具、插件和效果&#xff0c;让您可以录制、混音和掌握高度复杂的音乐作品。FL Studio 21还允许您注册和编辑 MIDI 文件&#xff0c;您可以在众多可用乐器之一上演奏这些文件。FL Studio 拥有 …

STM32USART+DMA实现不定长数据接收/发送

STM32USARTDMA实现不定长数据接收 CubeMX配置代码分享实践结果 这一期的内容是一篇代码分享&#xff0c;CubeMX配置介绍&#xff0c;关于基础的内容可以往期内容 夜深人静学32系列11——串口通信夜深人静学32系列18——DMAADC单/多通道采集STM32串口重定向/实现不定长数据接收 …

线程池、及Springboot线程池实践

摘要 本文介绍了线程池基本概念、线程及线程池状态、java中线程池提交task后执行流程、Executors线程池工具类、最后介绍在springboot框架下使用线程池和定时线程池&#xff0c;以及task取消 线程池基本 背景 线程池 线程池是一种多线程处理形式&#xff0c;处理过程中将任务…

人工智能学习7(决策树算法)

编译工具&#xff1a;PyCharm 文章目录 编译工具&#xff1a;PyCharm 决策树算法信息熵信息熵例题计算&#xff1a; 信息增益&#xff08;决策树划分依据之一ID3&#xff09;信息增益例题计算&#xff1a; 信息增益率(决策树划分依据之一C4.5)基尼值和基尼指数(决策树划分依据之…