PairLIE论文阅读笔记

PairLIE论文阅读笔记

论文为2023CVPR的Learning a Simple Low-light Image Enhancer from Paired Low-light Instances.论文链接如下:

openaccess.thecvf.com/content/CVPR2023/papers/Fu_Learning_a_Simple_Low-Light_Image_Enhancer_From_Paired_Low-Light_Instances_CVPR_2023_paper.pdf

文章目录

  • PairLIE论文阅读笔记
    • 出发点
    • 创新点
    • 模型
    • 设计及其损失

出发点

1.However, collecting high-quality reference maps in real-world scenarios is time-consuming and expensive.

出发点1:在低光照领域,从现实世界中获取高质量的参考照片进行监督学习,既费时又困难,成本昂贵。

因为获得低光环境的照片是容易的,而此低光照片对应的亮度较大的参考图片是难得的。

2.To tackle the issues of limited information in a single low-light image and the poor adaptability of handcrafted priors, we propose to leverage paired low-light instances to train the LIE network.

Additionally, twice-exposure images provide useful information for solving the LIE task. As a result, our solution can reduce the demand for handcrafted priors and improve the adaptability of the network.

出发点2:为了解决手动设置的先验的低适应性,减少手动设置先验的需求,同时提升模型对陌生环境的适应性。

创新点

The core insight of our approach is to sufficiently exploit priors from paired low-light images.

Those low-light image pairs share the same scene content but different illumination. Mathematically, Retinex decomposition with low-light image pairs can be expressed as:

在这里插入图片描述

创新点1:作者利用两张低光图片进行训练,以充分提取低光图片的信息。

instead of directly imposing the Retinex decomposition on original low-light images, we adopt a simple self-supervised mechanism to remove inappropriate features and implement the Retinex decomposition on the optimized image.

创新点2:作者基于Retinex理论,但是并不循旧地直接运用Retinex的分解。作者采用一个简单的自监督机制以实现不合理特征的去除(通常是一些噪音)以及更好地实现Retinex理论。

模型

在这里插入图片描述

将两张同一场景不同曝光的低光图片送入训练中,图片I1与I2先经过P-Net去除噪音,得到i1与i2,然后利用L-Net与R-Net分解为照度L1与反射R1(对应有L2与R2)。

在测试,只需要输入一张低光照图片I,经过P-Net的噪音去除,得到i,然后用L-Net与R-Net分解为照度和反射,然后对照度L进行增强,操作为g(L),把增强结果与反射R进行元素乘法,得到增强后的图片Enhanced Image。

设计及其损失

Note that, this paper does not focus on designing modernistic network structures. L-Net and R-Net are very similar and simple,

1.模型使用的L-Net与R-Net十分简单。整体架构只是单纯的卷积神经网络。

Apart from L-Net and R-Net, we introduce P-Net to remove inappropriate features from the original image. Specifically, the structure of the P-Net is identical to the R-Net.

2,P-Net被设计用于去除不合理特征。
L p = ∣ ∣ I 1 − i 1 ∣ ∣ 2 2 L_p = \mid\mid I_1 - i_1 \mid\mid^2_2 Lp=∣∣I1i122

Note that the projection loss needs to cooperate with the other constraints to avoid a trivial solution.i,e.,i1 = I1.

3.Projection Loss:最大程度限制去除不合理特征后的i1和原始低光图片I1的区别。

这个损失需要避免一个特例,即降噪后图片与原图相同,即未降噪。
L c = ∣ ∣ R 1 − R 2 ∣ ∣ 2 2 (1) L_c = \mid\mid R_1 - R_2 \mid\mid^2_2\tag{1} Lc=∣∣R1R222(1)

Since sensor noise hidden in dark regions will be amplified when the contrast is improved.

In our method, the sensor noise can be implicitly removed by Eq. 1.

4.Reflection Loss:通常用传感或摄影设备拍摄低光场景照片会携带一定的设备噪音,这个损失最大限度保证两张图片的反射是相同的,减少传感或摄影设备的影响,这是因为图片场景的内容相同。

