NeRF系列(4):Ha-NeRF: Hallucinated Neural Radiance Fields in the Wild论文解读

news2024/11/17 16:01:00

主页:

主页:Ha-NeRF😆: Hallucinated Neural Radiance Fields in the Wildhttps://rover-xingyu.github.io/Ha-NeRF/论文:https://openaccess.thecvf.com/content/CVPR2022/papers/Chen_Hallucinated_Neural_Radiance_Fields_in_the_Wild_CVPR_2022_paper.pdfhttps://openaccess.thecvf.com/content/CVPR2022/papers/Chen_Hallucinated_Neural_Radiance_Fields_in_the_Wild_CVPR_2022_paper.pdf

code:https://github.com/rover-xingyu/Ha-NeRFhttps://github.com/rover-xingyu/Ha-NeRF

1 概要:

本文研究了重构的NeRF问题,即从一组旅游图像中恢复出不同时间的真实NeRF。

现有的解决方案采用具有可控外观嵌入的NeRF来在各种条件下渲染新视角,但无法渲染出具有未见外观的视图一致的图像。

为了解决这个问题,我们提出了一个端到端的框架,用于构建幻觉式的NeRF,被称为Ha-NeRF。具体而言,我们提出了一个外观重构模块,用于处理时间变化的外观并将其转移到新视角上。考虑到旅游图像中的复杂遮挡情况,我们引入了一个抗遮挡模块,用于准确地分解静态物体以获取清晰的可见性。 

2 引言:

NeRF-W NeRF系列(2):NeRF in the wild : Neural Radiance Fields for Unconstrained Photo Collections论文解读与公式推导_LeapMay的博客-CSDN博客我们提出了一种基于学习的方法,利用非结构化的野外照片集合合成复杂场景的新视角。我们在神经辐射场(NeRF)的基础上进行了改进,以解决在真实世界的图像中存在的光照和遮挡等问题。我们将我们的方法命名为NeRF-W,并将其应用于互联网上著名地标的照片集合,展示了更接近真实照片的新视角渲染效果。https://blog.csdn.net/qq_35831906/article/details/131183038?spm=1001.2014.3001.5502该方法为每个输入图像优化外观嵌入以处理不同外观,并使用瞬态体积来分解静态组成部分及其遮挡物。与NeRF相比,NeRF-W在从具有不同外观和遮挡物的旅游图像中恢复真实世界方面迈出了一步。然而,NeRF-W通过优化训练样本的嵌入实现了可控的外观,这使得当给定一个新的图像时需要优化嵌入,并且无法从其他数据集中幻化外观。此外,NeRF-W尝试为每个输入图像优化一个瞬态体积,其中使用瞬态嵌入作为输入,由于瞬态遮挡物的随机性,这是高度不适定的。这导致场景的分解不准确,并进一步导致外观和遮挡物的纠缠,例如,导致瞬态体积记住了日落的光晕。 

为了解决以上限制,Ha-NeRF的框架,从具有不同外观和遮挡物的无约束旅游图像中重构出逼真的辐射场,如图1所示。

对于外观重构,提出了基于CNN的外观编码器和一种视图一致的外观损失,以在不同视角中传递一致的光度外观。这种设计使得我们的方法能够转移未学习图像的外观。

对于抗遮挡,利用MLP学习一个基于图像的2D可见性掩码,并使用抗遮挡损失在训练过程中自动准确地分离静态组件。在几个地标上的实验证实了所提方法在外重构化和抗遮挡方面的卓越性能。

主要贡献:

  1. 提出了Ha-NeRF框架,用于从具有不同外观和遮挡物的图像组中恢复外观重构化辐射场。
  2. 开发了外观重构模块,将视图一致的外观转移到新视角中。
  3. 建立了一个基于图像的抗遮挡模块,用于感知射线的可见性。

3 相关工作:

Novel View Synthesis 新视角合成
Neural Rendering. 神经渲染
Appearance Transfer:
在不同的天气条件和时间下,给定的场景可以呈现出不同的外观。
Grag等人提出,同一位置拍摄的旅游图像中场景外观的维度相对较低,除了瞬态物体等异常值之外 [14],可以通过估 计图像集合中的一致反射率从形状恢复中分离表面反射率场景照明、通过时间戳和地理位置获取太阳位置、或者假设固定视角来恢复图像集合的外观。
然而,这些方法假设了简单的光照模型,不适用于夜间场景的外观。
Radenovic等人恢复了明显不同的白天和夜晚重建结果,但无法实现从白天到夜晚外观的平滑过渡 [42]。Park等人提出了一种有效的技术来优化描绘共同场景的图像集合的外观 [37]。
Meshry [30] 使用了从输入图像分布中学习的基于数据驱动的隐式外观表示,
Martin-Brualla等人将数据驱动方法扩展到NeRF,并为每个视角的外观潜在代码进行优化以实现外观的可控性 [28]。
相比之下,所提出的方法尝试学习从视角分解出的外观特征,这意味着它能够一致地幻化未学习外观的新视角。

