APP下载

基于迁移学习的三子网图像去雾方法

2022-10-29武明虎陈关海刘子杉郭力权

电子与信息学报 2022年10期
关键词:子网卷积损失

武明虎 丁 畅 王 娟 陈关海 刘子杉 郭力权

(湖北工业大学湖北能源互联网工程技术研究中心 武汉 430068)

(湖北工业大学太阳能高效利用与储能运行控制湖北省实验室 武汉 430068)

1 引言

雾霾天气中大量悬浮粒子会对大气光产生反射、折射、吸收等作用,降低场景的能见度,导致在视觉采集过程中得到的图像细节模糊,图像对比度低,场景色彩失真,图像信息丢失等问题,因此对采集后图像进行去雾复原处理至关重要。在去雾算法中,通常使用大气散射模型[1]描述雾霾图像与无雾图像之间的关系

早期用于去雾的图像增强方法包括直方图均化[2]、同态滤波[3]、小波变换[4]和Retinex[5]等,该类算法基于图像的低对比度、低饱和度等特点通过增强图像中的有用信息而抑制或删除不需要的信息来提高图像质量和图像清晰度。而后基于先验知识的方法在去雾工作上利用模型中参数的特征作为假设,使参数可解。暗原色(Dark Channel Prior, DCP)[6]先验算法是基于先验知识的雾霾图像复原方法的典型代表,以局部区域的最小值作为叠加环境光的初步估计,结合大气散射模型的边缘优化算法可以直接恢复无雾图像。最大化局部对比度算法(Maximum Contrast, MC)[7]基于无雾图像比雾图像对比度高的特点,提高了雾图像的对比度,获得了高能见度的图像。近年传统方法,杨燕等人[8]使用改进后的暗通道模型自适应地估算并拟合获取暗通道图像,以得到最佳透射率用于雾图复原。Raikwar等人[9]将传输估计问题转化为模糊图像与无雾图像最小颜色通道差的估计用于图像去雾工作。

随后出现的基于深度学习的方法在低级图像处理领域上进行实验后,发现其效果对比于传统方法在图像去雾、去模糊[10]和去噪等小方向上得到了处理速度和图像质量的进步,去雾算法通过网络自行学习图像与图像之间的特征对应关系从而达到快速且有效果的图像去雾目的。DehazeNet[11]作为早期使用了神经网络和先验知识结合的网络,使用多尺度的深层卷积神经网络来学习雾图到透射率之间的映射关系。端到端去雾算法(an All-in-One Network,AOD-Net)[12]是首个将端到端网络使用在深度学习去雾中的算法,提出了一种通过估计参数K来恢复无雾图像的卷积神经网络,其为网络的端到端和轻量化提供了设计思路。密集金字塔去雾算法(Densely Connected Pyramid Dehazing Network, DCPDN)[13]提出了带边缘保留的金字塔编码器-解码器网络结构,通过边缘保留损失函数进行网络训练优化,同时由于大气散射模型估计的透射率与雾图相关,算法还使用了生成对抗网络对样本进行判定。Grid-DehazeNet[14]提出了一种端到端可训练的卷积神经网络,算法中可训练预处理模块相较于手工选择的预处理方法,可以产生更加丰富的信息多样性和更强针对性的输入。主干模块使用了新的基于注意力机制的多尺度估计方法,极大地解决了传统图像多尺度方法中的信息传递问题。密集特征融合多尺度增强去雾网络(Multi-Scale Boosted Dehazing Network, MSBDN)[15]提出了一种基于U-Net的具有密集特征融合的多尺度增强去雾网络,基于boosting和误差反馈原理设计,并在模型解码器中使用增强-操作-减去(strengthen-operate-subtract)策略用于图像去雾。两阶段弱监督去雾算法(RefineDNet)[16]将基于先验和基于深度学习的知识进行结合,并将去雾分为两个子任务,包括能见度恢复和真实度提高,算法通过暗通道恢复图像可见性,再使用对抗学习提高图像真实感,最后使用感知融合用于混合多类信息以得到最终去雾输出。除去以上算法外还使用了集成学习的算法、两分支去雾算法(Two-Branch)[17]、域适应算法(Domain Adaptation,DA)[18]、基于生成对抗网络或对抗学习的算法融合鉴别器的生成对抗网络(Fusion-Discriminator GAN, FD-GAN)[19]、非齐次离散小波变换去雾网络(Discrete Wavelet transform GAN, DW-GAN)[20]和基于潜在集成结构和对抗学习的深度去雾网络(Deep Dehazing Network, DDN)[21],视频去雾算法[22]等适用于去雾工作。

