基于非局部和先验约束的多尺度图像去雾网络研究

2022-05-27 03:42毕竞舸张选德晏润冰
陕西科技大学学报 2022年3期
关键词:先验尺度重构

李 婉, 毕竞舸, 张选德, 晏润冰

(1.陕西科技大学 电子信息与人工智能学院, 陕西 西安 710021; 2.陕西科技大学 机电工程学院, 陕西 西安 710021)

0 引言

计算机视觉系统通过图像采集设备自动获取场景图像,然后利用机器学习、人工智能等算法进行目标跟踪、识别、解译等任务,极大减轻了人们的负担.目前,可见光成像设备仍是获取图像的最主要来源,但容易受到天气条件的影响.在雾、霾之类天气下采集的图像会由于大气散射的作用而被严重降质,使图像颜色偏灰白色,对比度降低,物体特征难以辨认,不仅使视觉效果变差,还会影响图像后期的处理,更会影响各类依赖于光学成像仪器的系统工作,如卫星遥感系统、航拍系统、室外监控和目标识别系统等.

图像去雾的主要目的是减少雾霾天气中由于大气粒子散射造成的图像退化,提高图像的清晰度和可视度,是图像复原中的一个重要分支,在国内外得到了广泛研究[1-4].根据是否采用深度学习,可以将其分为两大类:传统的图像去雾方法和基于深度学习的图像去雾方法.

传统图像去雾方法主要包含基于图像增强的方法和基于物理成像模型的方法.基于图像增强的方法不考虑雾天图像的物理退化过程,仅使用数字图像领域现有的、成熟的图像处理方法对雾天降质图像进行增强处理,例如直方图均值化[5]、同态滤波[6]、小波多尺度分析[7]、曲波变换[8]、Retinex[9]等.基于物理成像模型的方法是传统去雾算法中的主流,它根据雾天图像的物理退化过程,使用大气散射模型对成像过程进行建模,然后估计模型中未知量来复原无雾图像[10,11].例如,He等[12]提出了一种暗通道先验(Dark Channel Prior,DCP),该先验认为无雾图像至少有一个颜色通道的值是接近零的.Berman等[13]提出了一种基于全局的估计透射图的方法,认为无雾图像仅由有限个聚类颜色组成.Zhu等[14]提出一种颜色衰减先验,即自然图像的亮度和饱和度值会随着雾浓度进行变化,由此提出一种线性模型描述深度、亮度和饱和度之间的关系.

综合而言,传统的去雾算法大部分是模型驱动的算法,充分考虑图像的退化特性结合暗通道、非局部、颜色衰减等先验信息,提高图像复原的准确性,但是均需要复杂的建模推理过程.

随着深度学习的蓬勃发展,越来越多的学者对基于深度学习的图像去雾方法进行研究,并取得了显著的成果[15-18].例如,Cai等[19]提出的基于卷积神经网络的去雾方法将模糊图像作为输入,中间透射图作为输出,学习模糊图像和透射图之间的映射关系,然后通过大气散射模型恢复无雾图像;Ren等[20]采用一种多尺度深度卷积网络来学习有雾图像和透射率的映射关系,获得了更优的去雾效果;Li等[21]提出了一种基于深度学习的去雾方法,从图像增强的角度出发,直接从有雾图像映射无雾图像;Chen等[22]针对传统DCP算法中估计透视图时固定窗口带来的问题,通过卷积神经网络自适应为每一个像素点选择估计窗口的大小,显著提高了图像去雾的效果;Hong等[23]提出了一种知识蒸馏去雾网络,能够自适应地关注稠密雾霾区域重建的重要特征;Wu等[24]提出了一种基于对比学习的去雾网络.

对比传统的和基于深度学习的两类图像去雾方法,基于深度学习的图像去雾方法获得了比传统的图像去雾方法更优的结果,并且不需要复杂的建模过程.

