APP下载

基于上下文Transformer 的低光照图像增强网络*

2023-05-12徐文晨樊佳庆宋慧慧

计算机与数字工程 2023年1期
关键词:图像增强光照卷积

徐文晨 樊佳庆 宋慧慧

(1.南京信息工程大学自动化学院 南京 210044)(2.南京航空航天大学计算机科学与技术学院 南京 211106)

1 引言

在夜间光照条件不理想的情况下,拍摄设备采集到的图像会存在对比度低、噪声强与细节模糊等问题,这类图像一般称之为低光照图像。人们试图寻求更先进的拍摄设备,来弥补不理想的拍摄条件所带来的缺陷,但是在硬件上寻求突破,花费的代价会越来越高昂,使得通过软件算法来改善图像质量的方法成为重要的研究方向。低光照图像增强属于计算机视觉任务,旨在将低光照图像增强到正常图像,在图像的对比度、可见度方面进行增强;在噪声方面进行抑制,恢复暗光区域的细节信息。低光照图像增强作为底层的计算机视觉任务,不仅仅带来了视觉质量的提升,而且为高级视觉任务(例如目标检测[1],目标识别[2],目标分割[3]等)提供了良好的基础。

低光照图像增强的方法大致可以分为两类:基于传统的方法和基于深度学习的方法。传统方法常用直方图均衡化[4]或伽马校正[5]实现低光照图像增强。近年来,基于深度学习的方法在图像处理和视频处理等计算机视觉的任务中取得重大进展,因此,基于深度学习的方法也成为低光照图像增强的主流方法。最先应用深度学习的方法是LLNet[7],采用稀疏编码的思想,来进行去噪任务和增强低光照图像任务。在Retinex理论[6]的支撑下,将输入的低光照图像分解成反射图和光照图,再处理光照图以增强图像。产生了一系列工作,如RetinexNet[8],LightenNet[9],DeepUPE[10]等,这些方法往往会导致图像过度曝光或是增强不足,也会出现色彩失真的情况。还有图像曲线估计的方法,如ExCNet[13],Ze⁃ro-DCE[14],Zero-DCE++[15]等,但这类方法往往会导致图像噪声,增强效果不佳。

现有的低光照图像增强方法往往只关注图像的增强,忽略了图像噪声的影响,因此会出现图像亮度和对比度不足、颜色失真、噪声伪影等情况。本文提出了一种基于上下文Transformer 的图像增强网络,对减少噪声影响,图像亮度增强有显著效果,特别是在图像暗部区域的增强。本文贡献包括:

1)将Transformer 模块引入到低光照图像增强领域,相比卷积神经网络,使用Transformer 能够更好地提取图像全局特征信息,此外本文使用改进的Transformer引入上下文信息,能更好地利用全局和局部特征信息。

2)使用金字塔池化模块,融合图像的多尺度特征并扩大全局的感受野,进而消除潜在的噪声干扰,减少图像伪影。

3)引入动态卷积来减轻计算负担,减少参数量;另一方面添加瓶颈结构的卷积进而加深网络深度,显著提高模型性能。

2 相关工作

基于深度学习的低光照图像增强方法是目前的主流方法,本文主要介绍下面三类:基于Retinex理论的方法、基于曲线估计的方法与基于生成对抗网络的方法。

1)基于Retinex理论的方法

在Retinex 理论的支撑下,加上不同的先验正则优化模型,将低光照图像分解成照明图和反射图,出现了几个方法。RetinexNet[8]提出将输入图像分割成反射图和照明图,用Enhance-Net 模块来调整照度图以实现低光增强。为了减少计算负担,Li 等提出了一种用于弱光图像增强的轻量级模型LightenNet[9],它只由四层网络组成。LightenNet 将弱光图像作为输入,然后估算其照度图。为了准确估计光照图,Wang 等通过他们提出的DeepUPE 网络[10]提取全局和局部特征来学习图像到光照的映射关系。KinD[11]设计了一个多分支网络,构建了三个子网络,分别进行图像分解、反射图增强和亮度调整。RUAS[17]通过Retinex 理论引入先验信息约束,使用神经网络结构搜索,在求最优解的过程中建立轻量的增强网络模型。

2)基于曲线估计的方法

Zhang等[13]提出了一种零次学习方法,称为Ex⁃CNet,用于背光图像修复。它首先使用一个网络来估算最适合输入图像的S曲线。一旦S曲线被估算出来,输入图像就通过引导滤波器被分离成一个基础层和一个细节层。然后通过估算的S 曲线来调整基础层。Zero-DCE[14]提出一种深度曲线估算网络。它将低光增强视为一项针对图像的曲线估算任务,它将低光图像输入,输出为高阶曲线。此外,还提出了一个快速和轻量级的版本,称为Ze⁃ro-DCE++[15]。这种基于曲线的方法在训练期间不需要任何配对或非配对的数据。它们通过一组非参考损失函数实现零参考学习。