大自然界中绝大多数图像都有着相似的特性,例如图像花丛部分经常呈现高对比度和较为剧烈的边缘改变特性等,因此迁移学习可以通过使用现有研究中他人已经在自然界图像中学习到的特征进一步对特定图像数据集有针对性地训练以减少网络的初始化和起步阶段的试错困难程度。基于此,本文将迁移学习用于去雾工作中,使得模型快速学习自然界中图像色彩规律,保证去雾算法模型处理后的图像更加贴近自然图像。

模型的迁移学习体现在使用ImageNet[23]已学习后的初步参数作为本文模型中编码器初始参数以替代随机参数,以此缩短网络初步学习困难度并规范网络学习方向。通过这种方法可以做到克服现有算法中出现的长时间训练和数据集针对性等问题。本文的主要创新点如下:

(1)通过迁移学习的方法降低网络训练过程中的不确定性和困难程度,避免了网络初始化时的随机参数给网络训练目标带来的偏差,加速网络收敛过程。同时,使用少量数据图像训练得到良好的模型质量,增强网络模型在实际工作中使用的可行性。

(2)本文提出的3子网各有侧重,缺一不可。模型使用整体特征子网增强网络在全局特征提取上的能力。使用平滑膨胀卷积和大尺度卷积保证模型拥有更大的卷积感受野,有效避免网格伪影,达到去雾图像拥有更均衡的整体特征信息的目的。实验结果证明了3子网集成的有效性。

2 相关理论

2.1 迁移学习

迁移学习作为一种机器学习思想,具体实行过程为将某个领域、工作上已学习到的知识或参数应用到相似问题中的网络模型中帮助新模型的训练。因为相似问题中大部分数据是具有相关性的,故使用迁移学习可以加速模型的训练过程。其中迁移学习使用的手段包含以下:(1)Transfer learning,固定预训练模型中的全部卷积层,单独训练新模型的全连接层。(2)Extract feature vector,首先提取出预训练模型对于参数的特征向量,再训练新模型的简易网络。(3)Fine-tuning,固定预训练模型中部分卷积网络层,只对其余网络层进行训练。将迁移学习嵌入去雾算法可以达到快速训练和更佳的模型处理效果的结果,模型对于含雾图像的复原过程中,可以得到更加贴近于自然色彩结构的去雾图像。

2.2 集成学习

机器学习中被训练模型常出现单独偏好的情况,这表明了单一的常用模型对于多方面任务并没有完全的掌握能力。而集成学习则是通过构建、结合多个学习器集众家之所长来完成多方面需求任务,如果算法能达到适当的多样性,每个学习器(子网)的误差不同,通过一定的策略进行组合可以达到减少总体误差,增强模型最终效果的作用。集成学习可以用于分类、特征选取和检测等各类机器学习、深度学习问题,集成学习可分类为Bagging,Boosting和Stacking。集成学习用于去雾算法中可以将多种针对不同图像特征的子网进行结合,综合各类子网关注特征以达到单一算法完成各类图像特征学习的作用。

3 网络结构

