93、Dehazing-NeRF: Neural Radiance Fields from Hazy Images

news2024/11/24 9:27:05

简介

论文:https://arxiv.org/pdf/2304.11448.pdf
在这里插入图片描述
从模糊图像输入中恢复清晰NeRF

使用大气散射模型模拟有雾图像的物理成像过程,联合学习大气散射模型和干净的NeRF模型,用于图像去雾和新视图合成

通过将NeRF 3D场景的深度估计与大气散射模型相结合,提出的模型在保持几何一致性的同时,突破了单幅图像去雾的不适定问题

为了缓解信息丢失导致的图像质量下降,在模型训练过程中解决了软边缘一致性正则化、大气一致性和对比度判别损失等问题

  • 提出了一种新的无监督视图合成框架,该框架可以从模糊输入中恢复清晰的NeRF。利用三维场景的深度信息来补充ASM的不确定参数,解决了单幅图像去雾的不适定问题。
  • 为了在保证重建图像一致性的同时,缓解模糊图像量化带来的信息丢失问题,提出了一种软边缘一致性正则化方法。
  • 实验验证了该方法能够去除图像中的雾霾,合成清晰的新视图图像。

实现流程

在这里插入图片描述
(a)模糊图像重建分支,估计ASM的参数。它结合了来自新视图合成分支的清晰图像和深度图来生成重建的朦胧图像。其中A为大气光,β为描述介质散射能力的散射系数。
(b)生成估计清晰图像的新视图合成分支;

ASM

大气中粒子的散射作用是造成雾霾的主要原因,雾霾图像的低能见度是由于大气中悬浮粒子对光的吸收和散射
在这里插入图片描述

大气散射模式对雾霾天气下的成像过程进行了物理模拟,并分析了雾霾天气下图像退化的两个原因

  • 物体反射的光被悬浮粒子吸收散射而衰减
  • 环境光,如阳光被悬浮粒子散射形成背景光
    在这里插入图片描述
    I(x)为观测到的模糊图像,J(x)为待恢复的清晰图像,t(x)为透射图,β为大气散射系数,A为大气光或空气光,d(x)为目标物与相机之间的距离。其中(x)表示逐像素计算

Hazy image reconstruction branch

分支(a)的核心是图像退化的物理模型。采用ASM算法重建模糊图像的退化过程。ASM中存在三个未知参数,分别是大气散射系数β、大气光强 A和深度图 D ^ \hat{D} D^。为了解决图像去雾的不确定问题,减少需要估计的参数数量,使用分支(b)预测的深度图像 j ^ \hat{j} j^,同时保证了重建清晰场景的几何一致性

为了解决样本少的问题,分支(a)使用预训练好的DNN来预测 β 和 a 这两个参数。从上述参数和分支(b)估计的清晰图像,使用ASM重建估计的模糊图像

重建的朦胧图像应与真实的朦胧图像 I 一致

Novel View Synthesis Branch
分支(b)的输入为对应视角的方向和位置,输出为估计的清晰图像 j ^ \hat{j} j^,视角的方向和位置对应于分支(a)输入的真实模糊图像 I。与原始NeRF在整个图像中随机采样不同,该框架分支(a)输入的真实模糊图像是按等间隔下采样的,采样偏移是随机产生的。这样可以保证采样结果与图像一致,然后在大规模数据集上使用预训练的模型,避免ASM中由于样本数量少而难以估计参数的问题。同时,下采样减少了整个框架消耗的GPU内存

Soft Margin Reconstruction Consistency

模糊图像与无模糊图像的像素直方图存在巨大差异,模糊图像的像素值往往被压缩到更小的范围

数字图像的量化序列通常为256,而朦胧图像的大部分像素值对应的量化序列都大大减小,使得图像中有相当数量的信息丢失
在这里插入图片描述
提出了一种软边缘一致性正则化方法。量化不是将信号 q 分配给单个值,而是一个区间 ( b i , b i + 1 ) (b_i, b_{i+1}) (bi,bi+1),没有严格约束真实图像与重建图像完全相同,而是允许两者之间有细微的差异,这是由量化水平的大小决定的
在这里插入图片描述
其中 I 为真实模糊图像, I ^ \hat{I} I^为重建模糊图像,‖·‖SMRC为提出的软边缘重建一致性正则化
在这里插入图片描述
其中u为像素的预测值,b为像素的实值, ( b i , b i + 1 ) (b_i, b_{i+1}) (bi,bi+1) 为量化区间,λ为0 ~ 1之间的系数

loss function

