基于灰度补偿和特征融合的沙尘图像修复方法
2023-11-27丁伯圣张睿恒徐立新陈慧敏
丁伯圣, 张睿恒, 徐立新, 陈慧敏
(北京理工大学 机电动态控制重点实验室, 北京 100081)
0 引言
沙尘天气下,空气中被卷入了大量的半径较大的沙尘颗粒,导致物体反射的光在传播到成像设备之前与沙尘介质发生了吸收、散射等相互作用。如图1所示,与红光相比,蓝光和绿光被沙尘颗粒吸收的速度要快得多,严重衰减了RGB图像中蓝(B)、绿(G)通道灰度分布(见图1(a)),导致图像整体颜色偏移、失真;另一方面阳光在悬浮颗粒表面形成散射被成像设备接收,散射的光线给图像添加了噪声,造成图像对比度下降、轮廓模糊。上述因素都严重影响了户外视觉应用的可靠性[1-2],因此,研究沙尘退化图像的修复方法显得至关重要。
图1 沙尘图像和对应清晰图像的灰度直方图统计Fig.1 Gray histogram statistics of sand-dust image and clear image
现有的图像修复方法可以分为两类:像素级图像增强和基于物理模型的图像修复。像素级图像增强方法通过在空间域内的逐像素灰度值调整或者频率域内的滤波器设计来消除颜色偏移和提高对比度。Xu等[3]提出一种张量最小二乘优化模型,用于增强沙尘修复图像的边缘和细节。Cheng等[4]提出蓝色通道光学补偿法对沙尘退化图像的颜色进行校正。Park等[5]提出一种利用颜色直方图的均值和标准差的像素自适应颜色校正方法,实现沙尘图像颜色校正和清晰化。Al-Ameen等[6]提出一种优化的模糊增强算子快速处理沙尘退化图像的方法。Yang等[7]提出一种利用直方图匹配将沙尘图像转化为雾霾图像,通过图像去雾方法来实现图像去沙尘。这类方法只对图像中特定特征进行处理且只考虑邻接像素间的空间相关性,无法兼顾图像特征的多样性和全局性。因此,像素级图像增强方法容易导致细节信息丢失,增强效果不明显。
基于物理模型的修复方法主要通过对沙尘图像退化模型的参数估计来还原出清晰图像。He等[8]提出暗通道先验去雾,通过估计大气光和透射率来进行图像修复。Shi等[9]提出了一种在LAB空间将沙尘图像转换为雾霾图像,经DCP去雾和增强对比度来实现沙尘图像增强。Kim等[10]基于图像饱和度计算透射率和大气光来实现沙尘图像修复。对于特征维数复杂的沙尘图像,基于物理模型的方法容易因参数估计不准确,导致修复图像中出现光晕、色块畸变、图像扭曲。
卷积神经网络通过不同的卷积核可以自动提取出图像的高维特征[11-13],在雾霾图像、雨天图像、水下图像修复等领域,这类方法在改善纹理细节信息、提高图像颜色真实度等方面取得了显著成果。相比于雾霾颗粒和水分子,沙尘颗粒半径大、分布不均匀,对光的吸收和散射更强,沙尘图像偏色不同且更严重、对比度更差。受图像特征的差异性和领域知识的限制,现有的模型不能有效地提取图像中语义分量,对沙尘特征提取效率低、模型泛化能力差,图像修复效果不明显。
针对以上问题,本文提出了基于图像预处理和特征融合的沙尘图像修复框架,该框架不需要设计数字滤波器和估计物理模型参数。本文方法不直接对沙尘图像处理,而是预先对沙尘图像进行特征补偿和特征转换,以恢复图像中的潜在信息、消除颜色偏移和提高对比度。在此基础上利用卷积神经网络来提取出图像的高维特征,经特征融合和图像重建后恢复出清晰的图像。大量实验表明,该方法有效地提高了沙尘图像的质量并取得了满意的视觉效果,图2展示了本文方法对沙尘图像恢复后的效果。
1 沙尘图像修复模型
1.1 框架概述
沙尘图像修复的目的是从输入的退化图像中准确地预测出清晰的图像。如图3所示,本文提出了一个由特征转换预处理和特征融合网络组成的两阶段沙尘图像修复框架。第1阶段:特征转换预处理模块对输入的沙尘图像进行灰度分布补偿处理,然后分别用颜色均衡和对比度增强方法进行特征预处理,生成两个类型不同的派生图像(ICE、ICB)。第2阶段:采用基于特征融合的卷积神经网络对两个派生图像分别进行特征提取、融合和图像重建,生成最终清晰图像。
图2 沙尘图像修复效果图Fig.2 Restored sand-dust image
图3 沙尘图像修复框图Fig.3 Sand-dust image restoration frameworks
1.2 特征转换预处理模块
沙尘图像中有两个主要因素需要处理:1)由于大量蓝光和绿光被吸收而导致的图像偏黄、场景颜色特征丢失严重;2)沙尘颗粒对大气光散射而导致的能见度低、图像模糊。因此,需要对沙尘图像进行特征预处理来恢复图像中潜在特征、消除颜色偏移和提高能见度。
1.2.1 沙尘图像灰度分布补偿
与红光和橙光相比,蓝光和绿光被沙尘颗粒吸收的速度要快得多,吸收造成了沙尘RGB图像中蓝、绿通道灰度严重衰减。直接采用传统白平衡方法进行沙尘图像特征转换,会造成严重的蓝色伪影和信息丢失。因此,本文提出了一种基于信息损失的灰度分布补偿方法来减少衰减通道的损失,以恢复沙尘图像里潜在的特征信息。以未衰减的红色通道灰度分布作为目标参考,在[0,255]范围内通过迭代方法来补偿和调整衰减通道灰度分布,增强图像中的蓝、绿颜色分量,以获得分布一致的灰度直方图。算法过程如下:
步骤1分别对沙尘图像的{R,G,B}通道进行灰度分布直方图统计。
步骤2在红色通道灰度直方图中均匀采样,生成目标二维(灰度值及相同灰度的像素数量)点云P,取点集Pi∈P。
步骤3在衰减通道灰度直方图中均匀采样,生成源二维(灰度值及相同灰度的像素数量)点云Q,取点集Qi∈Q。
步骤4计算源点云与目标点云间平均距离;
(1)
式中:n为在[0,255]灰度区间内采样点数量;Tj表示第j次补偿量,初始值T0=0。
步骤5将衰减通道灰度分布函数f(x)沿红色通道灰度方向迭代补偿Tj个单位,补偿后的灰度分布为
Fj(x)=f(x-Tj)
(2)
步骤6补偿后的灰度像素值可能会有部分超出[0,255]的有效动态范围,超过255的溢出部分被截断为255,低于0的部分被截断为0,截断造成了相应场景像素丢失,计算信息损失:
(3)
步骤7更新灰度值补偿量,
(4)
步骤8转步骤4,遍历整个灰度采样空间,计算n次源点云与目标点云间平均距离{d(T0),d(T1),…,d(Tn-1)}和信息损失。衰减通道补偿量T由平均最小距离和信息损失约束共同决定,当信息损失小于设定阈值时,T选取目标点云与源点云间最小距离时刻的补偿量;反之,不再对其进行迭代更新,T选取信息损失在阈值时刻的补偿量。
(5)
式中:Eth为像素损失阈值。若Eloss大于阈值,则表明像素溢出较多、信息损失过大,本文选取
(6)
步骤9补偿后的最终灰度分布Ffinal(x):
Ffinal(x)=f(x-T)
(7)
如图4所示,以红色通道灰度分布作为基准,通过对蓝色和绿色通道采用灰度补偿方法来实现沙尘图像特的征转换,沙尘图像的整体颜色有显著改善。图4(b)中的坦克和周边地面轮廓细节和颜色等潜在信息得到了恢复,为后续的图像修复提供了更多特征信息。
图4 灰度补偿前后的图像示例Fig.4 Images before and after gray compensation
1.2.2 派生输入
灰度分布补偿后的图像IGDC减小了沙尘图像中蓝色和绿色通道的灰度损失,恢复了图像中潜在颜色特征,但图像整体仍存在颜色偏移、对比度低。因此,如图5所示,在IGDC的基础上特征转换出两个类型不同的派生图像,以消除颜色偏移和提高对比度:
图5 特征转换后的派生图像Fig.5 Derived images after feature transformation
图6 特征融合网络框架Fig.6 Feature fusion network frameworks
1)颜色均衡派生图像ICB:颜色是描述图像特征的重要参数,沙尘图像的偏色掩盖了图像中潜在的颜色、纹理等特征信息,不利于修复网络的特征提取和分类。因此,获取颜色均衡的输入图像对于提升沙尘图像修复质量至关重要。第1个派生图像采用白平衡技术来消除大气光和环境引起的颜色偏移,准确还原图像色彩特征。本文利用经典的灰度世界理论,通过调整图像IGDC在R、G和B通道色彩分量的平均值趋于同一灰度值,来生成颜色均衡的派生图像。
2)对比度增强派生图像ICE:虽然白衡处理可以去除大气光引起的颜色偏移,但图像仍呈现低对比度、轮廓模糊,尤其较远处的区域细节丢失严重。受文献[14-15]的启发,第2个派生图像通过采用对比度增强方法来提高沙尘图像中较远处场景的能见度,以提高图像的全局可见性。对比度增强方法通过从输入的模糊图像中减去整个图像的平均亮度值,再使用一个调节因子线性增加模糊区域的亮度来获得对比度增强图像,定义如下:
ICE=μ(IGDC-GDC)
(8)
式中:μ为调节因子,μ=2(0.5+GDC),GDC为图像IGDC的平均亮度值。利用整个图像的平均亮度来动态调整放大系数,使对比度小的区域得到较大增强,而对比度大的区域增强较小。
1.3 基于特征融合的沙尘图像修复网络
沙尘图像特征复杂且退化严重,采用传统的人工设计数字滤波器或者估计物理模型参数,容易导致沙尘特征提取不准确、不全面,造成修复效果不明显。受卷积神经网络能全面提取图像高维特征的启发,本文采用对抗生成网络的方式提取沙尘图像特征。如图6所示,沙尘图像修复网络由基于特征融合的生成器和鉴别器组成。网络分别对两路派生输入进行特征提取和融合,并通过对抗的方式端到端地输出清晰的修复图像。
1.3.1 基于特征融合的生成器
生成器包含编码-解码模块、特征融合和图像重建网络组成。编码-解码模块用于对派生输入图像(ICE、ICB)的特征提取。网络结构借鉴Johnson等[16]的配置,该结构包括下采样特征提取模块、特征分类模块和上采样特征重构模块3部分。编码器使用两个滑动步长为2的卷积对派生输入进行下采样特征提取和数据筛。解码器使用两个滑动步长为1/2的卷积层进行上采样和非线性空间转换来输出多维高级特征。派生图像ICB包含了图像和图像区域内所对应景物的颜色、形状及不同场景内容在图像中的空间关系(连接/邻接、交叠/重叠和包含/包容)等全局信息,编码-解码网络提取图像ICB的特征FCB偏向于体现图像颜色、区域和空间关系等全局特征信息。派生图像ICE增强了图像的对比度,突出了图像中景物的纹理细节和表面组织结构等信息,编码-解码网络提取图像ICE的特征FCE偏向于包含边缘、轮廓和形状等局部特征信息。为保留更多的维度和不同尺度特征图的语义信息,对两路分支特征采用特征拼接的融合方式,以形成更厚的特征Fm。编码-解码网络具体参数如表1所示。
表1 编码-解码网络参数设置Table 1 Encoding-decoding network parameter settings
1.3.2 鉴别器网络
鉴别器用来区分网络生成的修复图像与清晰图像的真假,鉴别器是一个由5个卷积层组成的网络,其基本操作是卷积、批处理归一化和LeakyReLU激活,鉴别器最后一层用一个符号函数将统计概率值归一化为[0,1],鉴别器器网络具体参数如表2所示。
表2 鉴别器网络参数设置Table 2 Discriminator network parameter settings
1.4 损失函数
修复网络损失函数由对抗损失、感知损失、内容损失3项组成:
1)对抗损失用来更新生成器和鉴别器,通过生成对抗的方式指导网络来缩小修复图像与清晰图像间数据分布差异,对抗损失函数为
LA=L(G,D)=EJGT~p(JGT)[lnD(JGT)]+EI~p(Iderived)[ln(1-D(G(Iderived))]
(9)
式中:L(G,D)表示对抗网络损失,G(·)为生成器网络,D(·)为鉴别器网络;EJGT~p(JGT)(·)为清晰图像的数据分布期望值,JGT为清晰图像,p(JGT)为清晰图像的数据分布;EI~p(Iderived)(·)为派生图像数据分布期望值,I∈Iderived为派生输入图像,p(Iderived)为派生图像的数据分布。
2)感知损失计算修复图像JRestored(x)与清晰图像之间的特征差异,通过梯度下降和反向传播来更新参数,生成更逼真的图像,感知损失定义:
(10)
式中:N为特征图数量;j表示卷积层序号;Fj为第j个卷积层的特征映射,使用预训练的VGG19作为特征图提取网络。
3)内容损失计算融合网络生成的修复图像与清晰图像之间的像素级差异,确保修复图像接近于对应的清晰图像。
LC=‖JGT-JRstored(x)‖
(11)
式中:‖·‖表示融合前和融合后的图像与清晰图像间逐像素间欧式距离计算。
4)总体损失。综合对抗损失、感知损失和内容损失来训练沙尘图像修复网络:
(12)
式中:α、λ、β分别为对抗损失、感知损失和内容损失函数权重,控制着3个损失的重要程度。
2 实验结果与分析
为了显示本文的方法在沙尘图像修复的效果,选取一些先进的沙尘天气下图像恢复方法进行比较,并给出定量和定性评估。
2.1 SOTS-Sand数据集
网络训练需要大量成对的标记数据。然而,受场景深度、大气光条件、相机模型和沙尘环境等影响因素,成对的沙尘图像数据集采集成本高、难度大。受Fabbri等[17]的启发,使用CycleGAN方法,在没有成对图像的情况下,网络学习一个映射,将图像从任意域X转换到另一个任意域Y,来作为一种生成成对数据集的方法。在RESIDE标准数据中任意选取2 500张清晰图像作为X域图像集合。通过在沙尘天气下的图像拍摄和网络下载,共收集1 340张沙尘图像作为Y域图像集合。通过CycleGAN训练一个生成器G来学习映射关系F∶X→Y,将来自清晰域X的图像风格转换为沙尘域Y的图像。最后,通过对X中的所有图像进行F映射,得到成对沙尘图像训练数据集。
本文从CycleGAN生成的数据集中选取53对沙尘天气下图像和对应的清晰图像,作为合成测试数据集TESTA,并确保所有的测试图像都不在训练集中。采用经典的峰值信噪比(PSNR)和结构相似性指数(SSIM)两项指标对沙尘图像修复效果进行有参考图像质量评价,指标数值越大、图像质量越好。
2.2 训练细节
算法运行平台为Nvidia GTX 1080 GPU的台式计算机,运行环境为Ubuntu18上的 PyTorch。所有的训练样本都被调整为256×256,在训练过程中,使用ADAM作为优化算法并设置择式(12)中损失函数权重α=0.02、β=1、λ=10-1。在训练过程中,生成器和鉴别器的学习率均为0.000 3,训练50个周期后在测试数据集上对模型进行评估。
2.3 与先进算法的比较
为验证本文方法的先进性,选取了像素级增强、基于物理模型方法以及深度学习方法进行了比较。像素级增强方法包括基于颜色均衡(CCH)[5]、基于能见度修复(VRB)[7]和基于对比度自适应约束(CAL)[20];物理模型方法包括基于饱和度的传输图估计(STME)[10]、暗通道先验(DCP)[8]和YUV空间的沙尘图像增强 (YUV)[21],基于深度学习的Refine-Net[22]和Cycle-GAN[13]。
2.3.1 定量评估
(13)
式中:v1、v2、Σ1、Σ2分别表示自然图像模型与失真图像的均值向量和协方差矩阵。
(14)
(15)
式中:nr为增强图像可见边缘数量;no为原始图像可见边缘数量;ri为可见边缘所在像素的梯度。
表3 不同方法在TestA测试集上的定量评估Table 3 Quantitative evaluation of different methods on TestA dataset
表4 不同方法在TestB测试集上的定量评估Table 4 Quantitative evaluation of different methods on TestB dataset
2.3.2 主观视觉评估
2.3.2.1 合成沙尘图像评估
为验证本文方法在合成图像上有效性和先进性,选用8种不同的典型算法在TESA测试上进行合成沙尘图像视觉效果评估。从表5的主观视觉中可以发现:由于沙尘天气下大多数蓝光被散射和吸收,CCH[5]、VRB[7]和CAL[20]方法通过像素级增强通过衰减颜色通道补偿和直方图匹配,能够消除沙尘图像的颜色偏移,但去沙尘能力有限,图像模糊、对比度低;由于沙尘图像特征参数复杂,DCP[8]、STME[10]和YUV[21]方法不能准确估计物理模型中的中间参数,导致此类方法容易产生严重的伪影和沙尘残留。STME[10]方法修复图像中局部区域存在明显的蓝色伪影。DCP[8]方法生成的图像在远处天空区域修复效果较好,但大量的沙尘残留导致图像质量较低;Cycle-GAN[13]和Refine-Net[22]对沙尘图像特征提取效率低,导致图像增强图像内容和结构略有失真、图像偏暗;相比之下,本文方法通过对沙尘图像特征预处理和采用特征融合等方式,端到端的生成高质量的修复图像。本文方法修复后的图像中天空颜色更真实,建筑物和树木的颜色和纹理等更接近清晰图像,具有良好的视觉效果。
表5 不同方法在TESTA上的修复视觉效果
2.3.2.2 真实沙尘图像评估
为验证本文方法的泛化能力,选取不同场景、不同颜色特征的真实沙尘图像,并用先前的方法进行修复效果评估。如表6所示:CCH[5]和CAL[20]方法能有效消除颜色偏移,但处理颜色较深的沙尘图像后的效果不明显、图像整体模糊;YUV[21]方法修复效果相对较好,但图像局部区域存在颜色失真;DCP[8]、STME[10]方法图像偏黑,对颜色较深的沙尘图像的修复效果更差;由于缺少特征预处理阶段,基于数据驱动的Cycle-GAN[13]和Refine-Net[22]方法无法有效和准确地提取沙尘图像特征,造成生成的图像偏黑、轮廓不清晰;相比之下,对于不同颜色的真实沙尘图像,本文方法修复后的图像颜色更真实,目标轮廓和纹理更清晰,具有良好的视觉效果。
2.4 消融实验
2.4.1 特征转换预处理影响分析
在图像预处理阶段,首先采用灰度分布补偿方法减少衰减通道的灰度损失、恢复图像中潜在的颜色特征。然后使用白平衡和对比度增强方法生成两个派生图像,以消除颜色偏移、提高场景的能见度。为验证灰度分布补偿模块和派生输入模块对沙尘图像修复框架的有效性,进行3项消融实验:1)去除灰度分布补偿模块后的性能测试;2)去除派生输入后的性能测试;3)本文方法的性能测试。
表6 不同方法在TESTB上的修复视觉效果
如表7所示:由于沙尘图像偏色严重,图像中的黄色掩盖了其他特征信息。去除灰度补偿模块导致沙尘图像中潜在的颜色特征没有得到恢复,图像中在地面和天空中均匀有部分沙尘残留存,仍然存在明显的沙尘颜色风格;去除派生输入模块后的修复图像图像模糊、轮廓不清晰,主要是由于网络不能准确、有效地提取颜色偏移、对比度低的沙尘图像特征。相比之下,本文方法采用特征预处理后的修复图像无沙尘残留,颜色更真实、对比度高。同时,从质量评估指标计算结果可以看出,经特征预处理后修复图像NIQE值(4.018 7)最小,修复后的图像更接近真实的清晰图像。
表7 预处理消融实验结果
2.4.2 派生图像影响分析
本文在原始沙尘图像上派生出颜色均衡图像ICB、对比度增强图像ICE,通过对两个派生图像的特征提取和融合来生成清晰的修复图像。为了验证派生输入对沙尘图像修复效果的影响,在TESTA测试集上开展单个输入和多个输入的性能测试。表8中的结果表明:将ICB和ICE两项输入结合起来一起送进网络,相比用单个输入测试结果,PSNR值提高1.738 dB,SSIM值提高0.118,从而验证了多个派生输入特征融合策略的有效性。
表8 派生输入的影响分析Table 8 Impact analysis of derived inputs
2.4.3 损失函数影响分析
网络损失函数在LA基础上增加了LC和Lp两项损失函数,为了验证新增加的损失函数的有效性,进行4项损失函数的消融实验,并采用PSNR和SSIM两个指标在TESTA数据集上开展了定量评估(见图9)。表9中的结果表明:单独使用LA损失函数生成的图像PSNR和SSIM指标均很低;联合LA和LC损失函数生成的图像PSNR值明显提高,表明增加的LC损失函数有助于提高图像信噪比;联合LA和LP损失函数生成的图像的SSIM值明显提高,表明增加的LP损失函数有助于改善图像的结构信息;将LA、LP、LC三者结合起来(LA+LP+LC)一起训练网络,相比LA+LC测试结果,PSNR值提高0.971 dB,SSIM值提高0.027。
表9 不同损失函数的定量分析Table 9 Quantitative analysis of different loss functions
可视化结果如表10所示:联合对抗损失、感知损失和内容损失共同优化后的网络,修复后的图像在轮廓细节、对比度、色彩真实度等方面取得了显著提升,更接近真实的清晰图像。
表10 不同损失函数训练的可视觉效果比较
2.5 修复沙尘图像对高级视觉任务的改善
2.5.1 提升目标检测精度
模糊的图像会影响后续高级计算机视觉任务(目标识别、跟踪、定位)的有效性,为验证沙尘图像修复对提升目标识别、跟踪精度的效果,本文利用COCO数据集上预训练的Faster R-CNN识别模型[23],分别对沙尘图像和修复图像开展了目标检测和识别对比测试。
可视化效果如表11所示,沙尘天气下图像模糊,对目标检测和识别存在大量漏检、定位不准确和置信度低现象。经过算法修复后的图像清晰,对轿车、行人、公交车等目标识别的数量明显增多、准确率更高,从而验证了沙尘图像修复方法在目标检测中的有效性。
表11 沙尘图像及修复图像的目标检测结果比较
2.5.2 图像分割
利用COCO数据集上预训练的Mask_RCNN分割模型[24]分别开展沙尘图像(上层)和修复后图像(下层)的目标分割。如表12中上层图像所示,沙尘图像对比度低、目标和背景差异小,导致图像中的人和车辆分割不准确,分割后区域内部的特征不完整。修复后的图像(下层图像)轮廓清晰、对比度高,目标和背景差异明显,图像中重叠的人物和车辆均完整且准确地分割出来,分割后的区域轮廓均匀、互不交叠。
表12 沙尘图像及修复图像的目标分割效果比较
2.6 运行时间
为验证本文算法的实时性,统计该算法的运行时间,并与其他方法进行比较。随机抽取100幅256像素×256像素的沙尘图像,并计算每种方法的平均处理时间。DCP和CCH是基于传统的优化方法,在没有任何GPU加速的情况下在CPU上的运行。其他方法运行平台为Nvidia GTX 1080 GPU的台式计算机,运行环境为Ubuntu18上的 PyTorch软件平台。100幅图像修复的平均运行时间统计如表13所示。
表13 图像修复平均运行时间Table 13 Average running time of image restoration methods
本文算法建立在机器学习的基础上,网络训练和测试只需只需前向运行,不需要进行二次优化。由表13可以看出,本文方法具有较高的运算效率,所需时间较短、算法实时性较好。
3 结论
本文针对沙尘图像颜色偏移和对比度低的特点,提出一种基于灰度分布补偿和特征融合的沙尘图像修复方法。该方法预先对沙尘图像进行灰度补偿和特征预处理,以恢复沙尘图像中的潜在信息、消除颜色偏移和提高对比度。在此基础上再利用卷积神经网络来提取图像的高维特征,经融合、重建出清晰的修复图像。得出主要结论如下:
1)本文通过对沙尘图像衰减通道灰度补偿和图像高维特征的提取,修复出了更多被沙尘掩盖的细节信息。
2相比于传统方法,本文方法获得的图像更清晰、色彩更真实;在TESTA测试集上的PSNR值提高了3.34 dB,SSIM值提高了0.12;在TESTB测试集上的可见边缘数量比、边缘梯度比分别提高了0.288和0.573。
3)在高级视觉任务中,本文方法能有效提高沙尘图像目标检测精度和图像分割准确率。