NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections

NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections(野外的 NERF: 用于无约束照片采集的神经辐射场)

Abstract

我们提出了一种基于学习的方法来合成新的视图的复杂场景使用只有非结构化的收集野生照片。我们建立在神经辐射场(neRF)的基础上,它使用多层感知机的权重来模拟场景的密度和颜色作为三维坐标的函数。虽然 NERF 能够很好地处理在受控环境下捕捉到的静态图像,但是它无法在不受控的图像中建模许多普遍存在的、真实的现象,例如可变光照或瞬态遮挡。我们引入了一系列的扩展,以解决这些问题,从而能够从互联网上采集的非结构化图像进行精确的重建。我们应用我们的系统,称为 NeRF-W,互联网照片收集的著名地标,并证明了时间一致的新颖视图渲染显着更接近于照片现实主义比先前的先进技术来说。

4. NeRF in the Wild

现在,我们介绍一个从野外照片集中重建3D 场景的系统 NeRF-W。我们建立在 NeRF的基础上,并引入了两个明确设计用于处理无约束图像的挑战的增强。

类似于 NeRF,我们从已知相机参数的非结构化照片集合在这里插入图片描述
中学习体积密度表示 Fθ。NERF 在其输入视图中假定了一致性: 在三维空间中,从同一位置和两幅不同图像的观察方向观察到的一个点具有相同的亮度。但是由于两种截然不同的现象,互联网照片(如图2所示)违背了这一假设:在这里插入图片描述

图2:用于训练 NeRF-W 的来自摄影旅游数据集的野外照片示例[13]。由于可变光照和后期处理(顶部) ,同一物体的颜色可能会因图像而异。野外拍摄的照片也可能包含暂时闭塞的主题(底部)。

1) Photometric variation:

在户外摄影中,一天的时间和大气条件直接影响场景中物体的照度(因此,辐射)。由于自动曝光设置、白平衡和跨照片色调映射的变化可能导致额外的光度不一致,因此摄影成像管道加剧了这个问题

2) Transient objects:

真实世界的地标很少被孤立地捕捉没有移动的物体或遮挡物围绕着它们。地标性建筑的旅游照片尤其具有挑战性,因为它们通常包含人物和其他行人的造型。

我们提出了两个模型组件来解决这些问题。在第4.1节中,我们扩展了 NeRF,允许图像相关的外观和照度变化,如图像之间的光度差异可以明确建模。在第4.2节中,我们进一步扩展了这个模型,允许对瞬态对象进行联合估计,并从三维世界的静态表示中解脱出来。图3显示了所提议的模型体系结构的概述。
在这里插入图片描述
图3: NeRF-W 模型架构。给定一个3D 位置,观察方向,学习外观和瞬态嵌入,NeRF-W 产生静态和瞬态颜色和密度以及测量不确定性。请注意,静态不透明度是在模型以外观嵌入为条件之前生成的,以确保所有图像共享静态几何图形。

4.1. Latent Appearance Modeling(潜在外观建模)

为了适应 NERF 对可变光照和光度后处理的要求,我们采用了生成潜在优化(Generative Latent Optimization (GLO))的方法,给每个图像 Ii赋予一个相应的长度为 n ^(a)的实值外观嵌入向量 Li ^(a) 。我们将方程(1)中与图像无关的辐射度 c (t)替换为与图像有关的辐射度 ci (t) ,这也将对图像索引 i 的依赖性引入到近似像素颜色 ci帽:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用这些外观嵌入作为输入到只发射颜色的网络分支,在一个特定的图像中给我们的模型自由改变场景发射辐射,同时仍然保证3D 几何(由 MLPθ1早期预测)是静态的和共享的所有图像。通过将 n ^(a)设置为一个小值,我们鼓励优化来确定一个连续的空间,其中可以嵌入照明条件,从而使条件之间的平滑插值,如图8所示。在这里插入图片描述
图8: 两个训练图像(左,右)的外观嵌入 l ^(a)之间的插值,导致渲染(中) ,其中颜色和照明被插值,但几何是固定的。注意,训练图像包含渲染中没有出现的人(左)和灯(右)。

