Aleth-NeRF: Illumination Adaptive NeRF with Concealing Field Assumption

Abstract

Aleth-NeRF: 带有隐蔽场假设的照明自适应 NeRF 照明照明标准的神经辐射场(NeRF)范例采用了一种以观察者为中心的方法,将光照和材料反射的各个方面仅仅从3D 点发射纠缠在一起。这种简化的渲染方法在准确建模在不利光照条件下捕获的图像方面提出了挑战,如弱光或过度曝光。受到古希腊发射理论的启发,我们假设视知觉是由眼睛发出的光线造成的,我们稍微改进了传统的 NeRF 框架,以便在具有挑战性的光照条件下训练 NeRF,并在无监督的情况下生成正常光照条件下的新视图。我们引入了“隐蔽场”的概念,它为周围的空气分配透射率值,以考虑照明效果。在黑暗的场景中,我们假设物体发射维持一个标准的照明水平,但是在渲染过程中它们穿过空气时会被减弱。因此,即使在光线昏暗的情况下,“隐蔽场”也会迫使 NERF 学会对物体进行合理的密度和颜色估计。同样,隐藏场可以减轻渲染阶段过度暴露的排放。此外,我们提出了全面的在具有挑战性的光照 条件下捕获的多视图数据集用于评估。我们的代码和建议的数据集可在 https://github.com/cuiziteng/aleth-nerf 查阅。

Introduction

神经辐射场(NeRF)(Mildenhall et al. 2020)已被证明能够有效地从二维图像中理解三维场景并产生新的视图。然而,NERF 及其后续变体的制定假设捕获的图像在正常光下,往往不能在弱光下(Mildenhall et al. 2021)或过度曝光的情况下工作。这是因为vanilla NeRF 是以观察者为中心的,它模拟了从一个位置到观察者的光发射量,而没有解开光照和材料的纠缠(图1(a))(Lyu et al. 2022)。结果,NeRF 算法将黑暗场景解释为三维物体粒子辐射不足,违反了对物体材质和几何形状的估计。在实际应用中,图像通常是在具有挑战性的光照条件下拍摄的。因此,本文的目的是要稍微修改vanilla NERF 的曝光不足和过度场景(under & over-exposure scenes.)。如图1(c,d)所示,提出的 Aleth-NeRF,呈现正常光的新视图尽管是严重的输入图像。
在这里插入图片描述
Figure 1:利用隐蔽场假设,Aleth-NeRF 能够处理弱光和过曝光的多视图图像作为输入,并在自然光照下产生新的视图。

NeRF 中的渲染过程(图1(b))类似于古希腊以观众为中心的发射理论。发射理论忽略了入射光,但假设从眼睛发出的视觉光线以直线传播,并与物体相互作用形成视知觉。因此,一个实体的黑暗仅仅是由物体和眼睛之间的粒子引起的。换句话说,除非隐藏,否则默认情况下所有对象都是可见的。受到这种世界观的启发,我们假设了一个简单但 NeRF 友好的概念,那就是在观看方向上的隐藏场(图1©中的灰色粒子)减弱了发射,使观看者看到了一个低光场。这与标准的 NeRF 设置相反,在 标准NeRF 设置中,空气密度(图1(a)中的白色颗粒)通常为零。引入隐蔽场,赋予空气粒子透过率值,使得 NeRF 能够在弱光条件下准确地估计物体(图1©中的黄色粒子)的颜色和密度,因此在去除隐蔽场时,或者说 Aletheia (αλη θ εlα)1,我们能够在正常光下呈现出新的视图。相反,对于曝光过度的场景,在渲染阶段刻意增加隐藏场可以纠正曝光。
我们提出的方法 Aleth-NeRF 以弱光和过曝光图像作为输入来训练模型,并结合隐藏场学习体积表示。如图1(b)所示,我们在对象和观察者间结合隐藏场共同训练 NERF 。对于弱光场景,我们在渲染阶段移除隐藏场(图1©)。当处理过度曝光的图像时,Aleth-NeRF 会添加隐藏场来抑制过度明亮(图1(d))。我们的贡献概述如下:
①我们提出了 Aleth-NERF,它可以在弱光和过度曝光条件下进行训练,并在正常光下产生新的视图。受到古希腊哲学的启发,我们自然地扩展了vanilla NeRF 的透射功能,通过模拟物体和观察者之间的隐藏场来解释明度降低。
②我们贡献了一个具有挑战性的照明多视图数据集,配对 sRGB 弱光和正常光和过度曝光图像,数据集也将是公开的。
③我们比较了各种图像增强和曝光校正方法和以前的基于 NERF 的方法(Mildenhall et al. 2021)。大量的实验表明,我们的 Aleth-NERF 算法达到了令人满意的增强质量和多视图一致性。

