天下事以难而废者十之一,以惰而废者十之九。——《严氏家训·议兵篇》

摘要:

本文提出了一种新的基于零参考深度曲线估计(Zero-DCE)的方法,该方法将光照增强描述为一种基于深度网络的特定图像曲线估计任务。我们的方法训练了一个轻量级的深度网络DCE-Net,用来估计像素级和高阶曲线,以调整给定图像的动态范围。曲线估计是专门设计的,考虑了像素值范围、单调性和可微性。Zero-DCE的优点在于它对参考图像的宽松假设,即它在训练过程中不需要任何配对或甚至不配对的数据。这是通过一组精心设计的非参考损失函数来实现的,这些函数隐含地测量增强质量并驱动网络的学习。尽管它很简单,但我们表明它对不同的照明条件具有很好的普适性。我们的方法是有效的,因为图像增强可以通过直观和简单的非线性曲线映射来实现。我们进一步介绍了Zero-DCE的加速和轻量级版本,称为Zero-DCE++,它利用了仅有10K参数的微型网络的优势。Zero-DCE++在保持Zero-DCE增强性能的同时,具有较快的推理速度(对于1200×900×3大小的图像,在单GPU/CPU上为1000/11 FPS)。在不同基准上的大量实验表明,我们的方法在定性和定量上都优于最先进的方法。此外,我们还讨论了我们的方法在黑暗中进行人脸检测的潜在好处。源代码将在https://li-chongyi.github.io/ProjZero-DCE++.html上公开提供。

关键词:

计算摄影,微光图像增强,曲线估计,零参考学习。

1 简介:

由于不可避免的环境和技术限制,许多照片通常是在不理想的照明条件下拍摄的。这些问题包括环境中的照明条件不充分和不平衡、物体在极端背光下放置不正确,以及在图像捕获过程中曝光不足。这类低光照片的美感质量受到影响,信息传递也不尽如人意。前者会影响观众的体验,而后者会导致传达错误的信息,如不准确的物体/人脸检测和识别。此外,尽管深度神经网络在图像增强和恢复方面表现出了令人印象深刻的性能,但是由于参数空间庞大,它们不可避免地会导致较高的存储空间和较长的推理时间。在实际应用中,特别是在移动平台等资源受限的实时设备上,人们对深层模型的计算代价和快速推理速度提出了更高的要求。

在这项研究中,我们提出了一种新的基于深度学习的微光图像增强方法--零参考深度曲线估计(Zero-DCE)。它可以应对不同的照明条件,包括不均匀和光线不佳的情况。我们没有执行图像到图像的映射,而是将该任务重新表述为图像特定的曲线估计问题。特别地,该方法以一幅暗光图像为输入,生成高阶曲线作为输出。然后使用这些曲线对输入的动态范围进行像素调整,以获得增强的图像。曲线估计经过精心设计,既能保持增强图像的范围,又能保持相邻像素的对比度。更重要的是,它是可微的,因此我们可以通过深度卷积神经网络来学习曲线的可调参数。该网络是轻量级的,所设计的曲线可以迭代地应用于逼近高阶曲线,以获得更鲁棒和更精确的动态范围调整。

我们的基于深度学习的方法的一个独特的优势是零参考,即它不像现有的基于CNN的方法和基于GAN的方法那样在训练过程中需要任何配对或甚至不配对的数据。这是通过一组特别设计的非参考损失函数来实现的,包括空间一致性损失、曝光控制损失、颜色稳定性损失和照明平滑度损失,所有这些都考虑了光增强的多个因素。我们表明,即使在零参考训练的情况下,Zero-DCE仍然可以与其他需要配对或不配对数据进行训练的方法相比具有竞争力。该方法具有较强的灵活性。我们为Zero-DCE的实际应用提供了平衡增强性能和计算成本的选择,并提出了一种加速的轻量级版本Zero-DCE++。这是通过重新设计网络结构、重新制定曲线估计和控制输入图像的大小来实现的。

图1中示出了增强包括非均匀照明的微光图像的示例。与最先进的方法相比,Zero-DCE和Zero-DCE++都使图像变亮,同时保留固有的颜色和细节。相反,基于CNN的方法和基于GAN的方法都产生过低(表面)和过高(箱体)增强。我们在本文中表明,我们的方法在定性和定量度量方面都获得了最先进的性能。此外,它能够改善高级视觉任务,例如人脸检测,而不会造成较高的计算负担。

我们的贡献总结如下。

  1. 我们提出了第一个独立于成对和非成对训练数据的微光增强网络,从而避免了过度拟合的风险。因此,我们的方法对各种光照条件都具有很好的通用性。
  2. 我们设计了一种特定于图像的曲线,它能够通过迭代应用自身来逼近像素级和高阶曲线。这种特定于图像的曲线可以在宽动态范围内有效地执行映射。
  3. 通过间接评估增强质量的任务特定的非参考损失函数,我们展示了在没有参考图像的情况下训练深度图像增强模型的潜力。
  4. 所提出的Zero-DCE可以在保持令人印象深刻的增强性能的同时显著地加速。我们提供了多种选择来平衡增强性能和计算资源成本。