最近,基于深度学习的图像去雾算法开始关注图像先验知识.因为传统图像去雾算法已证实,在图像先验信息的引导下,能够获得更好的图像去雾效果.Dong等[25]提出了一种基于物理特征的去雾网络.该网络的关键部件由一个具有残差学习结构的特征去雾单元组成,该特征去雾单元充分探索了对于去雾的有用特征,残差学习结构可以提高网络的训练精度;Chen等[26]提出了一种物理先验指导的去雾网络.该网络首先使用有标签的图像进行预训练,再使用无标签的图像通过基于物理的先验进行微调.

因此,本文将图像先验信息融入到卷积神经网络中,提出了基于非局部和先验信息的图像去雾网络,具体有以下特点:

(1)将非局部均值思想加入到神经网络中,捕捉图像的非局部特性;

(2)将图像去雾中的先验信息作为约束加入到损失函数中,提升对真实图像的去雾性能;

(3)构建有雾图像到无雾图像端到端的映射,融合不同尺度的卷积核的去雾网络,发挥不同尺度卷积核的优势,从而得到比单一尺度重构模型更优的去雾结果;

(4)设计分步训练策略,有效提高了网络的训练效率.

本文后续安排如下,在第1节中介绍了本文的相关工作;在第2节中介绍了基于非局部和先验约束的多尺度图像去雾网络结构及训练方法;在第3节中进行了仿真实验及结果分析;最后,在第4节中进行了总结和展望.

1 相关工作

本文工作涉及到图像去雾、深度残差网络、非局部神经网络,接下来对这三个方面相关的工作进行概述.

图像去雾:图像去雾的主要目的是去除雾霾天气中由于大气粒子散射造成的图像退化现象,提高其清晰度和可视度,通用的大气光物理模型如下:

I(x)=J(x)T(x)+A(1-T(x))

(1)

T(x)=e-βd(x)

式(1)中:x是像素点的空间坐标,I(x)表示不同大气散射条件下的辐照度图像,即有雾图像,J(x)表示场景反射图像,即清晰图像,T(x)表示光线传播的透射率,d(x)表示x点的深度,β表示大气散射系数,A表示全局大气光.

基于该物理模型有很多的优秀去雾算法,通过估计透射率和大气光,进而得到去雾图像,例如,基于暗通道[12]、非局部[13]、颜色衰减[14]等先验的透射图估计方法.随着深度学习的发展,图像去雾领域开始采用一些网络模型进行图像复原.一部分学者,采用神经网络学习有雾图像和透射率图的映射,然后根据大气光物理模型估计清晰图像[19,20];另一部分学者,不再预测透射率和大气光,直接构建从有雾图像到无雾图像的网络模型[21].

非局部神经网络(Non-local Neural Net-works)[27]:非局部神经网络将传统视觉处理中的非局部均值[28]的思想融合到神经网络中,其某一位置的响应值通过其余所有位置的加权求和得到.相对于递归和卷积操作,非局部运算能够抓住图像或者视频中任意两点之间的关系,也就是说非局部模块能够将图像自身存在的相似性作为约束加入到神经网络中.同时,非局部运算具有较高的效率,在层数较少的情况下仍能达到很好的效果.

深度残差网络(Deep Residual Network,ResNets)[29]:近年来,深度残差网络在计算机视觉领域表现出优异的性能,ResNets通过一个用短接实现的恒等映射,有效克服了非线性变换堆叠带来的信号衰减问题,因此相对于传统的卷积网络模型,ResNets能够有效地学习更深层网络.

2 基于非局部和先验约束的图像去雾网络

2.1 非局部重构模块

非局部平均思想由Baudes在2005年提出,它利用自然图像中存在的自相似性来去噪,每一个像素点通过图像中所有像素加权得到,其中加权值取决于两个像素之间的相似度[28].非局部神经网络在神经网络中借鉴了非局部平均的思想,定义了用于神经网络的非局部操作[27]:

(2)

式(2)中:输出信号o和输入信号x尺寸是相同的,i代表输出位置索引,j是列出全图中所有可能位置的索引,函数f(xi,xj) 用来计算位置i和j之间的相似性,其结果是一个权重标量,并且权重越大,位置i的输出受位置j的值影响越大.函数g用来计算j位置输入信号的一个表示.最后通过C(x)对响应值归一化.