Atmospheric consistency loss

为了保证同一场景不同视点图像估算的大气参数值的一致性,该算法依赖于静态朦胧场景假设的先验。它有助于NeRF的收敛,避免在朦胧的场景中丢失细节
在这里插入图片描述
β i β_i βi A i A_i Ai 分别为DNN估算的第 i 幅图像的大气散射系数和大气光强。N是多视图图像的个数

Contrast discriminative loss
用于保证模糊和清晰图像的区别,避免琐碎的解决方案
在这里插入图片描述
Lc(·)用于计算图像的局部对比度
在这里插入图片描述
其中I表示输入图像,upsample(·)表示上采样,Avgpool(·)表示均值池化,其中上采样放大倍数与均值卷积的步长和核大小相同

Total Variation loss
为了避免新视图合成结果的噪声并保证其平滑性,加入总变差损失来约束图像像素值的梯度
在这里插入图片描述
其中 D u D_u Du 是图像的邻域, u x = ∂ u ∂ x u_x =\frac{∂_u}{∂_x} ux=xu, y = ∂ u ∂ y y =\frac{∂_u}{∂_y} y=yu。该框架的总损失函数为SMRC、大气一致性损失、对比度辨别损失和总变差损失之和,即:
在这里插入图片描述
其中 λ 1 λ 2 λ 3 λ_1 λ_2 λ_3 λ1λ2λ3 是用来平衡不同损失的系数。 L r e c 、 L c o n s L_{rec}、L_{cons} LrecLcons L c d L_{cd} Lcd分别为软边缘重建一致性、大气一致性损失、对比度判别损失和总变化损失。