4 方法:

我们可以根据在不同光度条件下拍摄的新视角修改整个三维场景的外观。具体而言,在野外拍摄的照片作为输入时,通过卷积神经网络编码的外观嵌入来重建一个与外观无关的NeRF。为了处理照片中的瞬态遮挡物,我提出了一个遮挡处理模块,可以自动分离静态场景。

4.1. View-consistent Hallucination

          为了根据具有不同外观的输入照片,从新的拍摄角度实现对3D场景的幻化,核心问题在于如何将场景几何与外观分离,并将新的外观传递到重建的场景中。NeRF-W [28] 尝试使用优化的外观嵌入来解释输入中依赖于图像的外观。然而,这种嵌入需要在训练过程中进行优化,使其在超出训练样本范围内从新的拍摄中重构场景时需要优化嵌入,并且无法从其他数据集中重构外观。

因此,我们提出使用基于卷积神经网络的编码器 Eφ 来学习解耦的外观表示,其中参数 φ 考虑了输入中的光照变化和光度后处理。Eφ 将每个图像 I{_{i}}编码为外观潜在向量l_{i}^{a}

方程式1中的辐射度c扩展为外观相关的辐射度c^{l^{_{i}^{a}}},这样就将外观潜在向量 l_{i}^{a}引入到发射颜色中。

 外观编码器 Eφ 的参数 φ 是与辐射场 Fθ 的参数 θ 一起学习的。这个外观编码器使得我们的方法具有使用超出训练集的图像外观的灵活性,

然而,从不成对的图像中解开外观与视角的问题本质上是不适定的,并且需要额外的约束。受最近的一些工作的启发[20, 23, 62],这些工作利用潜在回归损失来促进图像空间和潜在空间之间的可逆映射。我们提出了一个视图一致性损失 \mathcal{L}{​{v}}通过从外观编码器 Eφ 获取外观向量l_{i}^{a} 并尝试在不同视角下进行重构,从而实现外观和视角的解耦。这个损失的形式如下

其中I _{i}^{r}是根据随机生成的视角渲染的图像,外观是基于图像I_{i}进行条件设置的,如图3所示。

在这里,我们假设重构的外观向量E_{\phi }(I _{i}^{r} )应该与原始的外观向量l_{i}^{a}相同,因为外观向量是跨不同视角的全局表示。

由于视图一致性损失的作用,我们可以在给定相同外观向量的情况下进行视图一致的外观渲染

此外,借助视图一致性损失,我们可以防止将图像的几何内容编码到外观向量中,当将体积条件设置为相同向量时,它将将来自不同视角(也是内容)的渲染图像编码为相同的向量。

为了提高效率,在训练过程中,我们采样一组光线并将它们组合成图像I _{i}^{r} ,而不是渲染整个图像[46]。这基于一个假设,即在使用随机网格进行采样后,图像的全局外观向量将保持不变。 

 4.2. Occlusion Handling

与NeRF-W中使用3D瞬态场来重建仅在单个图像中观察到的瞬态现象不同,我们使用基于图像的2D可见性图来消除瞬态现象。

这种简化使得我们的方法能够更准确地将静态场景与瞬态物体分割开来。为了建模这个图像,我们采用了一个隐式连续函数F\psi,它将2D像素位置p = (u, v)和图像相关的瞬态嵌入l^{_{i}^{\tau }}映射为可见性概率\mathcal{M}

我们以无监督的方式训练可见性图,该图指示了起源于静态场景的光线的可见性,以解耦图像中的静态和瞬态现象。我们使用一个遮挡损失来实现这一目标\l: 

在这种情况下,损失函数\mathcal{L}_{o}包括两个项。

第一个项是重建误差,考虑了渲染图像和真实颜色之间的像素可见性。可见性图M中的较大值增强了对像素的重要性,假设它属于静态现象。

第一个项通过第二个项进行平衡,第二个项是一个正则化项,乘以系数λo,用于鼓励模型不忽视静态现象。

第一个项的目标是最小化渲染图像和真实图像之间的差异,而第二个项的目标是鼓励模型减少忽略静态现象的情况。通过调整λo的值,可以控制两个项之间的平衡,以便在重建过程中更好地考虑静态现象。