为了捕捉更大尺度的自相似信息,设计了一个非局部重构模块,如图1所示,对于有雾图像在卷积特征提取后再进行公式(2)的非局部操作.对于有雾图像,首先进行两层卷积操作:

Fc1(x)=ReLU(Wc1*x+bc1)

(3)

z=Fc2(x)=ReLU(Wc2*Fc1(x)+bc2)

(4)

在式(3)和式(4)中:Wc1,Wc2,bc1,bc2分别表示第一层和第二层的滤波器和偏置,“*”表示卷积操作.

然后将特征图z输入到非局部模块中,得到每一点的响应输出为:

(5)

式(5)中:“+zi”表示残差连接[29],Oi根据公式(2)计算得到,每一个位置的输出通过特征图所有位置的加权求和得到.权值函数f(xi,xj)采用Concatenation函数[27]:

(6)

特征图z中的每一点,表示的是该点对应图像中的局部块对某些卷积结构的响应值.两点之间的相似性间接反映了图像中所有图像块之间的相似性,特征图经过非局部模块的处理,等价于对图像进行一个非局部的约束.

(7)

2.2 基于非局部的多尺度去雾网络

神经网络中卷积核大小的确定仍然是未解决的问题,一般做法是是通过不同的尝试或者经验值确定.目前普遍的观念是,卷积核的尺寸越大,其感受野越大,越能更好的反映图像的全局信息,但是训练时越难收敛.针对卷积核大小确定困难的问题,在整个网络模型中采用三种非局部重构模块,它们分别采用不同尺度的卷积核,如图2所示.在实验中也发现,对于不同采样率,不同尺度的卷积的表现性能也不同,多种尺度卷积核的组合操作能够提高图像在不同采样率下重构的鲁棒性.

图2最上部的绿色非局部重构模块中,第一个卷积层采用大小为11×11的卷积核,第二个卷积层采用大小为1×1的卷积核,然后第二个卷积层和第三个卷积层之间加入一个非局部块,第三个卷积层采用7×7的卷积核.图2中间的橙色非局部重构模块中三层卷积核的大小分别为9×9, 1×1,5×5.图2下部紫色的非局部重构模块中的三层卷积核大小均为3×3.非局部重构模块的输入和输出采用残差连接,然后堆叠多个非局部重构模块得到图像在该尺度卷积核下的估计值,分别写作:

xrec1=Frec_1(y,Θrec_1),xrec2=Frec_2(y,Θrec_2),

xrec3=Frec_3(y,Θrec_3),

(8)

式(8)中:Θrec_1、Θrec_2、Θrec_3表示不同尺度下重构网络的参数集合.将三个不同尺度的非局部重构模块得到的重构图像进行加权,得到最终的估计图像:

(9)

式(9)中:权重wm可以在网络训练过程中得到.

图1 非局部重构模块

图2 基于非局部和先验约束的多尺度去雾网络

2.3 损失函数

均方误差:首先,三个不同尺度下的重构模块得到的重构图像希望都是对原图像的准确重构,因此对于这三个尺度下的均方差损失函数为:

(10)

式(10)中:Frec_m(yi,Θrec_m)为第m个尺度重构网络模块的输出,m=1,2,3.然后,输出的目标图像对应的均方差损失函数为

(11)

最终,网络整体的损失函数等于三个尺度下损失函数和最终输出图像的损失函数的加权和:

(12)

式(12)中:β为加权系数.

内容损失:受超分辨重构相关文献的启发[31],采用内容损失函数度量复原结果和目标图像结构间的差异性.内容损失函数不再度量每一个输出像素与目标输出间的差异性,而是采用VGG网络特征层的欧氏距离来判断二者是否相似:

(13)