实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【牛客刷题专栏】23:JZ22 链表中倒数最后k个结点(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录 前言问…

LeetCode-344. 反转字符串

题目链接 LeetCode-344. 反转字符串 题目描述 题解 题解一(Java) 作者:仲景 直接双指针前后一直交换即可 class Solution {public void reverseString(char[] s) {if (s.length 1)return;// 双指针int lp 0, rp s.length - 1;while (lp…

【百度智能云】基于http3的xcdn 开放直播方案设计与实践

大神:柯老师 现有的融合CDN 0 需要集成sdksdk 是集成在端侧缺点 sdk 对端侧有影响多云模式下,sdk不互通、 XCDN 设计目标 :保持现有cdn的优势 承载各种业务:直播点播让各家的cdn互通cdn 厂家屏蔽了差异性,集成起来比较简单,对接简单开发的互联网生态。使用统一的http3标…

理解缓冲区

文章目录 一.缓冲区1.什么是缓冲区2.缓冲区的意义3.缓冲区的刷新策略4.我们目前谈论的缓冲区在哪里5.仿写FILE5.1myStdio.h5.2myStdio.c 6.操作系统的缓冲区 一.缓冲区 int main() {printf("hello linux");sleep(2);return 0; }对于这样的代码,首先可以肯…

C++11 unique_ptr智能指针

#include<iostream> using namespace std;class test { public:test() {cout << "调用构造函数" << endl;}~test() {cout << "调用析构函数" << endl;} };int main(void) {//1.构造函数unique_ptr<test>t1;unique_ptr…

数据结构之KMP算法:彻底搞懂kmp算法

数据结构的学习&#xff0c;kmp匹配算法困扰我许久&#xff0c;此处来一个总结&#xff08;仅供自己复习了解参考使用&#xff09;&#xff0c;如果有不对的地方请多多指点。好了废话不多说我们直接开始好吧。 目录 关于暴力匹配原理的讲解&#xff1a; kmp算法&#xff1a; …

ChatGPT - 如何高效的调教ChatGPT (指令建构模型-LACES问题模型)

文章目录 定义1. Limitation&#xff08;限定条件&#xff09;2. Assignment&#xff08;分配角色&#xff09;3. Context&#xff08;背景或上下文&#xff09;4. Example&#xff08;示例&#xff09;5. Step by Step&#xff08;拆分任务&#xff09; 小Demo 定义 LACES问题…

尚硅谷大数据技术Spark教程-笔记04【SparkCore(核心编程,RDD-行动算子-序列化-依赖关系-持久化-分区器-文件读取与保存)】

视频地址&#xff1a;尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01【Spark&#xff08;概述、快速上手、运行环境、运行架构&#xff09;】尚硅谷大数据技术Spark教程-笔记02【SparkCore&#xff08;核心编程&#xff0c;RDD-核心属…

加强人工智能共性技术研发与产业化协同发展

央视网消息&#xff1a;“以5G为代表的新一代信息技术与制造业、交通、旅游等实体经济重要领域深度融合。”4月20日下午&#xff0c;国新办举行一季度工业和信息化发展情况新闻发布会&#xff0c;相关部门负责人在答问时表示&#xff0c;将用好融合应用这把金钥匙&#xff0c;开…

ReactHook学习(第一篇-N)

文章目录 Hook简介概述class组件的不足什么是 Hook?Hook 使用规则 state的研究&#xff08;useState&#xff09;State&#xff1a;组件的记忆&#xff08;响应式数据&#xff09;当普通的变量无法满足时添加一个 state 变量遇见你的第一个 Hook剖析 useState 赋予一个组件多个…

【C++】面向对象

文章目录 3.1 类与对象3.1.1 类成员的访问控制3.1.2 类的成员函数对象的访问方式成员函数的实现内联成员函数 3.1.3 构造函数复制构造函数调用复制构造函数的三种情况深复制与浅复制&#xff1f; 析构函数类的组合 3.1.4 前向引用声明3.1.5 结构体与类对比3.1.6 UML类图属性表示…

IMX6ULL裸机篇之按键消抖实验

一. 按键消抖 在之前的 按键中断实验时&#xff0c;我们讲了如何使用中断的方式驱动按键或GPIO。如果通过中断的方式处理按键的话&#xff0c;按键是需要消抖处理的。 而在之前 按键中断实验中&#xff0c;在中断处理函数中对按键进行消抖&#xff0c;调用了 delay 延时函数。…

剑指 Offer 32 - II. 从上到下打印二叉树 II

目录 题目思路BFS 题目来源 剑指 Offer 32 - II. 从上到下打印二叉树 II 题目思路 I. 按层打印&#xff1a; 题目要求的二叉树的 从上至下 打印&#xff08;即按层打印&#xff09;&#xff0c;又称为二叉树的 广度优先搜索&#xff08;BFS&#xff09;。BFS 通常借助 队列 的…

Midjourney v4 | 如何结合参考图像来生成AI艺术图

网址&#xff1a;midjourney.com 首页展示 首页如下图&#xff1a; 第一步&#xff1a;进入社群 点击首页右下角“Join the Beta”&#xff0c;进入如下页面&#xff1a; 点击“接受邀请”&#xff0c;验证之后进入 可以点击认证账号&#xff0c;进行注册&#xff1a; 应该不…

Redis三种集群模式

一、引言 Redis有三种集群模式&#xff0c;第一个就是主从模式&#xff0c;第二种“哨兵”模式&#xff0c;第三种是Cluster集群模式&#xff0c;第三种的集群模式是在Redis 3.x以后的版本才增加进来的&#xff0c;我们今天就来说一下Redis第一种集群模式&#xff1a;主从集群模…

【英语】100个句子记完7000个托福单词

其实主要的7000词其实是在主题归纳里面&#xff0c;不过过一遍100个句子也挺好的&#xff0c;反正也不多。 文章目录 Sentence 01Sentence 02Sentence 03Sentence 04Sentence 05Sentence 06Sentence 07Sentence 08Sentence 09Sentence 10Sentence 11Sentence 12Sentence 13Sent…

Redis的底层数据结构

Redis的底层数据结构 Redis的底层数据类型&#xff08;对比&#xff09;Redis的底层数据结构Redis数据类型和底层数据结构的对应关系Redis的使用 Redis的底层数据类型&#xff08;对比&#xff09; String&#xff08;字符串&#xff09;List&#xff08;列表&#xff09;Hash…

CRE66365 应用资料

CRE66365是一款高度集成的电流模式PWM控制IC&#xff0c;为高性能、低待机功耗和低成本的隔离型反激转换器。在正常负载条件下&#xff0c;AC输入高电压下工作在QR模式。为了最大限度地减少开关损耗&#xff0c;QR 模式下的最大开关频率被内部限制为 77kHz。当负载较低时&#…

Dcoekr 部署前后端分离项目SpringBoot +Vue

1.docker 部署vue docker 安装 nginx的镜像 niginx 配置文件 nginx.conf #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections…

给大家分享一个比Top更好用的Linux进程管理工具htop

一、前言 相信用过Linux操作系统的同学对Top应该都不陌生&#xff0c;我们通过Top命令可以查看CPU的占用率以及每个进程的详细信息&#xff0c;但是今天我要给大家分享一个比Top更好用的进程管理工具htop&#xff08;High Top&#xff09;。 二、htop功能介绍 htop 是一个高…