本节将详细介绍本文模型结构,包括网络中的3子网:残差特征子网、局部特征子网和整体特征子网,并在尾部进行融合。由于本模型主要侧重于像素级图像信息复原,全局特征作为信息补充子网权重占比略小,因此算法设定3者比例为1:1:0.5。局部特征子网因为其对于图像细节特征的把控能力,其去雾图像在物体细节边沿及颜色的保留程度较高,但是过于注重局部特征而导致较大像素级的目标信息保留不完整,因此本文在其基础上加上了整体特征子网,其与局部特征子网相结合以达到大小目标信息都能得到保留的目的。如图1所示。

3.1 残差特征子网络

在Res2Net[24]被提出后,残差网络结构被应用于各类主流网络模型之中用于网络训练过程中更新过的梯度的相关性保留,以便网络更好地进行拟合学习,编码器-解码器结构作为常规的特征提取结构被应用于本文网络中,将以上两者结合成残差特征提取子网络。

从模型处理效率方面考虑,模型将局部特征子网的残差通道注意力组和残差通道注意力块数量分别置为3和5,在保证图像质量的前提下控制模型参数、提高处理效率。

为了尽可能多地保留图像信息,因此没有使用上下采样的步骤。在残差连接的编码器部分,在训练开始前预先加载ImageNet预训练模型参数,与随机的初始化的参数相比,ImageNet中的参数将会更好地帮助提取并学习特征。对于残差网络的调用而言,本文模型采用的是Res2Net,16次下采样的前端。

3.2 局部特征子网

由于上节中的子网使用编码器-解码器结构只能提取基础的图像特征信息,而更加精细的物体信息无法进行学习,因此在本节中将残差通道注意力模块应用于其中,该部分所提取的精细的图像特征可作为残差特征提取子网络的信息补充。为了尽可能多地保留细节图像信息,本文使用了CBL(卷积+批量归一化+LeakyReLU)模块,通过Leaky-ReLU激活函数给负值赋予非零的斜率,在子网输入部分作用于保留图像信息。

局部特征子网首先由CBL模块作为输入的第1个处理模块,再用4个残差编码块对输入特征图进行特征提取和3次下采样,缩小特征图大小,然后经过4个通道注意力模块进行3次上采样达到图像局部特征的精细处理的目的,最后将还原后的特征图加入尾部进行融合。

3.3 整体特征子网

以上两类子网,通过迁移学习和注意力机制将网络的训练目标转移到小目标、小感受野的环境中。网络层传递过程中卷积核所对应的图像感受野较小,网络中较多注意力集中于局部特征而忽略图像中局部特征相关性。因此,3子网模型中添加了整体特征子网作为信息补充子网,该子网使用膨胀卷积[25]和少量5×5大尺度卷积代替残差特征子网和局部特征子网中常用的3×3卷积核,以增加卷积过程中卷积核的感受野并避免出现网格伪影。膨胀卷积和大尺度卷积的多次使用保证了网络层的深度。算法保留了平滑膨胀卷积块中5层中的第1,3,5层在门控融合块中进行了信息融合,进一步增强不同层次图像信息的保留程度。

同时,为了保持模型整体参数量不激增,整体特征子网只采用了一次上下采样。由于一个周期内训练中的输入图像数量较少,使用实例归一化(Instance Normalization, IN)以防止网络训练中的梯度消失,并使网络更加关注单幅图像的整体信息而非一次迭代内的所有图像的相关特征信息,以便获得更好质量的训练模型。最后,整体特征子网使用门控融合子网集合不同级别的特征。通过以上模块组合构成整体特征子网,以补充网络中图像全局特征提取能力。

3.4 损失函数

损失函数用于规范网络训练中参数的学习方向,本文方法模型的损失函数由4个类型函数组成,分别为重建损失函数、多尺度结构相似损失函数、视觉损失函数和对抗损失函数。重建损失函数作为主要规范函数,用于图像像素级的差异修正,多尺度结构相似损失函数与视觉损失函数结合用于规范处理后图像符合人类视觉感知,最后使用对抗损失用于规范网络中生成对抗结构的训练平衡。

3.4.1 重建损失