这项工作是我们早先在CVRP2020中出现的会议版本的扩展。与会议版相比,我们引入了大量的新材料。1)研究了增强性能与网络结构、曲线估计和输入大小的关系。根据研究结果,我们重新设计了网络结构,重新制定了曲线形成规则,控制了输入图像的大小,从而提出了一种更适合资源受限设备实时增强的加速轻量级版本Zero-DCE++。2)与我们以前的工作相比,在不影响增强性能的情况下,Zero-DCE++上1200×900×3输入图像的可训练参数(79K)和浮点运算(FLOP)(84.99G)分别降至10K和0.115G。这意味着在单个NVIDIA 2080Ti GPU上处理1200×900×3大小的图像时,运行时速度将从Zero-DCE中的500 FPS提高到Zero-DCE++中的1000 FPS。此外,即使只使用Intel Core i9-10920X CPU@3.5 GHz,在Zero-DCE++上,Zero-DCE的处理时间也可以从10s减少到0.09s,在单个CPU设置上速度提高了111倍。训练时间也从30分钟减少到20分钟。3)我们进行了更多的实验、设计分析和消融研究,以证明零参考学习在微光图像增强中的优势,并表明我们的方法比现有的最先进的方法更有效。4)对微光图像增强方法进行了较为全面的文献综述,讨论了现有方法的优点和局限性。

2 相关工作

我们的工作是将零参考学习与深度曲线估计相结合,对微光图像增强进行了一次新的尝试,这在以往的工作中是很少涉及的。在接下来的工作中,我们回顾了微光图像增强的相关工作,包括常规方法和数据驱动方法。

传统方法 基于直方图均衡(HE)的方法通过扩大图像的动态范围来实现光线增强。在全局和局部两个级别调整图像的直方图分布。也有各种方法采用Retinex理论,通常将图像分解为反射和照度。通常假设反射率分量在任何照明条件下都是一致的;因此,光增强被表示为一个照度估计问题。基于Retinex理论,已经提出了几种方法。Wang等人设计了一种在处理光照不均匀的图像时保持自然度和信息的方法;Fu等人提出了一种同时估计图像反射率和照度的加权变异模型。估计的反射率被视为增强结果;Guo等人首先通过搜索每个像素位置的最大亮度来估计粗光照图,然后通过结构先验对光照图进行细化;Li等人提出了一种新的考虑噪声的Retinex模型。通过求解一个优化问题对光照图进行估计。

与传统的偶然改变图像直方图分布或依赖于可能不准确的物理模型的方法相反,该方法通过图像特定的曲线映射来获得增强的结果。这样的策略能够在不产生不切实际的伪像的情况下增强图像上的光线。Yuan和Sun提出了一种自动曝光校正方法,该方法通过全局优化算法估计给定图像的S形曲线,并通过曲线映射将每个分割区域推到其最优区域。与此不同的是,我们的方法是纯数据驱动的,在非参考损失函数的设计中考虑了多种光增强因素,因此具有更好的鲁棒性、更宽的图像动态范围调整范围和更低的计算负担。

数据驱动的方法 数据驱动方法主要分为两大类,即基于卷积神经网络(CNN)的方法和基于产生式对抗网络(GAN)的方法。大多数基于CNN的解决方案依赖成对数据进行监督训练,因此它们是资源密集型的。通常情况下,配对数据是通过自动降光、在数据捕获过程中更改相机设置或通过图像修饰合成数据来彻底收集的。例如,LL-NET和MBLLEN在模拟随机伽马校正的数据上进行训练;在图像采集过程中,通过改变曝光时间和ISO,采集成对的微光/常光图像的LOL数据集;麻省理工学院-Adobe FiveK数据集包含5000张原始图像,其中每一张都有5张由训练有素的专家制作的经过修饰的图像。MIT-Adobe FiveK数据集最初是为图像全局润色而收集的;SID提供成对的微光/正常光原始数据;收集了原始微光视频和相应的以视频率捕获的正常光视频的数据集。

受Retinex模型的启发,最近的深度模型设计了通过使用成对数据的监督学习来估计输入图像的反射率和照度的网络。Renet等人提出了一种用于微光图像增强的深度混合网络,该网络由两个流组成,在统一的网络中学习全局内容和显著结构。Wanget等人通过估计光照图,提出了一种曝光不足的照片增强网络。这个网络是根据配对的数据进行训练的,这些数据经过三位专家的润色。Zhang等人建立了一个网络来点燃图像的黑暗,称为KinD,它将图像分解成两个部分。照明组件负责光调节,而反射组件负责去除退化。基于Retinex模型的深层模型仍然面临着与传统的基于Retinex的方法相同的局限性,如理想假设等。

最近,Xu等人提出了一种基于频率的分解和增强模型,用于微光图像增强。该模型首先在低频层恢复图像内容,然后在恢复图像内容的基础上对高频细节进行增强。该模型是在实际噪声微光和真值RGB图像对的微光数据集上训练的。

可以理解的是,考虑到收集足够的配对数据所涉及的高成本以及在训练深层模型时包括人为的和不切实际的数据,基于配对数据的光增强解决方案在许多方面都是不切实际的。这些限制体现在基于CNN的方法泛化能力较差上。当向这些方法呈现各种光强度的真实图像时,通常会产生伪影和颜色投射。

基于无监督GAN的方法具有消除用于训练的成对数据的优点。EnlighttenGAN是一种基于GAN的无监督方法,学习使用未配对的微光/正常光数据来增强微光图像。网络的训练考虑了精心设计的鉴别器和损失函数。然而,非监督的基于GAN的解决方案通常需要仔细选择未配对的训练数据。

