Low-Light Image Enhancement via Self-Reinforced Retinex Projection Model 论文阅读笔记

在这里插入图片描述

  • 这是马龙博士2022年在TMM期刊发表的基于改进的retinex方法去做暗图增强(非深度学习)的一篇论文

  • 文章用一张图展示了其动机,第一行是估计的亮度层,第二列是通常的retinex方法会对估计的亮度层进行RTV约束优化,从而产生平滑的亮度层,然后原图除以亮度层产生照度层作为增强结果,但通常这样会导致过曝,所以会把亮度层调大一点,比如第三列用了Gamma校正把亮度层调大,这样产生的结果不会过曝。但是文章指出无论是第三列的Gamma校正还是第四列的LIME,其调整亮度层的方法都会改变亮度层的形状导致产生伪影或者过模糊,从第二行可以看到,第三四列的蓝线相比绿线形状是发生了改变的。
    在这里插入图片描述

  • 但我个人觉得,retinex模型加RTV损失生成的亮度层估计又不是圣经,改变了又如何,并不是说retinex加RTV损失生成的亮度层就是最好的,如果发生了改变就一定变差。不过从可视化的效果来看,确实第五列的效果是要比第三四列的效果好的,不过也不一定就是第五列不改变亮度层形状导致的。

  • 新的亮度层估计方法如下:
    在这里插入图片描述
    在这里插入图片描述

  • 这里D其实就是一个类似 2 × 2 2\times2 2×2的max pooling操作,将每个像素值置为邻域的最大值(不包含-1,只向右看,有点类似求梯度的感觉,这一操作增强了边缘信息,如下图所示),然后加上c使得I的估计增大一个常量(相比gamma校正,这是一个平移而非对数,不过我觉得这个c等优化完再加上也是等价的,也就是说把c加在公式1的最右边)。而 φ \varphi φ是简化的RTV loss,原先的RTV Loss的权重是要对增强结果算的,现在对输入的暗图算就行。公式1的寻优用的是这篇论文(“Fast global image smoothing based on weighted least squares”)提出的1D Fast Global Smoother方法

  • 在这里插入图片描述
    上面只给出了如何根据 R t R^t Rt估计 I t + 1 I^{t+1} It+1,要实现迭代还需要根据 I t + 1 I^{t+1} It+1估计 R t + 1 R^{t+1} Rt+1,如下:
    在这里插入图片描述
    其实就是直接用 L L L除以 I I I,然后送进一个优化函数,如果不做去噪其实就仅仅是剪切到0-1之间
    在这里插入图片描述

  • 实际上,为了抑制噪声,胡使用给一个去噪网络 CBDNet来对照度层去噪,而且用预训练好的模型即可,无需重新训练。由于前面公式中 c c c增量的引入,估计出来的 R R R直接可以当作增强结果,无需用gamma校正来调节 I I I再计算 R R R

  • 实验结果可以看到,指标和可视化效果都挺不错的,对过曝区域也能避免过增强:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 消融实验可以看到迭代次数是5就已经收敛了,用CBDNet进行denoising的效果也很好:
    在这里插入图片描述

在这里插入图片描述

  • 运行速度也很快:
    在这里插入图片描述
  • 甚至还能去雾:
    在这里插入图片描述
    在这里插入图片描述
  • limitation是blocking artifacts
    在这里插入图片描述
  • 这是篇各方面都很牛逼的论文,用非深度学习的方法把深度学习方法给比了下去,并且速度也不输。虽然还是依赖深度学习的CBDNet来去噪。但是文章提出用全局的增量而非gamma校正来进行亮度层的增加可以获得比原有基于gamma校正更好的结果让我有点惊讶,而由于全局增量导致的对比度增强不足问题,也通过一个照度层的max操作把边缘给突出出来。从实验结果看在很暗的图上的增强结果并没有想象中的出现对比度不足问题,后续可以再进一步实验看看,怀疑对比度这么容易就处理好了吗。

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

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

相关文章

OPPO手机便签怎么上传录音文件?

相信很多网友对OPPO这个手机品牌并不陌生,因为它凭借时尚轻薄的外观设计、流畅简约的系统、清晰的拍照摄影以及高中低不同的价位选择,赢得了不少年轻消费者的青睐。不过在使用OPPO手机的过程中,也有不少用户表示自己遇到了各种各样的问题&…

接口突然超时10宗罪。。。

前言 不知道你有没有遇到过这样的场景:我们提供的某个API接口,响应时间原本一直都很快,但在某个不经意的时间点,突然出现了接口超时。 也许你会有点懵,到底是为什么呢? 今天跟大家一起聊聊接口突然超时的…

IEEE ICME 2023论文|基于交互式注意力的语音情感识别联合网络

论文题目: A Joint Network Based on Interactive Attention for Speech Emotion Recognition 作者列表: 胡英,侯世静,杨华敏,黄浩,何亮 研究背景 语音情感识别(Speech Emotion Recognitio…

Java正则表达式简介及Jar包

Java提供了java.util.regex包,用于与正则表达式进行模式匹配。 Java正则表达式与Perl编程语言非常相似,非常容易学习。 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在…

【LeetCode热题100】打卡第34天:排序链表乘积最大的子数组

文章目录 【LeetCode热题100】打卡第34天:排序链表&乘积最大的子数组⛅前言 排序链表🔒题目🔑题解 乘积最大的子数组🔒题目🔑题解 【LeetCode热题100】打卡第34天:排序链表&乘积最大的子数组 ⛅前…

COT、COT-SC、TOT 大预言模型思考方式||底层逻辑:prompt设定

先讲一下具体缩写的意思 COT-chain of thoughts COT-SC (Self-consistency) Tree of thoughts:Deliberate problem solving with LLM 我理解其实不复杂 1. 最简单的是:直接大白话问一次 (IO) 2. 进阶一点是:思维链,…

DolphinScheduler使用问题记录

1.资源中心 功能板块 出现 storage not startup #问题原因 提示:“storage not startup”,顾名思义:未启用存储 #解决方式 1. 修改两个 common.properties 文件: api-server/conf/common.properties worker-server/conf/common.p…

Azure Kinect DK 在设备管理器找不到此设备

参考 Azure Kinect DK 在设备管理器找不到此设备_Thomas_yx的博客-CSDN博客 type-c------------------type-c 接电脑,数据传输 圆------------------usb 电脑线

【算法基础】搜索与图论

DFS 全排列问题 842. 排列数字 - AcWing题库 #include<bits/stdc.h> using namespace std; const int N10; int n; int path[N]; bool st[N]; void dfs(int x) {if(x>n){for(int i1;i<n;i) cout<<path[i]<<" ";cout<<endl;return ;…

Linux(centos 7)将 ens33 改为 eth0

背景&#xff1a; 先说明一下 eth0 与 ens33 的关系&#xff0c;目前的主流网卡为使用以太网络协定所开发出来的以太网卡&#xff08;Ethernet)&#xff0c;因此我们 Linux 就称呼这种网络接口为 ethN (N为数字)。 举个例子&#xff1a;就是说主机上面有一张以太网卡&#xff0…

element-ui 使用 el-descriptions

<el-descriptions :column"2" border size"mini" style"margin-top: 10px;" :labelStyle"{width: 123px}" :contentStyle"{width:42%}"><el-descriptions-item label"选择项目"><el-select size&…

Linux Ubuntu安装RabbitMQ服务

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…