4.2. Transient Objects

我们使用两个不同的设计决策来处理瞬态现象: 首先,我们指定在 NeRF 中使用的color-emitting MLP (方程(4))作为我们模型的“静态”头,
在这里插入图片描述
并且我们添加一个额外的“瞬态”头,发射自己的颜色和密度,其中密度允许在不同的训练图像中变化。这使得 NeRF-W 能够重建包含遮挡物的图像,而无需在静态场景表示中引入伪影。其次,我们不假设所有观察到的像素颜色都是同样可靠的,而是允许我们的瞬态头部发射一个不确定场(很像我们现有的颜色和密度场) ,这使得我们的模型能够适应其重建损失,以忽略可能包含遮挡物的不可靠的像素和3D 位置。我们将每个像素的颜色建模为一个各向同性的正态分布,我们将最大化这种正态分布的可能性,并使用与 NeRF 相同的立体渲染方法“渲染”这种分布的方差。这两个模型组件允许 NeRF-W 在没有显式监督的情况下分离静态和瞬态现象。

为了构造我们的瞬态头部,我们在方程(6)的立体渲染公式的基础上,用瞬态对应物 在这里插入图片描述
增加静态密度 σ (t)和辐射率 ci (t) ,
在这里插入图片描述

然后,r (t)的预期颜色成为静态和瞬态分量的 alpha 组合。
我们使用Kendall等人的贝叶斯学习框架来模拟观察到的颜色的不确定性。我们假设观测到的像素强度是固有的噪声(任意的) ,并且进一步假设这种噪声是与输入相关的(异方差的)。在这里插入图片描述
注:各向同性正向分布(isotropic normal distribution)

为了允许场景的瞬态分量在图像之间变化,我们给每个训练图像 Ii 分配一个第二次嵌入的 li ^(τ) ∈ R ^n ^(τ)作为瞬态 MLP 的输入,
在这里插入图片描述
对于 在这里插入图片描述
使用 ReLU 和sigmoid,并且使用软加作为 βi (t)的激活(通过 βmin > 0移位,确保将最小重要性分配给每条射线的超参数)。有关我们完整的模型体系结构的说明,请参见图3。真彩色Ci®在图像 i 中的光线r损失为:在这里插入图片描述
前两项是基于正态分布的(位移)对数亏损概率,其均值为® ,方差为 βi ®2。较大的 βi ®值减弱了分配给像素的重要性,假设它属于某个瞬态对象。第一项被第二项平衡,它对应于正态分布的对数配分函数,排除了 βi ® = ∞的平凡极小值。第三项是 L1正则化子,其乘子 λu 在(非负)瞬态密度 σ (τ) i (t)上,这阻碍了模型用瞬态密度来解释静态现象。

在测试时,我们省略了瞬态和不确定度场,只渲染 σ (t)和 c (t)。有关静态、瞬态和不确定性组件的说明,请参见图4在这里插入图片描述
图4: NeRF-W 分别呈现场景的静态(a)和瞬态(b)元素,然后组合它们©。训练最小化合成图像和真实图像(d)之间的差异,不确定性(e)加权,这是同时优化识别和折扣异常图像区域。

6. Conclusion

我们提出了 NeRF-W,一种基于 NeRF 的非结构化互联网照片集的复杂环境三维场景重建的新方法。我们学习每个图像的潜在嵌入捕获光度外观变化通常存在于野外数据,我们分解场景到图像依赖和共享组件,使我们的模型从静态场景分离瞬态元素。对真实世界(和合成)数据的实验评估表明,与以前的最先进的方法相比,定性和定量方面都有显著的改进。

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

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

相关文章