为了整合CNNs和GANs的优势,Yang等人提出了一种微光图像增强的半监督模型,该模型分两个阶段进行增强。在第一阶段中,学习从粗到精的频带表示,并利用配对数据在递归过程中联合推断不同的频带信号。在第二阶段,通过对抗性学习对频带表示进行重组。尽管半监督学习框架可以有效地提高深度模型的泛化能力,但它仍然存在对训练数据过度拟合的风险,并导致较高的内存占用。

该方法在三个方面优于现有的数据驱动方法。首先,它探索了一种新的学习策略,即要求零参考,从而消除了对配对和未配对数据的需要。其次,通过考虑仔细定义的非参考损耗函数来训练网络。该策略允许对输出图像质量进行隐式评估,其结果将被重复用于网络学习。第三,我们的方法效率高,性价比高。加速轻量级版本Zero-DCE++仅包含10K可训练参数和0.115G Flops,在单个GPU/CPU上实现1000/11FPS推理时间,训练时间为20分钟。该方法的效率大大领先于现有的深度模型。这些优势得益于我们的零参考学习框架、轻量级网络结构和有效的非参考损耗函数。

3 方法

我们在图2中显示了Zero-DCE的框架。设计了一种深度曲线估计网络(DCE-Net)来估计一组给定输入图像的最佳拟合光增强曲线(LE-曲线)。然后,该框架通过迭代应用曲线来映射输入的RGB通道的所有像素,以获得最终增强的图像。在接下来的内容中,我们将详细介绍关键组件,即LE曲线、DCE网络和非参考损耗函数。

3.1 光增强曲线

受照片编辑软件中曲线调整的启发,我们设计了一种能够自动将暗光图像映射到增强版本的曲线,其自适应曲线参数完全依赖于输入图像。设计这样一条曲线有三个目标:

  1. 增强后图像的每个像素值应落在[0,1]的归一化范围内,以避免溢出截断造成的信息丢失;
  2. 这条曲线应该是单调的,以保持相邻像素的差异(对比度);
  3. 在梯度反向传播过程中,该曲线的形式应尽可能简单和可微。

为了实现这三个目标,我们设计了一条二次曲线,它可以表示为:

其中x表示像素坐标,LE(i(x);α)是给定输入i(x)的增强版本,可训练曲线参数α∈[−1,1]调整LE曲线的大小并控制曝光水平。输入的每个像素都被归一化到[0,1]的范围,并且所有操作都是以像素为单位的。我们将LE曲线分别应用于三个RGB通道,而不是仅应用于亮度通道。三通道调节可以更好地保留固有颜色,降低过饱和风险。我们在消融研究中报道了更多细节。具有不同调整参数α的LE曲线如图2(b)所示。显然,LE曲线符合上述三个目标。因此,增强图像的每个像素值在[0,1]的范围内。此外,LE曲线使我们能够增加或减小输入图像的动态范围。这种能力不仅有利于增强弱光区域,还有助于消除过度曝光伪影。我们选择一种特殊的单参数形式作为二次型,因为1)单参数形式可以减少计算量,提高算法的速度;2)专门设计的二次型满足设计的三个目标,并且已经取得了令人满意的增强性能。

高阶曲线。公式(1)中定义的LE曲线可以迭代地应用,以使得能够进行更多用途的调整,以应对具有挑战性的弱光条件。确切地说,

其中n是控制曲率的迭代次数。在本文中,我们将n值设置为8,它可以很好地处理大多数情况。当方程(2)n等于1时,方程(2)可以退化为方程(1)。图2(c)提供了一个例子,显示了具有不同α和n的高次曲线。这种高次曲线提供了比图2(b)中的曲线更强大的调节能力(即更大的曲率)。

像素方向曲线。与单阶曲线相比,高阶曲线可以在更宽的动态范围内调整图像。尽管如此,这仍然是一个全局调整,因为α用于所有像素。全局映射往往过度/不足增强局部区域。为了解决这个问题,我们将α表示为一个像素化参数,即给定输入图像的每个像素都有一条与最佳拟合α相对应的曲线,以调整其动态范围。因此,公式(2)可以重新表示为:

其中A是与给定图像具有相同大小的参数映射。这里,假设局部区域中的像素具有相同的强度(也是相同的调整曲线),因此输出结果中的相邻像素仍然保持单调关系。这样,像素级高阶曲线也符合上述三个目标。结果,增强图像的每个像素值仍然在[0,1]的范围内。

我们给出了图3中估计的曲线参数图的示例。结果表明,不同颜色通道的最佳拟合参数图具有相似的调整趋势,但大小不同,反映了微光图像三个通道之间的相关性和差异性。曲线参数贴图精确地指示不同区域的亮度(例如,墙上的两个闪光)。利用拟合后的映射图,可以通过逐像素的曲线映射直接获得增强版图像。如图3(e)所示,增强版显示了暗区中的内容,并保留了亮区。

3.2 DCE-Net

为了学习输入图像与其最佳拟合曲线参数图之间的映射关系,我们提出了一种深度曲线估计网络(DCE-Net)。在图4中,我们给出了DCE-NET的详细网络结构和参数设置。