重建损失由L1和L2两类像素级损失函数结合作用,使得去雾后图像的像素信息更加接近于清晰图像的信息,算法给予两类函数各自的权重α1和α2,其中,i代表图像像素,y和yˆ分别代表去雾后和无雾图形

3.4.2 多尺度结构相似损失

多尺度结构相似损失从多尺度图像大小的亮度、对比度和结构3个指标进行考虑,使用该损失规范网络处理后的图像更加符合人眼视觉感知

3.4.3 视觉损失

通过使用VGG预训练网络模型的参数来评价模型处理后图像与清晰图像之间的高级感知信息和其语义差异,为网络训练过程中图像复原提供更加全面的规范条件

3.4.4 对抗损失

生成对抗网络中为还原图像的真实性,对抗损失是最为常用的一类损失函数,除了以上3类损失函数,3子网模型将其共同使用以恢复图像更多细节

综上所述,总体的损失函数为

4 实验

本节将介绍模型训练与测试所使用的数据集、运行环境、训练过程中所设定的参数和图像评价指标。同时为了证明本文模型的有效性,本章也会将本文模型结果与现存算法进行比较分析。

4.1 数据集

为了验证本文模型对于较困难的非均匀雾图的处理能力,本文选择了两个非均匀的公开雾图数据集NTIRE2020和NTIRE2021作为模型的训练数据集和测试集,其中NTIRE2020中包含了45张非均匀雾图,NTIRE2021包含了25张非均匀雾图,每张雾图都有对应的无雾图像。两个数据集图像都是真实场景雾图,使用此类数据集可以更好地验证算法模型在实际项目中的去雾效果,其中共70张图像选用60张用于训练,10张用于测试。

因选择的两个数据集属于同类型的数据,训练前将其合并作为单一数据集进行训练和测试,但由于两个数据集收集时的环境光不同,会造成图像亮度不同,模型在亮度不同、风格略有差异的图像中进行训练时会出现学习效率低下的问题。为了解决这个问题,两类数据集进行灰度直方图分析,然后对于整体灰度值较低的数据集进行伽马矫正,将两个数据集中图像的亮度保持一致,以便获得更好的网络训练效果。

4.2 训练设置

对于训练数据集,本文未使用过于繁杂的增强技术,仅采用了图像剪裁方法,将60对1600×1200大小的训练图像每张平均剪裁分为4张800×600大小的图像用于增加训练数据集的数量。网络中Adam优化器使用默认参数β1= 0.9,β2= 0.999,学习率设定为1e-4,整体训练迭代次数为2000,batchsize为4,损失函数L1与L2的权重α1和α2分别为0.6和0.4。本文所有涉及模型运行环境均为英伟达GTX 1660 SUP,神经网络框架为Pytorch。

4.3 实验结果

本实验对NTIRE2020和NTIRE2021两个真实世界雾图数据结合而成的数据集进行测试,并与近年的去雾方法进行定量和定性的比较,本文选取了3种评价标准,包括峰值信噪比(PSNR)、结构相似性(SSIM)和深度特征度量图像相似度(LPIPS),运行时间为算法对于单幅图像的导入、处理和保存的整体流程时间,如图2和表1所示。

表1 3子网模型结果与主流去雾算法去雾图像数值比较表

由于算法DCP是基于先验知识设计的模型,去雾效果受到先验知识的限制,图像处理过程使用手工特征遍历图像,因此处理速度较为复杂缓慢,在非均匀雾图的情况下得到的图像出现了颜色偏移现象。AOD-Net和GCA-Net类似,都属于轻量级的神经网络,GCA-Net去雾视觉效果较好,但图像整体颜色偏深,而AOD-Net对于非均匀和浓雾部分处理效果较差。两者的PSNR较DCP有8.15%和2.78%的提升,但AOD-Net的SSIM有11.76%的提升。GDNet使用了U-Net作为主体框架进行去雾工作,结果中可以看出其去雾效果图未发生严重的色彩偏移,SSIM指标较前3算法均取得了提升,但其去雾图仍残留了较大面积的带雾部分。DMSHN框架设计目标为非均匀雾去除,结果图中展示了大面积雾区域的处理效果较好,小面积雾仍有残留。算法MSBDN对于浓雾区域无法进行图像复原,大面积的雾区域残留严重。

