张华成 ,刘朝倩 ,韦 屹 ,李 喆 ,潘 剑
(1.桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004;2.广西中烟工业有限责任公司,广西 南宁 530001)
人们使用拍照设备拍照的时候,由于场景亮度和设备等原因,得到的图像会有过暗或过亮的区域。这些区域的图像细节信息模糊,降低了图像的实用性。因此,有必要对这样的图像进行操作,使细节变得明显,提高图像质量。
早期弱光图像增强的很多做法都是在图像的统计学特征上进行操作,但只是增强整体图像的亮度,无法对图像局部区域的亮度进行调整。文献[1]提出一种弱光图像增强方法,但容易增强过度。文献[2]增强的图像比较暗,出现颜色失真现象。之后的图像增强方法多数基于深度学习,文献[3]利用高质量参考图像集来训练卷积神经网络,得到一个单图像对比度增强器。文献[4]的图像增强结果比较暗,视觉效果较差。文献[5]提出一种循环的GAN(CycleGAN),虽然能增强图像,但是效果比较模糊。为了使夜间车载图像更清晰,文献[6]基于平移检索定位问题,提出一个图像转换模型。文献[7]提出一种无监督的GAN(EnlightenGAN),即使没有弱/正常亮度图像对也能训练模型。这些弱光图像增强的方法,有的整体或局部过度增强;有的增强暗区失败,且颜色失真,视觉效果差。为克服以上缺陷,提出一种基于生成式对抗网络(Generative Adversarial Networks,GAN)和特征自我保留的图像增强方法SFPGAN。该方法引入特征自我保留损失(Self-Feature Preserving Loss,SFPL),从颜色、亮度及特征3个方向对图像进行判别,能够保留原始图像的特征,拥有更多的细节,在增强暗区的同时也能抑制亮区的过度曝光。SFPGAN具有4个特点:使用含有正常亮度和过度曝光的图像集训练模型;模型的鲁棒性强;模型能够避免整体和局部过度曝光;模型能够适应真实的弱光图像。
基于文献[6]的观点,为了全方位地鉴别生成图像的真实性,从颜色、亮度及纹理方面判别图像,即判别器包含模糊RGB判别器DRGB、灰度判别器DGray及梯度判别器DGrad3部分。第1部分使用一个大小为5×5和方差为3δ的高斯卷积核计算模糊RGB图像,第2部分计算灰度图,第3部分计算横向和纵向梯度图。最后将计算结果输入相应的判别器获得输出值,求输出值的平均值作为最终的损失值。模型结构如图1所示。
在图1中,(a)是循环GAN的模型,其中X和Y是图像集,G和F是生成器,Dx和Dy是判别器,均包含DRGB、DGray及DGrad这3个判别器;(b)使用预先训练好的模型保留原有的特征;(c)是正、反向循环一致性。
图1 SFPGAN模型结构
DGrad模拟了提取尺度不变特征变换描述符的过程。它使用1×1、步长为2的卷积层提取特征图,并将特征图与两个滤波器卷积获得x、y方向的梯度。与文献[6]一样,使用该判别器创建原始图像中不存在的相关匹配的特征。受到文献[7]的启发,为了保留原始特征,引入SFPL。
CycleGAN的任务是从图像集X和Y中学习G:X→Y和F:Y→X,生成损失将生成图像的分布与目标的分布相匹配,有:
式中,G是生成器,D是判别器,x和y分别是X和Y中的样本。由于SFPGAN从3个方向进行评判,因此定义不一样的对抗损失:
式中,D=[DRGB,DGray,DGrad],x是输入图像,n是D的长度,xf是生成的图像。
如图1(c)所示,对于X的每一张图像x,模型应该能够将x转换回原始图像,即
x→G(x)→F(G(x))≈x;类 似 地,有 y→F(y)→G(F(y))≈y。使用循环一致性损失保证转换的平衡性:
从3个方向判别生成的图像,可能会出现特征冗余的现象。为了保留原图像的内容和特征,引入 SFPL[7]:
式中φj表示在预训练好的VGG模型中提取的特征映射。这里使用VGG16中第5层最大池化层后的第1层卷积层卷积得到的特征。Wj和Hj是特征维度大小。根据CycleGAN和SFPL,SFPGAN的整体损失函数为:
式中λ控制着生成器G和F的相对平衡性,参照文献[5],λ=10。λSFPL控制着SFPL对Loss的影响程度,λSFPL=1。
为了使模型具有良好的鲁棒性,选择文献[3]中含有一定量正常亮度和过度曝光的Part2图像集作为训练集,一共有1 779张图像。选择LIME[1]、NPE[4]、MEF[8]、DICM[9]和 VV 使用的测试集,一共200张图像。
生成器的网络结构和判别器的网络结构成分类似,主要由Conv2d(C)和InstanceNorm2d(I)组成。其中生成器的激活函数为ReLU(R),判别器的激活函数为LeakyReLU(L)。令c7s1-k表示一个步长为1的7×7的C-I-R,dk表示一个步长为2的3×3的C-I-R,Rk表示一个含有两个3×3卷积层的残差块,uk表示一个步长为1/2的3×3的C-I-R。因此,生成器的网络结构为c7s1-64,d128,d256,9*R256,u128,u64,c7s1-3。令 Ck表示一个步长为2的C-I-L。DRGB的网络结构为C64-C128-C256-C512。DGray结构与DRGB一样,而DGrad少了512的这层。k表示过滤器的大小。
为了验证SFPGAN的有效性,进行4次消融实验。分别为CycleGAN、只使用3个判别器、只使用SFPL和SFPGAN,一共4个实验,简称实验一、实验二、实验三及实验四。结果如图2所示。图2中,第1列为输入图像,第2列到第5列分别是实验一、实验二、实验三及实验四的结果。在第1行,实验一使珊瑚的颜色变淡,而实验二~实验四能够保留图像原始颜色。在第2行,在灯塔周边区域,实验一、实验二及实验三的结果都存在噪声,且实验二结果存在光晕。在第3行,实验一结果比较模糊,实验一和实验三结果颜色失真;而实验二过度增强人群,且电视机上有噪声。在第4行,实验二和实验三在石塔中出现噪声,实验二在有阳光的部分出现过度增强的现象。相比之下,SFPGAN更能够保留图像颜色和特征,在增强暗区的同时也能抑制亮区的过度曝光,拥有更好的视觉效果,实验结果验证了SFPGAN的有效性。
图2 SFPGAN消融实验的视觉比较
从主观评价、图像的视觉质量、无参考的图像质量以及在现实世界中的适应情况4个方面对结果进行论证。
2.4.1 图像的视觉质量比较
将SFPGAN与其他方法在视觉质量方面进行对比,结果如图3所示。第1列是弱光图像,第2列到第7列分别是CycleGAN、EnlightenGAN、LIME、NPE和SRIE[2]及SFPGAN对本文训练集进行训练的结果。在第1行结果,EnlightenGAN和LIME虽然很好地增强了暗区域,但过度增强了部分区域;NPE出现了噪声,SRIE效果较暗。在第2行结果,CycleGAN使得暗区的细节更明显,但颜色会失真,EnlightenGAN、LIME、NPE及SRIE也出现了这个问题。在第3行结果,EnlightenGAN和LIME都过度增强,NPE和SRIE避免了整体过度增强,而CycleGAN结果比较暗。在最后一行,EnlightenGAN、LIME、NPE及SRIE都过度增强。由图3结果可以看出,SFPGAN不仅可以增强暗区域,还能保留颜色和纹理,避免整体或局部过度增强,具有更好的视觉效果。
2.4.2 主观评价
将SFPGAN与其他方法(CycleGAN除外)在主观评价方面作比较。从测试集中随机选择23张图像。对于每一张图像,首先通过5种方法增强,其次要求9个测试者以成对的方式独立对比这5张图像结果,评估哪张效果更好。测试者需要考虑图像是否有噪声,图像是否有曝光过度或曝光不足的区域以及图像是否存在颜色或纹理失真现象。参照文献[7]的例程估计主观得分对这5种方法进行排名。最后,在该图像上为每种方法分1~5共5个等级,等级越低,质量越好。重复以上操作23次。
图3 与其他算法的效果比较(放大区域说明视觉差异)
采用以下方法表示评价结果。以SFPGAN为例,SFPGAN的评价结果为:1等级的图像有8张,2等级的图像有9张,3等级的图像有6张,则结果表示为SFPGAN:1:8,2:9,3:6。将等级与相应的图像数量相乘得到等级权重,所有的等级权重相加,用得到的等级权重总和除以总的图像数量得到平均排名。以此方法计算所有方法的评价结果和平均排名如表1所示。SFPGAN的平均排名为1.91,虽然结果比EnlightenGAN差,但是相对于其他方法,还有一定的优越性。由于NPE和LIME存在增强过度或不足及颜色失真等问题,因此结果较差。
表1 5种方法的评价结果和平均排名
2.4.3 无参考的图像质量对比
使用无参考的测试集,选择自然图像质量评价器(Natural Image Quality Evaluator,NIQE)[10]从自然度、局部亮度及特征等方面评价增强图像的质量。分别使用这6种方法增强测试集得到增强图像,分别使用NIQE计算每一种方法200张结果图像的平均分数,得到的结果如表2所示。NIQE的值越小表示质量越好,字体加粗的值表示最好结果。从表2可以看出,SFPGAN的NIQE得分不论是在各个测试集上还是在总的测试集上都是最低的,进一步证明其在产生高质量图像方面更有优势。
2.4.4 适应现实世界的弱光图像
域自适应是实现现实世界可泛化图像增强的一个必不可少的因素。为了验证SFPGAN增强实际弱光图像的有效性,使用来自真实驾驶数据集[11]的弱光图像进行验证,以显示其在实际场景中应用的优势。从文献[11]数据集中随机选择像素强度平均值小于45的860张弱光图像和其他值的100张图像作为训练集,再随机选择50张弱光图像作为测试集,这些图像均具有伪影和ISO噪声。将SFPGAN与LIME、AHE及SN等方法进行结果比较,其中SN是SFPGAN的一个域适应版本,比较结果如图4所示。从左到右分别为原始图像、LIME、AHE、SFPGAN及SN的结果。从图4可以看出,LIME出现很多噪声和伪影,而AHE不能够充分增强图像的亮度,SFPGAN出现较多的噪声而且还会出现伪影。相比之下,SN的质量更高、噪声更少、清晰度更高。由于在文献[11]数据集中选择的是成对的训练集,因此SFPGAN能够适应SN,这可以极大地促进其在现实中的推广应用。
表2 NIQE在总数据集和子集上的得分
图4 4种方法在文献[11]数据集上的视觉比较结果
基于部分传统方法和基于深度学习的图像增强方法出现的整体和局部过度增强、颜色失真及暗区域增强不明显等问题,本文提出一种基于GAN和SFPL的图像增强方法SFPGAN。SFPGAN在增强暗区域的同时也能抑制亮区域的过度曝光,保留更多的颜色和特征。在各种弱光数据集上的实验结果表明,该方法在图像质量增强方面优于当前其他多种方法。