暗通道损失:He等[12]提出的暗通道先验(Dark Channel Prior,DCP)是图像去雾领域的一个典型代表.DCP是指在大多数非天空区域中,至少有一颜色通道在某些像素处具有非常低的强度.对于一张图像J的暗通道可以定义为:

(14)

(15)

总体损失函数:将公式(11~13)的损失函数结合,得到总体损失函数:

L=L2+wvggLvgg+wdcpLdcp

(16)

2.4 训练过程

为了有效的对提出的网络模型进行训练,采用分布训练策略.

首先预训练网络,优化每一个尺度下的图像重构,即分别优化公式(10)中三个不同尺度下的损失函数.需要注意的是,在开始训练时,并不加入内容损失和暗通道损失,而是在微调时才将其加入到网络中.

在预训练开始时,公式(12)中的β采用较小的值,以保证训练的稳定性,β随着训练次数增加递增,以保证最终输出结果的性能.

在三个尺度下的非局部重构网络训练稳定后,在网络中加入内容损失和暗通道损失,采用公式(16)对整个网络进行微调.

3 实验结果与讨论

本文使用公开的RESIDE[31]数据集来评估所提出的方法,并且与其他最先进的单幅图像去雾方法进行比较.

3.1 实验设置

(1)实施细节:采用NVIDIA TITIAN XP 64Gb显卡,在TensorFlow深度学习平台上开展所有去雾模型技术方案的实施及验证.训练过程如2.4节所描述.受于内存大小的限制,训练时每张图像大小重设为64×64,测试时每张图像大小重设为156×156,学习率为0.001,批大小为4.

(2)数据集:采用RESIDE数据集,该数据集包含室内和室外场景下的模糊/清晰图像对,选择OTS子集中的1 600份室外无雾图像和合成的室外有雾图像对作为训练数据集,500份室外无雾图像和合成的室外有雾图像对作为测试数据集.

(3)评价标准:为了评估提出模型的性能,采用峰值信号噪声比(PSNR)和结构相似度(SSIM)作为评价指标,其在图像去雾任务中通常作为评价图像质量的标准.将本文提出的模型与基于先验的模型(DCP[12])和基于深度学习的模型(DehazeNet[19]、AOD-Net[21]、PMS-Net[22]和PFDN[25])进行比较.

3.2 与最先进模型的比较

(1)定量评价:在表1中,总结了提出的多尺度去雾网络在测试数据集上的表现,与之前的方法相比,多尺度去雾网络在绝大多数结果上都有着最佳的表现,PSNR值为30.46,SSIM值为0.982 3.

表1 在合成数据集上的定量比较

此外,本文还将提出的去雾网络模型与其他去雾模型在恢复图像质量上通过对合成的有雾图像去除雾霾的方式进行了定量比较,如图3所示.通过与真实场景值的比较,通过观察可以看出,DCP、DehazeNet和PMS-Net去雾后的结果存在严重的颜色失真,并且有部分区域的雾没有去除干净(见图3(b)、图3(c)和图3(f)),并且PSNR和SSIM值普遍偏低,相较本文提出的网络在PSNR值上低10个单位左右,在SSIM值上低0.2个单位左右.对于PFDN等基于深度学习的端到端去雾方法,虽然其在个别图像上获得了不错的效果,拥有较高的质量评价分数,但在整体测试集上的平均表现不如本文提出的模型,在平均PSNR值上低于本文方法0.2个单位左右,在平均SSIM值上低0.03个单位左右.

(a)Input (b)DCP (c)DehazeNet (d)AOD (e)PMS-Net (f)PFDN (g)ours (h)GT图3 在合成的有雾测试集上的去雾结果

(2)定性评价:将本文的多尺度网络与其他去雾模型在RESIDE数据集中的未标注的图像进行定性比较.如图4所示,基于物理模型的去雾方法如DCP、DehazeNet和PMS-Net都出现了严重的颜色失真,AOD的部分区域颜色出现失真,这些区域的颜色偏暗(见图4(d)的红色矩阵),PFDN不能很好地去除部分区域的雾(见图4(f)的红色矩阵).在图4第三行第g列的图像景深处去雾结果优于其他方法.显然,与其他方法相比,多尺度去雾网络生成的图像最自然.