这个损失是确保反射的一致性。
L R = ∣ ∣ R ∘ L − i ∣ ∣ 2 2 + ∣ ∣ R − i / s t o p g r a d ( L ) ∣ ∣ 2 2 + ∣ ∣ L − L 0 ∣ ∣ 2 2 + ∣ ∣ ∇ L ∣ ∣ 1 L_R = \mid\mid R \circ L - i \mid\mid^2_2 + \mid\mid R - i / stopgrad(L)\mid\mid^2_2 + \mid\mid L - L_0 \mid\mid^2_2 + \mid\mid \nabla L \mid\mid_1 LR=∣∣RLi22+∣∣Ri/stopgrad(L)22+∣∣LL022+∣∣L1

∣ ∣ R ∘ L − i ∣ ∣ 2 2 \mid\mid R \circ L - i \mid\mid^2_2 ∣∣RLi22 is applied to ensure a reasonable decomposition.

∣ ∣ R − i / s t o p g r a d ( L ) ∣ ∣ 2 2 \mid\mid R - i / stopgrad(L) \mid\mid^2_2 ∣∣Ri/stopgrad(L)22 is to guide the decomposition.

Specifically, the initialized illumination L0 is calculated via the maximum of the R, G, and B channels: L 0 = m a x c ∈ R , G , B I c ( x ) . L_0 = \underset{c \in{R, G, B}}{max} I^c(x). L0=cR,G,BmaxIc(x).

5.Retinex Loss:Retinex损失是为了限制分解组块L-Net和R-Net以满足Retinex的理论要求。

本文毕

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

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

相关文章

Kafka安全性探究:构建可信赖的分布式消息系统

在本文中,将研究Kafka的安全性,探讨如何确保数据在传输和存储过程中的完整性、机密性以及授权访问。通过详实的示例代码,全面讨论Kafka安全性的各个方面,从加密通信到访问控制,帮助大家构建一个可信赖的分布式消息系统…

vue3 setup router的使用教程

vue3 setup router的使用教程 文章目录 vue3 setup router的使用教程1. 安装2. 使用(创建路由实例)3. 路由跳转3.1 通过router-link标签跳转3.2 通过js代码跳转 4. 接收参数4.1 通过query接收参数4.2 通过params接收参数 5. 路由守卫5.1 全局守卫5.2 路由…

阿里云docker加速

文章目录 一、 阿里云镜像仓库配置二、配置加速1. CentOS2. Mac3. Windows注意 一、 阿里云镜像仓库配置 1.注册阿里云账号,并登陆到阿里云后台,进入控制台面板 2.进入控制台以后,找到左上方的三横的功能列表按钮,在弹出来的功能…

智能手机IC

智能手机IC 电子元器件百科 文章目录 智能手机IC前言一、智能手机IC是什么二、智能手机IC的类别三、智能手机IC应用实例四、智能手机IC作用总结前言 智能手机IC通过相互配合和协同工作,支持智能手机的各种功能和特性,如高速计算、多媒体处理、无线通信、图形渲染、传感器数据…

G1 GC基本逻辑