3)基于生成对抗网络的方法

EnlightenGAN[12]采用注意力引导的U-Net 作为生成器,并使用全局-局部判别器来确保增强的结果看起来像真实的正常光线图像,还提出了全局和局部自我特征保留损失,以保留增强前后的图像内容。Yang[16]等提出了一种半监督深度递归频带网络(DRBN)。该算法首先在监督学习下恢复增强图像的线性频带表示,然后通过基于无监督对抗学习的可学习线性变换对给定频带进行重组,获得改进的波段表示。

3 本文方法

本文设计了一种基于上下文Transformer[18]的网络模型,如图1 所示,首先将输入的低光照图像用动态卷积网络进行特征提取,然后进行深层特征提取,包括3 个上下文Transformer 模块(SCTB)和1个金字塔池化模块(PPM)处理,最后通过瓶颈结构的卷积神经网络输出增强后的图像。

图1 基于上下文Transformer的低光照图像增强网络图

3.1 移动窗口上下文Transformer模块(SCT)

Transformer 最先在自然语言处理(NLP)中应用,是为序列模型而设计的,它能够使用注意力机制来建模数据中的长距离依赖关系。Vision Trans⁃former(ViT)[19]首先将Transformer 应用到计算机视觉领域,在之后针对不同的计算机视觉任务产生了一系列的工作。基础的Transformer 模型需要大量的数据来进行训练,同时,模型的参数量也比一般的CNN 网络模型参数量大,Transformer 中的全局自注意力机制捕捉数据的长距离依赖关系,大大增强了编码器-解码器结构对图像的视觉特征提取效果。

Swin Transformer[20]提出了在局部窗口内计算多头自注意力(W-MSA),窗口以不重叠的方式进行分割图像,全局共享参数,这样大大减少了计算参数量。其独特的移动窗口分区的方法,保证了在非重叠窗口计算的同时也引入了窗口之间的连接,由此构建移动窗口多头自注意力(SW-MSA)模块。考虑到局部的上下文信息对图像恢复类的视觉任务有重要作用,原先的Transformer架构中的前向网络没有充分利用局部的上下文信息,但是相邻的像素是底层图像处理任务的一个重要参考信息,因此CeiT[21]在前向网络中添加一个深度可分离卷积块,用卷积来捕获有用的局部上下文信息,构建局部增强的上下文前向网络(LeFF)模块。

结合Swin Transformer 和CeiT 这两个工作的改进,本文构建了移动窗口上下文Transformer 模块。在Transformer 模块内部使用局部位移窗口多头自注意力模块(SW-MSA),保证窗口不重叠的同时也共享全局参数权重以减少参数量。将改进的前向网络模块(LeFF)添加到Transformer 模块中。使得CNN 的提取底层特征强的优势与Transformer 建立长距离依赖优势相结合,能够有效地提取图像特征信息。

3.2 金字塔池化模块

在低光照图像增强任务中,受模糊和噪声的影响,导致增强之后的图像容易出现原先没有的伪影,造成效果变差。这一问题出现的原因是,在提取深层特征时,深层神经网络的感受野大小限制了上下文信息的提取,为解决这一问题,本文在Transformer模块提取图像特征之后,还尽可能地利用上下文先验信息。

金字塔池化[22]模型采用大小不同的池化层,获得图像的多尺度信息,再将得到的多尺度特征图融合,最后得到与原图大小相等的特征图。根据这类模型的特性,本文在搭建金字塔池化模块的时候,选择了一个六分支的池化层,大小分别是1×1,2×2,3×3,4×4,6×6,8×8,在每个池化分支后连接一个1×1的卷积,以方便进行通道之间的融合,如图2所示。最后通过双线性插值进行上采样得到和图像大小相同的特征。该模块抑制了可能由模糊和噪声的其他退化共存引起的伪影,对提高低光照图像增强的最终效果至关重要。

图2 金字塔池化模块图

3.3 动态卷积模块

为了拥有更好的网络性能,在网络中往往使用更多的卷积层数,或者是使用更大的卷积核来提高感受野的大小。但这往往会带来高额的计算负担,使得性能的提升并不高效。Chen[23]提出的动态卷积,引入了注意力机制,针对输入使用不同的卷积。常规的卷积输入输出的关系如式(1)所示:

式中W,b,g(*) 分别表示权重,偏置及激活函数。动态卷积的输入输出关系如式(2)所示:

式中πk表示注意力权值,根据输入的变化而变化。因此,动态卷积比传统的静态卷积表征能力更强。在前期的特征提取阶段,采用动态卷积的方法,将提取的特征送入到后续的Transformer 模块中。

在图像增强阶段,采用瓶颈结构的卷积块,有利于减少参数,提高网络深度。1×1 卷积可用于对通道间信息进行编码,但无法捕获空间信息,采用深度可分离卷积来捕获空间信息,将1×1 的卷积添加在深度可分离卷积之间,前一个1×1 卷积用于通道上的降维,后一个用于升维。再加上一个反向残差连接,以学习表达空间上下文信息。

3.4 损失函数

本文损失函数包括L1 损失[36]、SSIM 损失[24]以及感知损失[25]。L1 损失函数在目标边缘的对比度,均匀范围内的平滑效果方面表现较好,同时SSIM 损失函数的结构约束能够很好地还原图像的结构信息和局部细节信息,感知损失函数是为了能够减少增强图像和现实图像之间的差异,提高增强图像观感和减少细节方面的失真。

3.4.1 L1损失

在底层的计算机视觉任务中,L1 损失[36]被广泛使用,采用L1损失相比L2损失会避免L2损失带来的过度平滑,有助于刻画目标的边缘轮廓信息,对比度强。L1损失函数的表达式为

3.4.2 SSIM损失

在暗光环境下的拍摄的图像,往往会出现内容模糊,细节丢失,噪声伪影等问题。SSIM 评价指标关注的是生成图像和真实图像之间的结构信息差异,本文将SSIM 结构损失[24]引入进来,旨在提高增强图像的输出视觉效果。

SSIM结构相似性损失函数的表达式为

式(4)中μx,μy分别表示生成图像和真实图像的像素平均值,σxy表示两个图像的乘积标准差,和分别表示生成图像和真实图像的方差,N代表样本总数,C1,C2为常量。

3.4.3 感知损失

L1 损失和SSIM 损失用于捕捉图像的底层信息,在增强低光照图像的过程中,还需要使用图像的高层信息来提高视觉感受质量。感知损失[25]是针对底层视觉任务提出的,其思想是使用预训练模型提取图像特征信息,在本任务中用于获取真实图像信息和增强后的图像信息,再逐像素地计算两者差异。感知损失函数的表达式为

式(5)中,ϕ()∙代表预训练模型处理后图像的第j个特征图,C代表通道数,H和W分别代表特征图的高度和宽度。

总体的损失函数表达式为

式(6)中λ1,λSSIM和λper分别为权重系数。

4 实验结果分析

4.1 实验环境配置及数据集介绍

本实验在NVIDIA GTX 2080Ti GPU 上进行训练,操作系统为Ubuntu 16.04。使用Pytorch 1.5 深度学习架构来进行训练和测试。

为了客观比较,本文实验均在公开数据集上进行。选择在低光照图像数据集:NPE[26]、LIME[27]、MEF[28]、DICM[29]上进行测试,由于这些数据集没有对应的参照图,只有低光照情况下的图像,选择使用主观评价以及量化的图像测试指标进行图像质量评价。

为了更直观地体现本任务的研究效果,选取目前针对超暗光场景的低光照图像数据集LOL[30]。

4.2 实验评估及结果比较

为了展示本文模型的优越性,本文进行了大量实验分析,并与当前的主流工作:LLNet[7],Retinex[8],EnglightenGAN[12],KinD[11],KinD++[31],Zero-DCE[14],DeepLPF[10],Zero-DCE++[15],DRBN[16],Retinex-Net[32]进行比较。本文从主观层面以及多个客观评价指标,进行了多方位的实验分析。

4.2.1 无参考数据集评价

本文在数据集NPE[26]、LIME[27]、MEF[28]、DICM[29]上进行测试。邀请15 位测试官进行打分,增强效果由低到高对应打分的数值从0到5。在无参考图像的数据集指标评价上,选择图像视觉保真度(VIF)[33],该指标是基于自然场景统计和由人类视觉系统提取的影像信号的概念的图像质量评估参数,数值越高说明图像的细节信息越好。各方法在各个数据集上的测试结果,如表1 所示,前一个数值代表测试官的打分,后一个数值代表评价指标VIF的得分。