DCE-Net的输入是暗光图像,而输出是对应高阶曲线的一组像素级曲线参数图。我们不使用需要固定输入大小的全连通层,而是采用具有对称跳跃级联的七层卷积层的普通CNN。在前6个卷积层中,每个卷积层由32个大小为3×3、步长为1的卷积核组成,其后是RELU激活函数。最后一个卷积层由24个大小为3×3、步长为1的卷积核组成,其后是Tanh激活函数,该函数为8次迭代产生24个曲线参数图,其中每次迭代为3个通道(即,RGB通道)生成3个曲线参数图。我们去掉了打破相邻像素关系的下采样和批归一化层。值得注意的是,对于1200×900×3的输入图像,DCE-Net只有79K可训练参数和85G Flops,这已经小于现有的微光图像增强深度模型,如:RetinexNet:555k/587G,EnlighttenGan:8M/273G和MBLLEN:450k/301G。

3.3 非参考损失函数

为了在DCE-Net中实现零参考学习,我们提出了一组可区分的非参考损失,使我们能够评估增强图像的质量。我们采用以下四种类型的损耗来训练我们的DCE-Net。

空间一致性损失。空间一致性损失Lspa通过保留输入图像与其增强版本之间的相邻区域的差异来鼓励增强图像的空间一致性:

其中K是局部区域的数目,Ω(I)是以区域i为中心的四个相邻区域(上、下、左、右)。我们将Y和I值分别表示为增强版和输入图像中局部区域的平均亮度值。我们经验地将局部区域的大小设置为4×4。考虑到其他区域大小,这种损失是稳定的。我们在图5中说明了计算空间一致性损失的过程。

曝光控制损失。为了抑制曝光不足和过度曝光的区域,我们设计了曝光控制Lexp来控制曝光水平。曝光控制损失测量局部区域的平均强度值到良好曝光水平E之间的距离。我们遵循现有的实践来设置RGB颜色空间中的灰度级。在我们的实验中,我们经验性地将E设为0.6。损失Lexp可以表示为:

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

颜色稳定性损失。遵循Gray-World颜色恒定假设,即每个传感器通道中的颜色在整个图像上平均为灰色,我们设计了颜色恒定损失来校正增强图像中潜在的颜色偏差,并建立了三个调整通道之间的关系。颜色恒定损失Lcol值可以表示为:

其中,jp表示增强图像中p个通道的平均强度值,一对通道表示为(p,q)。

照明平滑度损失。为了保持相邻像素之间的单调关系,我们在每个曲线参数图A中增加了光照平滑度损失。照明光滑度损失LtvA定义为:

其中N是迭代次数,水平和垂直梯度运算分别表示为∇x和∇y。

总计损失。总损失可以表示为:

其中权重WCOL和WTVA用于平衡不同损失的规模。

4 ZERO-DCE++

虽然ZERO-DCE已经比现有的基于深度学习的模型更小、更快,但在实际应用中仍然需要更低的计算成本和更快的推理速度,特别是在处理现代移动设备捕获的大图像时。为了实现上述特性,我们提出了一个加速的轻量级ZERO-DCE版本,称为ZERO-DCE++。

为此,我们仔细研究了增强性能与网络结构、曲线估计和输入大小之间的关系。我们观察到,1)DCE-Net中使用的卷积层可以用计算机视觉任务中常用的更有效的纵深可分卷积代替,以减少网络参数,而不会对性能造成太大影响;2)在大多数情况下,不同迭代阶段(Zero-DCE共8次迭代)的估计曲线参数是相似的。在图6中,我们展示了不同迭代阶段的估计曲线参数映射及其差值映射的示例。如观察到的,曲线参数图相似,差值图中的值较小。这样的结果表明,曲线参数图可以在不同的迭代阶段重复使用,以处理大多数情况,从而可以将估计的曲线参数图从24个减少到3个;3)我们的方法对输入图像的大小不敏感。因此,我们可以将下采样的输入作为曲线参数估计网络的输入,然后对估计的曲线参数映射回原始分辨率进行上采样以进行图像增强。低分辨率输入可以显著降低计算成本。基于这些观察结果,我们从三个方面对Zero-DCE进行了修正。

首先,我们重新设计了DEC-Net,用深度可分离的卷积替换卷积层,以减少网络参数。每个沿深度可分离的卷积层由大小为3×3、步长为1的核的深度卷积和大小为1×1、步长为1的逐点卷积组成。

其次,我们对曲线估计进行了重新定义,只估计了3个曲线参数图,然后在不同的迭代阶段重复使用它们,而不是在8次迭代中估计24个参数图。因此,公式(3)可以重新表示为

其中使用相同的曲线参数映射A来调整不同迭代阶段的曲线。虽然我们重用了曲线参数映射,但由于迭代过程,它仍然保留了高阶性质。

第三,我们可以使用下采样图像作为网络的输入来估计曲线参数图。默认情况下,我们在Zero-DCE++中将输入缩减12倍,以平衡增强性能和计算成本。即使在极端的下采样因子下,我们的方法也保持了良好的性能。原因简要说明如下。首先,虽然我们采用下采样的输入来估计曲线参数,但基于局部区域的像素具有相同的亮度(也是相同的调整曲线)的假设,我们将小的曲线参数映射调整到与原始输入图像相同的大小。在原始分辨率上进行从输入图像到增强图像的映射。其次,提出的空间一致性损失鼓励结果保留输入图像的内容。第三,在我们的框架中采用的损失是区域级的,而不是像素级的。在烧蚀研究中,我们提出了更多的讨论和结果。

这些修改提供了Zero-DCE++的优点:具有微型网络(10K可训练参数,对于1200×900×3大小的图像,0.115G Flops)、实时推理速度(对于1200×900×3大小的图像,在单个GPU/CPU上的1000/11 FPS)和快速训练(20分钟)。