1 MixedGC基本过程 在G1GC中,有两种主要的垃圾回收过程:Young GC和Mixed GC。这两者都是为了回收堆内存中的垃圾对象,但是他们关注的区域和工作方式有所不同。 Young GC: Young GC主要负责回收Young Generation(包括…

跟着GPT学设计模式之建造者模式

Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。允许你创建不同口味的对象同时避免构造器污染。当一个对象可能有几种口味,或者一个对象的创建涉及到很多步骤时会很有用。 现实世界例子:想象一个角色扮…

Vue:用IDEA开发Vue,标签语法爆红问题处理

一、场景描述 我在IDEA中,学习Vue课程。 入门学习时,是在html文件中,script引入vue.js文件方式。 此时,在html文件中用v-标签,爆红。 二、解决办法 打开 菜单栏 File - Settings 选择 Editor - Files Type&#xf…

《每天一个Linux命令》 -- (5)通过sshkey密钥登录服务器

欢迎阅读《每天一个Linux命令》系列!在本篇文章中,将介绍通过密钥生成,使用公钥连接管理服务器。 概念 SSH 密钥是用于安全地访问远程服务器的一种方法。SSH 密钥由一对密钥组成:公钥和私钥。公钥存储在远程服务器上,…

软件工程复习

一、题型 单项选择题 20分 填空题 10分 判断题 10分 简答题 18分 应用题 12分 综合题 30分 软件程序数据文档 软件是无形的、不可见的逻辑实体 20世纪60年代末爆发软件危机 软件危机是指软件在开发与维护过程中遇到的一系列严重的问题 …

理解 GET、POST、PATCH 和 DELETE 请求的参数传递方式

理解 GET、POST、PATCH 和 DELETE 请求的参数传递方式 本文将向您介绍在使用 GET、POST、PATCH 和 DELETE 请求时如何传递参数。通过详细解释每种请求的参数传递方式和示例代码,您将了解如何正确地将数据发送到服务器并与之交互。 GET 请求的参数传递方式 在 GET…

CentOS 7.9安装宝塔面板,安装gitlab服务器

docker安装方式比较慢,安装包1.3GB 安装后启动很慢 docker logs q18qgztxdvozdv_gitlab-ce-gitlab-1 docker ps docker exec -it q18qgztxdvozdv_gitlab-ce-gitlab-1 sh cd /etc/gitlab cat initial_root_password 软件商店安装方式,失败了2023.12…

clickhouse删除partition分区数据

clickhouse分布式表tencent_table_20231208_DIST,本地表tencent_table_20231208_local; 30台clickhouse存储服务器; 本地表:tencent_table_20231208_local CREATE TABLE tencent_sz.tencent_table_20231208_local (id Int64 DEFA…

hook其他调试技巧

输出堆栈信息 通过 android.util.Log 输出当前线程的堆栈跟踪信息。 function showStacks() {Java.perform(function () {console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new() )); }) } 可以在需要的…

机器学习--稀疏学习

前置知识: 通常学习一次模型的过程如下:我们普遍为了获取更好的模型效果,直接对原始数据学习,会造成过拟合、需要特征提取; 而若特征提取完后依旧有很多特征,还是会容易过拟合。这时候就需要特征降维和特…

[leetcode 前缀和]

525. 连续数组 M :::details 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。示例 2: 输入: nums [0,1,0] 输出: …

笙默考试管理系统-MyExamTest----codemirror(48)

笙默考试管理系统-MyExamTest----codemirror(48) 目录 笙默考试管理系统-MyExamTest----codemirror(48) 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试管…

C/C++端口复用SO_REUSEADDR(setsockopt参数),test ok

端口复用最常用的用途应该是防止服务器重启时之前绑定的端口还未释放或者程序突然退出而系统没有释放端口。这种情况下如果设定了端口复用,则新启动的服务器进程可以直接绑定端口。如果没有设定端口复用,绑定会失败,提示ADDR已经在使用中——…

前端学习--React(5)

一、useReducer 管理相对复杂的状态数据 定义一个reducer函数,根据action值的不同返回不同的状态 在组件中调用useReducer并传入reducer函数和状态的初始值 事件发生时,通过dispatch函数分派一个对象,即通知reducer具体返回哪个状态对应的操…

STM32 寄存器配置笔记——USART DMA发送

一、DMA介绍 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传 输。无须 CPU 干预,数据可以通过 DMA 快速地移动,这就节省了 CPU 的资源来做其他操作。当产品对于时序要求较严格时,外设使用DMA的方式能够减…

深入了解Java 8日期时间新玩法:DateTimeFormatter与ZoneOffset的使用

推荐语 在这篇文章中,我们将深入探讨Java中的DateTimeFormatter和ZoneOffset类的功能和使用方法。这些类是在Java 8中引入的新的日期时间API的一部分,它们为我们提供了更灵活、更易用的日期和时间处理能力。尽管这些类在Java 8中已经出现,但…