其他分享
首页 > 其他分享> > [2020CVPR]学习报告Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement

[2020CVPR]学习报告Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement

作者:互联网

用于弱光图像增强的零参考深度曲线估计

文章目录

原文地址

链接:
论文
程序(GitHub)
补充材料


本文优缺点

优点:

  1. 为了实现无参考训练,将弱光增强问题转换为曲线变换问题,即通过对像素值增强方式和增强结果设置先验,利用网络模拟curve曲线进行引导与迭代增强。类似于自监督的思想,Curve所用参数都由神经网络给出,与且仅与输入图像有关。
  2. 训练速度很快,轻量级网络
  3. 文中我认为最重要的是损失函数的设计,评价方法

改进:

没有使用LOL和SID数据集猜测是因为此论文没有考虑噪声的因素
文末提到考虑引入语义信息来解决。


摘要/成果

将亮度增强作为一个利用深度网络进行图像曲线估计的任务:

本文提出的 DCE-Net 的一些特性:

  1. 轻量级深度网络 DCE-Net,用来估计像素和高阶曲线,以便对给定图像进行动态范围调整
  2. 特别设计了曲线估计,该模型考虑了像素值的范围、单调性和可微性。迭代至高阶曲线,实现像素级动态调整。
  3. 直观简单的非线性映射。Zero-DCE 吸引人的地方在于它训练时不需要任何配对或未配对的数据(避免了过拟合的风险),这是通过一组非参考损失函数来实现的(空间一致性损失、曝光控制损失、色彩稳定性损失和照明平滑损失,并且都考虑到光增强等因素)。

实验步骤:以一个弱光图像作为输入,并产生高阶曲线作为输出,再将曲线作为输入,逐像素调整,输出图像。


Introduction

这部分简单介绍了它的优势,就是零参考,以实现更精确的动态调整。

与基于CNN和GAN进行比较:三种方法对比图

现有方法要么无法应对极端的背光,要么会产生色彩伪影。如上图的事例,wang等人基于CNN的方法,和基于GAN的方法,都产生了面部增强不足和柜子过度增强的现象。而Zero-DCE保留了固有颜色和细节。

Related Work

还是在介绍它的优势。

传统方法与Zero-DCE

  1. 直方图增强(扩展图像动态范围来实现光增强):全面、局部
  2. 基于retinex理论(图像分解为反射图像和亮度图像,通常反射分量一致,则化为照明估计问题)
    wang等:不均匀照明图像保持自然和信息
    Fu等:加权变化模型,同时估计输入图像的反射率和亮度。
    Guo等:搜索像素最大强度→估计粗糙照明图→通过先验结构细化。
    Li等:新Retinex模型,考虑噪声。通过解决优化问题估算照明图。

与偶然改变图像直方图分布or依赖于可能不准确的物理模型的常规方法相反,ZeroDCE通过特定于图像的曲线映射产生了增强的结果,可以增强图像的光强度而不会产生不真实的伪像。

  1. 自适应对比度增强(ACE)
    Yuan和Sun :自动曝光校正,其中通过全局优化算法估计给定图像的S形曲线,并通过曲线映射将每个分割的区域推到最佳区域。

Zero-DCE是一种纯粹的数据驱动方法,在非参考损耗函数的设计中考虑了多个光增强因素,因此具有更好的鲁棒性,更宽的图像动态范围调整和更低的计算负担。

数据驱动方法与Zero-DCE

  1. CNN:大多数依赖配对数据监督训练。配对数据(通过自动光衰减、更改相机设置、图像修改)详尽收集。
    LLNet在随机Gamma校正模拟数据上进行了训练;通过在图像采集过程中改变曝光时间和ISO来收集低/正常光图像配对的LOL数据集。
    MIT-Adobe FiveK数据集包含5,000个原始图像,每个图像都有五张由受过培训的专家制作的润饰图像。
    Wang等通过估计照度图提出了曝光不足的照片增强网络。该网络接受了三位专家修饰过的配对数据的训练。

成本高:收集足够配对数据、在训练深度模型中包含虚假和不真实数据。CNN泛化能力差,会产生伪影和偏色。

  1. GAN:无监督训练,有消除配对数据进行训练的优势,但要仔细选择未配对的训练数据
    EnlightenGAN:基于GAN的无监督先驱方法,使用不成对的弱光/正常光数据来增强弱光图像。通过精心设计的鉴别器和损失函数对网络进行了训练。