5 实验

5.1 实施详情

基于CNN的模型通常使用自捕获的配对数据进行网络训练,而基于GAN的模型则精心选择未配对的数据。为了充分发挥宽动态范围调节的能力,我们将弱光和过曝光的图像都加入到我们的训练集中。为此,我们使用SICE数据集第1部分中的360个多次曝光序列来训练我们的模型。该数据集还用作EnlighttenGAN中训练数据的一部分。我们将第一部分子集中不同曝光级别的3022张图像随机分成两部分(2422张用于训练,其余用于验证)。我们将训练和测试图像的大小调整为512×512×3。

我们在NVIDIA 2080Ti图形处理器上实现了我们的框架。应用的批次大小为8。采用标准零均值和0.02标准差高斯函数对各层的滤波权重进行初始化。偏置被初始化为常量。我们使用带有默认参数和固定学习速率的ADAM优化器1e−4进行网络优化。权重WcolA和Wtva分别设置为0.5和20,以平衡损失规模。ZERO-DCE和ZERO-DCE++在训练期间采用相同的训练数据集和配置。

5.2 实验设置

我们将我们的方法与几种最先进的方法进行了比较:三种传统方法(SRIE,LIME,Li),四种基于CNN的方法(Wang、RetinexNet、LightenNet、MBLLEN)和一种基于GAN的方法(EnlighttenGan)。使用公开提供的源代码和推荐的参数复制结果。

我们对以前工作中使用的标准图像集进行了定性和定量的实验,包括NPE(84张图像)、LIME(10张图像)、MEF(17张图像)、DICM(64张图像)和VV(24张图像)。此外,我们在SICE数据集的Part2子集上定量验证了我们的方法,该数据集由229个多曝光序列和每个多曝光序列对应的参考图像组成。为了进行公平的比较,我们只使用第2部分子集的微光图像进行测试,因为基线不能很好地处理过度曝光的图像。具体地说,我们选择前三个(分别为。4)弱光图像,如果有7个(分别为。9)多次曝光序列中的图像,并将所有图像的大小调整为1200×900×3。最后,我们得到了767幅成对的微光/普通光图像,记为第二部分测试集。

由于RetinexNet和EnlighttenGAN的训练数据集由该数据集中的一些图像组成,因此丢弃了数据集中提到的微光/正常光图像数据集。我们没有使用麻省理工学院-Adobe FiveK数据集,因为它主要不是为曝光不足的照片增强而设计的,而且在真值数据集中仍然包含一些弱光图像。请注意,本文只关注RGB图像上的微光图像增强,因此我们没有包括需要原始数据作为输入的方法,这些方法是为一般照片增强而设计的。

5.3 消融研究

我们进行消融研究,以证明Zero-DCE每个组件的有效性。此外,还对ZERO-DCE和ZERO-DCE++进行了比较,分析了加速版本和轻量级版本的优缺点。

每项损失的贡献。我们在图7中展示了由各种损失组合训练的ZERO-DCE的结果。没有空间一致性损失的结果Lspa的对比度(例如,云区域)相对低于完整结果。这表明了Lspa在保持输入图像和增强图像之间相邻区域的差异方面的重要性。移除曝光控制损失Lexp无法恢复低光区域。当丢弃颜色稳定性损失LCOL时,会出现严重的颜色投射。此变体在应用曲线贴图时忽略三个通道之间的关系。最后,去除光照平滑度损失,阻碍了相邻区域之间的相关性,导致明显的伪影。这些结果表明,在我们的零参考学习框架中使用的每一种损失都对最终获得令人满意的视觉效果起着重要作用。

三通道调节的优势。为了展示三通道调整的优势,我们尝试仅在CIE Lab和YCbCr颜色空间中使用与RGB颜色空间中的调整相同的配置来调整与照明相关的通道,只是去除了仅适用于三通道调整的颜色稳定性损失。

具体地说,我们首先将输入的RGB颜色空间转换到CIE Lab(YCbCr)颜色空间,然后将L(Y)分量馈送到DCE-Net以估计一组曲线参数图,在训练阶段计算L(Y)通道中的每个损失。最后,我们使用公式3用估计的曲线参数来调整L(Y)分量。L(Y)分量调整后,相应的ab(CBCR)分量也相应调整(等比例调整)。在图8中,我们展示了一个示例来演示三通道调整的优势。正如观察到的那样,所有结果都显示出亮度和对比度的改善,这表明单通道调整(CIE Lab和YCbCr颜色空间)和三通道调整(RGB颜色空间)在改善给定微光图像的亮度方面都是有效的。然而,如图8(C)和(D)所示,在CIE Lab和YCbCr颜色空间中调整的结果具有明显的颜色偏差(例如,墙壁的颜色)和过饱和度(例如,灯笼的区域)。视觉对比表明,三通道调节能更好地保留固有颜色,降低过饱和风险。

参数设置的影响。我们评估了Zero-DCE中参数的影响,包括DCENet的深度和宽度以及迭代次数。图9中给出了一个可视化示例。如图9(B)所示,只需三个卷积层,Zero-DCEl3−f32−n8就可以产生令人满意的结果,这表明了零参考学习的有效性。Zero-DCEl7−f32−n8和Zero-DCEl7−f32−n16通过自然曝光和适当的对比度产生最令人愉悦的视觉效果。通过将迭代次数减少到1,在Zero-DCEl7−f32−n1上观察到性能明显下降,如图9(D)所示。这是因为只有一次迭代的曲线调整能力有限。这表明在我们的方法中需要高次曲线。

