经典文献阅读之--NoPe-NeRF(优化无位姿先验的神经辐射场)

news2024/11/16 21:49:57

0. 简介

没有预先计算相机姿态的情况下训练神经辐射场(NeRF)是具有挑战性的。最近在这个方向上的进展表明,在前向场景中可以联合优化NeRF和相机姿态。然而,这些方法在剧烈相机运动时仍然面临困难。我们通过引入无畸变单目深度先验来解决这个具有挑战性的问题。这些先验是通过在训练期间校正比例和平移参数生成的,从而能够约束连续帧之间的相对姿态。这种约束是通过我们提出的新型损失函数实现的。对真实世界室内和室外场景的实验表明,我们的方法可以处理具有挑战性的相机轨迹,并在新视角渲染质量和姿态估计精度方面优于现有方法。本文《NoPe-NeRF: Optimising Neural Radiance Field with No Pose Prior》的项目页面是https://nope-nerf.active.vision。

1. 主要贡献

综上所述,我们提出了一种方法来联合优化摄像机的姿势和来自具有大量摄像机运动的图像序列的NeRF。我们的系统是由三个方面的贡献促成的。

  1. 我们提出了一种新的方法,通过明确地模拟比例和位移失真,将单深度整合到无姿势的NeRF训练中。

  2. 我们通过使用未扭曲的单深度地图的帧间损失,为摄像机-NeRF联合优化提供相对位置。

  3. 我们通过一个基于深度的表面渲染损失来进一步规范我们的相对姿势估计。

2. 详细内容

文中解决了在无姿态NeRF训练中处理大型相机运动的挑战。考虑到给定一系列图像,相机内参和它们的单目深度估计,我们的方法同时恢复相机姿态和优化NeRF。我们假设相机内参在图像元块中可用,并运行一个现成的单目深度网络DPT[7]来获取单目深度估计。在不重复单目深度的好处的情况下,我们将围绕单目深度的有效集成到无posed-NeRF训练中展开。
训练是NeRF、相机姿态和每个单目深度地图的畸变参数的联合优化。通过最小化单目深度地图与从NeRF渲染的深度图之间的差异来监督畸变参数,这些深度图是多视角一致的。反过来,无畸变深度地图有效地调解了形状-辐射(shape-radiance)的歧义,从而简化了NeRF和相机姿态的训练
具体来说,无畸变深度地图提供了两个约束条件。我们通过在无畸变深度地图中反投影出的两个点云之间的基于Chamfer距离的对应来提供相邻图像之间的相对姿态,从而约束全局姿态估计。此外,我们通过将无畸变深度视为表面,使用基于表面的光度一致性来规范相对姿态估计
在这里插入图片描述

3. NeRF与Pose

3.1 NeRF

Neural Radiance Field(NeRF)[24] 将场景表示为一个映射函数 F Θ : ( x , d ) → ( c , σ ) F_Θ:(x,d)→(c,σ) FΘ:(xd)(cσ),其中 x ∈ R 3 x ∈ \mathbb{R}^3 xR3 为 3D位置, d ∈ R 3 d ∈ \mathbb{R}^3 dR3 为视角方向, c ∈ R 3 c ∈ \mathbb{R}^3 cR3为辐射颜色, σ σ σ 为体密度值。该映射通常是由参数化的神经网络 F Θ F_Θ FΘ 实现的。给定 N N N 张图像 I = { I i ∣ i = 0... N − 1 } I = \{I_i | i = 0 . . . N − 1\} I={Iii=0...N1} 及其相机姿态 Π = { π i ∣ i = 0... N − 1 } Π = \{π_i | i = 0 . . . N − 1\} Π={πii=0...N1},可以通过最小化合成图像 I ^ \hat{I} I^ 与捕获图像 I I I 之间的光度误差 L r g b = ∑ i N ∥ I i − h a t I i ∥ 2 2 L_{rgb} = \sum^ N_i \| I_i − hat{I}_i\|^2_2 Lrgb=iNIihatIi22 来优化 NeRF。
在这里插入图片描述
在这里, I ^ i \hat{I}_i I^i是通过聚合相机射线 r ( h ) = o + h d r(h) = o + hd r(h)=o+hd上的辐射颜色在近界和远界 h n h_n hn h f h_f hf之间渲染的。更具体地说,我们使用体积渲染函数来合成 I ^ i \hat{I}_i I^i
在这里插入图片描述
其中, T ( h ) = e x p ( − ∫ h n h σ ( r ( s ) ) d s ) T(h) = exp(−\int^h_{h_n} σ(r(s))ds) T(h)=exp(hnhσ(r(s))ds) 是沿着一条射线累积的透射率。更多细节请参见[24]。

3.2 联合优化姿态和 NeRF