(a)Input (b)DCP (c)DehazeNet (d)AOD (e)PMS-Net (f)PFDN (g)ours图4 在真实场景测试集上的视觉比较

3.3 消融实验

为了证明本文提出的多尺度网络、非局部块、内容损失、暗通道损失的有效性,进行了消融实验,分析了不同因素对于图像去雾结果的影响.

首先构建本文的基准网络,即多尺度网络,主要由若干个卷积层和残差连接组成.随后,将不同的模块添加到基准网络中.表2展示了该网络在SOTS室内和室外数据集上的消融实验的性能比较,这里n代表添加非局部块,Vgg代表添加内容损失,DCP代表添加暗通道损失.①基准网络:文中提出的多尺度网络模型,未添加非局部模块,未采用内容损失和暗通道损失.②基准网络+非局部模块:添加非局部块到基准网络中,未采用内容损失和暗通道损失.③基准网络+非局部块+内容损失:添加非局部模块和内容损失到基准网络中.④基准网络+非局部块+内容损失+暗通道损失:在基准网络上添加非局部块,加入内容损失和暗通道损失,即本文提出的完整模型.

表2 多尺度去雾网络的消融实验

图5展示了消融实验的定性比较.观察表2和图5可以得到以下结论:通过对比实验设置①和实验设置②能够发现:通过增加非局部块,可以计算整张图像中的某个像素点与其他区域像素的相似度,从而有效地改善去雾图像颜色失真的问题,在性能上也有一定的提高,相较于实验设置①,实验设置②的PSNR值提升了0.31,SSIM值提升了0.01.加内容损失(例如实验设置③),计算在VGG特征空间上两个像素点之间的相似度,能够有效地提升性能,相较于实验设置②,PSNR值提升了0.54,SSIM值略微下降了0.000 9.相似地,通过在损失函数中增在网络中同时加入非局部块、内容损失和暗通道损失(例如实验设置④),相较于实验设置③,PSNR值上升了0.58,SSIM值提升了0.003,这是因为暗通道损失是一种无监督的先验损失,它能够提升图像的视觉效果,使图像在亮度、对比度等结构信息上略微提升,代价是可能会略微下降图像的质量评价分数,如图5中实验设置④图像比实验设置③图像下降了0.98.

图5 非局部块、内容损失和暗通道损失的有效性

总体而言,多尺度去雾网络可以获得具有不同尺度信息的去雾图像,增加非局部块可以获得更丰富的全局信息,增加感知损失可以获得不同特征空间的信息,增加暗通道损失可以提升图像的视觉效果.

4 结论

本文提出了一种基于非局部和先验约束的多尺度图像去雾网络,该网络由三个含有非局部模块的不同尺度的子网络组成.非局部模块能够将图像自身存在的相似性作为约束加入到神经网络中,从而有效地去除噪声.其中多种尺度卷积核的组合操作能够提高图像在不同采样率下重构的鲁棒性;暗通道先验损失作为一种无监督的物理先验能够以牺牲少量的图像质量评价分数为代价,提高了恢复图像的视觉效果.这些组合有效地提升了去雾网络的性能.

本文提出的去雾网络是基于合成数据训练得到的,对数据集中的室外图像去雾效果较优,如何将模型从合成域迁移到真实域,进一步提升算法对真实有雾、浓雾图像的去雾效果,是需要进一步研究的内容.

猜你喜欢
先验尺度重构
环境史衰败论叙事的正误及其评判尺度
“双减”能否重构教育生态?
康德定言命令的演绎是一种先验演绎吗?——论纯粹知性与实践理性在先天原则证成方面之异同
长城叙事的重构
基于暗通道先验的单幅图像去雾算法研究与实现
基于干扰重构和盲源分离的混合极化抗SMSP干扰
先验想象力在范畴先验演绎中的定位研究
用四维的理念重构当代诗歌
先验的风
以长时间尺度看世界