在低光照条件下拍摄的照片会降低图像的质量,影响图像传递信息,该文章提出了一种light-weight deep network的方法用于解决Low-Light图像增强问题。它将这个任务转换为了一个image-specific曲线估计问题(图像作为输入,曲线作为输出),这类曲线对在输入的动态范围内进行像素级调整,从而获得增强图像。作者通过设置一系列non-reference的损失函数(可以间接反映增强质量),使得网络在没有任何参考图像的情况下能够进行end-to-end训练,整个方法在多个数据集上都取得了SOTA。
论文地址:Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
低光增强数据驱动的方法主要有:CNN-based和GAN-based。
CNN-based:绝大多数使用配对的数据(低光、正常光图像)进行训练,通常通过改变相机的设置或用图像修饰来合成。这种数据集通常是通过人工收集或人工合成来得到的,用这种数据集训练出来的模型泛化能力不好。
GAN-based:无监督的GAN网络可以避免使用配对数据,但这些数据也需要通过精心挑选。
而论文提出的Zero-DCE方法相比于这两个方法具有三个优点:
探索了一种全新的学习策略(zero reference),消除了对paired/unpaired data的需求;
设置non-reference损失函数来对输出图像进行间接的评估;
提出的方法是high efficient和cost efficient的。
这归功于:zero reference learning framework + lightweight network structure + effective non-reference loss functions。
总体框架如图1。它被用来学习一组best-fitting的增强曲线,框架迭代应用Curve,对输入图像的RGB通道中所有像素进行映射,从而获得最后的增强图像。
图1
作者尝试设计一类能够将low-light图像自动映射到增强图像的曲线,曲线参数是self-adaptive的,并仅取决于输入图像。设计这样的曲线有三个要求:
其中,x为像素坐标,LE(I(x); α)为输入图像I(x)的增强结果,α∈[-1,1]为可训练的曲线参数(修改曲线的大小并控制曝光度)。每个像素都归一化为[0,1],并且所有操作都是pixel-wise。使用时,在输入的RGB通道分别应用LE-Curve,这可以更好地保持固有颜色以及避免过拟合。
在不同的α参数设置下,图像如上图1(b)所示,可以看到设计的曲线可以很好地满足上述的三个要求。此外,LE-Curve还能增加/减少输入图像的动态范围,这样不仅可以增强low-light区域,还可以避免过度曝光。
Higher-Order Curve 高阶曲线:
通过迭代上式(1)定义的LE-Curve,可以使得调整变得更灵活,从而使得模型能够适应于各种challenging的弱光条件下:
其中,n为迭代的次数(控制曲率,本文将n设置为8,这可满足大多数情况),当n为1时,式(2)就退化为了(1)。上图1©中提供了high-order Curve的示例,可以看到,相比于图1(b)中的图像,其具有更强大的调节能力(更大的曲率)。
Pixel-Wise Curve:
上面提到的高阶曲线可以在更宽的动态范围内调整图像,但由于α应用于所有的像素,所以仍为全局调整。这种全局匹配会导致over-/under- enhance局部区域,为了解决这个问题,作者重新定义α为一个pixel-wise参数(即.输入图像的每个像素都有其对应的曲线):
其中,Α为parameter map(与输入图像维度一致),作者假设局部区域内的像素都具有相同的强度(也具有相同的调整曲线,α一致),因此输出结果中相邻像素仍保持单调关系,所以pixel-wise的高阶曲线(式3)也满足设计的3个要求。
图2
图2为三个通道的估计曲线参数图的示例,可以看到不同通道的best-fitting parameter maps具有相似的调整趋势,但值不同,说其可以代表low-light图像三通道之间的相关性和差异性。曲线的parameter map能够准确地表示不同区域的亮度情况(例如墙上的两个亮点),因此可以直接通过pixel-wise curve mapping进行图像增强,如图2(e)所示,明亮区域保留,黑暗区域增强。
为了学习到输入图像与上述best-fitting curve parameter map之间的映射关系,作者使用了Deep Curve Estimation Network (DCE-Net),输入为low-light图像,输出为一组用于高阶曲线的pixel-wise curve parameter maps。论文构建的CNN由7个具有对称结构的卷积层组成(类似于U-Net),前6层的卷积核为(3x3x32,stride=1)然后接一个ReLU层,抛弃了down-sampling和bn层(作者认为这会破坏领域像素间的关系),最后一层卷积通道为24(用于8个迭代轮次的parameter maps),接一个Tanh**函数。
整个网络的参数量为79,416,Flops为5.21G(input 为256x256x3)。
为了使得模型的训练过程是Zero-reference的,作者提出了一系列non-reference loss用于评估增强图像的质量。
Spatial Consistency Loss:
Lspa 能够维持输入图像与其增强版本之间的邻域差异(对比度),从而促进增强后图像仍能保持空间一致性。
其中,K为局部区域的数量,Ω(i)是以区域i为中心的四个相邻区域(top, down, left, right),Y和I分别为增强图像和输入图像的局部区域平均强度值。这个局部区域的Size经验性地设置为4x4,如果为其他Size,loss将会变得稳定下来。
Exposure Control Loss:
为了控制under-/over-曝光的区域,设计了Lexp 来控制曝光程度,其可以衡量局部区域的平均强度与well-exposedness Level E之间的差距。作者遵循现有作法,将E设为RGB颜色空间中的gray leavel,本文实验中设为0.6(并且作者提到E在[0.4,0.7]之间基本无性能差异)。
其中,M为不重叠的局部区域数量,区域Size为16x16,Y为增强图像中局部区域的平均像素强度值。
Color Constancy Loss:
根据Gray-World颜色恒等假设,设计了Lcol 用于纠正增强图像中的潜在色偏,同时也建立了三个调整通道之间的关系。
其中,Jp 代表增强图像通道p的平均强度,(p, q)代表一对通道。
Illumination Smoothness Loss:
为了保持相邻像素间的单调关系,在每个curve parameter map A上增加了平滑度损失。
其中,N为迭代次数,▽x,▽y 分别代表水平和垂直方向的梯度操作。
其中Wcol,WtvA 为Loss的权重(源码中Exposure control loss前也有权重)。
为了充分发挥Zero-DCE的宽动态范围调整能力,训练集合并了low-light和over-exposed图像(Part 1 of SICE数据集,3022张不同曝光程度的图像,其中2422张图片用于训练),图像尺寸为512x512。
图3
从图3可以看出,移除Lspa 会导致对比度降低(例如云的区域);移除Lexp 会导致低亮度区域曝光不足;移除Lcol 会出现严重的色偏现象;移除LtvA 会降低邻域间的相关性,从而导致明显的artifacts。