Zero-DCE(Zero-Reference Deep Curve Estimation);通过训练一个轻量级的网络(DCE-NET),来预测一个像素级的,高阶的曲线;并通过该曲线来调整图像。该曲线必须是逐像素的,单调的,并且是可微分的。发表于CVPR2020
具有如下的特点:
-
不需要构造训练对:通过精心设计的non-reference loss function实现。因为不需要构造训练对,所以训练数据比较容易获得,因此可以有效的避免过拟合。
-
有效:图像增强可以通过一个非线性的mapping实现
-
可以处理图像光照不均匀,和低光照等各种情况
输入:一个低光照的图像
输出:一系列高阶的曲线
# light-Enhancement Curve(LE-Curve)
曲线需要具备如下的特征:
1) 像素被调整过之后,需要在归一化后的[0,1]范围内,以此来避免截断
2)单调:以此来避免调整之后领域内值的相对大小不变
3)可微分
文中设计的曲线如下:
注意:
1)文中将曲线分别作用在RGB三个通道,而非直接作用在亮度通道上。文中解释可以防止inherent color以及过爆。这里不太了解inherent color是什么
2)这种方法,既可以做亮度的拉升,也可以做亮度的压缩。在本文中,主要是用来做了亮度的拉升
3)文中通过迭代的多次使用该曲线,以此来实现高阶的映射。
4)每个像素分别对应一个调整曲线:以此来避免全局的调整统一造成的在局部区域内的过爆或者低照。在文中,假设在局部的区域内会有相同或者相似的intensity,所以对于调整曲线也相同或者相似;所以即使是逐像素调整,也可以保证局部像素值的单调性。通过illumination smothness loss来实现
# DCE-NET
网络结构如下图所示:
网络输入一张低照的图
网络输出一系列的逐像素的曲线参数,也就是对应到上述公式中的alpha。文中曲线迭代8次,那么输出24个map(3个通道*8次迭代)
网络的结构:每一层包含32个卷积核;逐层使用stride1,一个RELU。最后一层使用Tanh activation funciton.
# Non-Reference Loss Function
## spatial consistency loss
用来保证的空间的一致性。局部内的
Y和I分别表示增强后的图像以及输入图像
## exposure control loss
将图像局部的平均值拉升到一个比较好的值上,在文中选择的是0.6。文中提到其实使用[0.4, 0.7]的差别并不大
## color constancy loss
基于灰度世界原理,各个通道的均值趋向于灰度
## illumination smoothness loss
用以保证在局部空间内的单调性