C. Guo et al., “Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement,” 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 1777-1786, doi: 10.1109/CVPR42600.2020.00185.

  • 这是CVPR2020的一篇低光照图像质量增强的论文,指标上很高,方法也很新颖

亮度调节公式

  • 文章并不直接预测增量后的结果,而是首先设计一个带参数的亮度调整公式,然后用网络来预测这个公式中的参数,公式如下:

  • 这是最简单版本的公式, I ( x ) I(x) I(x)即输入图片(归一化到0-1之间),等式左边为增亮结果, α \alpha α即为亮度调节所需参数,可以将等式除以 I ( x ) I(x) I(x),得到亮度调整倍数为 1 + α ( 1 − I ( x ) ) 1+\alpha(1-I(x)) 1+α(1−I(x)),即当 α \alpha α大于0时,调整倍数为大于1,即为增亮,并且 I ( x ) I(x) I(x)越大倍数越低,也就是说暗的增亮倍数大,亮的增亮倍数小; α \alpha α大于0时, α \alpha α越大,增亮倍数越大。因此这就实现了一个由参数 α \alpha α控制的自适应增亮公式

  • 然后其实这个公式可以反复应用,也就是说利用这个公式增亮一次后,可以把增亮结果作为输入再来一次,因此得到迭代版本的公式:

  • 然后如果 α \alpha α是pixel-wise的,也就是说对于每个像素点有各自的 α \alpha α,网络的预测结果是一个 α \alpha α的map而非一个值,就得到最终版本的亮度调节公式:

  • 这里还有一个值得注意的点是,对于RGB三个通道,也是有各自的A的,因此,如果迭代次数为8,图像大小为 224 × 224 224\times224 224×224,那么网络的输出的shape则是 24 × 224 × 224 24\times224\times224 24×224×224

网络

  • 然后产生预测值 A n ( x ) A_n(x) An​(x)的网络是一个简单的7层卷积神经网络,并且没有BN和下采样,全部由3x3的32通道卷积和relu激活层组成

loss

  • 文章用了四个non-reference的loss:
  • Spatial Consistency Loss:衡量的是增亮前后 “每个像素与周边像素之间的差” 的差,个人觉得这个loss是为了维持纹理和内容不变。其中 Y Y Y是增亮后的像素值, I I I是增亮前的输入值, Ω \Omega Ω是像素的相邻像素
  • Exposure Control Loss:E是人为设定的一个常数值,为0.6(文章说0.4-0.7之间都可以,效果变化不大), Y k Y_k Yk​是一个patch的均值,将图片分为不相交的patch,然后算每个patch的均值与0.6之间的绝对差,作为一个loss,说是为了抑制过曝和欠曝。
  • Color Constancy Loss:即对增量结果的RGB三个通道各自的均值之间求差,是希望三个通道的均值尽量一样,也就是说整张图片看起来既不偏红也不偏蓝或绿。
  • Illumination Smoothness Loss:即TV Loss,约束梯度,使得预测结果尽量平滑
  • 最终的loss function:

训练

  • 鉴于这四个loss并不需要成对或不成对图像,因此是zero-reference的,只要有图就能训练,因此文章用的是现有的图片数据集,细节是当数据集的曝光程度更加多样均衡时,模型效果会更好。

Zero-DCE++

  • 在文章的TPAMI版本 “Chongyi Li, Chunle Guo, and Chen Change Loy. Learning to enhance low-light image via zero-reference deep curve estimation. TPAMI, 2021. 3” 中,还提到了模型可以进一步轻量化,主要从三点考虑:
  1. 模型换成这个:“F. Chollet, “Xception: Deep learning with depthwise separable convolutions,” in CVPR, 2017, pp. 1251–1258”
  2. 8个curve map的差别其实很小,所以 可以只预测一个,用8次就行
  3. 本模型对scale不敏感,所以可以把图片downsample后送入网络,生成的curve map再upsample到原图大小进行亮度调整,可以节约计算资源。

