96、ScatterNeRF: Seeing Through Fog with Physically-Based Inverse Neural Rendering

2023-11-20

简介

论文:https://arxiv.org/pdf/2305.02103.pdf
充分渲染雾场景,并从参与媒体中分解无雾背景,提出了散射体和场景物体的解纠缠表示,并学习了基于物理启发损失的场景重建
在这里插入图片描述
贡献点:

  • 提出了一种通过在体绘制过程中引入Koschmieder散射模型来学习参与介质的解纠缠表示的方法。
  • 方法增加了一个用于模拟散射介质特性的MLP,并且不需要任何额外的采样或其他程序,使其在计算和内存消耗方面都成为轻量级框架。
  • 学习了基于物理的场景表示,并能够控制其模糊外观。使用在受控和野外环境中捕获的真实数据来证实这一点。

实现流程

在这里插入图片描述
方法和两个参考NeRF模型沿两条投射射线的射线终止分布。DS-NeRF和mip-NeRF-360中提出的正则化方法将累计透射率T表示为阶跃函数,而ScatterNeRF则对散射过程进行建模

大的散射体积可以用Koschmieder模型来近似。

对于每个像素,建立了衰减模型,表示由于物体散射的直接光造成的损失强度,以及由于环境光散射到观察者而造成的空气光 c p c_p cp的贡献。
在这里插入图片描述
l 为透射, C F C_F CF对应观测到的像素值, C c C_c Cc为清晰场景

透射率 l 可由衰减系数 σ p σ_p σp和深度D计算得到
在这里插入图片描述

NeRF体渲染公式
在这里插入图片描述
在这里插入图片描述
积分对象颜色 C c C_c Cc 定义为在位置 r 处发射的颜色 C c ( r ) C_c (r) Cc(r);
在这里插入图片描述
放宽对 σ p σ_p σp c p c_p cp 的约束,允许它们近似任意值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
离散化表示为
在这里插入图片描述
对于使用MLP得到的 σ i , c i   i ∈ { c , p } \sigma_i,c_i \ i\in \{c,p\} σi,ci i{c,p},可以表示为
在这里插入图片描述
通过缩放 σ p σ_p σp 来渲染不同雾密度的场景,甚至通过设置 σ p = 0 σ_p = 0 σp=0 来完全去雾化图像,当 σ p = 0 σ_p = 0 σp=0,渲染公式为:
在这里插入图片描述

损失函数

rgb损失
在这里插入图片描述
大气光颜色损失
在这里插入图片描述
I F I_F IF 是模糊图像的相对亮度 I F ( r ) = ξ ⋅ l i n ( C ˉ F ( r ) ) I_F(r) = \xi \cdot lin(\bar{C}_F(r)) IF(r)=ξlin(CˉF(r))

c p 0 c^0_p cp0 是在暗信道先验条件下计算的初始全局恒定大气光估计值

z = 1 / ( l − 1 ) z = 1/(l-1) z=1/(l1) λ \lambda λ 是加权因子
在这里插入图片描述

场景中投射的光线具有峰值单峰射线终止分布
在这里插入图片描述
正则化散射介质 σ ^ p \hat{\sigma}_p σ^p的密度, σ ^ p \hat{\sigma}_p σ^p以半监督的方式拟合,能够模拟雾的不均匀性。应用基于熵的损失,允许网络 f p f_p fp 学习空间变化的介质密度
在这里插入图片描述
a ~ F i = a ^ F i ∑ j a ^ F j a ^ F i = 1 − e x p ( ( σ ^ p i + σ ^ c i ) δ i ) \tilde{a}_{F_i}=\frac{\hat{a}_{F_i}}{\sum_j\hat{a}_{F_j}} \hat{a}_{F_i}=1-exp((\hat{\sigma}_{p_i}+\hat{\sigma}_{c_i})\delta_i) a~Fi=ja^Fja^Fia^Fi=1exp((σ^pi+σ^ci)δi)

熵最大化依赖于场景体积密度 σ ^ c \hat{σ}_c σ^c 来解开这两种分布,而不仅仅是在整个场景中分布雾体积密度 σ ^ F \hat{σ}_F σ^F。只对 σ p σ_p σp,而不是 σ c σ_c σc,最小化这个损失

深度损失

通过立体传感器设置估计的深度 D ˉ \bar{D} Dˉ来监督场景深度
在这里插入图片描述
在这里插入图片描述
立体深度网络在大雾条件下具有鲁棒性,它们适合于直接监督场景NeRF

总损失
在这里插入图片描述

采样

由于 σ F σ_F σF在整个场景中被正则化为近似常数,重新采样过程不会使用场景权重 W F W_F WF 而是使用去雾后场景权重 W c W_c Wc

实验

使用NVIDIA RTX A6000 迭代250000次,批次大小为4096,使用Adamw优化器 β 1 = 0.9 , β 2 = 0.999 \beta_1=0.9,\beta_2=0.999 β1=0.9,β2=0.999,学习率为 5 ⋅ 1 0 − 4 5\cdot10^{-4} 5104
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

96、ScatterNeRF: Seeing Through Fog with Physically-Based Inverse Neural Rendering 的相关文章

