一种基于大气散射模型的单张图像去雾算法

文档序号:32900816发布日期:2023-01-13 01:40阅读:28来源:国知局
一种基于大气散射模型的单张图像去雾算法

1.本发明涉及计算机视觉技术领域,尤其是一种基于大气散射模型的单张图像去雾算法。


背景技术:

2.在雾霾天气中,大气粒子会散射部分光线,导致捕捉到的图像退化,如低对比度和颜色失真。这些退化的图像会影响后续的高级视觉处理任务的性能,如图像分类和图像分割。因此,需要采用去雾预处理恢复清晰图像来提高这些任务的性能。
3.目前图像去雾的算法主要可以分为三类:基于先验的方法,基于大气散射模型的学习方法,端到端的学习方法。基于先验的方法中经常被使用的是dcp(暗通道)先验和和cap(颜色衰减)先验。dcp先验是通过观察外部清晰图像获得的,即在无雾图像的局部区域中至少有一个颜色通道值接近于0,当使用该方法处理室内图像或图像中存在某些区域的像素值接近大气光时,去雾图像往往偏暗。cap先验是通过分析多幅朦胧图像的远、中、近景,发现雾霾的浓度与亮度和饱和度的差异成正比,但是当图像含有浓雾时,很难根据先验估计透射图,导致去雾过程无法去除所有雾。基于上述类型方法的缺陷,出现了基于大气散射模型的学习方法和端到端的学习方法,这些方法使用网络自动学习与雾霾相关的特征。dcpdn(densely connected pyramid dehazing network)和drn(single image dehazing with an independent detail-recovery network)均为基于大气散射模型的方法,分别采用densenet(densely connected convolutional networks)和unet(u-net:convolutional networks for biomedical image segmentation.)预测透射图和大气光值,这两种方法只有一个阶段进行去雾,导致模型去雾精度不高,且densenet基于密集残差块构建,导致在运行时需要大量内存访问。基于大气散射模型的学习方法不再使用手动设置的统计特征来估计透射图和全局大气光,而是使用网络自动学习与雾霾相关的特征。这些方法依靠大气散射模型通过学习中间变量来恢复清晰的图像,忽略了变量估计不准确引起的误差传播,导致去雾精度不高;而且这些方法普遍使用密集残差块搭建透射图估计网络,训练和测试过程中增加了内存和时间资源的消耗。端到端的学习方法基于神经网络,提高了恢复图像的真实感,但由于该过程通过输入雾图直接恢复清晰图像,忽略去雾过程中间变量的估计,该过程缺乏物理可解释性。


技术实现要素:

4.针对现有图像去雾化方法存在的上述不足,本发明提供一种基于大气散射模型的单张图像去雾算法。该算法是基于大气散射模型的学习方法,通过改进实现两阶段单张图像去雾方法,提升去雾精度;同时去掉了普遍使用的密集残差块搭建透射图估计网络,减少网络训练和测试过程中的时间和内存消耗。
5.本发明提供的基于大气散射模型的单张图像去雾算法,步骤如下:
6.s1、获取reside公共数据集,针对其中的its数据集随机划分部分数据用于训练,
另一部分数据用于验证,针对ots数据集随机划分部分数据用于训练,另一部分数据用于验证。
7.s2、将步骤s1划分的数据集,分别用于训练模型的第一阶段,获得两个预训练模型,一个用于室内图像去雾,一个用于室外图像去雾。具体包括以下子步骤:
8.s21、搭建模型中的透射图估计网络。该网络的输入层至输出层之间依次为基础卷积块、第一osa下采样模块、第二osa下采样模块、第三osa下采样模块、第四osa下采样模块、残差注意模块、第四osa上采样模块、第三osa上采样模块、第二osa上采样模块、第一osa上采样模块、基础卷积块。
9.所述osa下采样模块和osa上采样模块均由基础卷积块构建得到。且对应编号的osa上下采样模块间连接残差注意模块,将osa下采样模块的输出传递给osa上采样作为输入。
10.osa模块的输入到输出依次经过5个基础卷积块,并将5个基础卷积块的输出堆叠作为第六个基础卷积块的输入,由第六个基础卷积块处理输入得到输出。osa模块只在最后一个基础卷积块上存储读取前五个基础卷积块的输出结果作为输入,减少时间和内存的消耗。
11.所述残差注意模块由基础卷积层和残差结构堆叠而成,残差结构的输入到输出依次经过基础卷积层、批量归一化层、激活函数、基础卷基层、批量归一化层。
12.s22、搭建模型中的大气光估计网络。该神经网络的输入层至输出层之间依次为第一基础卷积块、第二基础卷积块、第三基础卷积块、第四基础卷积块、第五基础卷积块、细节提取模块、第五基础反卷积块、第四基础反卷积块、第三基础反卷积块、第二基础反卷积块,第六基础卷积块。所述基础卷积块从输入到输出依次为卷积层、批量正则化、线性激活函数,基础反卷积块从输入到输出依次为反卷积层、批量正则化、线性激活函数。且编号对应的卷积块和反卷积块间连接细节提取模块,将卷积块的输出传递给反卷积块作为输入,细节提取模块由大卷积核卷积层与残差结构堆叠而成。
13.s23、随机将成对的训练数据裁剪为长为256像素,宽为256像素的图像输入模型的第一阶段,通过透射图估计网络获得估计的透射图。
14.s24、随机将成对的训练数据裁剪为长为256像素,宽为256像素的图像输入模型的第一阶段,通过大气光估计网络获得估计的全局大气光值。
15.s25、基于大气散射模型的逆运算,计算获得模型第一阶段的去雾图像输出。
16.s3、分别加载步骤s2获得预训练模型,通过对应的室内数据集和室外数据集联合训练整个模型,获得去雾性能好的室内图像去雾模型和室外图像去雾模型。具体包括以下子步骤:
17.s31、按照步骤s21和s22搭建模型的透射图估计网络和大气光估计网络。然后搭建特征提取和融合模块,从输入到输出依次经过特征提取模块、基础卷积层、残差结构、基础卷积层、残差结构。特征提取模块含有三个分支,第一个分支包括两个基础卷积层,第二个分支不做任何操作,第三个分支包含傅里叶变换层、两个基础卷积层、傅里叶反变换层;进而形成模型的总网络结构。总网络结构包括两个阶段,每个阶段都包括透射图估计网络和大气光估计网络,两阶段间包括特征提取和融合模块用于提取和传递特征。
18.s32、模型的第一阶段加载步骤s2的预训练模型的参数。
19.s33、随机将成对的训练数据裁剪为长为256像素,宽为256像素的图像输入模型的第一阶段获取比较清晰的去雾图像。
20.s34、输入的雾图联合模型第一阶段输出的清晰图像提取特征并迭代融合获得高质量特征图,传入模型的第二阶段。
21.s35、利用步骤s34获得的高质量特征图,输入透射图估计网络获得预测的透射图。
22.s36、利用步骤s34获得的高质量特征图,输入大气光估计网络获得预测的全局大气光值。
23.s37、基于大气散射模型的逆运算,计算获得模型最终的去雾图像作为输出。
24.s4、利用步骤s3获得的室内图像去雾模型或室外图像去雾模型,分别测试sots数据集的室内或室外图像,获取对应的清晰图像输出。
25.其中,所述步骤s2和步骤s3中设计了训练的损失函数,通过损失函数的限制使得网络模型自动的将输入的雾图转化为清晰图像。
26.与现有技术相比,本发明的有益之处在于:
27.(1)本发明提供的去雾方法通过两个阶段的图像处理,提升模型去雾精度,获得了很好地去雾效果,有效地提升了单张图像去雾的精度,针对跨数据集测试更加地鲁棒。
28.(2)每个阶段中使用osa模块代替现有方法中的密集残差块搭建透射图估计网络,减少模型的内存读取,减少时间和内存资源的消耗。
29.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
30.图1是本发明的基于大气散射模型的单张图像去雾算法的总流程图。
31.图2是实施例中图像去雾的总网络结构图。
32.图3是实施例中osa模块网络结构图。
33.图4是实施例中透射图估计网络结构图。
34.图5是实施例中大气光估计网络结构图。
35.图6是实施例中图像去雾的效果对比图。
具体实施方式
36.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
37.本发明中涉及到的技术术语解释如下:
38.透射图(t(x)):表示大气光没有经过散射、折射等,直接传播到相机的光部分,与场景深度密切相关。
39.全局大气光(a):表示环境光强度。
40.大气散射模型:i(x)=j(x)t(x)+a(1-t(x)),其中i(x)表示在有雾图像的x位置处的像素强度,j(x)表示在清晰图像的x位置处的像素强度。
41.大气散射模型的逆运算:分母的取最大值操作,是为
了防止预测的透射图值接近于0,公式出错。
42.psnr:峰值信噪比,以db为单位,用于衡量两张图像的相似性。
43.ssim:结构相似性,用于比较两张图像的亮度、对比度和结构。
44.its数据集:公共数据集reside的室内数据集,其中包含13990对数据,每对数据包括清晰图像、雾图、透射图和大气光值。
45.ots数据集:公共数据集reside的室外数据集,其中包含72135对数据,面对数据包含清晰图像、雾图、深度图、大气光值和散射系数。
46.sots-indoor数据集:公共数据集sots的室内数据集,用于测试室内模型的性能,含有成对的清晰图像和雾图。
47.sots-outdoor数据集:公共数据集sots的室外数据集,用于测试室外模型的性能,含有成对的清晰图像和雾图。
48.如图1-6所示,本发明提供的基于大气散射模型的单张图像去雾算法,详细步骤如下:
49.步骤1、获取reside公共数据集,针对其中的its数据集随机划分为10000对数据用于训练,3990对数据用于验证,针对ots数据集随机划分为54110对数据用于训练,18025对数据用于验证。
50.步骤2、将步骤1划分的数据集,分别用于训练模型的第一阶段,获得两个预训练模型,一个用于室内图像去雾,一个用于室外图像去雾。具体包括以下子步骤:
51.(1)搭建模型中的透射图估计网络。如图3所示,osa(one-shotaggregation)模块的输入到输出依次经过5个基础卷积块,并将5个基础卷积块的输出堆叠作为第六个基础卷积块的输入,由第六个基础卷积块处理输入得到输出。osa模块只在最后一个基础卷积块上存储读取前五个基础卷积块的输出结果作为输入,减少时间和内存的消耗。
52.如图4所示,透射图估计网络的输入层至输出层之间依次为基础卷积块、第一osa下采样模块、第二osa下采样模块、第三osa下采样模块、第四osa下采样模块、残差注意模块、第四osa上采样模块、第三osa上采样模块、第二osa上采样模块、第一osa上采样模块、基础卷积块。所述osa下采样模块和osa上采样模块均由基础卷积块构建得到。且对应编号的osa上下采样模块间连接残差注意模块,将osa下采样模块的输出传递给osa上采样作为输入。
53.所述残差注意模块由基础卷积层和残差结构堆叠而成,残差结构的输入到输出依次经过基础卷积层、批量归一化层、激活函数、基础卷基层、批量归一化层。
54.(2)搭建模型中的大气光估计网络。如图5所示,该神经网络的输入层至输出层之间依次为第一基础卷积块、第二基础卷积块、第三基础卷积块、第四基础卷积块、第五基础卷积块、细节提取模块、第五基础反卷积块、第四基础反卷积块、第三基础反卷积块、第二基础反卷积块,第六基础卷积块。所述基础卷积块从输入到输出依次为卷积层、批量正则化、线性激活函数,基础反卷积块从输入到输出依次为反卷积层、批量正则化、线性激活函数。且编号对应的卷积块和反卷积块间连接细节提取模块,将卷积块的输出传递给反卷积块作为输入,细节提取模块由大卷积核卷积层与残差结构堆叠而成。
55.(3)随机将成对的训练数据裁剪为长为256像素,宽为256像素的图像输入模型的第一阶段,通过透射图估计网络获得估计的透射图。
56.(4)随机将成对的训练数据裁剪为长为256像素,宽为256像素的图像输入模型的第一阶段,通过大气光估计网络获得估计的全局大气光值。
57.(5)基于大气散射模型的逆运算,计算获得模型第一阶段的去雾图像输出。
58.步骤3、分别加载步骤2获得预训练模型,通过对应的室内/室外数据集联合训练整个模型,获得去雾性能好的室内图像去雾模型和室外图像去雾模型。具体包括以下子步骤:
59.(1)按照步骤2中(1)和(2)搭建模型的透射图估计网络和大气光估计网络。然后搭建特征提取和融合模块,从输入到输出依次经过特征提取模块、基础卷积层、残差结构、基础卷积层、残差结构。特征提取模块含有三个分支,第一个分支包括两个卷积层,第二个分支不做任何操作,第三个分支包含傅里叶变换层、两个卷积层、傅里叶反变换层;进而形成模型的总网络结构,见图2。总网络结构包括两个阶段,每个阶段都包括透射图估计网络和大气光估计网络,两阶段间包括特征提取和融合模块用于提取和传递特征。
60.(2)模型的第一阶段加载步骤2的预训练模型的参数。
61.(3)随机将成对的训练数据裁剪为长为256像素,宽为256像素的图像输入模型的第一阶段获取比较清晰的去雾图像。
62.(4)输入的雾图联合模型第一阶段输出的清晰图像提取特征并迭代融合获得高质量特征图,传入模型的第二阶段。
63.(5)利用上一步骤获得的高质量特征图,输入透射图估计网络获得预测的透射图。
64.(6)利用上一步骤获得的高质量特征图,输入大气光估计网络获得预测的全局大气光值。
65.(7)基于大气散射模型的逆运算,计算获得模型最终的去雾图像作为输出。
66.步骤4、利用步骤3获得的室内图像去雾模型或室外图像去雾模型,分别测试sots数据集的室内或室外图像,获取对应的清晰图像输出。
67.其中,所述步骤2和步骤3中用于训练的损失函数介绍如下:
68.(1)恢复损失:比较模型去雾图像和真实清晰图像之间的差异,可以有效捕捉图像的低频信息,迫使去雾图像更接近真实清晰图像。
[0069][0070]
其中ji(x)表示第i张雾图对应的真实清晰图像在x位置的像素强度,表示第i张雾图在第一阶段生成的去雾图像在x位置的像素强度,表示第i张雾图在整个模型获得的去雾图像在x位置的像素强度,||.||表示l1范数,n为训练样本的数目。
[0071]
(2)l1损失:用于限制模型预测的中间变量透射图和大气光值,
[0072][0073]
其中ti(x)表示第i张雾图对应的真实透射图在x位置的像素强度;表示第i张雾图在第一阶段生成的预测透射图在x位置的像素强度;表示第i张雾图在整个模型获得的预测透射图在x位置的像素强度;ai表示第i张雾图对应的真实大气光值,表示第i张
雾图在第一阶段生成的预测大气光值,表示第i张雾图在整个模型获得的预测大气光值。n为训练样本的数目。
[0074]
(3)总变量损失:确保模型预测的透射图平滑。
[0075][0076]
其中分别代表在水平和竖直方向上进行差分。
[0077]
(4)梯度损失:确保模型生成的清晰图像保留更多的边缘信息:
[0078][0079]
(5)重建损失:保证生成的清晰图像与输入图像内容一致:
[0080][0081]
其中ii(x)表示第i张雾图在x位置的像素强度,表示基于第i张雾图在模型第一阶段获得的预测值重建的雾图在x位置的像素强度,表示基于第i张雾图在模型第二阶段获得的预测值重建的雾图在x位置的像素强度。两个重建雾图的过程如下公式所示:
[0082][0083][0084]
(6)第一阶段预训练的损失函数为:
[0085]
l
total
=l
rec
+l1+0.05l
tv
+0.1l
edge
+l
recon
[0086]
(7)联合训练的损失函数为:
[0087]
l
total
=0.1l
rec
+l1+0.05l
tv
+l
edge
+l
recon
[0088]
本发明的提供的是一种基于大气散射模型和细节补充的单张图像去雾方法。在一个实施例中,如图6所示,将图中的雾图输入训练好的模型,网络模型生成去雾图像。可以看出,本发明的基于大气散射模型的两阶段去雾方法,获得了很好地去雾效果;且本发明采用osa模块搭建透射图估计网络减少了时间和内存资源的消耗。
[0089]
将本发明的去雾方法与现有的两个模型结构dcpdn和drn进行对比。dcpdn模型详见文献zhang,h.,patel,v.m.:densely connected pyramid dehazing network.in:proceedings of the ieee conference on computer vision and pattern recognition.(2018)3194

3203。模型drn详见文献li,y.,cheng,d.,sun,j.,zhang,d.,wang,n.,gao,x.:single image dehazing with an independent detail-recovery network.arxiv preprint arxiv:2109.10492(2021)。对比结果见表1。模型结构dcpdn、drn两个个网络结构同样是利用单独的透射图估计网络和大气光估计网络获取中间变量的估计值,再利用大气散射模型的逆变换获得去雾图像。但与本发明相比较的不同之处在于,本发明是一个两阶段去雾模型,且相较于消耗资源的密集残差块,本发明采用osa模块构建透射图估计网络。使用psnr(峰值信噪比)和ssim(结构相似性)比较模型的去雾精度,这两个
指标的值越高说明去雾精度越好。如表1所示,针对不同数据集合的结果显示本发明的实验效果更好,突出了两个阶段的模型结构有效的提升了模型的精度。
[0090]
表1、现有模型方法和本发明方法的实验数据对比结果
[0091][0092]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1