本文算法使用了迁移学习,将ImageNet的参数作为模型初始参数权重,以帮助模型明确训练方向,加速收敛速度,并使用3子网通过集成学习的方法构建模型。从结果图中可看出,本文算法对于非均匀雾图进行了完整的去雾,在3个图像评价指标上分别提升了16.01%, 18.96%和13.29%。图像中未出现大面积的残留雾区域,且色彩还原度较高。

3子网结构涵盖了包括整体、局部特征信息,其中整体特征子网主要注重图像全局特征和结构相关性方面信息学习,因此模型SSIM和LPIPS指标数值结果更佳,而局部特征信息子网侧重于像素级图像信息学习,对PSNR指标有着较大的提升作用。由于3子网模型组成部分中卷积、转置卷积和上下采样等大计算量和参数量的操作少于MSBDN,因此模型处理速度高于DCP和MSBDN等传统或复杂神经网络算法,却低于AOD-Net和DMSHN等简单网络层连接方式的端到端小计算量和参数量算法的处理时间。

4.4 消融实验

模型框架分为3个部分进行对比结果如图3和图4(整体与细节图),从(b)组图像中可以看出仅使用全局特征提取子网后的去雾图对比度较高,浓雾区域无法得到还原且色偏移严重。(c)组图像对于颜色和物体细节的还原度较高,但整体图像对比度仍然略高,真实性欠缺,浓雾处无法恢复或补充信息。本文方法整体颜色更加贴近于无雾图,浓雾处进行了丢失信息的补充,使得图像完整性提高,图像整体对比度偏低,符合现实生活中成像设备展现的风格。本文算法图对浓雾区域进行了信息补充,虽然复原程度仍然不充足,但在视觉感官上有着更佳的效果。

表2数据显示本文算法对比于前两种结构在PSNR和SSIM两个指标上分别取得了55.54%, 2.50%和17.37%, 1.22%的提升,证明了本文算法结合两种子网得到的图像整体信息特征更加均衡。但本文方法LPIPS指标落后于局部特征提取子网模型0.006,这是由于本文方法舍弃掉了部分局部特征模块。本文模型在保证了整体模型参数稳定的情况下,去雾图像质量相较全局特征提取子网和局部特征提取子网两者都有提升。

表2 3子网模型结果与2子网去雾图像质量数值对比

5 结束语

针对非均匀雾图去雾困难和算法模型泛化能力较差的问题,本文提出了一种基于迁移学习的多子网算法,通过结合全局特征提取子网、局部特征提取子网和残差子网,将图像中的物体颜色、轮廓和结构等特征信息进行提取并包含在网络学习的目标中。为了保证模型的运行速度和参数量,算法对3子网结合后进行了剪枝。通过迁移学习方法将预训练的ImageNet模型初始参数权重导入本文的网络中,使模型更加容易学习并达到预期性能,这种方法对于实际场景中的小数据集雾图环境更为友好,为小数据集雾图场景的去雾算法训练提供了更高的可行性。实验结果证明了本文算法模型的有效性和泛化能力得到了提升。后续工作中,算法可在迁移学习的基础上整合3子网的部分功能并进行信息共享和进一步模型剪枝,在不损失图像质量的前提下提高模型对于大批量实际场景雾图的处理效率。

猜你喜欢

子网卷积损失
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于自适应学习率优化的AdaNet改进
卷积神经网络的分析与设计
两败俱伤
从滤波器理解卷积
子网划分问题研究及应用
航天器多子网时间同步系统设计与验证
基于傅里叶域卷积表示的目标跟踪算法
基于Petri网的L企业产品设计变更执行流程优化研究
菜烧好了应该尽量马上吃