基于神经网络的深浅层融合图像去雾算法

2022-09-21 14:00张玮韬杜楷文王永顺
兰州交通大学学报 2022年3期
关键词:浅层特征提取卷积

张玮韬,杜楷文,王永顺

(兰州交通大学 电子与信息工程学院,兰州 730070)

随着我国经济与科学技术的飞快发展,对视觉设备智能化的需求不断提升.然而,识别路标、车辆车牌、道路情况等对图像质量要求较高.作为视觉系统的感知源——图像/视频摄像头,受恶劣天气的影响,大气中漂浮着大量的可吸入颗粒,大气光被这些颗粒散射和反射后,会导致机器视觉成像设备获取到的图像明暗区域最亮的白和最暗的黑之间不同亮度层级的差异下降,清晰度等特征都发生明显变化,细节信息大量丢失[1].因此,为了提高机器视觉成像设备获得的图像品质,机器视觉领域的学者们已经将图像去雾做为了主要的研究项目[2].

当前,常用到的去雾算法可以分成传统的去雾算法和基于深度学习的去雾算法两大类.传统的去雾算法分成两类:一是基于图像增强的去雾算法,二是基于图像复原的去雾算法.第一类去雾算法使用的是图像增强技术来提高图像明暗区域最亮的白和最暗的黑之间不同亮度层级的差异范围,能清晰地展现出去雾后图像中的细节,例如直方图均衡化去雾算法[3]和基于视网膜大脑皮层Retinex去雾算法[4];基于图像复原的去雾算法根据大气散射物理模型,通过对大量有雾图像和无雾图像进行研究学习,获取其中存在的一些映射关系,然后根据有雾图像的形成经过来进行逆推导,从而还原出清晰的无雾图像,例如文献[5-6]提出的暗通道先验去雾算法(DCP).基于深度学习的去雾算法是利用卷积神经网络(convolutional neural networks,CNN)组成一个端到端的模型,通过输入有雾图像,还原出去雾后的无雾图像,例如:文献[7]提出DehazeNet去雾算法,该算法使用多尺度卷积神经网络,并结合最大池化的方法来估计透射率图,从而反推出无雾图像;文献[8]提出的AOD网络去雾模型,是将大气散射物理模型中的两个参数(大气光照和透射率)设定为一个参数,进而降低因为单个参数累加造成的偏差;文献[9]提出的多尺度卷积(MSCNN)方法,可直接利用有雾图像估计出粗透射率图,再进行细化;文献[10]提出了一种由编码器和解码器组成的门控融合去雾网络(GFN),是一种将先验知识与深度学习结合的去雾算法,每个解码器由级联的逐点卷积和池化层构成,并通过稠密连接复用特征信息;文献[11]提出了EPDN图像去雾网络,该网络先通过生成器获得“模拟样本”,再用多尺度判别器判断样本是真实的还是合成的,通过对抗训练获得初阶段的去雾结果,然后通过图像增强技术优化去雾后图像颜色,完善图像纹理细节;文献[12]搭建了一个包含预处理模块、backbone模块、后处理模块的多尺度去雾网络GridDehazeNet,并且在backbone模块引入了基于注意力机制,该网络可以极大限度地提取雾霾特性,再结合获得的参数将不同模块输出的特征图进行融合;文献[13]提出了密集特征融合的多尺度增强去雾网络,提出了一种基于反投影技术的DFF模块,通过最小化高分辨率估计结果之间的重建误差来生成高分辨率内容,该模块可以同时保留高分辨率特征的空间信息,并利用非相邻特征进行图像去雾;文献[14]提出了领域适应的图像去雾网络,该网络能够有效地在合成数据集和真实数据集的差异之间建立联系,对人工合成图像和真实图像都具备较好的去雾能力;文献[15]提出了一种全卷积网络去雾模型,网络先对浅层提取的特征进行跳跃连接,再对并行提取的特征进行跳跃连接,最后将获取的特征进行融合.然而,上述去雾模型仅在浅层结构训练,没有对有雾图像进行深层学习,存在去雾后图像细节丢失的情况,及去雾不彻底等问题,导致图像去雾效果不好.