之前的研究 [12、18、45] 表明,可以通过在 Eq. (2) 中使用相同的体积渲染过程,在最小化上述光度误差 L r g b L_{rgb} Lrgb 的同时估计相机参数和 NeRF。
关键在于将相机光线投射的条件设置为可变的相机参数 Π Π Π,因为相机光线 r r r 是相机姿态的函数。数学上,这种联合优化可以表示为:
在这里插入图片描述
其中,符号 Π ^ \hat{\Pi} Π^表示在优化过程中更新的相机参数。请注意,公式(1)和公式(3)之间的唯一区别在于公式(3)将相机参数视为变量。
一般来说,相机参数 Π \Pi Π包括相机内参、姿态和镜头畸变。本文只考虑估计相机姿态,例如,第 i i i帧图像的相机姿态是一个变换 T i = [ R i ∣ t i ] T_i=[R_i|t_i] Ti=[Riti],其中 R i ∈ S O ( 3 ) R_i\in SO(3) RiSO(3)表示旋转, t i ∈ R 3 t_i\in \mathbb{R}^3 tiR3表示平移。

3.3. 单目深度的校正

使用现成的单目深度网络(如DPT [28]),我们从输入图像生成单目深度序列 D = D i ∣ i = 0... N − 1 D = {D_i | i = 0 . . . N-1} D=Dii=0...N1。不出所料,单目深度图并不是多视角一致的,因此我们的目标是恢复一系列多视角一致的深度图,这些深度图进一步在我们的相对位姿损失项中得到利用。

具体而言,我们为每个单目深度图考虑两个线性变换参数,从而得到所有帧的变换参数序列 Ψ = ( α i , β i ) ∣ i = 0... N − 1 Ψ = {(α_i,β_i) | i = 0 . . . N-1} Ψ=(αiβi)i=0...N1,其中 α i α_i αi β i β_i βi分别表示比例因子和偏移量。在NeRF的多视角一致性约束下,我们的目标是恢复 D i D_i Di的多视角一致深度图 D i ∗ D^∗_i Di
在这里插入图片描述
通过联合优化 α i α_i αi β i β_i βi以及NeRF,来实现这种联合优化,主要是通过在未畸变的深度图 D i ∗ D^∗_i Di和通过NeRF渲染的深度图 D ^ i \hat{D}_i D^i之间强制实现一致性来实现的。这种一致性通过深度损失来实现:
在这里插入图片描述
其中
在这里插入图片描述
式(5)对NeRF和单目深度图都有好处。一方面,单目深度图为NeRF训练提供了强的几何先验,降低了形状-辐射度模糊性。另一方面,NeRF提供了多视角一致性,因此我们可以恢复一组多视角一致的深度图用于相对姿态估计。

…详情请参照古月居

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

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

相关文章

SZMMSZ5246BT1G 稳压二极管(齐纳Zener二极管)的特性和应用详解

关于齐纳二极管:是一种特殊的二极管,也被称为肖特基二极管(Schottky Diode)。它是由金属与半导体材料的结合构成的。与普通的PN结二极管不同,齐纳二极管的结由金属与半导体材料组成,而不是两个不同的半导体…

菜单 vue3 h函数创建组件

目录 index/.vue <template><div class"menu_table"><divclass"table_row"v-for"(item, index) in menuList"click"item.disabled ! true && itemClick(item)"><!-- :style"{border-top:item.line…

一文了解DMX512透明屏的工作原理

DMX512透明屏是一种新型的显示屏技术&#xff0c;它采用了DMX512控制协议&#xff0c;可以实现透明显示效果。 DMX512是一种数字控制协议&#xff0c;常用于舞台灯光和音响设备的控制&#xff0c;通过DMX512控制器可以实现对透明屏的亮度、颜色、动画等参数的调节。 DMX512透明…

泛微最新漏洞汇总

