卫星遥感数据在当今社会的生产和生活中都扮演着至关重要的角色,农业,工业,交通运输等领域的发展都离不开卫星遥感数据的支持。随着高精度传感器的发展,大量的卫星图像数据被采集和储存。海量的大规模,高维度数据急切需要高效率和高鲁棒性的算法进行处理和挖掘。气象卫星遥感数据是气象卫星采集的用于气象预报任务的卫星图像。我国和世界各国目前在轨运行的气象卫星每天均会产生大量的卫星图像。气象卫星遥感图像云检测是气象预报的前期和基础性工作,因此在气象预报领域具有非常重要的地位。
卫星图像云检测的任务是在卫星图像中逐像素的确定每一个像素点是否为云,即为一个二元分割问题。对于多信道遥感数据,这个二元分割很容易出错,导致预测的错误。为了减少这种错误并为后面的预测带来灵活性,我们经常将像素类型分为:云、可能云、可能晴、晴四类。这样云检测四类分割问题。
解决云检测问题的传统方法往往基于阈值[1-2]。算法所采用的阈值的可靠性往往依赖于传感器精度和专家对所采集数据物理含义的理解。此类方法简单并且在一些情况下可以得到较好的效果。实际上,此类方法已经被应用到工业化的云检测产品中,如MODIS云检测软件[1]。然而,阈值法在工业应用中具有一定的局限性。首先,阈值的获取往往依赖于专家知识和反复的迭代测试,阈值获取的成本高昂。其次,算法使用的阈值往往与数据以及采集数据的设备乃至设备的设置高度相关,当设备的状态发生变化,导致采集到的图像产生轻微的变动,阈值法往往会完全失效。最后,阈值法对数据中的噪声具有很高的敏感性,细微的噪声往往会导致错误的结果。因此,阈值法在工业应用中鲁棒性较差。与之相对应的,数据驱动的机器学习方法恰好可以解决阈值法面对的上述问题。
传统的机器学习算法可以直接应用于包含云检测在内的卫星遥感数据处理中,包括直方图阈值化方法[3]、支持向量机方法[4]、稀疏感知分类器[5]、极端学习机[6]、自动编解码器[7]等。这类方法通常将图像分割问题看作图像逐像素分类问题,因此此类方法训练和预测的复杂度依赖于图像的分辨率。具体来说,机器学习算法的训练和预测时间与图像的像素数成线性关系,因此,对于大规模的遥感卫星图像来说,此类算法的运行时间往往很长,难以满足气象实时预报的需求。
近年来,随着深度学习技术的发展,尤其是卷积神经网络(CNN)技术的发展,Long等[8]提出了全卷积网络(FCN)并成功的将这一网络用于图像语义分割。迄今为止,全卷积网络及其若干改进形式[9-13]在几乎所有的RGB图像分割公开数据集上都取得了最为领先的成绩。进一步地,将深度学习技术应用于不同种类的遥感图像也获得了成功[14-18],显示出深度学习技术在处理遥感图像时具有显著优于传统机器学习算法的表现。目前,已有研究人员使用深度学习技术处理卫星图像的云检测问题。实际中,文献[19-24]为基于超像素的方法,使用卷积神经网络对超像素进行分类,进而实现云检测。但是,这类方法即使采用精心设计的超像素融合方法来提高云检测的精度,也难以达到像素级的云检测。文献[25]使用全卷积网络进行云检测,但是其算法没有针对云检测任务调整全卷积网络的模型结构,也没有针对在训练过程中超过一般GPU显存(例如:12 GB)容纳能力的超大分辨率卫星图像提出针对性的算法框架。据我们了解,目前还没有研究人员特别针对超大分辨率(5500×5500),多通道(通道数为16)的气象卫星遥感图像提出像素级精度的云分割算法, 没有针对这这一云检测任务调整全卷积网络的模型结构,也没有针对在训练过程中超过一般GPU显存(例如:12 GB)容纳能力的超大分辨率卫星图像提出针对性的算法框架。
为填补这一研究空白,我们针对超大分辨率多通道遥感图像提出了一种基于全卷积网络的图像分割算法框架,并在该框架内,提出了一种解决云检测问题的新的全卷积网络结构。该框架和结构可以实现像素级精度的云检测,即给图像中的每个像素分配一个“云/可能云/可能晴/晴”的类别标签。实验结果表明,我们的算法超过了目前性能最好的全卷积网络的结果,同时兼有高精确度和高效率的特点,可以满足气象预报的云检测支持需求。
我们所采用的气象遥感卫星图像数据集来自于日本葵花8号地球静止轨道气象卫星。该卫星在轨运行期间以10分钟为间隔连续采集地球遥感图像,图像的分辨率大小为5500×5500,采集的卫星图像包含6个可见光通道和10个红外光通道。该卫星采集的图像数据集面向全世界公开,我们选取了其采集的一个月数据作为训练集来训练我们的分割模型,不重叠的其他月份4天数据作为测试集来调试我们的算法并测试模型的分割性能。
为了获取训练所需的真值标签,我们使用经过气象专家校准的商用MODIS云分割软件获取了训练集图像的云分割结果。我们的真值标签给图像中的每个像素点分配了“云/可能云/可能晴/晴” 之一的类别。因此,我们的模型是一个四类分割模型。
云检测问题的本质是一个图像分割问题。该问题要求算法给出一个逐像素的标签图来确定每一个像素位置的类型,可以是两类,但一般为四类,如图1所示。在本文所采用的数据集中,我们的算法将图像中的每一个像素分为以下四类之一,即:云/可能云/可能晴/晴。云检测问题的主要难点在于,由于计算能力和计算复杂度的关系,超大尺寸的卫星遥感图像较难直接使用图像分割算法进行处理。
2.2.1 算法框架
为解决超大尺度气象卫星遥感图像分割问题,我们设计了基于全卷积网络的算法框架。如图2所示,我们提出的框架将云检测分割问题定义为三个部分。1)图像网格化,将超大尺度(5500×5500)气象卫星遥感图像以网格化方式分为图像小块(256×256);2)局部图像分割,基于小尺寸图像块进行图像分割,得到对应小块的云检测结果;3)图像拼接,将256×256的局部分割结果拼接为整体分割结果。
2.2.2 图像局部化
气象卫星遥感图像的尺寸较大,由于GPU显存和计算能力的限制,基于全卷积网络的图像分割模型难以直接在遥感图像上训练和测试。因此,在训练和测试中,我们针对图像局部区域(即小块)进行处理。
图1 气象卫星遥感图像数据与分类标签图像
Fig.1 Satellite image and its two types of ground truth masks
图2 所提算法框架与模型结构
Fig.2 The framework and model structure of the proposed algorithm
图3 图像局部化采样与图像拼接
Fig.3 Image cropping and resulted mosaic to get the whole prediction
表1 所提算法测试结果
Tab.1 Testing results of the proposed algorithm
MetricsMeanIoUMeanAccuracyMeanPrecisionMeanRecallMeanF1BaseFCNClass#20.88260.93760.93820.93580.9368OursClass#20.88570.93940.93890.93860.9387BaseFCNClass#40.78620.94020.79640.76650.7787OursClass#40.78730.94050.80020.76330.7787
在模型训练过程中,为了增加训练数据集的数量,加强模型的性能,我们对原始超大卫星图像进行随机采样,获得256×256的图像小块作为训练数据集,其中,为了减少训练数据集的噪声, 我们采样的图像仅仅局限在卫星图像中包含地球的图像块,筛选掉了不包含任何地球图像的图像小块(即空白图像)。
在模型的测试过程中,我们采用了图像网格化的技术。为了方便后续的图像拼接过程,在图像网格化过程中,如图所示,我们在每两块图像之间保留了公有区域。
2.2.3 图像分割模型
我们所采用的图像分割模型结构如图2。它基于全卷积网络,其中编码器采用残差网络以便有效地提取图像特征,而解码器则采用简单的转置卷积层以加快算法的训练和测试速度。同时,为了增强图像分割的结果,根据Long等的工作[8],我们采用了U-Net结构,即在模型的编码器和解码器中间添加了若干条跨越链接并将编码器和解码器的特征加和在一起。为了进一步提高图像分割的精度,我们使用了深度特征融合的方法,即将网络编码器采集到的不同尺度的图像特征在编码器与解码器的中间层进行融合。
2.2.4 图像拼接
在模型测试和应用过程中,我们需要将局部化的图像小块拼接成整体图像。由上文所述,我们在图像局部化的过程中为了方便图像拼接过程,同时增加拼接后图像分割结果的质量,我们采用了带有公共区域的图像网格化。因此,在图像拼接过程中,我们需要按照采样相同的方式,将不同块的图像分割结果拼接到一起。
在模型训练和测试过程中,我们需要设置一些模型的超参数以达到最好的效果。我们的输入数据为5500×5500大小的16通道遥感卫星图像。在模型训练过程中,我们在图像的有意义区域随机采样了256×256的小块用于训练。在模型的测试过程中,我们对图像进行了带有公共区域的网格化,网格的大小也为256×256。我们采集的训练图像块规模为100000个,测试图像数量为277张完整卫星图像。在模型训练中,我们采用的损失函数为:
Loss=||Pred-Groundtruth
我们所采用的优化算法是Adam优化算法,初始学习率LR为1e- 4,我们设置学习率在训练的每一轮(epoch)结束后递减,递减公式为:
LR=LR×0.95
我们在算法训练过程中的每一轮结束后进行模型测试,记录并比较测试结果,我们记录下了在测试集上表现最好的模型。
为了测试我们的算法的性能,我们在测试集上分两步计算了算法云检测的性能指标。我们采用的指标为IoU,准确率,精确率,召回率和F1值,其中对应于类别i的IoU的计算公式为
具体来说,我们在测试集上计算了模型对每一个类别的IoU并计算了整体的平均IoU,即mIoU。由于该算法在实际使用中,气象研究人员主要关心云类别对应的像素。因此,在第一步测试中,我们测试了模型的云/非云二分类结果,在第二步测试中,我们测试了模型的云/可能云/可能晴/晴四分类结果。实际测试结果如表1所示,我们设计的全卷积网络模型超过了目前最好的基础全卷积网络模型结果。实际上,我们的算法对商用软件的结果做到了很好的模拟,对于二元和四元分类的IoU分别达到了0.8857和0.7873,相应的分类准确率都在94%之上。对于二元云检测,召回率和精准率都在93%之上。另一方面,得益于数据驱动的优势,我们的算法具有更好的鲁棒性,在极端数据的情况下可以获得更好的性能。此外,我们的算法不依赖专家知识,因此可以轻易迁移到其他同类气象遥感卫星拍摄的卫星图像云检测任务中去,具有很好的扩展性。
作为目前广泛使用的云检测商业软件,MODIS算法主要基于经验阈值,此类方法在极端数据情况下往往会丧失准确性,如图4所示,MODIS算法的结果作为真值标签往往会产生明显不符合实际的“直线”形状的云检测结果。我们的算法由于采用大规模数据进行训练,不依赖经验阈值,因此,在此类图像中往往具有优于MODIS软件的结果。为了测试我们的算法是否相对MODIS标注软件的结果在极端数据的情况下具有优越性,我们挑选了MODIS软件标注错误的典型图像并测试了我们算法的结果,如图4所示,我们的算法在这些情形下都能够得更为合理的预测结果。
图4 所提模型对MODIS的修正结果
Fig.4 The improved results of the proposed model on those of the MODIS
图5 所提模型的四类云检测结果
Fig.5 The four class prediction results of the proposed model
气象卫星遥感图像云检测是气象预报领域里一个非常基础也是非常重要的工作。在本文中,我们基于全卷积网络模型,提出了一个针对超大尺度气象卫星遥感图像的云检测算法。我们的算法首先将大尺寸遥感图像切分为局部化图像小块,再在图像块上实现了遥感图像的云分割,最后将分割的结果通过重叠区域进行拼接,得到了整体的云分割结果。该算法成功实现了卫星图像的四类,即云/可能云/可能晴/晴分割。该算法在测试集上表现出了良好的性能,不仅很好地模拟了MODIS标注软件的分类能力,而且在极端情况下更为合理和稳健。同时,由于算法完全采用数据驱动,不依赖人工知识,具有良好的扩展性和鲁棒性。因此,我们提出的算法具有商业化应用的潜力。
[1] Platnick S, King M D, Ackerman S A, et al. The modis cloud products: algorithms and examples from terra[J]. IEEE Transactions on Geoscience and Remote Sensing, 2003, 41(2): 459- 473.
[2] Chepfer H, Bony S, Winker D, et al. The GCM-oriented calipso cloud product(CALIPSO-GOCCP)[J]. Journal of Geophysical Research: Atmospheres, 2010, 115(D4).
[3] El Zaart A, Ziou D, Wang S, et al. Segmentation of sar images[J]. Pattern Recognition, 2002, 35(3): 713- 724.
[4] Dumitru C O, Datcu M. Information content of very high resolution sar images: study of feature extraction and imaging parameters[J]. IEEE Transactions on Geoscience and Remote Sensing, 2013, 51(8): 4591- 4610.
[5] Liu M, Wu Y, Zhao W, et al. Dempster-shafer fusion of multiple sparse representation and statistical property for sar target configuration recognition[J]. IEEE Geoscience and Remote Sensing Letters, 2014, 11(6): 1106-1110.
[6] Samat A, Gamba P, Du P, et al. Active extreme learning machines for quad-polarimetric sar imagery classification[J]. International Journal of Applied Earth Observation and Geoinformation, 2015, 35: 305-319.
[7] Geng J, Fan J, Wang H, et al. High-resolution sar image classification via deep convolutional autoencoders[J]. IEEE Geoscience and Remote Sensing Letters, 2015, 12(11): 2351-2355.
[8] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]∥In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2015: 3431-3440.
[9] Chen LC, Papandreou G, Kokkinos I, et al. Semantic image segmentation with deep convolutional nets and fully connected crfs[J]. arXiv preprint arXiv: 1412.7062, 2014.
[10] Dai J, He K, Sun J. Boxsup: Exploiting bounding boxes to supervise convolutional networks for semantic segmentation[C]∥In Proceedings of IEEE International Conference on Computer Vision(ICCV), 2015: 1635-1643.
[11] Lin G, Milan A, Shen C, et al. Refinenet: Multi-path refinement networks with identity mappings for high-resolution semantic segmentation[J]. arXiv preprint arXiv: 1611.06612, 2015.
[12] Yu F, Koltun V. Multi-scale context aggregation by dilated convolutions[J]. arXiv preprint arXiv: 1511. 07122, 2015.
[13] Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C]∥In International Conference on Medical image computing and computer-assisted intervention, 2015, 234-241. Springer.
[14] Jiao L, Liang M, Chen H, et al. Deep fully convolutional network-based spatial distribution prediction for hyperspectral image classification[J]. IEEE Transactions on Geoscience and Remote Sensing, 2017, 55(10): 5585-5599.
[15] Wang Y, He C, Liu X, et al. A hierarchical fully convolutional network integrated with sparse and low-rank subspace representations for polsar imagery classification[J]. Remote Sensing, 2018, 10(2): 342.
[16] Yao W, Marmanis D, Datcu M. Semantic segmentation using deep neural networks for SAR and optical image pairs[J]. Proc. Big Data from Space, 2017: 1- 4.
[17] Li R, Liu W, Yang L, et al. Deepunet: A deep fully convolutional network for pixel-level sea-land segmentation[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2018, 31(99): 1-9.
[18] Henry C, Azimi SM, Merkle N. Road Segmentation in SAR Satellite Images With Deep Fully Convolutional Neural Networks[J]. IEEE Geoscience and Remote Sensing Letters, 2018, 27(99): 1-5.
[19] Goff M L, Tourneret J-Y, Wendt H, et al. Deep learning for cloud detection[C]∥In Proceedings of the 8th International Conference of Pattern Recognition Systems(ICPRS), 2017: 1- 6.
[20] Zi Y, Xie F, Jiang Z. A Cloud Detection Method for Landsat 8 Images Based on PCANet[J]. Remote Sensing, 2018, 10(6): 877.
[21] Henry C, Azimi S M, Merkle N. Road segmentation in sar satellite images with deep fully-convolutional neural networks[J]. arXiv preprint arXiv: 1802.01445, 2018.
[22] Liu H, Zeng D, Tian Q. Super-pixel cloud detection using Hierarchical Fusion CNN[C]∥In Proceedings of the Fourth IEEE International Conference on Multimedia Big Data(BigMM), 2018: 1- 6.
[23] Xie F, Shi M, Shi Z, et al. Multilevel cloud detection in remote sensing images based on deep learning[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2017, 10(8): 3631-3640.
[24] Shi M, Xie F, Zi Y, et al. Cloud detection of remote sensing images by deep learning[C]∥In Proceedings of IEEE International Geoscience and Remote Sensing Symposium(IGARSS), 2017: 701-704.
[25] Mohajerani S, Krammer T A, Saeedi P. Cloud Detection Algorithm for Remote Sensing Images Using Fully Convolutional Neural Networks[J]. arXiv preprint arXiv: 1810. 05782, 2018.
Reference format: An Jie, Ma Jinwen. Automatic Cloud Segmentation Based on the Fully Convolutional Neural Networks[J]. Journal of Signal Processing, 2019, 35(4): 556-562. DOI: 10.16798/j.issn.1003- 0530.2019.04.005.
安 捷 男, 1993年生, 宁夏人。2016年毕业于北京大学数学科学学院信息科学系, 获得理学学士学位, 现为北京大学数学科学学院信息科学系硕士研究生。主要研究方向为计算机视觉和人工智能。
E-mail: jie.an@pku.edu.cn
马尽文 男, 1962年生, 陕西人。1992年毕业于南开大学数学系, 获理学博士学位。现为北京大学数学科学学院信息科学系教授、博士生导师, 中国电子学会信号处理分会常务委员。主要从事智能信息处理、神经计算、模式识别、生物信息学等方面的研究。
E-mail: jwma@math.pku.edu.cn