为了解决现有深度学习去雾算法存在的特征提取不完全、去雾不彻底的问题,本文提出了一种含有特征提取分支的深浅层特征融合卷积神经网络模型.网络模型主要分为三个阶段:浅层特征提取,多尺度卷积深层特征提取,浅层与深层特征融合.在浅层与深层特征融合阶段,在网络模型的浅层和深层网络间搭建了两条特征融合分支,并且在分支上引入金字塔池化网络进行优化.

1 大气散射模型

美国学者McCartney等[16]在1977年提出大气散射模型后,在2003年Narasimhan等[17]针对雾天能见度低的问题,创建了改进后的数学模型.该模型认为在雾天环境下,造成成像设备获得的图像质量下降的主要原因有两个[18]:一是在雾天环境下,大气光会受到空气中漂浮颗粒吸收和散射,导致目标物体反射光能量下降及亮度减弱;二是大气光被空气中各种气体成分和固体微粒散射后,使物体背景光比目标光亮,造成成像设备成像模糊不清及成像的色彩效果不自然.雾天条件下,大气散射模型成像示意图如图1所示.

图1 大气散射模型成像示意图Fig.1 Schematic diagram of atmospheric scattering model imaging

根据物理模型去雾算法的理论基础,可将大气散射模型定义为

式中:I(x)代表拍摄到的有雾图像;J(x)代表要恢复的无雾图像;A代表大气光的值;t(x)代表透射率.透射率t(x)还可以表示为

式中:β代表大气的散射系数;d(x)代表场景对象与成像设备间的距离,即场景深度.

2 卷积神经网络

卷积神经网络是深层单向传输的人工网络[19].对于输入CNN的图像,网络能够直接进行图像特征提取,并且网络是对获取的特征值进行计算而不是对图像原始值进行计算,计算量大幅降低,所以在影像处理问题上表现的非常优异.常用的卷积神经网络主要构成和功能是:卷积层进行特征提取,池化层进行数据降维,全连接层进行分类输出.CNN的示意图如图2所示.卷积层的作用是利用卷积核的滚动来提取输入图像的图像特征信息;池化层的作用是降维,去除冗余信息,简化网络复杂度;最后的全连接层则是对前面获得的图像特征信息进行分类,在网络中起到“分类器”的作用.输入的图像在经过网络的反复卷积与池化过程后,减少了图像处理的时间.

图2 卷积神经网络示意图Fig.2 Schematic diagram of convolutional neural network

3 深浅层特征融合去雾方法

3.1 含有分支的深浅层特征融合网络模型

本文提出的深浅层特征融合网络去雾模型主要分为三个阶段:浅层特征提取,多尺度卷积深层特征提取和深浅层特征融合,并且在浅层与深层信息融合的两条特征融合分支上加入空间金字塔池化网络(spatial pyramid pooling net,SPP-Net),产生固定大小的输出,满足特征融合的尺寸需求.这种改进后的模型可以很好地改善因最大池化引起的透射率图中细节信息损失的情况,使网络输出细节信息更准确的透射率图,从而解决去雾不彻底、颜色过饱和问题,还原出更清晰、更自然、更真实的去雾图像.本文改进后的去雾网络模型如图3所示,下面详细阐述网络的各个部分.

图3 含有分支的深浅层特征融合网络模型Fig.3 Deep and shallow feature fusion network model with branches

第一个阶段是浅层特征提取.该阶段将输入的有雾图像经过3层卷积层进行向量卷积运算(Conv)来获取有雾图像区域等浅层特征.每个卷积层中都含有10个3×3卷积核,每层卷积核都是通过局部连接、共享权值的方式和输入的有雾图像进行运算.使用多数目、小规格的卷积核,是为了提取更多图像浅层细节信息.卷积计算公式如式(3)所示.

其中:下标h与h+1代表有多少层卷积层;p与q代表目前卷积层中的卷积核得到的不同特征图;g与c分别代表卷积核与函数的截距;μ为卷积层用到的分段线性激活函数ReLU.选用ReLU激活函数是因为图像数据没有小于0的数,且此函数在输出大于零的部分是线性的,所以ReLU激活函数拥有单侧抑制和稀疏激活性且不会存在梯度消失问题,能够使网络收敛速度保持快速稳定的状态.