表一的量化比较亦显示同样的趋势。输入结果与Zero-DCEl3−f32−n8增强结果的比较表明,尽管网络只包含三层卷积层,但该方法是有效的。由于只有一次迭代(即n=1)的有限调整能力,Zero-DCEl7−f32−n1的定量性能最差,这表明使用更多迭代的重要性。当我们将每层的特征地图数量从16个增加到32个时,量化性能得到改善(即,Zero-DCEl7−f16−n8和Zero-DCEl7−F32−n8)。将迭代次数从8增加到16只会略微提高平均PSNR值(即,Zero-DCEl7−F32−n8和Zero-DCEl7−f32−n16)。因此,基于其在效率和恢复性能之间的良好折衷,我们选择Zero-DCEf7−l32-n8作为最终的模型。

训练数据的影响。为了测试训练数据的影响,我们在不同于Sec 5.1中描述的数据集上重新训练Zero-DCE。如图10(C)和(D)所示,在移除过度曝光的训练数据之后,Zero-DCE倾向于过度增强照明良好的区域(例如,Zero-DCELow和Zero-DCELargeL的结果中的杯子),尽管使用了更多的低光图像(即,Zero-DCELargeL)。这些结果说明了在我们的网络训练过程中使用多曝光训练数据的合理性和必要性。此外,Zero-DCE可以更好地恢复暗区域(例如。如图10(E)所示,当使用更多的多次曝光训练数据(即,Zero-DCELargeLH)时,可以使用多次曝光训练数据(即,Zero-DCELargeLH)。如图10(B)所示,本文提出的的Zero-DCE在过度增强和欠增强之间具有良好的平衡。为了与其他基于深度学习的方法进行公平的比较,我们使用了与它们相当数量的训练数据,尽管更多的训练数据可以给我们的方法带来更好的视觉性能。

良好暴光水平的影响。我们研究了暴光控制损失中的良好暴光水平对我们方法增强性能的影响。我们设置了四个不同的良好暴露级别E(即0.4、0.5、0.6、0.7)来训练我们的网络,表示为Zero-DCEE0.4,Zero-DCEE0.5,Zero-DCEE0.6(即我们最终的零DCE模型)和Zero-DCEE0.7。一组可视化结果如图11所示。定量比较如表2所示。

如表2所示,Zero-DCEE0.6取得最好的定量分数。Zero-DCEE0.5获得与Zero-DCEE0.6相当的性能。Zero-DCEE0.4和Zero--DCEE0.7的定量性能略低于Zero-DCEE0.6和Zero--DCEE0.5。如图11所示,Zero-DCEE0.5和Zero-DCEE0.6获得视觉上令人愉悦的亮度。相比之下,Zero-DCEE0.4产生曝光不足,而Zero-DCEE0.7则过度增强了输入图像。最后,基于其良好的定性和定量性能,我们选择Zero-DCEE0.6作为最终模型。

Zero-DCE VS. Zero-DCE++。首先分析了输入大小对增强性能的影响。如第4节所述,我们首先将DCE-Net的卷积层替换为深度分离卷积,并在八次迭代中重用曲线参数映射。然后,我们将不同大小的输入输入到修改后的框架中。增强性能与输入大小的统计关系如表3所示。通过向图12中修改后的框架提供不同大小的输入,我们还显示了几个结果。如表3和图12所示,向下采样输入的大小对增强性能没有明显的影响,但显著地节省了计算成本(以FLOPs衡量)。如图所示,12×↓的结果达到了最高的平均PSNR值,因此我们采用它作为Zero-DCE++中的默认操作。

然后,我们进行了烧蚀研究,比较了Zero-DCE和Zero-DCE++之间的网络结构。 烧蚀模型包括具有深度可分卷积的Zero-DCE(表示为DSconv)和在不同迭代阶段共享曲线参数图的Zero-DCE(表示为Pshared)。Zero-DC的输入为原始分辨率图像,而“DSconv”和“Pshared”默认采用12×下采样操作。烧蚀模型的定量比较结果如表4所示。

如表4所示,“DSconv”和“Pshared”都比“Zero-DCE”具有更少的可训练参数和FLOPs。引入“DSconv”和“Pshared”稍微降低了PSNR值。“DSconv”与“Pshared”组合(即Zero-DCE++)的可训练参数和FLOPs显著降低,PSNR值降低可忽略不计。结果表明,这些修改是有效的。在图13中,Zero-DCE在某些具有挑战性的情况下仍然优于Zero-DCE++。例如,与Zreo-DCE ++相比,Zero-DCE可以更有效地处理挑战性的光照,而不会引入过度/不足曝光。根据质量和效率的具体要求,可以在Zero-DCE和Zero-DCE++之间进行选择。

5.4指标评价

在本节中,我们进行了定性和定量的实验来比较不同的方法。我们还研究了不同方法在黑暗中人脸检测的性能。

5.4.1视觉和知觉比较

我们在图14中展示了典型弱光图像的视觉对比。对于挑战性背光区域(如图14(a)中的人脸),Zero-DCE产生自然曝光和清晰的细节,而SRIE,LIME,LightenNet,MBLLEN,Wanget和EnlightenGAN不能清晰地恢复人脸。相比之下,RetinexNet产生过度曝光的伪影。在第二个室内场景的例子中,我们的方法增强了黑暗区域,同时保留了输入图像的颜色。结果是视觉上悦目的,没有明显的噪声和颜色投。相比之下,Li和MBLLEN过于光滑细节,而其他基线方法会放大噪声,甚至产生颜色偏差(例如,墙壁的颜色)。总的来说,Zero-DCE++在室内和室外场景中都取得了与Zero-DCE相当的性能。

我们还展示了不同方法的结果,从第2部分子集测试集抽样的图像。对比结果如图15所示。与其他保留弱光区域或引入明显伪影的方法相比,本文提出的Zero-DCE和Zero-DCE++方法不仅产生了更清晰的细节,而且不引入阻塞伪影。我们的方法倾向于产生适当的对比,清晰的细节,鲜艳的颜色,较少的噪声的结果。

我们进行用户研究,以量化各种方法的主观视觉质量。我们用不同的方法处理来自图像集(NPE, LIME, MEF, DICM, VV)的弱光图像。对于每个增强的结果,我们将其显示在屏幕上,并提供输入图像作为参考。共15名受试者被邀请独立评分增强图像的视觉质量。这些科目是通过观察来自1)结果是否包含过度/不足曝光的伪影或过度/不足增强的区域;2)结果是否会产生色差;3)结果是否有不自然的纹理和明显的噪声。