Zero-DCE 论文阅读笔记相关推荐

  1. 全卷积(FCN)论文阅读笔记:Fully Convolutional Networks for Semantic Segmentation

    论文阅读笔记:Fully Convolutional Networks forSemantic Segmentation 这是CVPR 2015拿到best paper候选的论文. 论文下载地址:Fu ...

  2. DnCNN论文阅读笔记【MATLAB】

    DnCNN论文阅读笔记 论文信息: 论文代码:https://github.com/cszn/DnCNN Abstract 提出网络:DnCNNs 关键技术: Residual learning an ...

  3. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  4. FCGF论文阅读笔记

    FCGF论文阅读笔记 0. Abstract 从三维点云或者扫描帧中提取出几何特征是许多任务例如配准,场景重建等的第一步.现有的领先的方法都是将low-level的特征作为输入,或者在有限的感受野上提 ...

  5. PointConv论文阅读笔记

    PointConv论文阅读笔记 Abstract 本文发表于CVPR. 其主要内容正如标题,是提出了一个对点云进行卷积的Module,称为PointConv.由于点云的无序性和不规则性,因此应用卷积比 ...

  6. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  7. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

  8. keras cnn注意力机制_2019 SSA-CNN(自注意力机制)目标检测算法论文阅读笔记

    背景 <SSA-CNN Semantic Self-Attention CNN for Pedestrian Detection>是2019 的工作,其作者来自于南洋理工.这篇文章主要是做 ...

  9. ResNet 论文阅读笔记

    ResNet 论文阅读笔记 #机器学习/深度学习 文章介绍 论文地址:https://arxiv.org/pdf/1512.03385.pdf 原文题目:Deep Residual Learning ...

  10. LiDAR-based Panoptic Segmentation via Dynamic Shifting Network(论文阅读笔记)

    LiDAR-based Panoptic Segmentation via Dynamic Shifting Network(论文阅读笔记) 环形扫描骨干网络.动态漂移.一致性驱动的融合 一.重点内容 ...

最新文章

  1. 分享 10 个超实用的 Python 编程技巧
  2. 转:Ubuntu中安装和配置 Java JDK,并卸载自带OpenJDK(以Ubuntu 14.04为例)
  3. Altium Designer多通道设计原理图添加端口
  4. linux centos 没有service命令 安装方法
  5. 框架开发之Java注解的妙用
  6. 用费曼技巧自学编程,香不香?
  7. One-Dimensional Battle Ships CodeForces - 567D
  8. break和continue特殊玩法“标签”
  9. HDU3183(RMQ问题,ST算法)
  10. 1年排名前进13位 ,这个论题成顶会新宠!
  11. binaryviewer java_用java实现java的2进制文件字节序转换到C/C++的2进制文件字节序
  12. BZOJ 2244 [SDOI2011]拦截导弹 (三维偏序CDQ+线段树)
  13. php 打印 trace,php xdebug trace 调试的问题
  14. python xlwings api_Python - xlwings基本使用
  15. php 字符 index,php函数之字符串篇String
  16. Bailian2980 大整数乘法【大数】
  17. PrintWriter out= response.getWriter()失效无法在前端弹出提示框以及乱码问题.
  18. U-Mail反垃圾邮件网关-垃圾邮件的“克星”
  19. 争议带货达人董明珠:直播带货476亿 却被质疑经销商刷单
  20. 逻辑左移、算术左移、逻辑右移、算术右移

热门文章

  1. vue页面引入另一个页面
  2. 英语口语288之每日十句口语
  3. 使用Python批量拼接图片
  4. 通达信公式编程:反包及其原理
  5. c语言系统弹出窗口提示,win8.1系统弹出Assertion错误提示窗口如何解决
  6. python应用体系_python
  7. pythonjam怎么使用_PythonJam app下载-PythonJam安卓版 v1.6.1_5577安卓网
  8. Proteus——开关控制端口输入、输出(汇编51两种语言)
  9. 马斯克才是时间管理大师
  10. 分享3个免费的AI课程