1.本发明涉及一种基于独立细节恢复网络的图像去雾方法,属于图像处理技术领域。
背景技术:2.图像去雾问题的目的是给定一张有雾图像,通过图像去雾方法恢复出干净的无雾图像。有雾图像通常会出现模糊、低对比度、颜色失真等图像质量退化现象。这种退化的图像妨碍了许多高级计算机任务性能的进一步提升,如目标检测、行人识别、图像语义分割等。因此,图像去雾越来越受到人们的关注。
3.在图像去雾的相关研究中,大气散射模型被广泛地用于描述有雾图像的形成,其具体公式如下:
4.i(x)=j(x)t(x)+a(1
‑
t(x)),
5.其中,i(x)表示有雾图像,j(x)表示无雾图像,a表示大气光图像,t(x)表示透射率图像,x表示像素位置。其中,透射率图像可以表示为t(x)=e
‑
βd(x)
,d(x)和β分别为场景深度和大气散射系数。
6.近几十年来,一系列图像去雾方法被提出,这些方法可以分为两类:基于先验的图像去雾方法和基于学习的图像去雾方法。在基于先验的图像去雾方法中,利用手工设计的先验知识描述透射率图像和大气光图像,这些先验知识是根据无雾图像的统计特性设计的,可以用于区分有雾图像和无雾图像,例如暗通道先验和颜色衰减先验。基于学习的图像去雾方法可以进一步分为两类:一类是利用卷积神经网络直接学习有雾图像到无雾图像的映射关系,另一类是利用卷积神经网络分别估计透射率图像和大气光图像,然后根据大气散射模型估计出无雾图像。
7.虽然现有的方法已经取得了一定的去雾效果,但是这些方法大都关注于去雾操作,而忽略了去雾图像的细节恢复,特别是忽略了一个独立的细节恢复网络对于去雾图像细节恢复的重要性。
技术实现要素:8.针对现有技术的不足,本发明提供了一种基于独立细节恢复网络的图像去雾方法,该方法设计了一个独立于去雾骨干网络的细节恢复网络用于去雾图像细节的恢复,在有效去雾的同时进一步丰富图像细节,提升去雾效果。除此之外,该方法专门设计了一个密集残差块用于透射率图像的估计。
9.为实现上述目的,本发明提供了如下技术方案:
10.一种基于独立细节恢复网络的图像去雾方法,通过设置一个独立于去雾骨干网络的细节恢复网络,对有效去雾后的图像进行细节的恢复,进一步提升去雾效果,该方法包括以下步骤:
11.s1、获取图像数据,构建具有成对有雾图像和无雾图像的数据集;
12.s2、构建图像去雾模型,该模型由去雾骨干网络和细节恢复网络两个分支网络构成,其中,去雾骨干网络由透射率图像估计网络、大气光估计网络组成,细节恢复网络由局部分支网络和全局分支网络组成;
13.s3、将有雾图像输入到去雾骨干网络和细节恢复网络中,分别获得初步去雾图像和细节特征图;
14.s4、将初步去雾图像与细节特征图相加得到最终的去雾图像。
15.进一步地,步骤s1具体包括:
16.获取若干不同场景的无雾图像,根据大气散射模型,生成与无雾图像对应的有雾图像,构建成对的图像数据集。
17.进一步地,步骤s2具体包括:
18.去雾骨干网络中所述的透射率图像估计网络是一个u型编解码网络结构,编码器中包括密集残差块网络以获得更加准确的透射率图像,所述密集残差块网络以密集块作为基本单元,密集块是由多层密集层组成,每个密集层由串行连接的批量归一化层、relu激活层、卷积层、批量归一化层、relu激活层、卷积层组成,每个密集块的输入与输出之间添加一条残差连接,残差指的是密集块输出与输入之间的差异,残差连接即将残差与上一个密集块输入之和作为下一个密集块的输入,密集残差块网络的设计能够在最大限度获取特征信息的同时避免信息的冗余;解码器首先是串行连接的三个组合块,组合块由串行连接的残差块、relu激活层和反卷积层组成,其中,残差块由反卷积层、批量归一化层、relu激活层、反卷积层、批量归一化层组成;整个网络的最后串行连接一个卷积层和一个relu激活层;去雾骨干网络中所述的大气光图像估计网络为u
‑
net网络结构;
19.细节恢复网络中所述的局部分支网络是由一个密集块和一个卷积层组成,密集块是由多层密集层组成,每个密集层由串行连接的批量归一化层、relu激活层、卷积层、批量归一化层、relu激活层、卷积层组成;所述全局分支网络首先是三个具有不同膨胀系数的膨胀卷积层并列连接,其后紧接着一个通道维度相加操作用于将三个并列分支的输出结果相加;将局部分支网络的输出与全局分支网络的输出相加作为整个细节恢复网络的输出。
20.进一步地,步骤s2中所述的去雾模型包含四种损失函数,第一种损失函数为感知损失,感知损失首先通过预训练好的神经网络提取特征,然后计算输出图像特征图与真实图像特征图之间的差距;第二种为负结构相似度损失,结构相似度用于衡量两幅图像之间结构的相似程度,负结构相似度损失用于缩小输出图像与真实图像在结构相似度方面的差距;第三种为像素级损失,利用l1损失分别计算透射率图像、大气光图像以及去雾后图像与其相对应的真实图像之间的像素差异;第四种为重构损失,利用透射率图像、大气光图像、去雾后图像根据大气散射模型重构出有雾图像,计算重构图像与输入图像之间的差异。
21.本发明的优点是:与现有技术相比,本发明具有如下有益效果:
22.1、本发明提出基于独立细节恢复网络的图像去雾方法,与现有方法相比,最大优势在于该网络是一个独立于去雾骨干网络的细节恢复网络,通过专门的设计,更加有针对性地对去雾后的图像进行细节恢复,具有更优异的细节恢复效果;
23.2、本发明提出的基于独立细节恢复网络通过局部分支网络提取图像的局部特征,而全局分支网络具有更大的感受野,可以捕获图像的全局特征信息,通过两个分支网络的结合可以提取到更具体全面的特征信息;
24.3、本发明构造的密集残差网络,使用密集块作为基本单元可以最大化信息流,同时加入残差连接的设计用于消除冗余信息,从而获得更加准确的透射率图像。
附图说明
25.图1是本发明的图像去雾流程图;
26.图2是本发明的整体网络结构图;
27.图3是去雾骨干网络的结构图;
28.图4是细节恢复网络的结构图。
具体实施方式
29.下面结合附图对本发明作进一步描述。此处所描述的具体实施例仅用于更加清楚地说明本发明,并不能以此限定本发明的保护范围。
30.参见图1、图2、图3和图4,本发明公开的一种基于独立细节恢复网络的图像去雾方法,包括以下步骤:
31.s1、获取图像数据,构建具有成对有雾图像和无雾图像的数据集;
32.s2、构建图像去雾模型,该模型由去雾骨干网络和细节恢复网络两个分支网络构成。其中,去雾骨干网络由透射率图像估计网络、大气光估计网络组成,细节恢复网络由局部分支和全局分支组成;
33.s3、将有雾图像输入到去雾骨干网络和细节恢复网络中,分别获得初步去雾图像和细节特征图;
34.s4、将初步去雾图像与细节特征图相加得到最终的去雾图像。
35.步骤s1具体包括:
36.获取若干不同场景的无雾图像,根据大气散射模型,生成与无雾图像对应的有雾图像,构建成对的图像数据集。大气散射模型具体公示为:
37.i(x)=j(x)t(x)+a(1
‑
t(x)),
38.其中,i(x)表示有雾图像,j(x)表示无雾图像,a表示大气光图像,t(x)表示透射率图像,x表示像素位置。
39.通过上述过程获得的无雾图像和有雾图像的图像对作为图像去雾模型训练的数据集。将数据集按照5:2的比例划分训练集和测试集。
40.步骤s2和步骤s3具体包括:
41.如图3所示,去雾骨干网络由透射率图像估计网络和大气光估计网络组成,其中,透射率估计网络是一个u型编解码网络结构,在编码器中专门设计了密集残差块网络以获得更加准确的透射率图像,密集残差块以密集块作为基本单元,密集块是由层密集层组成,每个密集层由串行连接的批量归一化层,relu激活层,卷积核为1
×
1、步长为1、无填充的卷积层,批量归一化层,relu激活层,卷积核为3
×
3、步长为1,填充为1的卷积层组成,本实施例共有3个密集块,分别含有6、12、24层密集层,每个密集块的输入与输出之间添加一条残差连接,残差指的是密集块输出与输入之间的差异,残差连接即将残差与上一个密集块的输入作为下一个密集块的输入;解码器首先是串行连接的三个组合块,组合块由串行连接的残差块、relu激活层和反卷积层组成,其中,残差块由反卷积层、批量归一化层、relu激活
层、反卷积层、批量归一化层组成,反卷积层的卷积核大小为4
×
4、步长为2、填充为1。整个网络的最后串行连接一个卷积层和一个relu激活层,卷积层的卷积核大小为3
×
3、步长为1、填充为1;有雾图像输入到该网络中,首先经过解码器解码,再经过编码器编码,最终输出透射率图像;大气光图像估计网络为u
‑
net网络结构;
42.如图4所示,细节恢复网络由一个局部分支网络和一个全局分支网络构成,其中局部分支网络是由一个密集块和一个卷积层组成,密集块是由多层密集层组成,每个密集层由串行连接的批量归一化层,relu激活层,卷积核为1
×
1、步长为1、无填充卷积层,批量归一化层,relu激活层,卷积核为3
×
3、步长为1,填充为1卷积层组成;全局分支网络首先是三个膨胀卷积层并列连接,膨胀系数分别为1、3、5,其后紧接着一个通道维度相加操作用于将三个并列分支的输出结果相加;将局部分支网络的输出与全局分支网络的输出相加作为整个细节恢复网络的输出。
43.整个去雾模型中包含四种损失函数,第一种损失函数为感知损失,感知损失首先通过预训练好的神经网络提取特征,然后计算输出图像特征图与真实图像特征图之间的差距,具体公式如下:
[0044][0045]
其中,表示vgg16网络,c
i
、h
i
和w
i
分别是特征图的通道数、长度和宽度,i
pred
表示输出的无雾图像,表示真实无雾图像;
[0046]
第二种为负结构相似度损失,结构相似度用于衡量两幅图像之间结构的相似程度,负结构相似度损失用于缩小输出图像与真实图像在结构相似度方面的差距,具体公式如下:
[0047][0048]
其中,ssim(.)表示两张图像的结构相似度;
[0049]
第三种为像素级损失,利用l1损失分别计算透射率图像、大气光图像以及去雾后图像与其相对应的真实图像之间的像素差异,具体公式如下:
[0050][0051][0052][0053]
其中,m表示像素数量,t
pred
表示输出的透射率图像,表示真实的透射率图像,a
pred
表示输出的大气光图像,表示真实的大气光图像;
[0054]
第四种为重构损失,利用透射率图像、大气光图像、去雾后图像根据大气散射模型重构出有雾图像,计算重构图像与输入图像之间的差异,具体公式如下:
[0055][0056]
其中,i
rec
表示重构图像,i表示输入图像;
[0057]
整个网络总的损失函数为:
[0058]
l
total
=λ1l
per
+λ2l
ssi
m+λ3l
d
+λ4l
rec
,
[0059]
其中,λ1、λ2、λ3和λ4平衡参数,分别取值为0.5,1.0,0.5和0.7。
[0060]
以上所述仅仅是本发明的优选实施方式,只用于对本发明的进一步说明,不能用于限定本发明的保护范围,本领域的技术人员根据上述发明的内容对本发明做出一些改进和变形,这些改进和变形均落入本发明的保护范围之内。