基于融合和细化机制的光学遥感图像去云雾算法
1 引言
随着遥感技术的发展,光学遥感图像已经在越来越多的领域发挥重要作用,给国民经济发展带来很大便利,例如环境监测、交通监控、土地普查、海洋监管和天气预报等许多方面。光学遥感图像能够提供很多有价值的信息,但由于光学传感器成像原理的限制,其受大气条件和气候因素影响很大。例如,光学传感器在成像过程中由于云雾覆盖,光线在传播过程中被散射,导致到达光学传感器的光线有所衰减,从而带来图像细节模糊、分辨率下降、对比度降低等一系列问题,使遥感图像利用率下降,严重影响对图像内容的判读、分析和使用。
云雾从厚度上可以分为厚云雾和薄云雾:厚云雾遮挡的遥感图像信息严重丢失或完全丢失,不具有恢复价值;薄云雾遮挡的遥感图像内容信息部分丢失,通过一系列算法处理能够改善或恢复图像内容,消除云雾的影响,处理后的遥感图像具有使用价值,可大大提高图像利用率。因此,研究遥感图像云雾去除技术具有非常广阔的研究价值和应用前景。
遥感图像云雾去除算法主要包括假设先验法、图像滤波法和深度学习法等。假设先验法通过对大量含云雾图像和无云雾图像的分析,发现其潜在的联系,提出相关假设先验信息作为收敛条件,通过物理模型反推出无云雾图像。例如,暗通道先验(DCP)[1]假设无云雾图像局部明亮区域至少一个颜色通道像素具有极低值,可以以此作为收敛条件,通过大气散射模型反推出无云雾图像,该方法实现比较简便,但在地表较亮时会失效,与云雾产生混淆导致颜色失真等问题。颜色衰减先验(CAP)[2]建立一个线性模型估计图像景深,通过机器学习估算物理模型中的透射率,从而反推出无云雾图像。文献[3]对各图像通道进行局部最小值滤波并选最大值作为全局大气光,使用边界约束项和L1正则化推算图像透射率进而恢复无云雾图。图像滤波法通过滤波去除云雾影响,最典型的就是同态滤波法(HF)[4],该方法将图像从空间域转换到频率域,将大气散射模型作为频率域处理的基础,利用压缩亮度范围和增强对比度的方式去除图像中云雾的影响。小波变换法[5]对图像进行小波分解,在不同分辨率的子图像中将云雾信息与无云雾图像分离出来,只处理低频带,从而达到去除云雾的目的。
近年来,人工智能技术发展越来越迅速,许多专家学者开始采用卷积神经网络(CNN)设计遥感图像云雾去除算法,CNN凭借特征学习能力学习如何去除云雾影响,恢复清晰图像。例如,DehazeNet模型[6]采用CNN学习大气散射模型中有云雾图和透射率之间的关系,进而恢复无云雾图像。多尺度卷积神经网络(MSCNN)[7]采用不同尺度特征提取云雾特征,直接生成无云雾图像。除此之外,许多学者也尝试利用生成对抗网络(GAN)设计遥感图像云雾去除算法[8-12],并取得不错的效果。
本文提出一种基于融合和细化机制的光学遥感图像去云雾算法。云雾去除网络基于图像预处理单元、多尺度云雾特征融合金字塔和多尺度云雾边缘特征细化单元搭建。其中,图像预处理单元负责提取图像感知层特征,为后续网络提供输入;多尺度云雾特征融合金字塔从不同尺度提取图像云雾特征,并基于金字塔结构对图像进行融合;多尺度云雾边缘特征细化单元对云雾的边缘特征进行细化处理,消除不自然的空间过渡现象,重构出高质量的无云图像。采用判别网络进行对抗训练,判别网络通过系数特征图自适应校正图像特征,通过对含云雾图与无云雾图的减法操作分离出云雾特征完成判别任务,可更好地提高网络云雾去除能力。选择5种先进的云雾去除算法并在开源RICE数据集上进行实验,对实验结果的定性和定量分析表明,所提算法的性能优于其他5种对比算法。此外,还进行了消融实验验证所提算法判别网络和损失函数的有效性。
2 算法实现
2.1 遥感图像云雾去除网络
遥感图像云雾去除网络基于图像预处理单元、多尺度云雾特征融合金字塔和多尺度云雾边缘特征细化单元搭建,负责完成单张遥感图像的云雾去除,输入为含云雾图,输出为去除云雾图,具体如
图 1. 遥感图像云雾去除网络示意图
Fig. 1. Illustration of cloud removal network for remote sensing image
图像预处理单元(IPU)采用两条卷积路径进行预处理,支路1对原始图像进行特征提取,支路2对VGG19网络[13-14]提取的感知特征进行处理,采用这两部分作为输入更有利于去除云雾影响。其中,图像预处理单元采用VGG19网络模拟人眼视觉系统提取图像感知层面特征,为后续云雾去除提供更多信息。以VGG19网络第
2.2 多尺度云雾特征融合金字塔
采用融合机制搭建多尺度云雾特征融合金字塔(MCFFP),包括上采样、下采样和特征融合单元(FFU),主要用于提取多尺度云雾特征并进行融合处理,如
多尺度云雾特征融合金字塔在向上路径中对输入特征图进行4次下采样,每次均将尺寸变为原来的一半,从而提取图像的高频特征,随后在向下路径中使用4次上采样恢复特征图尺寸,在向上和向下路径中相同尺寸特征之间采用跳跃连接进行层间特征融合。云雾特征通常影响图像低频特征,因此将图像高频特征和低频特征分别处理,最大限度保存图像高频信息不受损坏,在低频部分去除云雾后再将高频部分融合,从而得到完整的图像特征。
设多尺度云雾特征融合金字塔共有
式中:
下降路径中第
式中:
特征融合单元由n条支路组成,每条支路上有1个密集连接子模块,密集连接子模块包含3组卷积操作和LReLU激活函数,如
在密集连接子模块之后,先将
2.3 多尺度云雾边缘特征细化单元
采用细化机制搭建多尺度云雾边缘特征细化单元(MERU),由空间注意力单元(SAU)[16]、卷积模块Blk1、卷积模块Blk2和全局残差学习组成,如
图 4. 多尺度云雾边缘特征细化单元示意图
Fig. 4. Illustration of multi-scale cloud edge feature refinement unit
空间注意力单元从空间维度捕获图像的重要云雾区域特征,使云雾特征不受空间变化的影响,根据特征通道贡献赋予相应权重,通过不断更新参数实现重要特征强化,提高网络表达能力,具体由平均值通道池化、
2.4 判别网络
为了让云雾去除网络生成逼真的去云雾图像,设计了一个判别网络与云雾去除网络进行竞争,如
式中:
判别网络通过学习推断含云雾图与无云雾图(或去云雾图)特征之间存在的系数关系,将特征整合后利用一个卷积核尺寸为的卷积和Sigmoid函数得到系数特征图,随后将与其他特征图每个通道对应元素相乘,分别得到、和。通过系数特征图对特征进行重校准,使判别网络更加容易区分无云雾图和去云雾图。
如果将含云雾图中的云雾视为加性噪声,将含云雾图与无云雾图(或去云雾图)做减法,即可得到云雾特征图,分别记为
2.5 损失函数
所提算法采用对抗学习的方式训练,云雾去除网络与判别网络之间对抗博弈,不断提高自身性能,云雾去除网络的目标函数包括感知损失函数、梯度损失函数和对抗学习损失函数:
式中:
图像去除云雾后的视觉质量非常重要,云雾去除过程中会带来一系列影响,比如颜色畸变和对比度降低等。采用模拟人眼视觉细胞的感知特征可以很好地解决该问题,使图像的视觉效果更好,感知损失函数
式中:
图像云雾边缘的处理尤为重要,不自然的边缘过渡会严重影响图像视觉质量,导致图像产生不自然的伪影和失真。而图像边缘细节主要体现在图像梯度上,为了使图像处理后更自然和细腻,采用梯度损失函数解决这个问题,梯度损失函数
式中:
对抗训练过程中,采用对抗学习损失函数使云雾去除网络与判别网络对抗竞争,提高网络去云雾能力,对抗学习损失函数
判别网络的目标函数
式中:
3 实验结果及分析
3.1 实验设置
所提算法基于TensorFlow框架实现,利用Adam方法训练100轮,初始学习率设置为
所提算法使用的训练及测试数据均选自遥感图像云去除数据集(RICE)[19],包括RICE1薄云数据集和RICE2厚云数据集。RICE1数据集包括500组薄云和无云遥感图像对,RICE2数据集包括736组厚云和无云遥感图像对,本实验的训练集和测试集按照4∶1的比例划分。
3.2 实验结果定性分析
对各种算法结果进行定性分析,对比图像的视觉效果。RICE1数据集和RICE2数据集分别包含薄云雾图和厚云雾图,主要场景包括山脉、草原和海洋等,云雾去除具有一定难度,可以很好地检测云雾去除算法的性能。选择5种典型的云雾去除算法,涵盖假设先验法和深度学习法等,分别为CAP[2]、BCCR[3]、dark channel prior(DCP)[1]、DehazeNet[6]和MSCNN[7]。
在薄云雾的处理上,各种算法在RICE1数据集上结果如
图 6. RICE1数据集结果。(a)含云雾图;(b)无云雾图;(c)CAP;(d)BCCR;(e)DCP;(f)DehazeNet;(g)MSCNN;(h)所提算法
Fig. 6. Results of the RICE1 dataset. (a) Cloudy images; (b) cloud-free images, (c) CAP; (d) BCCR; (e) DCP; (f) DehazeNet; (g) MSCNN; (h) proposed algorithm
在厚云雾的处理上,RICE2数据集的云雾去除结果如
图 7. RICE2测试集实验结果。(a)含云雾图;(b)无云雾图;(c)CAP;(d)BCCR;(e)DCP;(f)DehazeNet;(g)MSCNN;(h)所提算法
Fig. 7. Results of the RICE2 dataset. (a) Cloudy images; (b) cloud-free images, (c) CAP; (d) BCCR; (e) DCP; (f) DehazeNet; (g) MSCNN; (h) proposed algorithm
此外,对真实云雾图像的处理结果如
图 8. 真实图像实验结果。(a)含云雾图;(b)CAP;(c)BCCR;(d)DCP;(e)DehazeNet;(f)MSCNN;(g)所提算法
Fig. 8. Results of real images. (a) Cloudy images; (b) CAP; (c) BCCR; (d) DCP; (e) DehazeNet; (f) MSCNN; (g) proposed algorithm
3.3 实验结果定量分析
通过定性分析可知,所提算法结果视觉效果较好,为了进一步验证其性能,接下来对算法结果进行定量分析,选择峰值信噪比(PSNR)和结构相似性(SSIM)[20]作为定量分析评价指标,两种指标与算法性能呈正相关。
在薄云雾处理方面,采用RICE1数据集进行实验,所提算法及对比算法结果如
表 1. RICE1测试集定量分析结果
Table 1. Quantitative analysis results of the RICE1 test set
|
在厚云雾处理方面,RICE2数据集上的实验结果如
表 2. RICE2测试集定量分析结果
Table 2. Quantitative analysis results of the RICE2 test set
|
3.4 消融实验
本小节进行消融实验验证所提模块和损失函数的有效性。首先,为了验证感知损失函数和梯度损失函数对云雾去除的有效性,实验中将使用两种损失函数的结果作为基准线(baseline)进行对比,然后分别移除感知损失函数和梯度损失函数重新训练网络,得到的定量化评价结果如
表 3. 损失函数消融实验定量分析结果
Table 3. Quantitative analysis results of the ablation experiment of loss functions
|
其次,为了验证所提判别网络对整个网络云雾去除性能的影响,分别在无判别网络和文献[21]判别网络的情况下重新训练,3种方法的云雾去除结果如
表 4. 判别网络消融实验定量分析结果
Table 4. Quantitative analysis results of the ablation experiment of discriminator network
|
3.5 算法复杂度及运行时间
从RICE数据集中选取50幅含云雾图像,图像尺寸均缩放为620×460,分别采用各类算法进行云雾去除并计算每幅图像的平均运行时间,同时计算了深度学习算法的模型参数量和浮点运算次数(FLOPs),具体如
表 5. 模型参数、浮点运算次数和平均运行时间
Table 5. Model parameters, FLOPs, and average running time
|
4 结论
提出一种基于融合和细化机制的光学遥感图像去云雾算法。采用图像预处理单元、多尺度云雾特征融合金字塔和多尺度云雾边缘特征细化单元组成的云雾去除网络学习含云雾图与无云雾图之间的映射关系。采用金字塔架构融合不同尺度特征,并对云雾边缘特征进一步细化,有效提高图像质量。对抗训练时,采用自校正特征和分离出的云雾特征作为判别依据,能够有效提高判别准确性。选择5种对比算法在RICE数据集上进行实验,定性和定量结果表明,所提算法均排在首位,具有优越的云雾去除能力。接下来,将在多场景图像适应性、星上硬件环境适应性、轻量化网络模型等方面进行优化改进。
[1] HeK M, SunJ, TangX O. Single image haze removal using dark channel prior[C]∥2009 IEEE Conference on Computer Vision and Pattern Recognition, June 20-25, 2009, Miami, FL. New York: IEEE Press, 2009: 1956-1963.
[2] Zhu Q S, Mai J M, Shao L. A fast single -image haze removal algorithm using color attenuation prior[J]. IEEE Transactions on Image Processing, 2015, 24(11): 3522-3533.
[3] MengG F, WangY, DuanJ Y, et al. Efficient image dehazing with boundary constraint and contextual regularization[C]∥2013 IEEE International Conference on Computer Vision, December 1-8, 2013, Sydney, NSW, Australia. New York: IEEE Press, 2014: 617-624.
[4] PeliT, QuatieriT. Homomorphic restoration of images degraded by light cloud cover[C]∥ICASSP '84. IEEE International Conference on Acoustics, Speech, and Signal Processing,March 19-21, 1984, San Diego, CA, USA. New York: IEEE Press, 2003: 100-103.
[5] 张波, 季民河, 沈琪. 基于小波变换的高分辨率快鸟遥感图像薄云去除[J]. 遥感信息, 2011, 26(3): 38-43.
Zhang B, Ji M H, Shen Q. Wavelet-based cloud removal from high-resolution remote sensing data: an experiment with QuickBird imagery[J]. Remote Sensing Information, 2011, 26(3): 38-43.
[6] Cai B L, Xu X M, Jia K, et al. DehazeNet: an end-to-end system for single -image haze removal[J]. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198.
[7] RenW Q, LiuS, ZhangH, et al. Single image dehazing via multi-scale convolutional neural networks[M]∥LeibeB, MatasJ, SebeN, et al. Computer vision-ECCV 2016. Lecture notes in computer science. Cham: Springer, 2016, 9906: 154-169.
[8] 王军军, 孙岳, 李颖. 一种生成对抗网络的遥感图像去云方法[J]. 西安电子科技大学学报, 2021, 48(5): 23-29.
Wang J, Sun Y, Li Y. Cloud removal method for a remote sensing images based on the GAN[J]. Journal of Xidian University, 2021, 48(5): 23-29.
[9] 孙潇, 徐金东. 基于级联生成对抗网络的遥感图像去雾方法[J]. 计算机应用, 2021, 41(8): 2440-2444.
Sun X, Xu J D. The remote sensing image dehazing method based on a cascaded generative adversarial network[J]. Journal of Computer Applications, 2021, 41(8): 2440-2444.
[10] 李玉峰, 任静波, 黄煜峰. 基于深度学习的遥感图像去雾算法[J]. 计算机应用研究, 2021, 38(7): 2194-2199.
Li Y F, Ren J B, Huang Y F. Remote sensing image haze removal algorithm using deep learning[J]. Application Research of Computers, 2021, 38(7): 2194-2199.
[11] 裴傲, 陈桂芬, 李昊玥, 等. 改进CGAN网络的光学遥感图像云去除方法[J]. 农业工程学报, 2020, 36(14): 194-202.
Pei A, Chen G F, Li H Y, et al. Method for cloud removal of optical remote sensing images using an improved CGAN network[J]. Transactions of the Chinese Society of Agricultural Engineering, 2020, 36(14): 194-202.
[12] 李华莹, 林道玉, 张捷, 等. 基于生成对抗网络的遥感图像去云算法[J]. 计算机与现代化, 2019(11): 13-17.
Li H Y, Lin D Y, Zhang J, et al. Cloud removal algorithm of remote sensing images based on GANs[J]. Computer and Modernization, 2019(11): 13-17.
[13] Russakovsky O, Deng J, Su H, et al. ImageNet large-scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252.
[15] WangQ L, WuB G, ZhuP F, et al. ECA-net: efficient channel attention for deep convolutional neural networks[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 13-19, 2020, Seattle, WA, USA. New York: IEEE Press, 2020: 11531-11539.
[17] JohnsonJ, AlahiA, LiF F. Perceptual losses for real-time style transfer and super-resolution[M]∥LeibeB, MatasJ, SebeN, et al. Computer vision-ECCV 2016. Lecture notes in computer science. Cham: Springer, 2016, 9906: 694-711.
[18] MaoX D, LiQ, XieH R, et al. Least Squares generative adversarial networks[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE Press, 2017: 2813-2821.
[20] Wang Z, Bovis A C, Sheik H R, et al. Image quality assessment: from error visibility to structural similarity[J]. IEEE Transactions on Image Processing, 2004, 13(4): 600-612.
[21] IsolaP, ZhuJ Y, ZhouT H, et al. Image-to-image translation with conditional adversarial networks[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE Press, 2017: 5967-5976.
Article Outline
王晓宇, 刘宇航, 张严. 基于融合和细化机制的光学遥感图像去云雾算法[J]. 激光与光电子学进展, 2024, 61(4): 0428012. Xiaoyu Wang, Yuhang Liu, Yan Zhang. Algorithm for Cloud Removal from Optical Remote Sensing Images Based on the Mechanism of Fusion and Refinement[J]. Laser & Optoelectronics Progress, 2024, 61(4): 0428012.