Related work

Novel View synthesis with NeRF
NERF (Mildenhall et al. 2020)被提出用于从一组位置输入图像合成新的视图。由于采用了物理立体渲染方案,NeRF 模型在保持三维几何一致性方面具有独特的优势。此外,已经提出了几种方法来加速和改善 NeRF 训练(Barron 等,2021; Sara Fridovich-Keil 和 Alex Yu 等,2022; Lindell,Martel,and wetzstein 2021; Yu 等,2021; Jain,Tancik 和 Abbeel 2021; Deng 等,2022; M uller 等,2022)。

后者的许多工作集中在改善 NERF 在各种退化条件下的性能,如模糊(Ma et al。2021) ,噪声(Pearl,Treibitz 和 Korman 2022) ,反射(Guo et al。2022) ,光泽表面(Verbin et al。2022) ,水下(Levy et al。2023) ,或使用 NERF 处理超分辨率(Wang et al。2021a; Bahat et al。2022)和 HDR 重建(Xin et al。2021; Jun-Seong et al。2022)在3D 空间。另一项研究扩展了 NERF 在3D 空间中的亮度编辑。一些工作,如 NeRF-W (Martin-Brualla et al。2021) ,侧重于使用不受控制的野外图像渲染 NeRF,其他重新照明工作(Srinivasan et al。2021; Rudnev et al。2022; Zhang et al。2021b)依赖于已知的照明条件,并引入额外的物理元素(即正常,光,反照率等) ,以及这些元素的复杂参数建模。同时,这些方法并不是专门为弱光和过度曝光条件而设计的。

其中,RAW-NeRF (Mildenhall et al. 2021)更接近于我们的工作,提出在 HDR RAW 域渲染 NERF,然后用图像信号处理器(ISP)对渲染后的场景进行后处理,RAW-NeRF 已显示出初步的场景光增强能力,但需要 HDR RAW 数据进行训练,这使得它很难在常用的 sRGB 图像上推广。相反,我们的 Aleth-NERF 可以直接在 sRGB 上渲染曝光下和过曝光图像,并通过一种有效的隐藏场方式将无监督的增强注入到三维空间中。
Enhancement in challenging light conditions
具有挑战性的亮度可能来自多种来源,包括自然光变化(如弱光环境和过于明

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

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

相关文章

npm install node-sass 安装失败的解决方案:利用国内镜像加速安装

在开发前端项目时,使用Sass作为CSS预处理器是很多开发者的选择。然而,在通过npm安装其Node.js绑定库node-sass时,一些开发者可能会遇到安装失败的问题,尤其是网络原因导致的下载缓慢或中断。本文将指导你如何通过更换为国内镜像源…

linux内部pthread_create函数创建设置栈大小方法

pthread_create函数是Unix/Linux下创建线程的函数,它的原型如下: int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg); 其中,pthread_attr_t是用来设置线程属性的,…

The 2022 ICPC Asia Nanjing Regional Contest - External G

题目链接:Problem - D - Codeforces 写在前面:今天的训练赛打的稀碎,一道稍微难一点的签到题就把我难住了,看完题解确实感觉不难,看来题目还是刷太少了。 回归正题 题意: 思路:尽量让分子大,分…

【NumPy】深入了解NumPy的multiply函数:高效矩阵和数组乘法指南

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

HNU-人工智能-作业3

人工智能-作业3 计科210X 甘晴void 202108010XXX 1.贝叶斯网络 根据图所给出的贝叶斯网络,其中:P(A)0.5,P(B|A)1, P(B|A)0.5, P(C|A)1, P(C|A)0.5,P(D|BC)1,P(D|B, C)0.5&#xff…

1. 基于时间序列分析的股票价格波动预测模型:深度探索与实际应用

在当今经济环境下,股票市场无疑是投资者们密切关注的重要领域。然而,股票价格的波动常常令投资者感到困扰,难以捉摸其变化规律。因此,构建一种能够有效预测股票价格波动趋势的模型显得尤为重要。本文将深入探讨基于时间序列分析的…

循环buffer“一写多读“

1.往期回顾 一个简单实用的循环buffer,用于缓冲数据!测试500M数据,耗时1.3秒。 C语言版本的循环buffer比C版本的速度更快!测试500M数据0.5秒,达9.25Gbps左右! C 语言免拷贝版本循环 buffer 比拷贝版本快了…

Golang并发编程-协程goroutine的信道(channel)