第二个阶段是多尺度卷积深层特征提取.该阶段包括了3组卷积核规模为3×3,5×5,7×7的卷积层,每层有16个卷积核.将第一阶段得到的浅层特征图用多尺度卷积处理,每一层都输出16个特征图;然后对经过多尺度卷积层后的特征图分别进行最大池化操作,降低网络的复杂度;用GN归一化处理卷积后的数据,防止产生过拟合并使网络快速收敛,并对获得的特征图进行特征融合,从而获得更深层次的有雾图像感受野信息,一并减少了特征冗余,确保了图像细节信息的有效传递.多尺度卷积都是采用泛卷积来获得不一样的深层特征,其计算公式如式(4)所示.

其中:Fsi代表第s层的第i组特征图;Wsi(i=1,2,3)代表第s层的第i组卷积核.多尺度卷积参数见表1.在确保图像尺寸大小固定的前提下,使用零填充的方式对卷积层进行填充,激活函数使用ReLU.

表1 多尺度卷积参数Tab.1 Multi-scale convolution parameters

第三个阶段是浅层特征与深层特征的融合,这个阶段是该神经网络中最重要的阶段.在浅层网络Conv1和Conv2后面分别加入一条特征提取分支,这两条分支可以分别获得Conv1和Conv2输出的图像信息,并在分支后面加入空间金字塔池化网络来确保卷积网络输入图像尺寸一致,实现深浅层特征融合.引入的这两个分支可以提高计算精度,可以得到更精确的透射率图.网络模型的最后,使用3层卷积核数量为10的3×3卷积层对深浅层融合后的特征图进行再次提取.因为网络模型的输出是一幅有雾图的透射率图,所以在网络结构模型的末尾,用非线性回归的方式处理1×1×1卷积核得到的特征图,输出有雾图的透射率图.网络模型经过深浅层特征融合后,使获得的特征图含有浅层特征、深层特征和更多细节信息,解决了因图像信息缺失引起的去雾不彻底问题,使去雾后的图像更加自然,并呈现良好的视觉效果.有雾图像经过该网络模型后获得的透射率图与粗透射率图对比的结果如图4所示.

图4 透射率图对比Fig.4 Comparison of transmittance images

3.2 大气散射模型的应用

根据式(1)变形可得

从式(5)可以看出,要得到无雾图像,还要计算出大气光值A和t(x).根据式(2)可知,当图像中的景深趋于无穷大的时候,可得t(x)=0.进一步推出,当t(x)→0时,A=I(x).根据以上推理,在透射率图t(x)中选择前0.1%的最小灰度值,然后返回有雾图像中找到t(x)→0处的最亮的点作为大气光值A.在实际应用中,t(x)值过小会导致恢复的无雾图像过白,呈现整体失真,所以需要设置一个阈值t0,当t(x)过小时使用t0来替代,避免失真问题.因此,在已知透射率t(x)和大气光值A后,最终的无雾图像J(x)计算式为

根据式(6)就可计算得到无雾图像.

3.3 实验数据集和环境搭建

为了检验改进后的深浅层特征网络模型的去雾效果,使用室内合成的有雾图像和室外拍摄的有雾图像对网络进行去雾检测.与传统的暗通道先验去雾算法、文献[20]改进的暗原色BCCR去雾算法、深度学习去雾方法DehazeNet和GridDehazeNet算法进行比较,着重比较前4个算法与本文算法在室外图像与室内图像上的整体去雾效果.

本文的网络被训练在NVIDIA GTX1060(6 GB)显卡上,用Python的pytorch框架搭建实验环境,选择NYU2数据集中的10 000张室内有雾图像[21]作为训练集,搭配Reside数据集中的6 000张室外有雾图像作为补充训练集[22],对网络进行训练与测试.NYU2数据集包含13 628幅有雾图像与1 449张RGBD图像,这些图像中包含464个不同的室内场景.该网络模型中将大气散射系数β设置在0.3~0.8之间.为了确保能够训练出良好的网络模型,本次训练各选取两个数据集中的75%作为训练样本,25%作为测试样本.

3.4 仿真实验结果及分析