对于地理空间数据,PostGIS扩展如何在PostgreSQL中存储和查询地理信息?

文章目录 一、PostGIS扩展简介二、PostGIS存储地理空间数据1. 创建空间数据表2. 插入空间数据 三、PostGIS查询地理空间数据1. 查询指定范围内的地理空间数据2. 计算地理空间数据之间的距离3. 对地理空间数据进行缓冲区分析 四、总结 地理空间数据是指描述地球表面物体位置、形…

11、【桥接模式】让将抽象和实现分离,使得它们可以独立地变化

你好,我是程序员雪球。 今天我们来聊聊 23 种设计模式中,一种常见的结构型模式,桥接模式。聊聊它的设计思想、应用场景,以及如何使用。 一、设计思想 桥接模式(Bridge Pattern)是一种结构型设计模式&#…

Python slice切片

1. 切片简介 取一个str、list、tuple的部分元素是非常常见的操作 切片 译自英文单词slice,指的是一部分切片 根据 步长step 从原序列中取出一部分元素组成新序列切片适用于 字符串、列表、元组 2. 切片的格式 字符串[开始索引:结束索引:步长] 包含开始索引, 不包含结束索…

vue+springboot实验个人信息,修改密码,忘记密码功能实现

前端部分 新增Person(个人页面),Password(修改密码页面),还需要对Manager,login页面进行修改 router文件夹下的index.js: import Vue from vue import VueRouter from vue-router i…

在 vue3 中使用高德地图

前言:定位地图位置所需要的经纬度,可以通过 拾取坐标 获取。 一:快速上手 1. 安装依赖 npm install amap/amap-jsapi-loader # or pnpm add amap/amap-jsapi-loader # or yarn add amap/amap-jsapi-loader 2. 创建组件 src/components/Ma…

飞书小技巧:markdown导出

文章目录 下载Feishu2Md飞书应用配置配置feishu2md工具绑定应用导出markdown 下载Feishu2Md Feishu2Md 飞书应用配置 进入飞书开发者后台 https://open.feishu.cn/app。 点击“创建企业自建应用”,并填写应用名称等信息。而后点击创建。 PS: 此处作者创建应用名…

C++ | Leetcode C++题解之第42题接雨水

题目&#xff1a; 题解&#xff1a; class Solution { public:int trap(vector<int>& height) {int n height.size();if (n 0) {return 0;}vector<int> leftMax(n);leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] max(leftMax[i - 1], he…

【Linux系统编程】

Linux系统编程 一.文件编程1.常用API1.1 打开&#xff1a;open1.2 读写&#xff1a;write/read1.3 光标定位: lseek1.4 创建&#xff1a;creat1.4 关闭&#xff1a;close 2.文件的打开及创建3.文件的写入4.文件的读取5.文件描述符5.代码实现cp指令6.编程实现修改文件配置7.写一…

实现Node.js安装与配置。

一 、Node.js简介 Node.js是一个基于Chrome V8引擎的JavaScript运行时环境&#xff0c;用于构建高性能、可扩展的网络应用程序。它发布于2009年5月&#xff0c;由Ryan Dahl开发&#xff0c;允许使用JavaScript进行服务器端编程&#xff0c;使开发者能够在前后端都使用同一种编程…

Unity 新版输入系统(Input System)

前言 官方教程 注意 新的输入系统需要 Unity 2019.4 和 .NET 4 运行时。它不适用于 .NET 3.5 的项目。 教程版本&#xff1a;Unity 2021.3.26 1. 安装 1.1 打开 Package Manager 导航栏 -> Window -> Package Manager 1.2 安装 Input System 选择 Unity Registry 在列…

RabbitMQ, DelayQueue, Redis的介绍以及IDEA的实现