文章目录 前言一、信道的定义与使用信道的声明信道的使用二、信道的容量与长度三、缓冲信道与无缓冲信道缓冲信道无缓冲信道四、信道的初体验信道关闭的广播机制总结前言 Goroutine的开发,当遇到生产者消费者场景的时候,离不开 channel(信道)的使用。 信道,就是一个管道,…

Redis介绍及安装配置

1 什么是Redis Redis 的定义:Redis(Remote Dictionary Server 远程字典服务)是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 可见Redis和我们最经常使用的MySQL都…

7-1 Java程序设计-异常处理-自定义异常类

题目: 定义一个具有三条边的三角形类Triangle。在三角形中,任意两边之和大于第三边。三角形类Triangle写遵从这一个规则。定义一个IllegalTriangleException类,修改类Triangle的构造方法,如果创建的三角形的边违反了这一规则&am…

技术创新加速生态繁荣 | 软通动力子公司鸿湖万联亮相OpenHarmony开发者大会2024

5月25日,由开放原子开源基金会OpenHarmony项目群工作委员会主办的OpenHarmony开发者大会2024在深圳成功举行。本次大会紧扣OpenHarmony 4.1 Release版本发布契机,以“鸿心聚力,智引未来”为主题、通过“1场主论坛6场技术分论坛”承载&#xf…

谈谈关于mysql索引的理解

索引 我们在学习java中用来表示数组的下标例如定义一个变量int i 这就表示一个索引,因为索引的英文单词是index,索引也可以称为是书的目录,它可以方便我们查询自己所需要的内容,通过索引我们可以快速找到自己的需求.此时引出了索引的概念,在数据库中. 关于索引的相关操作 有…

mysql 8 [HY000][1114] The table ‘/tmp/#sql4c3_3e5a0_2‘ is full

分组有个比较大的表,出现了临时表空间满了的情况; 试用该sql 语句: SHOW GLOBAL VARIABLES LIKE internal_tmp_mem_storage_engine; 可以看到 默认临时结果是用临时表存的,在mysql的my.cnt可以改临时空间的大小 但是磁盘哪有内…

【竞赛】本科阶段部分证书考试 科研竞赛 的 网站导航(算法、项目、安全、数据、科研)

【竞赛】本科阶段部分证书考试 & 科研竞赛 的 网站导航(算法、项目、安全、数据、科研) 文章目录 1、算法竞赛(重点)PAT/CSP天梯赛/蓝桥/力扣ICPC算法竞赛编程工具代码源其他 2、项目竞赛安全与数据(重点&#xf…

5.28学习总结

java复习总结 hashcode()和equals() hashcode():在Object里这个方法是通过返回地址的整数值来生成哈希值。 equals():在Object里这个方法是通过比较他们的内存地址来确定两个对象是否相同。 运行效率:hashcode的时间复杂度为O(1)(因为只要计算一次哈…

js 对象内的方法this不指向对象?js对象中this指向的问题

缘起 今天在写一个工具方法封装成对象模块导出时,由于成员方法内调用了其他成员方法,而且成员方法用了箭头函数() > 定义,导致使用 this.成员方法() 不能调用该成员方法,console.log(this)发现为 undefined。 export default {…

Vue 菜单组件开发教程

在 Vue 项目中&#xff0c;我们常常需要构建各种菜单结构。下面就来详细介绍如何基于给定的代码来开发一个菜单组件。 组件部分 一、模板部分 <template> <template v-for"item in menuTree" :key"item._id"> <el-sub-menu v-if"i…

opencv的findContours()函数

来自WaTab AI Pro 请详细解释cv2.findContours()&#xff1a; cv2.findContours() 是 OpenCV 中用于检测图像轮廓的函数。轮廓可以看作是将连续的点&#xff08;沿边界&#xff09;连接在一起的一条曲线&#xff0c;具有相同的颜色或强度。该函数常用于图像处理和计算机视觉中…

EtherCAT协议概述

EtherCAT 是由德国 BECKOFF 自动化公司于2003年提出的实时工业以太网技术。它具有高速和高数据有效率的特点&#xff0c;支持多种设备连接拓扑结构。其从站节点使用专用的控制芯片&#xff0c;主站使用标准的以太网控制器。 EtherCAT 的主要特点如下 : ①泛的适用性&#xff0c…

c++指针的*

1.*运算符 *运算符被称为间接值&#xff08;indirect value&#xff09;或者解除引用&#xff08;dereferencing&#xff09;运算符 将其应用于指针可以得到该地址处存储的值 由于 * 也有乘法的意思&#xff0c;c通过上下文来确定是乘法还是解除引用 2.如何声明和初始化指针 …