网络模型训练完成后,随机抽取3张Reside测试集中的室外有雾图像和3张NYU2测试集中的室内有雾图像进行去雾测试,并与上述4种去雾算法进行对比.室外去雾效果对比如图5所示,通过对比发现,前4种算法虽然都能达到去雾效果,但是去雾后的图片效果都不是很理想:暗通道先验去雾算法得到的图像中的背景色彩过亮,建筑、树林和山脉偏色严重;文献[20]改进的暗原色去雾算法相较于暗通道先验算法来说图片锐化现象和失真现象有所改善,但没有完全消除,去雾后的图像中建筑物和河流两旁的公路有泛白描边的现象,背景偏色严重,色彩失真的问题仍然存在;DehzaeNet相较于传统算法已经有了很大的改进,基本解决了锐化和失真问题,但处理后的图像仍然存在去雾不彻底的现象;GridDehazeNet算法去雾结果存在亮度不均衡的问题,图像背景有偏色现象,表现在三幅图像的天空背景颜色偏蓝偏深;本文算法的去雾效果更彻底,边沿细节保留完整,图像色彩更加真实,有很好的视觉效果,去雾后的图像更接近真实无雾的清晰图像.

图5 室外图实验结果对比Fig.5 Comparison of outdoor graph experiment results

室内图像的实验结果如图6所示,通过对比发现:传统算法仍然存在上述提到的图片锐化现象,以及颜色过饱和导致的失真现象;而DehazeNet算法还是有去雾不彻底、去雾后的图像细节处理不够精确的问题,表现在酒柜上的蓝色水杯和浴室的蓝色瓶子出现颜色轻微过饱和的现象;GridDehazeNet算法去雾后的图像存在背景偏色问题,表现在酒柜左上方颜色偏深,浴室墙体偏暗,窗帘偏深偏红;本文算法的去雾效果相较于前三种仍然表现出优越性,去雾更彻底,去雾图像更加真实自然,更接近于物体本身的颜色.

图6 室内图实验结果对比Fig.6 Comparison of indoor graph experiment results

上述实验的对比体现出了卷积神经网络采用多尺度卷积实现深层特征提取、浅层特征与深层特征融合的好处.含有特征提取分支的深浅层特征融合网络模型不仅在室外去雾上展现出优良的效果,而且在室内去雾性能方面同样有优异的表现.

3.5 实验评价指标

为了客观的衡量去雾后图像的还原质量,选用峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性指数(structural similarity index,SSIM)作为图像去雾效果的评价标准[23].PSNR是衡量图像质量的客观标准,图像去雾效果和PSNR的值成正比,值越大效果越好.SSIM是一种评估两幅图像相似性的指标,包括亮度、对比度、结构三个方面,从这三个方面对两幅图像的相似性进行评估,值越大表明去雾后的图像和无雾的真实图像越相似.从表2可以看出:本文所提出算法的PSNR值最大达到了27.543,SSIM值最大达到了0.915,这说明本文的网络模型能很好地保留图像信息,使去雾后的图像更接近真值图,和对比实验的4种去雾算法相比性能更优秀.

表2 不同去雾算法评价指标的比较Tab.2 Comparison of evaluation indexes of different dehazing algorithms

4 结论

针对目前传统去雾算法和深度学习去雾算法存在的图片锐化、失真、透射率图不准确、去雾不彻底等问题,本文提出了一种改进后的深度学习图像去雾算法.先利用多层单规模卷积核进行浅层特征提取,初步获得图像边缘等浅层特征;再经过多尺度卷积层实现深层特征提取,获得更深层次的有雾图像感受野信息;最后进行浅层特征与深层特征的融合,得到更精确的透射率图,并且在浅层和深层网络间,搭建两条特征融合分支的时候,引入了空间金字塔池化网络,实现浅层特征与深层特征的融合,这样使得卷积神经网络能更全面地学习有雾图像与透射率图的关系,使卷积神经网络可以输出一幅含有更多图像细节信息的透射率图,再应用大气散射模型进行复原,得到没有雾的图.仿真实验结果表明:本文算法的PSNR和SSIM值分别达到27.543和0.915,所提算法使去雾后的图像颜色更加自然,更接近于真实无雾场景,相较于文中其他四种去雾算法性能更优.

猜你喜欢
浅层特征提取卷积
同步定位与建图特征提取和匹配算法研究
晋西黄土区极端降雨后浅层滑坡调查及影响因素分析
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
浅层换填技术在深厚软土路基中的应用
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
近30年陈巴尔虎旗地区40厘米浅层地温场变化特征