具体而言,损失函数Lo可能计算渲染图像和真实图像之间的差异,并将其乘以可见性图M和不可见性的正则化项。最终目标是通过调整模型参数来最小化损失函数,以实现更准确的重建结果,并更好地处理静态现象。

 4.3. Optimization

为了实现Ha-NeRF,我们结合上述约束条件,共同训练参数(θ, φ, ψ)和每个图像的瞬态嵌入,以优化完整的目标函数\mathcal{L}

5. Experiments

5.1. Implementation Details

我们遵循NeRF和NeRF-W的实现[41]方法。静态神经辐射场Fθ由8个具有256个通道的全连接层组成,接着是ReLU激活函数生成σ,并且有一个额外的具有128个通道的全连接层,使用Sigmoid激活函数输出与外观相关的RGB颜色c。

外观编码器Eφ由5个卷积层组成,接着是自适应平均池化和一个全连接层,得到具有48个维度的外观向量l_{i}^{a} 。

图像相关的2D可见性掩码F\psi由5个具有256个通道的全连接层和Sigmoid激活函数组成,生成在128个维度上与瞬态嵌入 l^{_{i}^{\tau }}有关的可见性概率M。我们将λ设置为1×10^-3,λo设置为6×10^-3。

为了评估Ha-NeRF在实际场景中的性能,我们使用Phototourism数据集构建了三个数据集,分别称为"Brandenburg Gate"、"Sacre Coeur"和"Trevi Fountain",该数据集包含了文化地标的互联网照片集合。在训练过程中,我们将所有图像进行了2倍的降采样。

6. Conclusion

NeRF作为一种方法已经在各种应用中得到广泛应用,包括从旅游图像中恢复NeRF。虽然NeRF-W在训练数据上优化了外观嵌入,但很难在未学习的外观上一致地生成新视角。

为了解决这个具有挑战性的问题,我们提出了Ha-NeRF,它可以在变化的外观和复杂的遮挡情况下生成逼真的辐射场。具体来说,我们提出了一个外观幻化模块,用于处理时变外观并将其转移到新视角上。此外,采用了一个抗遮挡模块,学习了一种图像相关的2D可见性掩码,能够准确地分离静态对象。使用合成数据和旅游照片集的实验结果表明,我们的方法可以生成无遮挡的视角和外观的幻化。我们将公开提供代码和模型,以便研究社区进行可重现的研究。

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

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

相关文章

常用API(Object,Objects,StringBuilder,Math,System,BigDecimal)

1:Object类 1:Object类的作用: 一个类要么默认继承Object类,要么间接继承了Object类,Object类是Java中的祖宗类。Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类的方法。 2&#xff…

容器(第八篇)ansible-模块

ansible是什么? Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、…

直线方程y=kx+b 已知两点a,b。求ab中间任一点坐标x,y

