基于改进M型卷积网络的RGB彩色遥感图像云检测 下载: 1094次
1 引言
随着遥感技术的发展,遥感影像已广泛用于资源利用、环境检测及气象探测等工作领域。全球有效云量(云发射率加权的云量)约为0.50±0.05[1],准确地分离遥感图像中的有云像元和无云像元已成为遥感数据处理的重要环节,同时也为天气预报与自然灾害预测提供最可靠的信息源。因此,有效的云检测是对遥感影像后续分析与利用的前提。
目前,多种云检测方法被提出。基于阈值的云检测方法[2-4]主要通过提取每个像素的各种光谱特征,然后使用一个或多个阈值确定云掩模。该方法主要利用低层次的光谱信息,空间信息涉及相对较少,对下垫面和云覆盖范围的敏感性较高[5],这决定了云检测工作的复杂性,导致产生误检。随着大数据应用推广及机器学习技术的快速发展,云检测中这种复杂性工作可由计算机来实现,从而极大节省成本,所以基于机器学习的云检测方法的应用越来越广泛[6]。Xu等[7]利用决策树提取云边界。Li等[8]利用亮度和纹理特征训练支持向量机(SVM)分类器检测云。Hu等[9]将计算机视觉与随机森林方法相结合,得到云覆盖掩模图。其中,随着深度学习在图像识别[10]、姿态估计[11]、自然语言处理[12]等方面的快速发展,深度神经网络强大的识别能力得到了广泛的认可,基于深度学习的云检测方法也引起了人们的关注。Shi等[13-14]利用超像素分割和全卷积神经网络(FCNN)对Quickbird、谷歌地球图像和Landsat8图像中的云进行检测。陈洋等[15]采用卷积网络对资源三号遥感影像进行云检测。这些方法与传统机器学习方法相比,可实现更高精度的云检测,但对云的边缘检测较为粗糙,导致云的细节丢失严重。
针对现有方法在遥感图像云检测中易产生误检及边缘细节检测精度不够高的问题,提出一种深度语义分割网络RM-Net,对Landsat8和高分一号 WFV RGB彩色图像进行像素级云检测。该网络是对M型卷积网络(M-Net) [16]的改进,其框架主要由编码器、解码器和2个边路径组成。该网络在分割网络中引入避免网络训练退化的残差单元[17],增加采样密度(在不增加计算量的前提下)的空洞空间金字塔池化(ASPP)[18],并利用Adam算法对网络进行优化。实验结果表明,对M-Net的改进可进一步提高其性能,在复杂条件下仍能取得较高精度的云检测。
2 原理与方法
在RGB彩色遥感图像中,云通常是白色和明亮的,易与大多地面物体区分。但是,由于云的厚度和形态各不相同,下垫面地物种类繁多,常存在容易混淆的物体(如白色的建筑物、冰、雪等),且与长波长传感器(即红外、多光谱)相比,RGB色彩波段对散射条件更为敏感[19],故仅利用图像的空间信息进行云识别,难度较大。因此,从目标分割和分类的角度解决这个问题可得到更直观的结果,还可避免目前大多数云检测方法依赖于特定传感器的弊端。本文将RGB彩色图像与其对应的标签输入网络进行训练和测试,并得到最终的云检测结果。
2.1 RM-Net分割网络
在语义分割中,低层特征包含大量空间信息,高层特征包含大量语义信息。若要取得好的分割结果,有必要同时使用低层次的细节和高层次的语义信息。如U-Net[20],可将低层次精细的细节补偿至高层次的语义特征中。M-Net[16]是基于U-Net改进而来,除了具有U-Net中的编码器和解码器路径外,还增加了两条侧路径来提供深度监督功能。M-Net采样过程中会丢失较多信息,易造成对薄云和含有高亮度下垫面的云误检。针对这一问题,提出一种改进的M型卷积网络模型(RM-Net),其主要由多个残差单元、卷积层、反卷积层与concat层组成。
1) 残差单元:神经网络的性能随着其深度的加深而提高,但同时会引起网络的退化,而残差神经网络[17]可很好地解决这一问题,其方法主要是在堆叠层上采取残差学习,每个残差单元都可以用一般形式表示为
图 1. 卷积单元与残差单元。(a)前向传播卷积单元;(b)残差单元
Fig. 1. Convolution unit and residual unit. (a) Forward propagation convolution unit; (b) residual unit
式中:
2) 卷积层:在图像处理中,大尺寸的图像在网络中权重数量较大,造成难以对传统的神经网络进行训练。而图像的空间联系是局部的,距离越近的像素相关性越强。因而,每个神经元不需要对全局图像进行感知,只需对图像进行局部感知。且由于图像某一部分的统计特性与其他部分相同,所以对于图像中的不同部分可使用同样的学习特征。含有卷积层的网络中每个神经元的权重个数为卷积核的大小,这样可极大地减少权重的数量。在分割网络中,卷积层用于提取输入的特征和增大感受野,高层特征包含大量空间信息,低层特征包含大量语义信息,多层的卷积从低级特征中提取更复杂的特征。假设每个卷积层的输入为
式中:
3) 扩张卷积与ASPP:在语义分割中,增大感受野有利于提取语义信息,但会弱化空间信息的提取,而扩张卷积很好地解决了这一问题。扩张卷积与普通卷积相比,卷积核大小和输出的特征图大小一样,但扩张卷积具有更大的感受野(卷积核在图像上看到的区域更大)。一个扩张率为2的3×3卷积核,其感受野与5×5的卷积核相同,但参数数量仅为9个,是5×5卷积核参数数量的36%。扩张卷积对应的感受野
式中:
跳跃连接将底层特征与高层特征融合,同时使两个堆叠的卷积层获得更大的感受野。假设
具有不同扩张率的ASPP能有效地捕获多尺度信息,但当等价后的感受野大于特征图大小时,会造成滤波器的退化[21]。由于本文使用的训练图像大小为256 pixel×256 pixel,编码器最后一个残差单元接收的特征图大小为32 pixel ×32 pixel,所以在编码器最后一个残差单元使用3个3×3扩张率依次为3,6,9的递增的扩张卷积层,并结合多个跳跃连接,使采样更加密集。根据(4)式和(5)式,本文使用的ASPP中最大的感受野为31(小于该卷积层输入的特征图大小),从而最大化提取有效特征。在ASPP后使用1×1的卷积层可将通道数减少到128,以满足维度匹配。
4) 反卷积层:反卷积是卷积的逆过程,可将输入的特征图恢复为原输入图像的大小,实现像素级的语义分割。假设反卷积层的卷积核大小为
式中:
5) concat层:在信息提取的过程中,不同的卷积层提取不同的空间信息与语义信息,而concat层可将两个及以上同等大小的特征图进行拼接,从而达到特征融合、促进信息传播的作用。
RM-Net深层网络架构如
在分割网络中,编码器从RGB彩色图像中提取稳健抽象表示,解码器根据编码器的响应计算像素级的分割和分类掩码。使用步长为2的卷积层代替池化层使特征图减半,每个卷积层的特征通道数都随着步长为2的卷积和反卷积而变化。由于测试集图像为1000 pixel×1000 pixel,在经过连续4个下采样后,第1次上采样时恢复的特征图大于第3个下采样后的特征图,无法完成特征融合,导致不能对测试集图像进行云检测。因此,利用包含不同扩张率的ASPP替换M-Net中最后1个池化层和编码器的最后2个卷积层,在避免信息丢失与不增加计算量的前提下,使扩张率进一步增大,同时像素采样更加密集,从而增大感受野并融合多尺度特征。解码路径由2×2的反卷积层和2个级联的步长为1的3×3卷积层重复组成。
在最后1个卷积层之后添加概率为0.5的dropout函数可防止网络过拟合。对于2条边路径,左路径由3个步长为2的3×3卷积层组成,其输出端连接到对应的编码层输入端;右路径由反卷积层和concat层组成,并融合解码层的输出。最后1个残差单元提取的特征经过1×1的卷积核后进入SoftmaxWithLoss层,其中Softmax函数用于计算每个像素类分布的概率值,并利用Softmax函数的输出计算Loss值。Loss函数
式中:
2.2 DDCN分割网络
为与本文方法进行对比,将结合多尺度特征进行像素级云检测的深度卷积神经网络(DCN)[22]改进为DDCN网络,结构如
3 数据集的选取与增强
选取的遥感图像来自L8 SPARCS云和云阴影验证数据集[23]。此数据集像素级的云掩模根据11个波段的Landsat8数据集获得,其groundtruth的准确性足够高,涵盖大的薄云、海洋上空云和下垫面为冰/雪等多种情况,具有较好的代表性。80张影像含有7个手动标记的类,包括云、云阴影、淹没区、冰/雪、水体、水面阴影和陆地,每张图片大小为1000 pixel×1000 pixel。从中选取64张图像作为训练集与验证集,16张图像作为测试集。
为验证本文云检测方法的泛化性,选取中国高分1号云和云阴影覆盖数据集[24]中RGB彩色图像进行云检测实验。高分1号卫星上的宽视场相机(WFV)成像系统的空间分辨率为16 m,共有4个多光谱波段,该数据集有108张影像,包含全球不同的土地覆盖类型,所有相关的掩模都对云作了标记。为降低图像分割对计算机性能的要求以及提高图像分割的效率,将数据集中的图像统一转化为1000 pixel×1000 pixel,从中选取86张图像作为训练集与验证集,22张图像作为测试集。
在训练阶段,由于原始数据少且尺寸过大,且考虑到GPU内存的局限性、计算速度及分割方法的时效性等,通过翻转、饱和度调整、亮度调整、颜色调整和加噪等操作增强图像。选取一张增强后的Landsat8图像,其效果如
图 4. 数据集增强。(a)原图;(b)水平翻转;(c)垂直翻转;(d) 水平垂直翻转;(e)饱和度调整;(f)亮度调整;(g)颜色调整;(h)加噪
Fig. 4. Dataset enhancement. (a) Original image; (b) horizontal flip; (c) vertical flip; (d) horizontal and vertical flips; (e) saturation adjustment; (f) brightness adjustment; (g) color adjustment; (h) add noise
将增强后的Landsat8原始图像裁剪成大小为256 pixel×256 pixel的4608张子图像,其中4000张作为训练集,608张作为验证集。将增强后的高分1号WFV原始图像同样裁剪成256 pixel×256 pixel的子图像,训练集与验证集图像数量分别为5000张与1192张。
4 实验与评价
4.1 实验环境
实验采用Ubuntu16.04下接口为Python的深度学习框架Caffe[25],硬件环境为处理器Intel i7 8700,内存为16G,图像处理器(GPU)为 GeForce GTX 1080,显存为8G的计算机。
4.2 实验步骤
1) 数据集预处理:计算训练集在RGB三个维度的均值,在训练与调用模型时,将训练集、验证集和测试集分别减去该均值(遵循模型训练过程,仅从训练集中获取信息),可提高训练与测试的速度与精度。
2) 制作标签:云掩模图像由相关专家手动标记,再将其转化为灰度图像。由于同一类灰度值是变化的,需要进行灰度值固定,将掩模图像中每个像元对应的是“云”还是“非云”,分别用灰度值1和0表示,形成与原图像对应的二值掩模图像,用于监督网络的训练。
3) 实验参数设置:训练时批次大小取经验值为8,即每迭代1次处理 8张图像。在参数优化阶段,梯度优化使用Adam算法,设置动量大小
4) 测试:调用训练生成的最优模型对测试集1000 pixel×1000 pixel的图像进行像素级云检测,云区用白色表示,非云区用黑色表示,并与其他方法作定性和定量比较。采用交叉验证的方式,即利用未参与训练的图像对6种云检测方法进行精度测试。
为验证加入的残差单元与ASPP对云检测的有效性,将RM-Net方法使用的残差单元与ASPP分别移除和同时移除,再通过使用相同的数据集并设置相同的实验参数进行训练。训练迭代的次数与总准确度
式中:
由
4.3 云检测方法比较
4.3.1 定性比较
图 6. 6种方法对Landsat8图像云检测结果视觉对比
Fig. 6. Visual comparison of Landsat8 image cloud detection results obtained by six methods
图 7. 6种方法对高分1号WFV图像云检测结果视觉对比
Fig. 7. Visual comparison of GaoFen-1 WFV image cloud detection results obtained by six methods
4.3.2 定量比较
用4个指标定量评价云检测方法的有效性,即精确率
式中:
表 1. 6种方法对Landsat8图像云检测结果的定量比较
Table 1. Quantitative comparison of Landsat8 image cloud detection results obtained by six methods
|
表 2. 6种方法对高分1号WFV图像云检测结果的定量比较
Table 2. Quantitative comparison of GaoFen-1 WFV image cloud detection results obtained by six methods
|
4.4 云与云阴影检测
由于遥感图像中云与云阴影总是成对出现,因此云阴影的检测对遥感图像的应用也具有重要意义。挑选Landsat8和高分一号WFV RGB含云与云阴影图像各20张,用来训练、验证与测试的图像分别为12张,4张与4张,扩充后的训练集为900张,验证集为252张,大小为 256 pixel×256 pixel。将标签图像中每个像元对应的“云”、“云阴影”和“晴空”分别用 2,1,0 表示,用于监督网络训练。最后一个卷积层输出设为3,即实现云、云阴影和晴空的三分类。
表 3. 云与云阴影检测结果定量比较
Table 3. Quantitative comparison of detection results of cloud and cloud shadow
|
5 结论
利用改进的M型卷积网络(RM-Net)方法对RGB彩色遥感图像进行像素级云检测,该方法结合了残差网络、空洞空间金字塔池化与M-Net的优点。残差单元使网络在加深时不易出现退化,丰富的跳跃连接可促进网络的前向传播和反向传播, 空洞空间金字塔池化以及堆叠的卷积层使网络在不增加参数及不弱化空间信息的前提下增大感受野,从而提取更多的特征,为像素级预测提供多尺度信息。实验中定性和定量分析表明,融合多特征的DDCN方法与RM-Net方法可对多种复杂条件下的RGB彩色遥感图像的云进行更为有效的检测,在云的边缘生成精细的掩模,误检率较低,并能对云阴影进行较为有效的检测,具有较高的检测精度与很好的泛化性。此外,RM-Net方法中丰富的跳跃连接以及包含不同扩张率的ASPP可使网络提取更多有效特征,所以实验结果优于DDCN方法和其他对比方法。
运用深度学习方法可显著提高遥感图像云检测的速度与精度,为遥感图像的准确应用起到了一定的促进作用。但本文云检测方法还存在许多不足,如没有将厚云与薄云区分开,影像中存在部分云阴影误检和少量薄云漏检等。下一步工作将完善分割网络并对更多类型的数据集进行实验,进一步提高云与云阴影检测精度。
[1] StubenrauchC, Rossow WB, KinneS, et al. GEWEX cloud assessment: a review[C]. AIP Conference Proceedings, 2013, 1531( 1): 404- 407.
[2] Cihlar J, Howarth J. Detection and removal of cloud contamination from AVHRR images[J]. IEEE Transactions on Geoscience and Remote Sensing, 1994, 32(3): 583-589.
[3] 王权, 孙林, 韦晶, 等. 动态阈值云检测算法改进及在高分辨率卫星上的应用[J]. 光学学报, 2018, 38(10): 1028002.
[4] 杨昌军, 许健民, 赵凤生. 时间序列在FY2C云检测中的应用[J]. 大气与环境光学学报, 2008, 3(5): 377-391.
[5] Zi Y, Xie F Y, Jiang Z G. A cloud detection method for landsat 8 images based on PCANet[J]. Remote Sensing, 2018, 10(6): 877.
[6] Tan K, Zhang Y J, Tong X. Cloud extraction from Chinese high resolution satellite imagery by probabilistic latent semantic analysis and object-based machine learning[J]. Remote Sensing, 2016, 8(11): 963.
[7] Xu L N, Niu R Q, Fang S H, et al. Cloud detection based on decision tree over Tibetan Plateau with MODIS data[J]. Proceedings of SPIE, 2013, 8921: 89210G.
[8] Li P F, Dong L M, Xiao H C, et al. A cloud image detection method based on SVM vector machine[J]. Neurocomputing, 2015, 169: 34-42.
[9] Hu X Y, Wang Y, Shan J. Automatic recognition of cloud images by using visual saliency features[J]. IEEE Geoscience and Remote Sensing Letters, 2015, 12(8): 1760-1764.
[10] 马永杰, 李雪燕, 宋晓凤. 基于改进深度卷积神经网络的交通标志识别[J]. 激光与光电子学进展, 2018, 55(12): 121009.
[11] 梁令羽, 张天天, 何为. 多尺度卷积神经网络的头部姿态估计[J]. 激光与光电子学进展, 2019, 56(13): 131003.
[12] Young T, Hazarika D, Poria S, et al. Recent trends in deep learning based natural language processing[J]. IEEE Computational Intelligence Magazine, 2018, 13(3): 55-75.
[13] Shi MY, Xie FY, ZiY, et al. Cloud detection of remote sensing images by deep learning[C]∥2016 IEEE International Geoscience and Remote Sensing Symposium (IGARSS), July 10-15, 2016, Beijing, China. New York: IEEE, 2016: 701- 704.
[14] MohajeraniS, Krammer TA, SaeediP. A cloud detection algorithm for remote sensing images using fully convolutional neural networks[C]∥2018 IEEE 20th International Workshop on Multimedia Signal Processing (MMSP), August 29-31, 2018, Vancouver, BC, Canada. New York: IEEE, 2018: 18304815.
[15] 陈洋, 范荣双, 王竞雪, 等. 基于深度学习的资源三号卫星遥感影像云检测方法[J]. 光学学报, 2018, 38(1): 0128005.
[16] MehtaR, SivaswamyJ. M-net: a convolutional neural network for deep brain structure segmentation[C]∥2017 IEEE 14th International Symposium on Biomedical Imaging (ISBI 2017), April 18-21, 2017, Melbourne, VIC, Australia. New York: IEEE.2017: 437- 440.
[17] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[18] Chen L C, Papandreou G, Kokkinos I, et al. DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4): 834-848.
[19] Cheng Q, Shen H F, Zhang L P, et al. Cloud removal for remotely sensed images by similar pixel replacement guided with a spatio-temporal MRF model[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2014, 92: 54-68.
[20] RonnebergerO, FischerP, BroxT. U-net: convolutional networks for biomedical image segmentation[M] ∥Navab N, Hornegger J, Wells W, et al. Medical image computing and computer-assisted intervention-MICCAI 2015. Lecture notes in computer science. cham: springer, 2015, 9351: 234- 241.
[21] Yang MK, YuK, ZhangC, et al. DenseASPP for semantic segmentation in street scenes[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 3684- 3692.
[22] Zhan Y J, Wang J, Shi J P, et al. Distinguishing cloud and snow in satellite images via deep convolutional network[J]. IEEE Geoscience and Remote Sensing Letters, 2017, 14(10): 1785-1789.
[23] Hughes M, Hayes D. Automated detection of cloud and cloud shadow in single-date landsat imagery using neural networks and spatial post-processing[J]. Remote Sensing, 2014, 6(6): 4907-4926.
[24] Li Z W, Shen H F, Li H F, et al. Multi-feature combined cloud and cloud shadow detection in GaoFen-1 wide field of view imagery[J]. Remote Sensing of Environment, 2017, 191: 342-358.
[25] Jia YQ, ShelhamerE, DonahueJ, et al. Caffe: convolutional architecture for fast feature embedding[C]∥Proceedings of the ACM International Conference on Multimedia, November 3-7, 2014, Orlando, Florida, USA. New York: ACM, 2014: 675- 678.
[26] Kamran SA, Sabbir A S. Efficient yet deep convolutional neural networks for semantic segmentation[J/OL]. ( 2017-07-28)[2019-01-02]. https:∥arxiv.org/abs/1707. 08254.
Article Outline
胡敬锋, 张秀再, 杨昌军. 基于改进M型卷积网络的RGB彩色遥感图像云检测[J]. 激光与光电子学进展, 2019, 56(16): 162804. Jingfeng Hu, Xiuzai Zhang, Changjun Yang. Cloud Detection of RGB Color Remote Sensing Images Based on Improved M-Net[J]. Laser & Optoelectronics Progress, 2019, 56(16): 162804.