随机推荐

  • 连接池

    总结 1 连接池 java对外提供了连接的接口 连接池的存在就省去了每次创建和释放连接 2 连接池的连接条件 1 将commons pool 1 5 6 jar的jar包引进java项目下的lib文件夹 3 用连接池对象代替dao 层的Co
  • TP6.0 自定义命令创建类文件

    一 修改框架核心扩展包 1 新增指令配置项 2 创建逻辑层类文件模板 3 创建 Logic php 文件 4 执行命令 创建逻辑层类文件 二 不用修改框架源码 推荐 1 创建一个自定义命令类文件 以逻辑层类文件为例 2 复制创建模型类的命令
  • 解决 npm或pnpm : 无法加载文件 C:\Users\bts\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本

    vscode 使用 npm 或 pnpm打开网页时出现此问题 解决方法 点击左下角开始 找到Windows PowerShell 点击右键找到更多 找到以管理员身份运行 输入命令 set ExecutionPolicy RemoteSign
  • 使用禅道 api 添加用户完整流程与分析

    在使用禅道系统时 有时为了方便 需要与其他系统对接 如其他系统添加用户后可以直接同步到禅道系统 而不是在禅道系统重新添加一遍用户 禅道系统提供了二次开发的api 但是里面的内容并不详细 故笔者写这篇文章进行记录 这里先以 postman进行
  • STM32与ESP8266-MQTT固件的应用

    本文以Clion作为编译器 STM32F407作为芯片 通过串口以AT指令与ESP8266 01S进行通信 让其连接到腾讯云物联网平台 一 ESP8266 01S ESP8266 01S原本固件是不支持MQTT的 因此需要在安信可官网去下载
  • mysql union保持原有查询的排序

    摘要 mysql中对union之后的结果进行排序比较简单 但业务中也会遇到需要保持各个union结果集自身的排序情况 本文将介绍一种想要保持union前各个查询结果集的排序规则不变的处理方式 为各个结果集编排独立排序 规则描述与数据准备 数
  • Linux设备驱动入门

    Linux驱动配置 什么是驱动程序 驱动程序是应用层和硬件设备之间的一个软件层 它向应用层提供了一组标准化的调用接口 同时完全隐藏设备的工作细节 无操作系统时的设备驱动 有操作系统时候的设备驱动 有了操作系统之后 设备驱动反而变得更加复杂了
  • 黑白二维数组,判断两个二维数组之间的相似率

    include
  • 排序算法---希尔排序---详解&&代码

    希尔排序 希尔排序 从整体宏观上有序逐步细节到局部的有序 希尔排序是一种改进版的插入排序 普通的插入排序算法中 是从第2个节点开始 依次插入到有序序列中 这种做法虽然 一次成形 但研究发现时间效率上这么做并不划算 希尔排序的时间复杂度为O
  • Maven 父子POM文件 相同依赖不同版本的问题

    Maven 父子POM文件 相同依赖不同版本的问题 默认用父一级的版本 而且子POM文件的版本处会有黄色Warn 解决 增加
  • qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in

    在运行mmdetection的时候发现qt5里面缺了啥 qt qpa plugin Could not load the Qt platform plugin xcb in 卸载了好多Qt5 重新安装 都没有用 尝试1 sudo gedit
  • PHPExcel 表格导出数据

    PHPExcel开发文档 https www kancloud cn chunyu php basic knowledge 1041088 1 控制器 平台订单 导出 功能 订单查询导出 导出 功能 平台订单 导出 public funct
  • WEB刷题第一天

    今天刷了第一道简单题 学到了万能密码 admin or 1 1 用户名和密码均输入万能密码 buuoj cn check php username admin or 1 1 password admin or 1 1 html5判断用输入密
  • 矩阵求逆算法及程序实现(C++)

    矩阵求逆算法及程序实现 C
  • mapper批量插入

    1 常规方式的批量插入 sql语句 int bathNorm List
  • 深度学习笔记3——AlexNet

    1 背景介绍 在2012年的ImageNet竞赛中 AlexNet获得了top 5测试的15 3 error rate 获得第二名的方法error rate 是 26 2 AlexNet有60 million个参数和65000个 神经元 五
  • uniapp跨域问题解决

    一 什么是跨域 出于浏览器的同源策略限制 同源策略是一种约定 它是浏览器最核心也最基本的安全功能 如果缺少了同源策略 则浏览器的正常功能可能都会受到影响 知识点 跨域只会出现在浏览器上 小程序和APP开发不会有跨域问题 二 什么情况下会出现
  • 选址与路径规划问题(Lingo,Matlab实现)

    1 县政府现拟建六个医院 问分别建在何处才能方便广大市民 2 现准备在此县城内建立若干个出警点 为每个出警点分配区域 使在任意 地点发生意外 警察能在 3 分钟以内到达事发地 问如何策划出警点才合 理 请具体给出出警点的位置和个数 警车的时
  • 同时带有QueryString和Body参数的接口,如何用Postman做接口测试

    文章目录 前言 一 好用的抓包工具Charles 1 安装Charles 二 Postman进行接口测试 打开postman 进行操作 总结 前言 有时利用Fiddler抓包抓到一些复杂点的接口 比如是同时带有querystring参数和b
  • 96、ScatterNeRF: Seeing Through Fog with Physically-Based Inverse Neural Rendering

    简介 论文 https arxiv org pdf 2305 02103 pdf 充分渲染雾场景 并从参与媒体中分解无雾背景 提出了散射体和场景物体的解纠缠表示 并学习了基于物理启发损失的场景重建 贡献点 提出了一种通过在体绘制过程中引入K