Kindling the Darkness: A Practical Low-light Image Enhancer论文阅读笔记

  • 这是ACMMM2019的一篇有监督暗图增强的论文,KinD
  • 其网络结构如下图所示:
  • 首先是一个分解网络分解出R和L分量,然后有Restoration-Net和Adjustment-Net分别去对R分量和L分量进一步处理,最终将处理好的R分量和L分量融合回去。这倒是很常规的流程。其中有些novel的细节,一个是分解网络利用得到的R分量来指导L分量的提取。一个是可控的亮度调节模块

分解网络

  • 分解网络的损失函数如下:其中前两个损失很常见,分别是重建损失和暗图亮图具有相同R的约束。第三个损失是L分量的平滑损失,不过用原图的梯度进行归一化,以使得暗图的边缘区域得以保留;第四个损失同样是对L分量的平滑损失,这里则是用一个曲线使得梯度值居中的部分(噪声)平滑掉

  • L i s L D = L^{LD}_{is}= LisLD=

R的重建网络

  • restoration net的损失函数如下,是暗图的R的修复结果和亮图的R的各种距离度量:

I 的调整网络

  • illumination adjustment net的输入除了分解网络估计的 L L L,还有一个全为 α \alpha α的concatenate到 L L L的feature map, α \alpha α表示调节因子,可以用目标 L L L除以输入的 L L L去global average得到。网络的功能是将输入的 L L L调整为target的 L L L。这一方法相比其它retinex的方法直接对 L L L进行gamma校正的手段,具有更好的效果。
  • 这一模块的损失函数如下,这一损失要算两次的,一次是暗图的 L L L作为输入,亮图的 L L L作为target,一次是反过来:

实验结果

方法的可视化效果和NIQE都非常不错,在LOL上的PSNR也很高:


相关推荐
四谎真好看1 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
报错小能手3 小时前
linux学习笔记(45)git详解
linux·笔记·学习
Larry_Yanan3 小时前
QML学习笔记(四十四)QML与C++交互:对QML对象设置objectName
开发语言·c++·笔记·qt·学习·ui·交互
摇滚侠5 小时前
Spring Boot 3零基础教程,WEB 开发 默认页签图标 Favicon 笔记29
java·spring boot·笔记
酌量7 小时前
基于3D激光点云的障碍物检测与跟踪---(1)体素下采样、ROI 区域裁剪与地面点云分割
笔记·机器人·ransac·障碍物检测·激光点云·roi·体素下采样
大邳草民7 小时前
Django 的动态特性:从 Python 动态机制到框架设计思想
笔记·python·django
Larry_Yanan8 小时前
QML学习笔记(四十五)QML与C++交互:信号槽的双向实现
c++·笔记·qt·学习·ui·交互
~无忧花开~9 小时前
CSS学习笔记(二):CSS动画核心属性全解析
开发语言·前端·css·笔记·学习·css3·动画
youcans_10 小时前
【DeepSeek论文精读】13. DeepSeek-OCR:上下文光学压缩
论文阅读·人工智能·计算机视觉·ocr·deepseek
浓墨染彩霞10 小时前
Java----set
java·经验分享·笔记