张浩文,杨 燕,张金龙,王志伟
(1.兰州交通大学 电子与信息工程学院,甘肃 兰州 730070;2.国网甘肃省电力公司兰州供电公司,甘肃 兰州 730050)
在雾天条件下,成像设备采集图片时会受到大气中悬浮粒子等杂质的影响,通常表现为采集到的图片对比度下降、颜色模糊等。基于复原的去雾方法依据大气散射模型,引入一系列先验信息等条件,进而估计大气光与透射率。He K 等人[1]提出基于暗通道先验(dark channel prior,DCP)的图像去雾算法,对于大多数有雾图像都能取得较好的处理效果;但对含有大片天空或白色区域的图像则失效。Yang Y等人[2]提出基于边缘保持函数代替最小滤波拟合暗通道的去雾算法,利用幂律压缩和线性衰减克服最小滤波的局限性,得到较为准确的透射率;但对于一些含有超远景区域的图像会产生失真现象。Xu Y 等人[3]提出结合暗通道和亮通道先验理论的去雾算法,取得了不错的复原结果;但由于透射率估计不准,复原结果局部区域仍存在失真现象。基于复原的去雾算法[1~14]大多需借助先验信息,导致复原结果并不总是很准确。
近些年随着人工智能与深度学习的迅速发展,一些研究人员将神经网络应用于图像去雾。Cai B等人[15]提出端到端的去雾网络(DehazeNet)结构,通过提取特征,结合多尺度映射与最大池化等操作得到雾气特征,训练出有雾图像的透射率,进而得到清晰图像。Ren W Q等人[16]提出多尺度卷积神经网络(multi-scale CNN,MSCNN)结构,结合细尺度网络优化得到透射率,进而得到复原结果。Li B 等人[17]将透射率与大气光合并为一个变量,提出新型网络结构(all-in-one dehazing,AOD-Net)估计此变量,消除了大气光与透射率分别训练的误差,取得较好的复原效果,但复原结果整体偏暗。Liu 等人[18]提出残差网络结构,结合有雾图像及其假设或者先验信息估计透射率,进而得到复原结果。Qian W 等人[19]提出一种新型去雾卷积神经网络(CNN)——CIASM-Net,该网络模型包括颜色特征提取子网络和深度去雾子网络,并使用多尺度卷积估计透射率,进而得到复原结果。目前这类方法[6,7,15~20]得到了快速发展,并取得较为理想的效果。
本文提出了一种用以去除雾霾的注意力机制与分组多尺度并联CNN模型。主要包含深层常规卷积模块、浅层分组卷积模块、残差块与注意力机制结构。深层卷积主要提取RGB 通道与雾气相关特征,浅层卷积主要克服RGB 通道的互相影响与色彩渲染造成的结果失真问题。为了克服反向传播梯度消失与深层网络特征信息丢失问题,引入残差处理,并以通道注意力的方式合理分配特征资源,进而得到训练结果。
用大气散射模型描述雾天条件下图像的降质过程为
式中 I(x)为成像设备采集到的有雾图像,J(x)为复原的清晰图像,t(x)为介质透射率,A 为大气光值。大多数研究人员借助一些先验信息或者假设条件估计透射率与大气光,但由于假设条件和先验信息的引入,导致一定程度的主观干扰,复原结果产生偏色和失真等现象。为此,Li 等人[17]将透射率与大气光进行集中学习,将大气散射模型处理如下
进一步可得
式中 f(x)=[(I(x)-A)/t(x)+(A -Δ)]/(I(x)-1),Δ为偏差,取值为1。
网络结构主要包含深层常规卷积模块,浅层分组卷积模块,上、下2 个注意力模块,5 个残差处理模块(RB1—RB5),整体网络结构如图1所示。
图1 本文网络结构
本文采用多尺度卷积核构成的并联卷积结构,学习有雾图像与f(x)的映射关系。彩色图像一般处理其RGB 3个颜色通道,以图2(a)的2 个图为例,其RGB 通道分布曲线如图2(b)所示。
图2 彩色图像及其RGB分布
为消除三通道互相作用的问题,引入分组卷积与常规卷积的并联结构。常规卷积模块参数如表1 所示,分组卷积模块参数如表2所示。
表1 常规卷积模块参数
表2 分组卷积模块参数
深层常规卷积模块包含8 层不同尺度卷积,主要用来提取有雾图像RGB通道和f(x)之间的相关性特征。利用多尺度提取策略可以获得更丰富的雾浓度相关特征,提取更全面的图像细节信息。分组卷积模块包含4 层卷积,前3层将有雾图像RGB通道分组学习,克服三通道互相作用与提取的特征间互相渲染的问题。在深层卷积模块中,随着网络层次的加深,可能出现梯度消失等问题。He K等人提出的残差网络结构很好地解决了梯度消失与信息丢失问题,因此,本文对深层卷积的特征图进行残差处理。
在并联结构深层卷积模块中,每隔两层卷积得到一个残差块,即第1层和第2 层卷积的输出特征进行残差处理得到第一个残差块RB1。将RB1 作为第3 层卷积的输入,第3层和第4层卷积的输出特征进行残差处理得到残差块RB2,以此类推。并联结构最后一层的输出与原始图像也做一次残差,以避免特征图信息丢失的问题,残差处理结构如图3所示。
图3 残差处理结构
本文对并联结构中深层常规卷积块和浅层分组卷积块的最后一层输出特征分别进行通道注意力加权操作。通道注意力加权时,将待处理的特征图记为Ri,i∈{1,2},通道注意力权重为mi∈R1×1×C,C为特征图通道数,则加权后的特征可表示为
在深层卷积模块中,分别将第1,3 层和第5,7 层的输出特征进行通道合并,并对合并后的特征进行平均池化和1 ×1卷积处理,1 ×1卷积是为了保证注意力权重个数与处理的特征通道数保持一致。浅层分组卷积模块中,将第3层的输出特征进行同样的处理得到注意力权重值。通道注意力处理结构如图4所示,其中,Conv8 out表示深层卷积第8层的输出特征。
图4 通道注意力加权处理结构
图像复原采用L2损失函数即均方误差(MSE)函数作为损失函数,表达式为
式中 m为训练样本数目,fi为网络结构第i 组的输出结果,gi为第i组输出结果对应的标签。
本文选择RESIDE 数据集中的1 390 张清晰图像作为标签,每个标签以不同的参数合成10 张不同雾浓度的有雾图像,即将1390张标签对应的13 900 张有雾图像作为训练集。选择RESIDE为测试集,包含500 张室内合成图,500 张室外图。整个训练过程的学习率为0.000 1,训练集图像大小均设为480 ×640像素,网络训练时参数优化方法选择随机梯度下降法,所有卷积步长为1。训练环境为NVIDIA RTX 1050Ti GPU,编程采用Pytorch深度学习框架。根据实验,迭代次数为20 左右时,整个训练过程达到收敛,本文模型训练损失曲线如图5所示。
图5 本文训练损失曲线
最后根据式(4)恢复清晰图像,本文复原模型结构如图6所示。本文复原公式与文献[17]一致,但本文复原结果无论在亮度方面,还是去雾程度均优于文献[17]结果。图7为本文结果与文献[17]结果的局部对比,由白色框部分可以看出本文网络对于颜色保真度较好。根据大气成像理论,薄雾区域容易去雾过彻底导致颜色失真。由黑色框部分可以看出,本文在近景地面区域去雾的同时保留了更加符合视觉效果的色彩和亮度特点。
图7 本文结果与文献[17]结果局部对比
本文选择真实环境下的有雾图像与合成数据集中的合成雾图分别进行主客观评价。在主客观评价时,选择了一些在图像复原领域比较经典的算法进行对比,分别为He K等人的DCP算法[1],Cai B等人的Dehaze-Net 算法[15],Ren W Q 等 人 的MSCCN 算 法[16],Li B等 人 的AOD-Net 算法[17],Yang Y等人的Haze Removal算法[2]。
真实环境下的实验结果对比如图8 所示,合成数据集中室内与室外实验结果对比如图9 和图10 所示。经对比可以看出,相比其他算法,本文算法整体复原效果较好,去雾彻底,亮度适宜。
图8 真实环境下雾图及其复原结果对比(图像1—图像3)
图9 测试集室外图复原结果对比
图10 测试集室内图复原结果对比
对于图7所示真实雾图复原结果采用可见边数e与平均梯度r进行客观指标对比分析。在RESIDE 数据集随机选择1 000幅合成雾图进行峰值信噪比(peak signal to noise ratio,PSNR)与结构相似性(structural similarity,SSIM)的定量分析,上述指标的数学计算式如下
式中 nr,n0分别为有雾图像和无雾图像的可见边,Ω为无雾图像可见边集合,μi,μo为输入与输出的平均值,σ为输入输出的协方差,为输入与输出的方差,ω1,ω2为避免分母为0的常数,fi,fo为清晰图像标签和去雾图像。上述4个指标越大,说明算法有效性越高。
由图11可以看出,本文所提模型对真实雾图的处理在客观指标上取得了理想的评分。Haze Removal算法从大气散射模型出发,以传统的方法估计了透射率和大气光,对于真实环境下的有雾图像复原结果较为理想,因此其客观指标较为理想,与本文算法相差不大。DCP 算法、Dehaze-Net算法、MSCNN算法、AOD-Net 算法在处理自然雾图时其客观指标均落后于本文算法。
图11 自然雾图客观指标对比
由表3可以看出,本文所提模型相对其他算法在PSNR和SSIM上均取得了良好的评分,进一步表明本文算法的有效性和适用性。
表3 各算法测试集客观指标对比
本文将大气光与透射率联合训练的方式极大地降低了二者分别学习引起的误差放大问题,使训练过程取得较好的拟合性。利用深层常规卷积与浅层分组卷积的并联结构,有效解决了彩色图像RGB 通道密切相关和互相影响,其中常规卷积用来提取其相关特征信息,分组卷积对RGB通道分组学习,进而将常规层与分组层的输出特征融合处理,以达到互相补偿与抑制的作用。最后利用改进的大气散射模型获得清晰图像。实验表明,所提模型在主观评价与定量分析中均表现优异。