泛微 e-cology 前台SQL注入漏洞 app.name"泛微 e-cology 9.0 OA" 验证poc: POST /weaver/weaver.file.FileDownloadForOutDoc HTTP/1.1 Host: {{Hostname}} Accept: */* Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q0.9 Connection: close …

探索前端图片如何携带token进行验证

前言 图片在前端开发中扮演了重要的角色&#xff0c;它们不仅仅是美观的元素&#xff0c;还可以传递信息和激发用户的兴趣。随着应用场景的增多&#xff0c;前端开发人员就需要在图片加载过程中携带验证的信息。如 token&#xff0c;用于身份验证、权限控制等方面。通过在图片的…

揭示C语言中CPU对register变量分配的决策过程

揭示C语言中CPU对register变量分配的决策过程 博主简介一、引言1.1、register变量的定义和用途1.2、CPU对register变量分配的重要性 二、CPU寄存器分配的概述2.1、CPU寄存器的作用和程序执行过程中的角色2.2、不同类型的CPU寄存器&#xff08;通用寄存器、特殊寄存器等&#xf…

redis基础总结(数据类型)

Redis十大数据类型 String String 是redis最基本数据类型,一个key对应一个value. String类型是二进制安全的,意思是Redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象; String类型是最基本的数据类型,一个redis中字符串value最多是512M; String类型在redis底层…

【已解决】span的宽度与高度如何设置

本博文源于笔者基础不扎实的情况下遇到的一个问题&#xff0c;问题是我有三个span&#xff0c;想让它们宽度与高度再大点&#xff0c;结果发现怎样设置都设置不了。最后不经意间解决问题 文章目录 1、问题再现2、解决方案3、解决效果 1、问题再现 <span>1</span>…

邪恶版ChatGPT来了!

「邪恶版」ChatGPT 出现&#xff1a;每月 60 欧元&#xff0c;毫无道德限制&#xff0c;专为“网络罪犯”而生。 WormGPT 并不是一个人工智能聊天机器人&#xff0c;它的开发目的不是为了有趣地提供无脊椎动物的人工智能帮助&#xff0c;就像专注于猫科动物的CatGPT一样。相反&…

一份热乎乎的字节面试真题

一份热乎乎的字节面试真题 说说Redis为什么快 基于内存存储实现 内存读写是比在磁盘快很多的&#xff0c;Redis基于内存存储实现的数据库&#xff0c;相对于数据存在磁盘的MySQL数据库&#xff0c;省去磁盘I/O的消耗。 高效的数据结构 Mysql索引为了提高效率&#xff0c;选…

【unity】Pico VR 开发笔记(基础篇)

Pico VR 开发笔记(基础篇) XR Interaction Tooikit 版本 2.3.2 一、环境搭建 其实官方文档已经写的很详细了&#xff0c;这里只是不废话快速搭建&#xff0c;另外有一项官方说明有误的&#xff0c;补充说明一下&#xff0c;在开发工具部分说明 插件安装——安装pico的sdk和XR…

为什么定时器,串口这些东西被称之为外设

前言 &#xff08;1&#xff09;我们常常说定时器&#xff0c;串口是外设&#xff0c;但是很多人肯定有疑惑。定时器&#xff0c;串口不明明是存储在芯片里面的吗&#xff1f; &#xff08;2&#xff09;为了弄明白这个&#xff0c;就需要追溯到上个世纪了。 上个世纪的CPU与串…

【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片

文章目录 前言1. 导入模块和库2. 定义函数 download_image(url, filepath)3. 定义函数 get_page()4. 主程序入口 完整代码运行效果 结束语 前言 本文主要介绍了使用Python编写的多线程爬虫程序&#xff0c;用于下载表情包网站上的图片。通过解析网页内容和使用XPath定位&#x…

Spring优雅的在事务提交/回滚前后插入业务逻辑

业务背景 业务那边想要统计下我们这边每天注册商户成功和失败的数量&#xff0c;你看看怎么给他弄下这个功能 功能实现 TransactionSynchronizationManager.registerSynchronization&#xff0c;发现这是spring事务提供的注册回调接口的方法。 在事务注解方法中&#xff0c…

Java 版 spring cloud + spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

python中有哪些比较运算符

目录 python中有哪些比较运算符 使用比较运算符需要注意什么 总结 python中有哪些比较运算符 在Python中&#xff0c;有以下比较运算符可以用于比较两个值之间的关系&#xff1a; 1. 等于 ()&#xff1a;检查两个值是否相等。 x y 2. 不等于 (!)&#xff1a;检查两个…

2024考研408-计算机网络 第一章-计算机网络体系结构学习笔记

文章目录 前言一、计算机网络概述1.1、概念及功能1.1.1、计算机网络的概念1.1.2、计算机网络的功能功能1、数据通信功能2、资源共享功能3、分布式处理功能4、提高可靠性&#xff08;分布式处理引申功能&#xff09;功能5、负载均衡&#xff08;也是分布式处理引申功能&#xff…

23 张图详解路由协议

路由的概念 在 TCP/IP 通信中&#xff0c;网络层的作用是实现终端的点对点通信。IP 协议通过 IP 地址将数据包发送给目的主机&#xff0c;能够让互联网上任何两台主机进行通信。IP 地址可以识别主机和路由器&#xff0c;路由器可以把全世界的网络连接起来。 什么是路由器 路由…

使用Flutter的image_picker插件实现设备的相册的访问和拍照

文章目录 需求描述Flutter插件image_picker的介绍使用步骤1、添加依赖2、导入 例子完整的代码效果 总结 需求描述 在应用开发时&#xff0c;我们有很多场景要使用到更换图片的功能&#xff0c;即将原本的图像替换设置成其他的图像&#xff0c;从设备的相册或相机中选择图片或拍…

【LeetCode 75】第十五题(1456)定长子串中元音的最大数目

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码运行结果&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 就难度而言&#xff0c;我觉得算不上中等&#xff0c;因为和上一题基本一致&#xff0c;只不过上一题是求最大平均数&#xff0c…