从表1 中可以看到,本文结果在大部分数据集上指标均能达到最优,同时,在数据集LIME 和MEF 中,在指标VIF 上达到次优。在数据集LIME上,方法KinD++取得VIF 指标最优,它引入多尺度亮度注意力模块,对图像亮度有更好的提升。在数据集MEF 上,方法DRBN 取得指标VIF 最优。本文方法虽然在这两个结果上没有取得最优,但是在剩余结果上均取得最优,整体表现上,本文结果占较大优势。本文取得优势的原因在于引入Transform⁃er来进行特征提取,充分发挥了Transformer在长距离依赖的优势,并结合局部上下文信息,很好地输出增强图像。

表1 无参考数据集上的测试结果对比表

为更加直观地呈现实验结果,图3 展示了不同方法在数据集DICM 上的测试结果,大多数方法均能提高低光照图像的亮度,但有些方法上会存在阴影、颜色失真等情况,有严重的视觉信息缺陷。本文方法得益于引入金字塔池化模块,在伪影消除方面具有良好的表现;通过损失函数的约束,刻画了图像的边缘信息,在光线的调节方面有好的表现,拥有更自然的颜色和良好的亮度和对比度,具有优秀的视觉效果。

图3 数据集DICM上的测试结果图

4.2.2 有参考数据集评价

在LOL 数据集上,采用峰值信噪比(PSNR)[34]和结构相似性(SSIM)[35]这两个指标来评价实验结果。PSNR 指标用来评价图像的失真程度,值越大失真程度越小,图像的质量越高。SSIM 用来评价图像的结构信息,值越大结构信息越完善。

从表2中可以看出本文方法在PSNR 指标上超过其他方法取得了最优,达到20.74 的结果;在SSIM 指标上取得了次优,达到了0.822 的结果,且与最优方法DRBN 的0.831 结果差距不大。图4 中展示了各个方法在LOL 数据集上的测试结果对比图,从参照图可以看出,本文生成的增强图像具有显著优势。本文得益于引入Transformer架构,充分发挥Transformer 在计算机视觉领域的优点。此外还弥补Transformer在局部信息使用不充分的缺点,针对图像增强领域这个任务特点,加强了对局部上下文信息的使用。引入金字塔池化模块对噪声抑制有好的表现,选择的损失函数针对图像颜色自然过渡,边缘纹理信息恢复有好的表现。

表2 数据集LOL上的测试结果对比表

图4 LOL数据集上的测试结果对比图

4.3 消融实验

为确定各个部分在模型中的作用,进行以下消融实验。实验1 去除金字塔池化模块,全部替换成普通的卷积模块;实验2 去除LeFF 模块去除,换成传统Transformer 模块的前向传播模块;实验3 去除L1 损失;实验4 去除SSIM 损失;实验5 去除感知损失。每个实验的目的为了确定各个模块在本模型中的重要地位和不同的目的性。

分析图5的消融实验对比图和表3的消融实验结果对比表,可以发现,实验1 中去除金字塔池化模块,结果图产生了模糊和伪影的情况,噪声未能去除,两个指标均下降严重;实验2 去除LeFF 模块。

图5 消融实验结果对比图

表3 消融实验结果对比表

有部分的暗区没有得到有效增强,整体的增强效果差,两个指标也是下降明显;实验3和实验4出现了整体颜色偏暗淡,结构信息变差,两者分别是没有使用L1 损失和SSIM 损失,从指标上分析,指标均有不同程度的降低;实验5 减少了感知损失,结果图在视觉效果上,还不足够好,细节纹理信息有所欠缺,两个指标也均有下降。

5 结语

本文提出了一种全新的低光照图像增强的方法,并且相比本领域内当前先进工作,具有一定的优势。本文设计了一种基于上下文Transformer 的网络模型,结合金字塔池化模块、动态卷积以及多个损失函数,完成了端到端的网络训练。在不同数据集上取得了良好的结果,对图像的亮度、对比度提升,纹理特征细节恢复,颜色信息自然过渡和伪影噪声抑制等方面有了很好的效果。在无参照图像和有参照图像的数据集上的各项指标表明本文的结果相比当前主流算法有一定优势。此外,本文的方法适用性更加广泛,后续的工作计划是在更多数据集上实验和优化模型。

猜你喜欢

图像增强光照卷积
节能环保 光照万家(公益宣传)
基于3D-Winograd的快速卷积算法设计及FPGA实现
图像增强技术在超跨声叶栅纹影试验中的应用
节能环保光照万家(公益宣传)
水下视觉SLAM图像增强研究
虚拟内窥镜图像增强膝关节镜手术导航系统
从滤波器理解卷积
春光照瑶乡
基于傅里叶域卷积表示的目标跟踪算法
基于图像增强的无人机侦察图像去雾方法