2. 中国科学院大学,北京 100049
2. University of Chinese Academy of Sciences, Beijing 100049, China
以Landsat卫星为代表的遥感数据在当今社会的生产和生活中扮演着至关重要的角色,在农业产量估算[1]、变化检测[2]、灾难评估[3]等方面发挥着重要的作用。随着科技的发展,遥感数据变得越来越多,且越来越容易获得。海量的多波段遥感数据也急切需要高效率和高鲁棒性的算法进行处理和数据挖掘。然而,在Landsat数据集上,每年有高达40% 的像素被云覆盖[4],云层作为光学遥感图像的主要污染源,对遥感图像的应用造成了极大的限制。所以对云检测算法的研究一直是遥感领域中的热点。实时的云检测算法目前可以分为两类:基于光谱信息的和基于空间信息的。光谱是地物最本质的特征之一,不同的地物有不同的辐射与反射特性,云在反射波段表现为亮目标,发射波段表现为暗目标。有些基于光谱信息的方法[5]直接利用波段特征,也有些通过非线性映射构造新的特征(如波段比值、波段指数等),并精心设置阈值以更好地区分地物。Irish等[6]提出的ACCA(automated cloud-cover assessment)使用Landsat7 ETM+谱段2~6的信息,获得暖云掩码、冷云掩码、非云掩码和雪掩码。Zhu和Woodcock[7]提出的FMask算法用到了Landsat几乎所有的波段,通过设置亮度阈值、色度阈值、温度阈值、NDVI、NDSI等,通过决策树选择出两个潜在云掩膜,并组合成最终的结果。此类方法实现简单,便于理解,可解释性强,在一般情况下可以取得较好的效果,但当地面覆盖了冰、雪、沙漠,或云为薄卷云、小积云时,云和地面难以区分。
在空间上,云的表现则更加多样,有小面积的碎云,一大片的层云,有较厚的积云,也有较薄的卷云,但云是由水汽聚集而成,处于中心位置的云更加容易识别,边缘部分或者较为模糊的云可以利用空间分布进行识别。一些方法通过提取图像纹理特征,如LBP特征、HOG特征、haar特征等,利用云与地物在空间结构上的不同进行区分。还有一些文章将高分辨率图像切割成一张张子图或超像素,如SLIC(simple linear iterative clustering)[8],再利用机器学习的方法对子图或超像素进行分类,如支持向量机(suppurt vector machine, SVM)[9]、多层感知机(multilayer perceptron, MLP)[10]。这些方法一方面降低了图像的分辨率,另一方面受到云多样性的影响,在处理薄云、小面积云时效果并不佳。
近年来,深度学习在自然语言处理、降维、图像分类、目标检测、语义分割等方面取得了诸多成果。从AlexNet开始,深度学习开始席卷图像处理领域。相较许多传统方法需要人工构造特征和精心选择阈值,深度学习通过构造多层神经网络,自动提取特征和阈值。而且, 精心选择的神经网络可以构造出高维特征,更加有效地区分云与地物。
目前有很多方法将全卷积网络应用于遥感图像的云检测。Jeppesen等[11]将U-Net应用于Landsat遥感图像云检测。Chai等[12]将SegNet应用于Landsat图像。Hughes和Kennedy[13]将FCN(fully convolutional network)应用于云检测。这些方法是对已有模型在遥感图像云检测任务上的应用,都取得了不错的效果。Zhang等[14]在原有通道的基础上增加并行的1×1卷积核,增强了对光谱的重视,取得了不错的效果。但这些方法存在一些不足,如:没有充分利用地物的光谱特征;过于重视遥感图像的空间特征。这不仅会导致训练过程中容易出现过拟合、训练不稳定,也会使小的碎云容易被忽视,边缘细节容易被丢失,分类结果过于平滑等。
为了充分利用云的光谱属性,保持云的边缘细节,本文提出一个新颖的、简单的、有效的网络,称为勺型网络(spoon-net,简称S-Net)用于Landsat图像云检测。网络主要包括2个阶段。第1阶段,光谱特征提取阶段。在这一阶段,完全使用1×1的卷积核,不受空间信息干扰,专门对图像进行光谱特征提取。而且1×1卷积核可以在不降低图像分辨率的前提下,使得后续的空间特征更加容易被提取。第2阶段,空间特征提取阶段。这一阶段,采用轻量化的encoder-decoder框架。进一步,我们不会破坏已提取的光谱特征,而是采用组卷积(group conv) 的方式,将第1阶段得到的每一种光谱特征作为一组进行单独的卷积。由于光谱特征提取阶段的存在,组卷积在大大减少参数量的同时,有效提取空间特征。最终的分类结果将像素分为云与非云2类。实验结果表明,S-Net可以在模型参数大大减小的情况下,明显提高云检测精度。
1 数据与方法 1.1 数据本文采用的光学遥感卫星数据集来自美国航空航天局(National Aeronautics and Space Administration,NASA)Landsat8卫星。2013年2月11日,NASA成功发射Landsat8卫星。Landsat8卫星上携带2个传感器,分别是OLI(operational land imager)陆地成像仪和TIRS(thermal infrared sensor)热红外传感器。OLI提供9个波段,波段范围为0.43~2.30 μm;TIRS提供地表温度数据,包括2个波段,波段范围为10.60~12.51 μm,具体信息见表 1。Landsat系列卫星每16 d可以实现一次全球覆盖。
为了对模型进行训练与测试,本文利用带人工标注标签的全球云和云影验证数据集“L8 biome cloud validation masks”[15],该数据集共有96景图片,每景约7 000×7 000大小,包含8个种类的下垫面。
每景图片的标签均是人工标注,可信度较高。每个文件包含Landsat 8 Level-1数据文件、质量文件和.img(ENVI)格式的真值标签,人工标志位如表 2所示。
根据云量百分比的多少,‘L8 biome’中96景分为clear, midcloud, cloud共3种,每种各占1/3,云量低于35% 的为clear,云量高于65% 的为cloud,云量介于35% ~65% 之间的为midcloud。我们将数据标签简单地分为云与非云2类,将每景图像均匀切割为256×256大小的子图(共约5万张),切割时过滤掉带填充值的图片,因此图像边缘的填充像素并不会出现在训练与测试的步骤中。选择除全色波段的所有波段(TIRS数据的空间分辨率已重采样到30 m),共10个波段,训练集与测试集的比例为6:4。
1.2 Encoder-decoder框架与改进Encoder-decoder框架是图像分割领域的主流框架。encoder的作用是提取空间特征,decoder的作用是解析空间特征,并将图像还原到原图的大小,以获得像素级别的分类,跳层连接统筹兼顾感受野与空间分辨率。FCN[16]与U-Net[17]均采用这种框架。但该框架一般应用于灰度图像与彩色图像,若应用于遥感图像云检测,虽然可以涉及光谱维度的计算,但主要是在提取空间特征,对光谱特征的提取能力不足。本文考虑遥感图像多波段的特点,对encoder-decoder框架进行改进,将其扩充为两阶段,分步提取光谱特征与空间特征。框架对比如图 1所示。
Download:
|
|
本文提出的S-Net是一个两阶段模型,分别为光谱特征提取阶段和空间特征提取阶段。详细模型结构如图 2所示,每个矩形框上面的数字代表特征图的个数。
Download:
|
|
光谱特征提取阶段:该阶段使用1×1的卷积核对单个像素进行计算,提取出3个最优的光谱特征。因为不涉及到空间信息,所以可以有效保持图像的细节。
多层1×1的卷积操作等价于一个MLP,MLP可以有效提取非线性光谱特征,为后续分类提供良好的基础,并且不会降低图像分辨率。这一阶段输出的每一层特征图都是一种有效的光谱特征,类似于NDVI、NDWI等,但远比它们复杂得多,更加具有非线性,也更有效。这一阶段生成的光谱特征,不仅会用于第2阶段的空间特征提取,还会以跳层连接的方式直接参与最终的分类,并且分类层的卷积核也是1×1,这意味着我们的网络有足够的能力保证分割结果的细节。
空间信息提取阶段:在第1阶段提取的光谱特征基础上,通过进一步的区域空间信息与上下文信息的提取,充分利用空间信息,有效减少了云检测的虚警率。同时为使模型更加轻量化,采用浅层神经网络与组卷积。详细的空间特征提取过程如图 3所示。
Download:
|
|
空间特征提取采用浅层(2层)的encoder-ecoder结构,除最后的分类层是1×1的卷积核,其余卷积核为3×3;利用最大池化层降低图像分辨率,扩大感受野;将高分辨率的特征图通过跳层连接与低分辨率的特征图进行拼接,以检测不同大小的目标。
同时,引入组卷积的概念,避免在光谱上的重复计算,更加有效提取空间信息。图 4展示了组卷积与普通卷积的区别。普通卷积会使所有的特征图参与计算,而组卷积将特征图与卷积核分组,每组卷积核只会与该组内的特征图进行卷积。在本文中,组卷积具有明确的意义,将第1阶段提取的每种特征作为单独的一组,针对性地提取空间信息,也意味着这一阶段不会重复提取或破坏已有的光谱特征,专注于空间特征的提取。
Download:
|
|
组卷积也是轻量化模型的重要手段。假设输入有ci层特征图,每个特征图都是H×W,3×3的卷积核co个,普通卷积将进行H×W×3×3×ci×co次乘法计算;若将其分为g组,整个卷积过程只会进行H×W×3×3×(ci/g)×co次乘法,计算量变为原来的1/g。同样,参数个数也变为原来的1/g,减少了模型过拟合的风险。
为保证稳定性和精度,S-Net的网络设计还包括:
a) 上采样方式选择双线性插值法。
b) 在卷积之后,激活函数之前,加入批归一化层(batch normalization, BN)[18]加快模型收敛:
$ \mathrm{BN}(x)=\gamma \frac{x-\mu}{\theta}+\beta, $ | (1) |
c) 激活函数以ReLU函数为主。本文中几乎所有的激活函数都是ReLU函数,即
$ \operatorname{ReLU}(x)= \begin{cases}x, & x>0, \\ 0, & x \leqslant 0, \end{cases} $ | (2) |
ReLU由于非负区间的梯度为常数,可以缓解梯度消失问题,使得模型的收敛速度维持在一个稳定状态。在最后一层卷积层,激活函数会使用Sigmoid函数,即
$ \operatorname{Sigmoid}(x)=\frac{1}{1+\mathrm{e}^{-x}}, $ | (3) |
用于将输出映射到0~1之间,代表该像素点为云的概率。
d) 损失函数采用交叉熵损失函数,用L表示,即
$ L=-\sum\limits_{i=1}^N y_i \log \left(\hat{y}_i\right)+\left(1-y_i\right) \log \left(1-\hat{y}_i\right), $ | (4) |
其中: N表示所有样本个数,yi代表标签真值,
$ L_{\text {total }}=w \times L_{\mathrm{a}}+(1-w) \times L_{\mathrm{m}}, $ | (5) |
其中: w是权重因子,w∈[0, 1]。
2 实验与分析本文将S-Net的分割结果与CFMask(FMask[7]的C语言实现)、U-Net[17]、SegNet[19]的分割结果作比较。Foga等[15]使用多种传统方法在Landsat8 biome数据集上进行实验,结果表明FMask是最优秀的方法。同时FMask也是Landsat官方生成质量评估(QA)波段所用的方法。U-Net是图像分割领域中经典的深度学习方法,Jeppesen等[11]使用UNet在Landsat8 biome数据集上进行的实验取得了很好的效果。而且S-Net的空间特征提取部分也借鉴了U-Net的思想。Chai等[12]的实验表明,SegNet的云检测结果优于多种神经网络模型。因此,将S-Net的分割结果与CFMask、U-Net、SegNet的分割结果做比较具有较高的说服力。
输入是除全色波段的其余10个波段,将所有图像按6:4随机划分为训练集和测试集,并调整UNet的输入通道数为10。将地物真实标签(ground truth,GT)分为云与非云2类。Chai等[12]的研究表明输入DN值(digital number)或大气顶部(top of atmosphere,ToA)反射率数据,会取得相似的结果,我们选择使用DN值作为模型输入,并为使训练更加稳定,对输入进行归一化。具体参数,如学习率为1e-2,批训练大小为8,采用动量为0.9的随机梯度下降法训练,动态调整辅助损失与主损失的比例,辅助损失的权重逐渐降低,主损失的权重逐渐增高,二者权重的变化分为3个阶段:(0.8, 0.2)、(0.2, 0.8)、(0, 1)。本文所有实验均在深度学习框架Pytorch上进行,操作系统为Ubuntu 16.04,处理器为NVIDIA Titan XP, 内存16 GB。
为客观评定算法的有效性和优越性,采用准确率(Acc.)、召回率(Rec.)、精确度(Prec.)、F1值对结果进行评估。其中,准确率衡量像素分类正确的概率;召回率衡量属于云的像素中被分类正确的概率,是漏警率的相反数;精确度衡量被识别为云的像素中真正是云的概率,是虚警率的相反数;F1值是召回率与精确度的调和平均数,常用于二分类问题,可以有效衡量样本不均衡时检测结果的好坏。
2.1 整体评估在Landsat8 biome数据集上的实验结果如表 3所示,一共包括8种下垫面(即:裸土、森林、草地/农田、灌木、冰雪、城市、水和湿地)。结果表明,S-Net在几乎所有下垫面上的检测结果均优于其他算法(除了湿地稍落后于U-Net)。S-Net检测结果的平均F1值达到0.951 5,高于U-Net的0.945 1、SegNet的0.938和CFMask的0.87;Acc.达到95.04%,高于U-Net的94.51%、SegNet的93.71% 和CFMask的86.16%。虽然Prec.略低于U-Net,但平均Rec.达到95.88%,并全面领先SegNet与CFMask。需要强调的是,我们的模型非常轻量,参数量只有0.34 M个,而U-Net有28 M个参数,SegNet有30 M个参数。
S-Net在计算时间上也具有较大优势。我们将SNet、U-Net、SegNet 3个模型在256×256大小的图像上比较检测时间,取遍历1 000次的平均结果,S-Net的运行时间最少,SegNet最耗时,3个模型的消耗时间分别为42、57和63 ms。
S-Net对于碎云、细节也有良好的检测与保持能力。U-Net与SegNet的识别更加光滑,使得一些细节被忽略,而我们的模型更加注重细节,这对于云检测是一个很重要的能力。如图 5所示,从左到右依次为真彩色图、人工标注、S-Net提取的光谱特征构成的假彩色图、我们的模型预测结果、U-Net结果、SegNet结果、CFMask结果,白色代表云,黑色代表非云,偶数行的图像是奇数行图像中黄色方框部分的放大结果,黄色方框的大小为20×20。图 5共展示了4景,下垫面各不相同,分别为城市、农田、冰雪和裸土。在多种下垫面上,S-Net对于碎云均有良好的检测能力,同时对于冰雪与裸土这样的高亮地物,也有较低的虚警率。
Download:
|
|
为充分体现S-Net的优势,本文进一步比较模型对碎云的检测能力,并定义碎云为:面积(四连通)小于30个像素的云。由于此时计算Acc.已无意义,所以只选择召回率Rec.、Prec.和F1值作为衡量准则。实验表明,在识别碎云时,S-Net拥有0.180 2的平均F1值,显著高于U-Net的0.154 7、SegNet的0.071 7和CFMask的0.091,仅在城市和农田下垫面略逊于U-Net,在森林下垫面逊于CFMask,在所有下垫面优于SegNet。
虽然在检测碎云时,S-Net的表现显著优于其他算法,但F1也仍不到0.2。原因可能有两点:1)检测碎云具有较高的难度;2)人工在标注碎云时存在困难,数据存在错误。Scaramuzza等[20]的研究表明人工标注的数据可能存在7% 左右的错误。尤其对于碎云,人工标注更加不准确,且碎云数量较小,对错误标签更加敏感。我们发现,Landsat8 biome数据确实存在一些问题,图 6展示了一些存在问题的图像样本。同时,由于人工标注的不稳定性,简单地依靠评价指标可能并不能真实反应模型的优劣,因为大部分模型都很容易对于大面积的厚云(低下垫面信息的)有较好的识别能力;并且以这些标签为真值进行的训练,可能也会存在问题。
Download:
|
|
云检测一直是遥感领域的研究热点与难点。本文提出一种两阶段的遥感图像云检测模型。相比于现有的深度学习模型,该模型更加轻量,并且具有更好的保持边缘细节的能力和对小的碎云的检测能力。我们注重遥感图像光谱特征的提取,在第一阶段利用1×1的卷积核专门提取光谱特征,使得检测结果保持了“纯粹性”,没有受到其空间信息的干扰,并使其直达最终的分类层。再利用浅层encoder-decoder结构,引入组卷积,对每个光谱特征分别计算空间信息。该模型充分利用遥感图像多波段的特点,有效解决了现有方法在保持边缘细节与扩大感受野之间的矛盾,并在Landsat8 biome数据集上达到了95% 的准确率,基本还原了输入影像的细节信息。
值得强调的是,Landsat8遥感卫星可以提供丰富的光谱信息,这是S-Net能表现优异的前提。当输入的遥感图像具有较少的波段时,光谱信息在云检测任务中的权重就会降低,S-Net的性能会受到影响。
虽然S-Net表现优异,但仍有一些方向值得研究。首先,S-Net采用了较为简单的空间特征提取结构,后续将探索更加适合云检测的空间特征提取算法。其次,传统方法对云检测有大量的先验知识,如何将这些先验知识与深度学习方法结合也是后续的一个研究方向。
[1] |
Prasad A K, Chai L, Singh R P, et al. Crop yield estimation model for Iowa using remote sensing and surface parameters[J]. International Journal of Applied Earth Observation and Geoinformation, 2006, 8(1): 26-33. Doi:10.1016/j.jag.2005.06.002 |
[2] |
Verbesselt J, Hyndman R, Newnham G, et al. Detecting trend and seasonal changes in satellite image time series[J]. Remote Sensing of Environment, 2010, 114(1): 106-115. Doi:10.1016/j.rse.2009.08.014 |
[3] |
Joyce K E, Belliss S E, Samsonov S V, et al. A review of the status of satellite remote sensing and image processing techniques for mapping natural hazards and disasters[J]. Progress in Physical Geography: Earth and Environment, 2009, 33(2): 183-207. Doi:10.1177/0309133309339563 |
[4] |
Ju J C, Roy D P. The availability of cloud-free Landsat ETM+data over the conterminous United States and globally[J]. Remote Sensing of Environment, 2008, 112(3): 1196-1211. Doi:10.1016/j.rse.2007.08.011 |
[5] |
Sun L, Liu X Y, Yang Y K, et al. A cloud shadow detection method combined with cloud height iteration and spectral analysis for Landsat 8 OLI data[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2018, 138: 193-207. Doi:10.1016/j.isprsjprs.2018.02.016 |
[6] |
Irish R R, Barker J L, Goward S N, et al. Characterization of the Landsat-7 ETM+automated cloud-cover assessment (ACCA) algorithm[J]. Photogrammetric Engineering & Remote Sensing, 2006, 72(10): 1179-1188. Doi:10.14358/pers.72.10.1179 |
[7] |
Zhu Z, Woodcock C E. Object-based cloud and cloud shadow detection in Landsat imagery[J]. Remote Sensing of Environment, 2012, 118: 83-94. Doi:10.1016/j.rse.2011.10.028 |
[8] |
Achanta R, Shaji A, Smith K, et al. SLIC superpixels compared to state-of-the-art superpixel methods[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(11): 2274-2282. Doi:10.1109/TPAMI.2012.120 |
[9] |
Lee Y, Wahba G, Ackerman S A. Cloud classification of satellite radiance data by multicategory support vector machines[J]. Journal of Atmospheric and Oceanic Technology, 2004, 21(2): 159-169. Doi:10.1175/1520-0426(2004)021<0159:ccosrd>2.0.co;2 |
[10] |
Tian B, Shaikh M A, Azimi-Sadjadi M R, et al. A study of cloud classification with neural networks using spectral and textural features[J]. IEEE Transactions on Neural Networks, 1999, 10(1): 138-151. Doi:10.1109/72.737500 |
[11] |
Jeppesen J H, Jacobsen R H, Inceoglu F, et al. A cloud detection algorithm for satellite imagery based on deep learning[J]. Remote Sensing of Environment, 2019, 229: 247-259. Doi:10.1016/j.rse.2019.03.039 |
[12] |
Chai D F, Newsam S, Zhang H K, et al. Cloud and cloud shadow detection in Landsat imagery based on deep convolutional neural networks[J]. Remote Sensing of Environment, 2019, 225: 307-316. Doi:10.1016/j.rse.2019.03.007 |
[13] |
Hughes M J, Kennedy R. High-quality cloud masking of Landsat 8 imagery using convolutional neural networks[J]. Remote Sensing, 2019, 11(21): 2591. Doi:10.3390/rs11212591 |
[14] |
Zhang X D, Wang T, Chen G Z, et al. Convective clouds extraction from Himawari-8 satellite images based on double-stream fully convolutional networks[J]. IEEE Geoscience and Remote Sensing Letters, 2020, 17(4): 553-557. Doi:10.1109/LGRS.2019.2926402 |
[15] |
Foga S, Scaramuzza P L, Guo S, et al. Cloud detection algorithm comparison and validation for operational Landsat data products[J]. Remote Sensing of Environment, 2017, 194: 379-390. Doi:10.1016/j.rse.2017.03.026 |
[16] |
Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition. June 7-12, 2015, Boston, MA, USA. IEEE, 2015: 3431-3440. DOI: 10.1109/CVPR.2015.7298965.
|
[17] |
Ronneberger O, Fischer P, Brox T. U-Net: convolutional networks for biomedical image segmentation[C]//Medical Image Computing and Computer-Assisted Intervention-MICCAI 2015. Springer, Cham, 2015: 234-241. DOI: 10.1007/978-3-319-24574-4_28.
|
[18] |
Ioffe S, Szegedy C. Batch normalization: accelerating deep network training by reducing internal ovariate shift[J]. arXiv preprint arXiv: 502.03167, 2015.
|
[19] |
Badrinarayanan V, Kendall A, Cipolla R. Segnet: a deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481-2495. Doi:10.1109/TPAMI.2016.2644615 |
[20] |
Scaramuzza P L, Bouchard M A, Dwyer J L. Development of the Landsat data continuity mission cloud-cover assessment algorithms[J]. IEEE Transactions on Geoscience and Remote Sensing, 2012, 50(4): 1140-1154. Doi:10.1109/TGRS.2011.2164087 |