RabbitMQ RabbitMQ是一个开源的消息队列中间件&#xff0c;它实现了高效、可靠的消息传递机制。它支持多种消息传递模式&#xff0c;如发布/订阅、点对点、请求/回应等。RabbitMQ以其可靠性、灵活性和易用性受到广泛的关注和应用。 RabbitMQ基于AMQP&#xff08;Advanced Mess…

孙中亮:北斗三十周年,看北斗芯片高质量发展历程和方向

1994年1月10日&#xff0c;北斗一号建设正式启动&#xff0c;党中央决策建设独立自主的北斗卫星导航系统。2020年7月31日&#xff0c;北斗三号全球卫星导航系统正式开通&#xff0c;标志着北斗系统进入全球化发展新阶段。随着2024年的到来&#xff0c;北斗系统建设已走过栉风沐…

汇智知了堂走进宜宾学院,共话国产化信创未来!

在春意盎然的四月&#xff0c;汇智知了堂以其深厚的品牌底蕴和卓越的教育品质&#xff0c;再次展现了其在教育领域的领先地位。4月18日&#xff0c;汇智知了堂走进宜宾学院&#xff0c;为广大学子带来了一场关于国产化信创时代的技术变革与专业学习建议的讲座。 汇智知了堂作…

2024深圳杯(东三省)数学建模挑战赛D题:音板的振动模态分析与参数识别思路代码成品论文分析

​ 更新完整代码和成品完整论文 《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓ https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc# 问题重述 深圳杯&#xff08;东三省&#xff09;数学建模挑战赛2024D题&#xff1a;音板的振动模态分析与…

YoloV9改进策略:注意力改进、Neck层改进_自研全新的Mamba注意力_即插即用,简单易懂_附结构图_检测、分割、关键点均适用(独家原创,全世界首发)

摘要 无Mamba不狂欢,本文打造基于Mamba的注意力机制。全世界首发基于Mamba的注意力啊!对Mamba感兴趣的朋友一定不要错过啊! 基于Mamba的高效注意力代码和结构图 import torch import torch.nn as nn # 导入自定义的Mamba模块 from mamba_ssm import Mamba class Eff…

vue做导入导出excel文档

系统中经常会遇到要实现批量导入/导出数据的功能&#xff0c;导入就需要先下载一个模板&#xff0c;然后在模板文件中填写内容&#xff0c;最后导入模板&#xff0c;导出就可能是下载一个excel文件。 1、导出 新建一个export.js文件如下&#xff1a; import {MessageBox,Mes…

赋能数据检索:构建用于www.sohu.com的新闻下载器

引言 在信息爆炸的时代&#xff0c;随着新闻数据的数量不断增长&#xff0c;获取和分析这些数据变得尤为关键。本文将介绍如何构建一个高效的新闻下载器&#xff0c;专门用于从搜狐网&#xff08;www.sohu.com&#xff09;检索和下载新闻内容。 背景介绍 搜狐网作为中国领先…

40. 【Android教程】AsyncTask:异步任务

在前面的章节有提到过&#xff0c;Android 系统默认会在主线程&#xff08;UI 线程&#xff09;执行任务&#xff0c;但是如果有耗时程序就会阻塞 UI 线程&#xff0c;导致页面卡顿。这时候我们通常会将耗时任务放在独立的线程&#xff0c;然后通过 Handler 等线程间通信机制完…

外贸干货|客户迟迟不付款,怎么催?

(一) Gentle reminder 温馨提醒 "Hello Mary, l hope this message finds you well. l wanted to kindly remind you about the payment for our agreed-upon order. We appreciate your business and would like to proceed with the next steps as soon as possible.…

DS32K查看内置寄存器数值

需要在debug的时候进行查看&#xff0c;先暂停&#xff0c;再打开EmbSys Registers窗口。 需要先将导出的内容选中并双击&#xff0c;不然复制出来会变成问号。右上角有个复制按钮&#xff0c;复制到剪贴板就行。譬如我这里选择了MCR寄存器&#xff0c;复制出来的就是这个寄存器…