视觉质量的评分范围从1到5(最差到最好)。步长设置为1。每个图像集的平均主观得分报告在表5中。如表5所示,在上述图像集共199张测试图像中,Zero-DCE获得了最高的平均用户研究(US)分数,而Zero-DCE++获得了第二高的US分数。Zero-DCE与Zero-DCE++得到了相似的被试分数,进一步说明了Zero-DCE++的有效性和鲁棒性。对于MEF、DICM和VV集合,我们的结果最受受试者的青睐。总之,用户研究表明,我们的方法可以从人类的主观视觉角度对各种弱光图像产生更好的性能。

除US评分外,我们采用非参照知觉指数(PI)评价知觉质量。PI度量最初用于测量图像超分辨率中的感知质量。它也被用于评估其他图像恢复任务的性能,如图像去雾。PI值越低,感知质量越好。PI值也报告在表5中。与用户研究相似,本文提出的Zero-DCE方法在平均PI值方面优于其他竞争方法。在LIME、MEF和DICM集合上获得了最佳的感知质量。Zero-DCE++还产生了相互竞争的平均PI值。

5.4.2 定量比较

我们使用全参考图像质量评估指标PSNR, SSIM[43]和MAE指标来定量比较不同方法在第2部分测试集上的性能。SSIM值越高,表明结果在结构性质上越接近真实值。较高的PSNR(较低的MAE)值表明结果在像素级图像内容上更接近真实值。在表6中,所提出的Zero-DCE在所有情况下都达到了最佳值,尽管它没有使用任何成对或非成对的训练数据。相比之下,Zero-DCE++获得了与Zero-DCE相当的性能,比如在Part2测试集中PSNR和SSIM值的第二好的定量分数。

该算法具有简单的曲线映射形式和轻量级的网络结构,计算效率高。此外,Zero-DCE++极大地提高了Zero-DCE的速度,并且只花费很少的计算资源。表7显示了运行时可训练参数,不同方法的FLOPs在32张尺寸为1200×900×3的图像上平均。对于常规方法和LightenNet,只提供CPU版本的代码。

与现有方法相比,我们的方法获得了最快的运行时间,并且有很大的余量(即Zero-DCE: 0.0025s和Zero-DCE++: 0.0012s)。此外,Zero-DCE++的运行时间仅为0.0012s,确实比目前的方法快。Zero-DCE++的运行时间比目前基于深度学习的Wang和EnlightenGAN分别快17.5倍和6.5倍。Zero-DCE++只包含一个微小的网络结构,具有10561个可训练参数,成本0.12G FLOPs,非常适合实际应用。

5.4.3 黑暗中的人脸检测

研究了微光图像增强方法在微光条件下人脸检测任务中的性能。具体来说,我们使用DARK FACE数据集,该数据集包含1万张在黑暗中拍摄的图像。由于测试集的包围盒不是公开可用的,我们对训练集和验证集进行评估,总共包含6000张图像。最先进的深度人脸检测器,双镜头人脸检测器(DSFD),在更宽的face数据集上训练,用作基线模型。我们将不同微光图像增强方法的结果输入DSFD。我们在图16中描述了IoU阈值0.5下的精度召回(P-R)曲线,并使用DARK FACE数据集中提供的评价工具5比较了不同IoU阈值(即0.5,0.7,0.9)下的平均精度(AP)。AP结果如表8所示。

如图16所示,经过图像增强后,DSFD的精度与使用未增强的输入图像相比有了很大的提高。在不同的方法中,RetinexNet、Zero-DCE和Zero-DCE++的效果最好。这三种方法具有可比性,但Zero-DCE和Zero-DCE ++在高查全率领域表现更好。如表8所示,当我们设置更高的IoU阈值时,所有方法的AP分数都会下降。当IoU阈值设置为0.9时,所有方法的性能都非常差。在IoU阈值为0.5和0.7的情况下,Zero-DCE和Zero-DCE++获得了类似的AP分数,只是略低于RetinexNet产生的最佳结果。但如前所示,RetinexNet的主观和定量结果并不令人满意。相比之下,该方法不需要成对的训练数据,并且很好地平衡了主题增强性能、应用性能和计算成本。通过观察示例,我们的Zero-DCE和Zero-DCE++在极暗区域点亮人脸,并保留光照良好的区域,从而提高了人脸检测在黑暗中的性能。