参考文章 斜率怎么求 已知斜率及另一点坐标,求另一点坐标方法 三角形斜率 DirectX C 3D编程基础 5 [三角形光栅化] 自制中字 直线方程公式ykxb k斜率,b截距 已知点a(1,2) b(4,3)绿色线段 求斜率k(by-ay)/(bx-ax)或(a…

idea运行main方法或Test避免编译整个应用的方法

已建项目中修改 Main函数不biuld : 光标点到main函数里,右键->Modify Run COnfigurations->Modify options Test 不build 或者单独在每个test里 右键-Modify Run COnfigurations->移除build 对于新建工程统一修改配置: File->New Project Setting…

Java30天拿下---第一天(JDK,JRE,JVM,转义字符,注释,代码规范,数据类型)

Java开发(30天拿下---第一天) 一 hello world以及JDK,JRE,JVM二 转义字符三 注释四 代码规范五 DOS命令(了解)六 变量1.加号的使用2.数据类型整型浮点型字符类型布尔类型自动类型转换强制类型转换String类型 七 API文档 一 hello …

【备战秋招】每日一题:5月13日美团春招第一题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检,为了更好的阅读体检,,可以查看我的算法学习博客第一题-塔子哥的数字 在线评测链接:P1286 题目描述 塔子哥是一个数学爱好者,他经常思考各种数字之间的奥秘。今天,他想要解决一个有趣的问题&…

业务流程自动化:ThinkAutomation Professional Crack

ThinkAutomation 助力您的业务流程自动化。自动执行本地和基于云的业务流程,以降低成本并节省时间。 自动化传入的通信渠道,监控数据库,对传入的Webhook,Web表单和聊天机器人做出反应。处理文档、附件、本地文件和其他邮件源。 …

TOGAF10®标准中文版(全文目录)

The Open Group是一个通过技术标准实现业务目标的全球联盟。我们拥有超过870个成员组织,成员来自技术社区的各个部门,包括客户、系统和解决方案供应商、工具供应商、集成商和顾问,以及学者和研究人员。 The Open Group的使命是通过以下方式…

33、js - 面试 - 事件循环 微任务 宏任务

1、事件循环♻️(EventLoop) js是单线程语言,也就是某一刻只能执行一行代码,为了让耗时代码不阻塞其他代码运行,设计了事件循环模型。 事件循环是一个并发模型,负责执行代码、收集异步任务的模型&#xff0…

web性能检测工具lighthouse

About Automated auditing, performance metrics, and best practices for the web. Lighthouse 可以自动检查Web页面的性能。 你可以以多种方式使用它。 浏览器插件 作为浏览器插件,访问chrome网上商店 搜索Lighthouse 插件安装。以两种方式使用。 方式一 安装…

单片机按键软开关:1个引脚实现单片机低电量自己控制给自己断电

背景 类似于手机的开机按键,我们希望在单片机电路上也能实现类似的低电量自动关机、通过按键而不是自锁开关来上电开机。 软开关电路 电路图如下: 当按键按下时,Q1导通,R18右侧变为低电平,进而Q2导通,…

深入探究kubernetes resources - Part 1

在开始使用 Kubernetes 时,社区教给我们的第一件事就是始终为我们 pod 中的每个容器设置 CPU 和内存的请求和限制。 当您指定 Pod 时,您可以选择指定容器需要多少资源。 您指定的最常见资源是 CPU 和内存 (RAM); apiVersion: v1 kind: Pod …

模糊测试不“模糊”,高效发掘未知漏洞与 0day 攻击

近日,在「DevSecOps软件安全开发实践」课程上,极狐(GitLab) 高级测试工程师衡韬、极狐(GitLab) 高级后端开发工程师田鲁,分享了模糊测试的概念、必要性和在极狐GitLab 上的实践。 以下内容整理自本次直播,你也可以点击&#x1f44…

合宙Air724UG Cat.1模块硬件设计指南--SIM卡接口

SIM卡接口 简介 SIM( Subscriber Identity Module)卡为用户识别模块,内部使用新式单片机及存储器管理结构,包含了大规模的集成电路,同时也称为用户识别卡。通信设备通过SIM卡来识别其用户,只有设备插入SIM卡后才能入网使用。SIM卡…

Javac编译原理:基本结构和工作原理

Javac编译器 文章目录 Javac编译器简介基本结构如何编译程序 工作原理词法分析器语法分析器语义分析器代码生成器 简介 javac是一种编译器,能将一种语言规范转化成另一种语言规范 编译器通常是将便于人理解的语言规范转换成容易理解的语言规范,如C都是…

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?   阿里云服务器价格概述   作为全球领先的云计算服务提供商,阿里云在确保服务器性能和安全性的同时,也非常注重产品的价格竞争力。阿里云服务器(ECS&…

OpenMMLab-AI实战营第二期——6-2.玩转AIGC神器MMagic

文章目录 1. 基本介绍2. 动手实验 视频链接:玩转AIGC神器MMagic 代码教程:https://github.com/TommyZihao/MMagic_Tutorials 1. 基本介绍 Stable Diffusion的文生图,以及controlnet和dreamboost的图生图(输入一个图像文字描述&am…

python Django web 项目 联通用户管理系统

文章目录 1框架MVC 介绍Django 框架的介绍基础命令Django处理浏览器的请求的流程 部门表部门表显示7.模板的继承部门表的添加部门表的删除request.POST.get(‘key’) 、 request.GET.get(key, )部门表的编辑filter() 得到可迭代的QuerySet对象,支持for循环取容器内的元素first(…

图神经网络 GNN 入门

参考链接 A Gentle Introduction to Graph Neural Networks (distill.pub) 零基础多图详解图神经网络(GNN/GCN)【论文精读】_哔哩哔哩_bilibili 目录 图的基本构成 图的表示方法 图的示例 图网络的基本任务 图网络的处理 影响图网络效果的超参数 …

机器人参数化建模与仿真,软体机器人

专题一:机器人参数化建模与仿真分析、优化设计专题课程大纲 机器人建模基础 机器人运动学基础几何运动学闭环解解析法建模运动学MATLAB脚本文件编写(封闭解、构型绘制)、工具箱机器人工作空间(离散法、几何法)建模工作…