基于无监督GAN的解决方案通常需要仔细选择未配对的训练数据。

本文:

消除配对/非配对数据的需求

{ 定 义 零 参 考 损 失 函 数 高 效 { 框 架 轻 量 级 网 络 结 构 L O S S \left\{ \begin{aligned} &定义零参考损失函数\\ &高效 \left\{ \begin{aligned} &框架\\ &轻量级网络结构\\ &LOSS\\ \end{aligned} \right.\\ \end{aligned} \right. ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧​​定义零参考损失函数高效⎩⎪⎨⎪⎧​​框架轻量级网络结构LOSS​​

Methodology

本文整体框架如下:

对输入图像不断迭代,直到LOSS最小
上一次输出的图像和这一次输入图像的map再输入,进行迭代

Zero-DCE
(b)为参数a
(c)为迭代次数n,式中a1,a2,a3=-1,n=4

Z e r o − D C E 分 为 三 个 部 分 : { L E − c u r v e ( 光 增 强 曲 线 ) D C E − N e t ( 估 算 最 佳 拟 合 的 光 增 强 曲 线 ) L o s s Zero-DCE分为三个部分: \left\{ \begin{aligned} &LE-curve(光增强曲线)\\ &DCE-Net(估算最佳拟合的光增强曲线)\\ &Loss\\ \end{aligned} \right. Zero−DCE分为三个部分:⎩⎪⎨⎪⎧​​LE−curve(光增强曲线)DCE−Net(估算最佳拟合的光增强曲线)Loss​

LE-curve

设计的非线性映射曲线有三个关键:

  1. 增强图像的每个像素值应在归一化范围[0,1]内,以避免由于溢出截断而导致的信息丢失;
  2. 该曲线应该是单调的,以保留相邻像素的差异(对比度);
  3. 该曲线的形式应尽可能简单,并且在梯度反向传播过程中应可区分。


    我认为的LE-curve推导过程:

计算机有雾图像生成 → I(x)=J(x)t(x)+A(1-t(x))
其中I为观测图像(待去雾图像),J为无雾图像(待恢复的图像),A为全球大气光成分,t为透射率
J(x)t(x): 直接衰减(乘法失真)
A(1-t(x)): 空气光(加性失真)

设大气均匀不散射则t(x)=1,空气光这一项考虑输入图像,则得到了文中图像增强的二阶曲线
二阶曲线其中
x为像素坐标
LE(I(x); α)为输入图像I(x)的增强结果
α∈[-1,1]为可训练的曲线参数(修改曲线的大小并控制曝光度)
每个像素都归一化为[0,1],并且所有操作都是pixel-wise。
使用时,在输入的RGB通道分别应用LE-Curve,这可以更好地保持固有颜色以及避免过拟合。

在不同的α参数设置下,图像如上图(b)所示,可以看到设计的曲线可以很好地满足上述的三个要求。此外,LE-Curve还能增加/减少输入图像的动态范围,这样不仅可以增强弱光区域,还可以避免过度曝光。

Higher-Order Curve:
通过迭代上式的LE-Curve,可以使得调整变得更灵活,从而使得模型能够适应于各种challenging的弱光条件:
高阶曲线其中,n为迭代的次数(控制曲率,本文将n设置为8,这可满足大多数情况),当n为1时退化为二阶。
上图( c)中提供了high-order Curve的示例,可以看到,相比于(b)中的图像,其具有更强大的调节能力(更大的曲率)。

Pixel-Wise Curve:
高阶曲线还是不够的,因为它依然是对全部图像使用统一的 a。因此,a 也应该是每个像素不同的。因此,将公式中的a换成矩阵 A。
像素级曲线矩阵A与输入图像维度一致。
这里假设局部区域的像素强度相同 (因此调整曲线相同),这样输出结果中的相邻像素仍然保持单调的关系。这样,像素方向的高阶曲线也符合前面提及的三个关键。

  代码里的公式和此处公式不一样,“由于对称性,信号并不重要”


逐像素曲线参数映射的示例:

逐像素曲线参数映射
为了可视化,对所有迭代的曲线参数图取平均值(n = 8),并将值归一化为[0,1]的范围。
(b)(c)(d)分别代表R,G,B通道的平均最佳拟合曲线参数图,图由热图表示。

可以看到不同通道的best-fitting parameter maps具有相似的调整趋势,但值不同,可代表low-light图像三通道之间的相关性和差异性。曲线的parameter map能够准确地表示不同区域的亮度情况(例如墙上的两个亮点),因此可以直接通过pixel-wise curve mapping进行图像增强,如(e)所示,明亮区域保留,黑暗区域增强。


DCE-Net

输 入 低 照 度 图 像 → { 具 有 对 称 级 联 的 7 个 卷 积 层 的 普 通 C N N 每 层 卷 积 核 : 32 个 , 大 小 : 3 × 3 , 步 长 : 1   → 卷 积 + T a n h → 24 个 参 数 图 每 层 后 跟 R e L U 激 活 函 数 输入低照度图像→ \left\{ \begin{aligned} &具有对称级联的7个卷积层的普通CNN\\ &每层卷积核:32个,大小:3×3,步长:1  →卷积+Tanh → 24个参数图 \\ &每层后跟ReLU激活函数\\ \end{aligned} \right. 输入低照度图像→⎩⎪⎨⎪⎧​​具有对称级联的7个卷积层的普通CNN每层卷积核:32个,大小:3×3,步长:1 →卷积+Tanh→24个参数图每层后跟ReLU激活函数​


深度曲线估算网络(DCE-Net)的体系结构:

深度曲线估算网络(DCE-Net)的体系结构
网络结构
核心:conv-ReLU 重复 6 次 + conv-Tanh,而且注意到,是对称级联的,即第 1/2/3 层输出和第 6/5/4 层输出进行通道级联(concatenation);
conv:32 个通道, 3×3 ,stride 1;
输出:R/G/B 三个通道 8 次迭代的A值,因此是 24 个通道。

可见,输入的图像,要用 LE-curve 依次操作 8 次。

对于尺寸为256×256×3的输入图像,DCE-Net仅具有79,416个可训练参数和5.21G触发器。因此,它是轻量级的,可用于计算资源有限的设备,例如移动平台。
DCE-net 将为每次迭代的每个通道(RGB)输出一个alpha /曲线参数图。由于本文使用8个迭代作为默认值,因此DCE-net将为每个通道输出8个曲线参数图,总共24个图。

第一个方程式考虑了高阶曲线的α,其中α∈[-1,1]。因此,DCE-net的输出为24个标量。但是,这只会产生全局增强,而无需考虑对图像的某些区域进行特定的调整。这就是像素曲线的意图,即第二个方程式。在这种情况下,DCE-net 将输出24个曲线参数图,其大小与输入图像的大小相同(输入= [256,256,3],曲线图[256,256,3])。


提到的ReLU激活函数ReLU激活函数
提到的Tanh激活函数
Tanh激活函数


Non-Reference Loss Functions

这一部分也是非常重要的,应该是本文创新的地方。

为了使得模型的训练过程是Zero-reference的,作者提出了一系列non-reference loss用于评估增强图像的质量。


空间一致性损失Spatial Consistency Loss

通过保持输入图像与增强图像相邻区域的梯度促进图像的空间一致性。
使用方法:计算两个图像三通道均值,得到两个灰度图像,分解为若干个4×4patches,计算patch内中心i与相邻j像素插值,求平均。
空间一致性损失
其中
K为局部区域的数量,
Ω(i)是以区域i为中心的四个相邻区域(top,down,left,right)。
Y和I分别为增强图像和输入图像的局部区域平均强度值。
这个局部区域的Size经验性地设置为4x4,如果为其他Size,loss将会变得稳定下来。

曝光控制损失Exposure Control Loss

测量局部强度与良好之间的距离(令良好曝光水平:灰度级E=6),将增强图像转化为灰度图,分级为若干16x16patches,计算patch内平均值。

曝光控制损失

其中M表示大小为16×16的不重叠局部区域的数量
Y为增强图像中局部区域的平均强度值。

色彩恒常性损失Color Constancy Loss

校正潜在色彩偏差,建立三通道之间联系,要让增强后的颜色尽可能相关。
色彩恒常性损失
其中,Jp 代表增强图像通道p的平均强度
(p, q)代表一对通道。

大概可以理解为,灰世界颜色恒常性假设,R、G、B 通道的全局平均值与整个彩色图像的全局平均值相近。因此,三个通道的平均值,两两相减应该很小。

光照平滑损失Illumination Smoothness Loss

保持相邻像素之间的单调关系,每个A上都添加。所有通道、迭代次数的A(即网络输出)的水平、垂直方向梯度平均值应很小。

光照平滑损失
其中 N为迭代次数
▽x,▽y 分别代表水平和垂直方向的梯度操作。

total loss

total loss
其中Wcol,WtvA 为Loss的权重(源码中Exposure control loss前也有权重)



Experiments

为了充分发挥Zero-DCE的宽动态范围调整能力,训练集合并了low-light和over-exposed图像 SICE数据集(part1的多重曝光序列),3022张不同曝光程度的图像,其中2422张图片用于训练),图像尺寸为512x512。
每个batch中训练样本数量为8,单卡2080Ti,使用(0, 0.02)高斯函数初始化权重,偏差bias初始为常量,使用ADAM优化器(lr=1e-4),Wcol 为0.5,WtvA 为20,从而平衡loss间尺度差距。



Ablation Study

控制变量法 证明各个部分的有效性。


损失函数

损失函数
移除Lspa 会导致对比度降低(例如云的区域);
移除Lexp 会导致低亮度区域曝光不足;
移除Lcol会出现严重的色偏现象;
移除LtvA会降低邻域间的相关性,从而导致明显伪影。


参数设置

参数设置
  三个数字分别表示网络的卷积层数、每层卷积的通道数、迭代次数。


在补充材料里,全参考图像质量评估指标((PSNR,dB),SSIM,MAE)方面进行定量比较。可看出迭代次数从8到16的差别不是很大。

参数设置定量比较

Zero-DCE7−32−8 and ZeroDCE7−32−16 效果比较好,考虑效率和恢复性能,选择Zero-DCE7−32−8


图像质量评估指标PSNR SSIM matlab代码

PSNR(Peak Signal to Noise Ratio)峰值信噪比:
MSE表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;
M S E = 1 H × W ∑ i = 1 H ∑ j = 1 W ( X ( i , j ) − Y ( i , j ) ) 2 MSE=1H×W∑i=1H∑j=1W(X(i,j)−Y(i,j))2 MSE=1H×W∑i=1H∑j=1W(X(i,j)−Y(i,j))2PSNR的单位是dB,数值越大表示失真越小。n为每像素的比特数,一般的灰度图像取8,即像素灰阶数为256.
P S N R = 10 l o g 10 ( ( 2 n − 1 ) 2 M S E ) PSNR=10log10((2n−1)2MSE) PSNR=10log10((2n−1)2MSE)PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。

SSIM(Structural Similarity)结构相似性
μX、μY分别表示图像X和Y的均值,σX、σY分别表示图像X和Y的方差,σXY表示图像X和Y的协方差,即

SSIM分别从亮度、对比度、结构三方面度量图像相似性。

C1、 C2、 C3为常数,为了避免分母为0的情况,通常取 C1=(K1∗L)2, C2=(K2∗L)2, C3=C22, 一般地K1=0.01, K2=0.03, L=255. 则

SSIM取值范围[0,1],值越大,表示图像失真越小.
SSIM的特殊形式如下:

MSE

MAE


训练数据

训练数据先用原始数据的900张,再用DARK FACE数据集训练会过度曝光,则需要多重曝光训练数据,然后用具有太多过曝图像的SICE数据集(part1,2子集的数据增强组合)。进行对比证明所选数据集的质量。

训练数据

使用不同数据集对Zero-DCE进行训练:
原训练集中(2422)的900张low-light图像Zero-DCELow
DARK FACE中9000张未标注的low-light图像Zero-DCELargeL
SICE数据集Part 1 and Part2组合的4800张多重曝光图像Zero-DCELargeLH

从(c)(d)中可以看出,移除曝光数据后,Zero-DCE都会过度曝光那些well-lit区域(例如脸部);从(e)中可以看出,使用更多的多重曝光的训练数据,Zero-DCE对黑暗区域的恢复效果会更好。

训练数据
红色和绿色框表示明显的差异和放大的细节

(c)(d):仅将弱光图像用作训练数据(即Zero-DCELow和Zero-DCELargeL),Zero-DCE会过度增强光线充足的区域(例如杯子)。
(b):Zero-DCE在过度增强和不足增强之间具有良好的平衡。
(e):当更多的多重曝光数据用作训练数据(即Zero-DCELargeLH)时,Zero-DCE可以更好地恢复黑暗区域(例如玫瑰)。


三通道调节

RGB三通道调节的优势。(这部分在补充文件里)
仅使用与RGB色彩空间中的调整相同的配置(除了只可用于三通道调节的颜色恒常性损失)来调整CIE Lab和YCbCr色彩空间中与照明相关的通道。

三通道调节
绿色框表示明显的差异和放大的细节。

所有结果都改善亮度和对比度。但是在CIE Lab和YCbCr颜色空间中调整的结果具有明显的颜色偏差(例如,墙壁的颜色)和过饱和(例如,灯笼的区域),很难控制增强结果的颜色。
视觉比较表明,三通道调整可以保留固有的颜色并降低过饱和的风险,如(b)。

CIELab是CIE的一个颜色系统,表色体系,基于CIELab的意思是基于这个颜色系统之上,基本是用于确定某个颜色的数值信息。
Hunter 1948 L, a, b色彩空间的坐标是L, a和b。但是,Lab经常用做CIE 1976 (L*, a*, b*)色彩空间的非正式缩写(也叫做CIELAB,它的坐标实际上是L*, a和b)。
  三个基本坐标意义:
  颜色的亮度(L*, L* = 0生成黑色而L* = 100指示白色),
  红色/品红色和绿色之间的位置(a负值指示绿色而正值指示品红)
  黄色和蓝色之间的位置(b
负值指示蓝色而正值指示黄色)。
CIELAB是均匀的颜色空间,所谓均匀是当数值均匀变化时,人的感官也是均匀变化; 在Lab* 模型中均匀改变对应于在感知颜色中的均匀改变。
CIELab
YCbCr其中Y与YUV 中的Y含义一致,Cb,Cr 同样都指色彩,只是在表示方法上不同而已。YCbCr或Y’CbCr色彩空间通常会用于影片中的影像连续处理,或是数字摄影系统中,其中Y是指亮度(luma)分量(灰阶值),Cb指蓝色色度分量,而Cr指红色色度分量。
颜色空间转换link
YCbCr


Benchmark Evaluations

在多个数据集(NPE LIME MEF DICM VV以及SICE的Part2)上与目前方法(三种常规方法(SRIE,LIME ,Li等人),两种基于CNN的方法(RetinexNet , Wang等)和一种基于GAN的方法(EnlightenGAN ))进行了对比。

 每个数据集上,各个方法的图像对比都在补充材料4里

视觉感知比较

典型的弱光图像上进行视觉比较
  可看出bcfg无法清除恢复脸部;d过渡平滑,其他参照物会放大噪声,甚至色偏;e过曝;h无明显噪音和偏色。其中ef:CNN,g:GAN。

上图为不同方法的可视化比较,除此之外,作者还行进行User Study以量化不同方法的主观视觉质量。

User Study:提供输入图像作为参考,邀请15人对这些增强图像的视觉质量进行独立评估, 评分范围为1-5,越高越好。标准为:
  a) 是否存在over-/under-exposed artifacts和over-/under- enhanced区域;
  b) 是否存在色偏;
  c) 是否存在不自然的纹理以及明显噪声

Perceptual Index:除了使用US score,还应用perceptual Index来评估感知质量,越低越好。
 PI:用于测量图像超分辨率中的感知质量;评估其他图像恢复任务性能(比如去雾)

最后US和PI的结果如下表所示,左列为US,右列为PI。
US和PI

PI指标代码


量化比较

图像质量和运行速度。

量化比较


人脸检测

研究了弱光条件下人脸检测任务中弱光图像增强方法的性能。
具体来说,使用DARK FACE数据集,对包含6,000张图像的训练集和验证集进行评估。并描绘了精确度召回(PR)曲线。使用评估工具对平均精确度(AP)进行了比较。
测评工具链接

The performance of face detection in the dark. PR curves, the AP , and two examples of face detection before and after enhanced by our Zero-DCE.

PR曲线,AP和通过Zero-DCE增强前后的两个面部检测示例。

图像增强后,人脸检测算法DSFD 的精度大大提高。在不同的方法中,RetinexNet 和Zero-DCE更精确。Zero-DCE具有更高的召回率。

Conclusion

翻译:我们提出了一种用于弱光图像增强的深层网络。可以使用零参考图像进行端到端训练。这是通过将低光图像增强任务公式化为特定于图像的曲线估计问题,并设计出一组可微分的非参考损失来实现的。实验证明了我们的方法相对于现有的光增强方法的优越性。在将来的工作中,我们将尝试引入语义信息来解决困难的情况并考虑噪声的影响。


标签:增强,曲线,Reference,Light,Image,DCE,像素,Zero,图像
来源: https://blog.csdn.net/zrg_hzr_1/article/details/110144335