6 结论

提出了一种用于弱光图像增强的深度网络。它可以用零参考图像进行端到端训练。这是通过将弱光图像增强任务制定为图像特定的曲线估计问题,并设计一组可微分的非参考损耗来实现的。通过重新设计网络结构、重新构造曲线估计、控制输入图像的大小,可以进一步改进Zero-DCE算法,具有轻量化、快速等优点,具有实际应用价值。我们的方法在增强性能和效率上都有很大的优势。实验证明了该方法相对于现有的光增强方法的优越性。

原文:Learning to Enhance Low-Light Image via Zero-Reference Deep Curve Estimation

基于零参考深度曲线估计的暗光图像增强相关推荐

  1. 【论文】低光图像增强的零参考深度曲线估计

    Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement 连接:Zero-Reference Deep Curve Es ...

  2. 微光图像增强的零参考深度曲线估计

    论文地址:https://arxiv.org/abs/2001.06826 文章目录 思路总结 损失函数代码实现(Myloss): 模型代码实现(model) dataloader 程序训练(lowl ...

  3. 【图像增强】基于matlab双边滤波retinex算法暗光图像增强【含Matlab源码 2305期】

    ⛄一.简介 1 Retinex 1.1 理论 Retinex理论始于Land和McCann于20世纪60年代作出的一系列贡献,其基本思想是人感知到某点的颜色和亮度并不仅仅取决于该点进入人眼的绝对光线, ...

  4. 自监督的暗光图像增强

    [前言] 前几天吃了一下ICCV21的瓜,吃的有点饱,就去刷了一下arxiv,看到了一篇微软的工作,很有意思,是Mobilenet和Transformer的拼一起的网络架构,具体说就是这两个网络主干就 ...

  5. 暗光图像增强—opencv(C++)

    暗光图像增强-opencv(C++) code1 // An highlighted block #include <opencv2/core/core.hpp> #include < ...

  6. Low-light Enhancement暗光图像增强论文整理2019-2021

    Low-light Enhancement暗光图像增强论文整理2019-2021 github代码都放后面了,没有就是找不到代码 近年论文 Guo, Xiaojie et al. "LIME ...

  7. 【图像增强】双边滤波retinex算法暗光图像增强【含Matlab源码 2305期】

    ⛄一.简介 1 Retinex 1.1 理论 Retinex理论始于Land和McCann于20世纪60年代作出的一系列贡献,其基本思想是人感知到某点的颜色和亮度并不仅仅取决于该点进入人眼的绝对光线, ...

  8. 超简单但又超有效的基于CNN的暗光成像模型

    [前言] 上次整了个google的纯传统算法的暗光成像的超复杂pipeline的paper,那个确实挺难的,这次我找到了个简单移动的用CNN的暗光成像的模型,复现难度应该会低很多. 以下解读与见解均为 ...

  9. Low-light images enhancement/暗光/低光/微光增强系列:Attention-guided Low-light Image Enhancement(详解)

    以下文字为博主翻译并添加了自己的理解,斜体为博主自己的想法,若有出错请指出. 摘要 暗光图像增强需要同时有效地处理颜色.亮度.对比度.伪影和噪声等多种因素.本文提出了一种新颖的注意力引导增强方案,并在 ...

最新文章

  1. 机器学习Basics-第九期-CNN卷积神经网络详解
  2. android ORM 框架 search
  3. 详细设计 英文_人体工程学设计:COMMA感应式无线充电器深度拆解
  4. Linux分区、LVM等简述
  5. python 如何遍历文件夹下所有图片/文件? os.walk() os.listdir()
  6. C++获取当前系统时间并格式化输出
  7. C++输出一句话里面第一个单词并大写
  8. Make NTFS writable on macOS
  9. catti二级笔译综合能力真题_CATTI 二级口笔译教材、真题和模拟试题汇总!
  10. 文字过多以省略号代替,放在文字上会显示title信息提示
  11. sql server 多条记录数据合并为一条_面试必备sql知识点——MySQL基础
  12. 我的2006年,我的博客站
  13. 严重: Catalina.stop: java.net.ConnectException: Connection refused: connect
  14. 05mycat父子表
  15. linux apktool使用教程,简单介绍ubuntu下apktool的使用与配置
  16. Python GUI之tkinter 教程大集合
  17. 计算机网络复习题(全套)
  18. OKR教练:OKR评分,你可以这样做。
  19. 使用you-get下载视频网站的各种视频的最全面的简明方法
  20. 跨站脚本(XSS)漏洞

热门文章

  1. 想要在抖音上快速涨粉,这些行为千万别碰
  2. 第五节--ROS操作系统----创建ROS程序包
  3. Python之课堂作业三
  4. 基于视频的能见度检测,解决高速公路团雾的困扰
  5. 关于iView UI的表单Form如何进行前端验证
  6. 产品经理要注重目标用户需求转化
  7. 腾讯AI Lab招聘视觉研究实习生
  8. Java重写hashcode方法
  9. 制作同期声----------未完待续
  10. mysql密码加强_MySQL 密码加强插件_mysql