无人工标注数据的Landsat影像云检测深度学习方法
浙江大学地球科学学院,杭州 310027
A deep learning method for Landsat image cloud detection without manually labeled data
School of Earth Sciences, Zhejiang University, Hangzhou 310027, China
通讯作者: 柴登峰(1974-),男,副教授,研究方向为遥感图像分析。Email:chaidf@zju.edu.cn。
责任编辑: 张仙
收稿日期: 2020-04-1 修回日期: 2020-06-2 网络出版日期: 2021-03-15
基金资助: |
|
Received: 2020-04-1 Revised: 2020-06-2 Online: 2021-03-15
作者简介 About authors
仇一帆(1995-),女,硕士研究生,主要研究方向为遥感图像处理算法研究。Email:
云和云阴影检测是Landsat影像产品生产的重要环节。近年来,深度学习极大提升了Landsat影像云检测的精度,但是深度卷积神经网络模型的训练依赖庞大规模的标注图像,需要人工标注出大量图像上每个像素是否为云或云阴影。人工标注成本高、耗时长,不利于训练出具有实用价值的模型。受弱监督学习启发,文章提出一种新的云和云阴影检测模型深度学习方法。首先,采用常规云检测算法CFMask检测Landsat8影像云及其阴影; 然后,将其替代人工标注图像用以训练深度卷积神经网络模型; 最后,应用训练所得模型检测新图像中的云及其阴影。实验结果表明,所提方法的总体精度为85.55%,与CFMask结果相比精度有所提升,说明利用非人工标注数据训练深度网络模型进而检测云和云阴影的思路是可行的。
关键词:
Cloud and cloud shadow detection is an important part in the production of Landsat images. In recent years, deep learning has greatly improved the accuracy of cloud detection in Landsat images. However, deep convolutional neural network model training relies on a large scale of labeled images, and it is necessary to manually label each pixel as clearness, cloud or cloud shadow. Manually labeling is rather costly and time-consuming, which is not conducive to train practical models. Inspired by weakly supervised learning, this paper proposes a new deep learning method for cloud and cloud shadow detection. Firstly, conventional cloud detection algorithm CFMask is used to detect cloud and cloud shadow in Landsat images. Then, the results are used to replace the manually labeled images to train the deep convolutional neural network model for cloud detection. Finally, the model is used to detect the cloud and its shadow in new images. Experimental results show that the overall accuracy of the proposed method is 85.55%, which is better than that of CFMask and indicates that it is feasible to train the deep network model to detect cloud and cloud shadow without manually labeled data.
Keywords:
本文引用格式
仇一帆, 柴登峰.
QIU Yifan, CHAI Dengfeng.
0 引言
目前美国地质调查局(United States Geological Survey, USGS)官方使用CFMask(C function of Mask)算法来检测影像上的云和云阴影,检测结果作为质量评估(quality assessment, QA)波段保存于Landsat Collection 1 Level 1产品中。CFMask是Fmask(Function of Mask)算法的C语言实现[1,6-7],通过分析Landsat影像所有波段的大气层顶(top of atmosphere, TOA)表观反射率和亮度温度,基于云和云阴影的物理属性建立阈值规则逐像素进行检测。这种基于阈值规则的方法在遥感影像云和云阴影检测领域应用广泛,但受到传感器类型、地理位置、大气条件等因素影响,阈值的选择通常难以把握; 而且为了保证精度,往往会设定大量阈值规则,例如FMask就使用了超过20组阈值,增加了该方法的使用和迁移难度[6,8]。除此之外,常用的Landsat影像云和云阴影检测方法还包括多时相检测法和统计学方法。多时相检测法基于云和云阴影的动态性,通过比较恒定视角多时相影像的光谱差异构建云检测算法[5,9]。虽然研究结果表明多时相检测法能有效提高云检测精度,但在实际应用中诸如热带和亚热带等全年多云的地区很难获取无云观测作为参考,限制了现有多时相检测方法的应用。基于统计学思想利用空间特征和光谱特征来估计影像整体云覆盖率[10]或检测影像上的云层[11,12]也是云和云阴影检测的一种常见思路。
针对上述遥感影像云和云阴影检测方法存在的问题,本文受弱监督学习思想启发,利用CFMask产生的云和云阴影检测结果作为弱监督学习样本训练SegNet深度神经网络,整个训练过程不使用人工标注的先验数据。模型训练完成后,对新图像进行检测并验证检测精度,定量化描述研究结果。旨在探讨脱离人工标注数据训练深度神经网络模型进行Landsat影像云和云阴影检测的可行性,为后续实现更加完善的云和云阴影检测奠定基础。
1 研究数据
1.1 数据描述
实验数据来自Landsat Collection 1 Level 1产品和Landsat8云覆盖评估(cloud cover assessment, CCA)验证数据集[18]。
表1 Landsat8 Collection 1 Level 1 QA波段bit位描述
Tab.1
位信息 | 含义 | 位信息 | 含义 |
---|---|---|---|
0 | 填充 | 8 | 云阴影置信度 |
1 | 地形遮蔽 | 9 | 雪/冰置信度 |
2 | 辐射饱和 | 10 | 雪/冰置信度 |
3 | 辐射饱和 | 11 | 卷云置信度 |
4 | 云 | 12 | 卷云置信度 |
5 | 云置信度 | 13 | — |
6 | 云置信度 | 14 | — |
7 | 云阴影置信度 | 15 | — |
如表1所示,QA值二进制形式第4位是云像素标识,第7位和第8位存储云阴影置信度信息。对于单个bit位存储信息的情况,以第4位为例,若值为0表示该像素并非云像素,若值为1则为云像素; 对于用双bit位表示的信息,以第7位和第8位为例,若从高位到低位分别为: “00”表示不存在云阴影; “01”表示云阴影存在的置信度很低(0~33%); “10”表示中等置信度(34%~66%); “11”表示置信度很高(67%~100%)[19]。QA波段能提供较高精度的云和云阴影掩模,但仍存在一定的误差,其数据标签并不是完全准确的。本实验将30 m空间分辨率波段组合成的10通道多波段影像对应TOA表观反射率和亮度温度作为输入数据,将QA波段派生为标注数据来训练SegNet模型。
1.2 数据预处理与样本集构建
由于Landsat影像图幅较大,直接输入深度神经网络占用内存高,图形处理器(graphics processing unit,GPU)很难负担,因此将各场景切割为互不重叠的512像素×512像素大小子景并存储为png格式。影像上有一些不反映地物信息的填充像素,为了简化信息提取过程,在构建样本集时剔除了这些包含填充像素的切割图像。最后,每个场景约有120个512像素×512像素大小子景用于样本集的构建,每个子景对应10个多光谱波段和1个QA波段。
本文共构建了3个样本集,分别是: 用于训练SegNet网络的训练样本集,用于优化网络参数的验证样本集,以及用于客观评价网络性能的测试样本集。本研究以Landsat8 CCA 验证数据集的96个场景为研究对象,这些场景均匀分布于全球范围,包含所有生物群落区类型,具有代表性。96个场景中,有64个场景未标注出云阴影,不能用于精度验证,将这64个场景每个场景切割后的子景按80%和20%的比例随机分配为训练样本和验证样本; 其余32个场景标注完整,用于构建测试样本集。训练、验证、测试样本集中子景数量和切割图像数量如表2所示。
表2 样本集子景数量和切割图像数量
Tab.2
样本集 | 训练样本集 | 验证样本集 | 测试样本集 | |
---|---|---|---|---|
子景总量 | 6 396 | 1 575 | 3 966 | |
切割图像总量 | 70 356 | 17 325 | 43 626 | |
按生物群落子景数量统计 | 荒地 | 996 | 244 | 242 |
森林 | 610 | 150 | 749 | |
灌木地 | 509 | 125 | 871 | |
草地/农田 | 799 | 198 | 485 | |
雪/冰 | 680 | 168 | 618 | |
城市 | 898 | 221 | 378 | |
湿地 | 803 | 196 | 499 | |
水域 | 1 101 | 273 | 124 |
2 云和云阴影检测算法
本文方法实验流程如图1所示。
图1
本方法将云和云阴影检测视为语义分割问题,利用整幅影像的空间信息和所有波段的光谱特征对图像进行分割,最后依据表1的QA波段位描述将语义分割结果标记为云、无云或云阴影,完成遥感影像云和云阴影检测。
2.1 SegNet模型
本文参考文献[20]构建了SegNet语义分割模型,其网络结构如图2所示,从输入图像开始,从左向右依次经过编码器(Encoder)、解码器(Decoder)和Softmax分类器,最后到达输出层,完成端到端的像素级分割任务。SegNet可以接受任意尺寸的输入图像,其原型结构的输入为3通道图像,本文为了能更好地学习和利用Landsat影像特征,设置模型的输入图像通道数为10,本文中输入图像尺寸为512像元×512像元。编码器基于VGG网络,包括卷积层、批归一化层、ReLu激活层和池化层,卷积层均采用3像元×3像元大小卷积核,第一层卷积层中卷积核个数设置为96,池化层采用最大池化操作,并记录池化索引,图像经过编码器各隐含层,实现对影像特征信息的低维提取; 解码器包含上采样层以及与卷积层一一对应的反卷积层,利用编码阶段保存的最大池化索引还原图像尺寸和边界信息,重构高维特征。编码器-解码器结构大大减少了模型的训练参数,提高了网络效率,并对边界的描述起到优化作用。解码器输出的高维特征向量输入Softmax分器,用于预测图像上各像素所属类别的概率并生成一个
图2
2.2 参数设置与网络训练
SegNet语义分割模型的训练以交叉熵损失函数最小化为目标,使模型对训练样本的预测结果尽可能地与所给标注数据标签相匹配。模型采用反向传播(back propagation, BP)算法,计算网络中所有权重损失函数的梯度,反馈给优化器(Optimizer)以更新网络参数,实现交叉熵最小化。本文选择自适应矩估计(adaptive moment estimation, Adam)算法作为优化器,Adam是一种自适应学习速率的求解方法,实验证明它能较好地解决损失函数的最优化问题,与其他优化器算法相比综合性能表现更佳[21,22],Adam的一阶矩估计衰减速率设定为0.9,二阶矩估计衰减速率为0.999; 学习速率初始值设定为1E-4,在每一轮参数更新过程中更新学习速率。为了防止出现过拟合,模型在对每个卷积层进行RELU函数激活后,添加了一个dropout层,以一定的概率激活网络上的神经元,本文将激活概率设置为0.5。
2.3 精度评价
为了定量评价Landsat8影像云和云阴影检测的精度,本文采用总体精度(overall accuracy, OA)和F1分数作为评价指标。总体精度表示为检测结果中分类正确的像素数量占测试样本集全部像素数量的比值,F1分数是对精确率和召回率的调和平均。2个评价指标的计算公式分别为:
式中:
3 实验结果分析
为了评估本文方法的有效性和可行性,对测试样本集进行云和云阴影检测,并与CFMask算法结果进行对比分析。CFMask是Landsat官方云检测方法,可以对全球范围Landsat影像进行无偏检测,综合性能较好,具有权威性[1]。
3.1 定性分析
从实验结果中选取了5个典型场景进行视觉评价,如表3所示,影像1—5所示场景分别位于不同的生物群落区中,其下垫面分别为荒地、冰雪、植被(灌木)、水域和湿地; 从左至右依次是输入图像、地面真值、本文方法检测结果以及CFMask检测结果。输入图像以B4(R),B3(G),B2(B)合成显示,真值为Landsat8 CCA验证数据中经人工方式标注的云和云阴影掩模,检测结果及真值中的云阴影、云和无云像元分别用红色、绿色和蓝色标示。由于Landsat8 CCA验证数据提供的云和云阴影掩模在标注时区分了云类别与薄云类别,而本文方法和CFMask算法在进行云和云阴影检测时均不区分云的厚薄,因此合并Landsat8 CCA验证数据中的云和薄云2个类别,统一作为云类别来进行标示,在后续对实验结果进行定量分析时,也作相同合并处理以验证计算结果的精度。对于Landsat数据的实际应用而言,通常认为云像元和薄云像元都是无效的,因此将云与薄云类别合并并不会影响对本方法有效性的判断。由表3可知,总体而言,本文方法在不同生态环境、云属种类或云层分布条件下均能较好地判定出云和云阴影位置,识别出云和云阴影的大致边界。相比CFMask结果,本文方法检测出的云和云阴影更准确,与真值的匹配度明显更优,如本文方法识别出了CFMask没有识别出的表3中1号影像右侧较薄的云层,对3号影像的卷云也有更好的识别效果,4号影像中CFMask方法结果过多估计了影像上的云层和云阴影,而本文方法改善了这一问题。
3.2 定量分析
为进一步验证所提方法的有效性可行性,本文利用Landsat8 CCA验证数据对检测结果进行精度验证,采用总体精度和F1分数2个指标进行定量评价,结果如表4所示。实验结果的总体精度为85.55%,云、云阴影和无云类别的F1分数分别为78.14%,43.86%和90.62%,均高于CFMask结果。值得一提的是,与云检测相比,精确的云阴影检测难度更高,往往会出现大量漏检和误检情况,而本文方法云阴影检测结果的F1分数较CFMask有所提高,且精确率从35.5%提高到44.5%,标示着本方法一定程度上能够改善云阴影检测的精确程度,优化云阴影检测结果。
表4 测试样本集检测结果评价
Tab.4
指标 | 类别 | 本文方法 | CFMask |
---|---|---|---|
F1分数 | 云 | 78.14 | 77.39 |
云阴影 | 43.86 | 41.84 | |
无云 | 90.62 | 89.87 | |
总体精度 | 85.55 | 84.27 |
对8个生物群落区进行单独统计,大部分群落区的检测精度优于相同场景下的CFMask结果,其中,荒地、草地/农田、城市、灌木地和水域5个生物群落区的检测精度均超过90%,城市场景的云和云阴影检测精度为91.49%,较CFMask结果提高了超过10.6%,检测性能提升显著。但是,本文所提方法对雪/冰区域的检测结果精度较差,这一点在表3的2号影像中也有所体现,经过分析,认为可能是由于训练样本标注数据在这个区域的准确率过低(低于60%),导致错误标签信息对训练过程造成的干扰难以忽视,模型无法正确地提取特征,因而出现分割结果误差较大的问题,在后续研究中拟加入其他辅助条件做进一步筛选以提高检测的精确程度。
4 结论
1)本文利用CFMask云检测结果替代人工标注数据训练SegNet语义分割模型,检测Landsat影像上的云和云阴影。结果表明,本文方法能够实现Landsat影像上的云和云阴影检测,总体精度达到85.55%,与CFMask结果相比有一定改善,证明了采用非人工标注数据训练深度网络模型进行云和云阴影检测的思路是可行的。
2)本文方法改进了利用深度学习进行云和云阴影检测时依赖大规模像素级云和云阴影人工标注数据的问题,降低了训练数据的获取成本,为后续研究奠定基础。
3)本方法在检测精度上仍有进一步提升的空间,下一步的研究工作拟通过结合其他筛选条件,对标注数据中的显著错误,如冰雪与云的混淆错误,进行初步纠正后再用于网络模型训练来进一步提高Landsat影像云和云阴影检测精度。
参考文献
Cloud detection algorithm comparison and validation for operational Landsat data products
[J].DOI:10.1016/j.rse.2017.03.026 URL [本文引用: 4]
The availability of cloud-free Landsat ETM+ data over the conterminous United States and globally
[J].DOI:10.1016/j.rse.2007.08.011 URL [本文引用: 1]
Advances in understanding clouds from ISCCP
[J].DOI:10.1175/1520-0477(1999)080<2261:AIUCFI>2.0.CO;2 URL [本文引用: 1]
Cloud and cloud-shadow detection in SPOT5 HRG imagery with automated morphological feature extraction
[J].DOI:10.3390/rs6010776 URL [本文引用: 1]
Automated cloud,cloud shadow,and snow detection in multitemporal Landsat data:An algorithm designed specifically for monitoring land cover change
[J].
DOI:10.1016/j.rse.2014.06.012
URL
[本文引用: 2]
We developed a new algorithm called Tmask (multiTemporal mask) for automated masking of cloud, cloud shadow, and snow for multitemporal Landsat images. This algorithm consists of two steps. The first step is based on a single-date algorithm called Fmask (Function of mask) that initially screens most of the clouds, cloud shadows, and snow. The second step benefits from the extra temporal information from the remaining "clear" pixels and further improves the cloud, cloud shadow, and snow mask. Three Top Of Atmosphere (TOA) reflectance bands (Bands 2, 4, and 5 Landsat-7 band numbering) are used in a Robust Iteratively Reweighted Least Squares (RIRLS) method to estimate a time series model for each pixel. By comparing model estimates with Landsat observations for the three spectral bands, the Tmask algorithm is capable of detecting any remaining clouds, cloud shadows, and snow for an entire stack of Landsat images. Generally, this algorithm will not falsely identify land cover changes as clouds, cloud shadows, or snow, as it is capable of modeling land cover change. The multitemporal images also provide extra information for better discrimination of cloud and snow, which is difficult for single-date algorithm. A snow threshold is derived for Band 5 TOA reflectance for each pixel at each specific time based on a modified Norwegian Linear Reflectance-to-Snow-Cover (NLR) algorithm. By comparing the results of Tmask with a single-date algorithm (Fmask) for multitemporal Landsat images located at Path 12 Row 31, significant improvements are observed for identification of clouds, cloud shadows, and snow. The most significant improvement is observed for cloud shadow detection. Many of the errors in cloud, cloud shadow, and snow detection observed in Fmask are corrected by the Tmask algorithm. The goal is development of a cloud, cloud shadow, and snow detection algorithm that results in a multitemporal stack of images that is free of "noise" factors and thus suitable for detection of land cover change. (C) 2014 Elsevier Inc.
Object-based cloud and cloud shadow detection in Landsat imagery
[J].
DOI:10.1016/j.rse.2011.10.028
URL
[本文引用: 3]
A new method called Fmask (Function of mask) for cloud and cloud shadow detection in Landsat imagery is provided. Landsat Top of Atmosphere (TOA) reflectance and Brightness Temperature (BT) are used as inputs. Fmask first uses rules based on cloud physical properties to separate Potential Cloud Pixels (PCPs) and clear-sky pixels. Next, a normalized temperature probability, spectral variability probability, and brightness probability are combined to produce a probability mask for clouds over land and water separately. Then, the PCPs and the cloud probability mask are used together to derive the potential cloud layer. The darkening effect of the cloud shadows in the Near Infrared (NIR) Band is used to generate a potential shadow layer by applying the flood-fill transformation. Subsequently, 3D cloud objects are determined via segmentation of the potential cloud layer and assumption of a constant temperature lapse rate within each cloud object. The view angle of the satellite sensor and the illuminating angle are used to predict possible cloud shadow locations and select the one that has the maximum similarity with the potential cloud shadow mask. If the scene has snow, a snow mask is also produced. For a globally distributed set of reference data, the average Fmask overall cloud accuracy is as high as 96.4%. The goal is development of a cloud and cloud shadow detection algorithm suitable for routine usage with Landsat images. (C) 2011 Elsevier Inc.
Improvement and expansion of the Fmask algorithm:Cloud,cloud shadow,and snow detection for Landsats 4,7,8,and Sentinel 2 images
[J].DOI:10.1016/j.rse.2014.12.014 URL [本文引用: 1]
Characterization of the Landsat-7 ETM+ automated cloud-cover assessment (ACCA) algorithm
[J].DOI:10.14358/PERS.72.10.1179 URL [本文引用: 1]
A multi-temporal method for cloud detection, applied to FORMOSAT-2,VENμS,Landsat and Sentinel-2 images
[J].DOI:10.1016/j.rse.2010.03.002 URL [本文引用: 1]
Retrieval of cloud covee fromsatelltte imagery data-a statistical approach
[J].
Physical and statistical approaches for cloud identification using meteosat second generation-spinning enhanced visible and infrared imager data
[J].
Statistical cloud detection from SEVIRI multispectral images
[J].
A cloud detection method for Landsat8 images based on PCANet
[J].
Multilevel cloud detection in remote sensing images based on deep learning
[J].
Cloud and cloud shadow detection in Landsat imagery based on deep convolutional neural networks
[J].
A brief introduction to weakly supervised learning
[J].
Weakly supervised localization and learning with generic knowledge
[J].
L8 biome cloud validation masks
[DB/OL].[
SegNet:A deep convolutional encoder-decoder architecture for image segmentation
[J].
/
〈 |
|
〉 |
