摘要: 光学遥感图像中云层会对地面信息进行不同程度的遮挡,造成了地表观测信息的模糊和缺失,极大地影响遥感图像的成像质量。因此,对遥感图像中云层覆盖的检测和评估是进一步分析和利用遥感图像信息的基础和关键。通过充分的调研和对比总结,梳理了20世纪90年代以来,国内外基于遥感图像的云检测方法的发展趋势和代表性工作。将基于遥感图像的云检测方法分为三类:基于光谱阈值的方法、基于经典机器学习的方法以及基于深度学习的方法。总结了当前国内外云检测公开数据集,并对比了部分代表性工作的云检测精度。此外,简要梳理了与云检测相关的云雾(霾)检测、云雪检测、云阴影检测以及云去除等方法。对当前云检测相关工作中存在的问题和未来的发展趋势进行了分析和展望。 http://journal26.magtechjournal.com/kjkxjs/CN/Y2023/V43/I1/1
**1 引言 **
近些年,随着遥感技术的迅速发展以及大数 据技术的广泛应用,对地观测数据量增长迅速。 2021年1月21日发布的《中国对地观测数据资 源发展报告》显示,中国对地观测数据总量已经 接近100PB,其中大量的遥感图像数据可以最 为直观地展示地球各类观测信息,极大地推动了 人类对于地球的理解和认识。在各类遥感图像 当中,光学遥感卫星获取的光学遥感图像数据在 诸如目标检测[1-2]、语义分割[3]、场景理解[4]、变 化检测[5]等领域。相关技术也广泛应用于地图 导航、气象/海洋监测、防灾检测、军事侦察等各 个方 面。 然 而,国 际 卫 星 云 气 候 学 计 划 (internationalsatellitecloudclimatologyproject, ISCCP)显 示,地 球 平 均 云 层 的 覆 盖 率 超 过 66%。云层遮挡导致的光学遥感图像信息的缺 失,对下游的遥感图像处理和识别造成很大的影 响。因此,发展遥感图像的云检测技术,是判别 遥感图像观测信息缺失程度以及遥感图像进一 步利用的关键。 遥感图像的云检测是遥感图像识别领域的 热门方向之一。1982年提出的国际卫星云气候 学计划(ISCCP)当中,云检测技术就是其中重要 的组成部分[6]。**自20世纪80年代以来,随着卫 星遥感图像处理技术的不断发展,遥感图像的云 检测方法逐步形成了三种主流的技术路线: **
**1)基于光谱阈值的方法:主要基于对图像中 云和其他目标光谱特性的分析,对遥感图像中不 同光谱通道设置不同的阈值从而实现云检测; **
**2)基于经典机器学习的方法:使用人工选择 的图像纹理、亮度等特征,训练诸如支持向量机、 随机森林等经典机器学习模型来对图像块/像素 进行分类,实现云的检测; **
**3)基于深度学习的方法:该方法使用大量遥 感图像数据,通过构建深层的神经网络模型来自 动提取数据特征,获取高精度的云检测结果。 **
从20世纪90年代开始,通过分析图像中不 同波段的反射信息,各类基于图像光谱阈值的云 检测方法被广泛研究,由于该类方法简单易行的 特性,有着十分广泛的应用。但是,由于波段反射信息对不同检测场景泛化能力较差,容易将其 他高反射率物体(如积雪、建筑等)误判为云层, 导致传统基于阈值的云检测方法精度相对较低。 为了解决这一问题,2010年后,一些基于统计学 习(支持向量机、随机森林等)的方法被广泛应用 于云检测,通过提取图像的纹理或统计学特征来 提升云检测的精度。基于统计学习的相关云检 测方法也被实际应用于中巴资源02B 卫星[6]。 然而,由于统计学习模型本身需要人工进行特征 的筛选 和 定 义,使 得 特 征 提 取 过 程 较 为 低 效。 2012年,随着 AlexNet模型[7]的提出,以卷积神 经网络(convolutionalneuralnetworks,CNNs) 为代表的深度学习模型,由于其自动提取特征的 特性被广泛应用于图像识别的各个领域,其性能 在某些任务下可以超越人类。因此,近些年大量 基于深度学习的云检测方法被不断提出。基于 深度学习的云检测方法由于其精度高、泛化能力 强的特点,逐渐成为当前最为主流的云检测方法 之一。 **除云层遮挡外,光学遥感图像当中,雾、霾等 各类气溶胶以及云阴影也会对遥感图像的成像 质量造成影响。**此外,高反射率的积雪和建筑会 呈现出与云层相似的光学特征,从而影响云检测 的结果。因此,对于上述目标的检测和识别也是 云检测的重要内容,相关方向也被广泛研究。此 外,由于遥感影像来源多样的特性,不同卫星产 生的遥感影像往往会使用不同的云检测方法,因 此对于云检测数据来源和公开数据集的总结也 十分必要。 国内外已有一些综述性工作对遥感图像的 云检测方法进行总结和分析,但缺少针对云检测 方法层面的系统全面梳理,也缺乏对未来云检测 方法发展的分析和展望。刘紫涵等人针对不同 的卫星数据类型,重点介绍和梳理了传统基于光 谱阈值和经典机器学习的云检测方法[6]。Foga 等人重点针对 Landsat卫星的数据产品,对比了 不同 云 检 测 算 法 的 实 际 检 测 效 果 和 精 度[8]。 Mahajan等人从具体检测任务出发(如:云检测、 云雪检 测、薄 云 厚 云 检 测 等),回 顾 了 2004- 2018 年 间 的 传 统 阈 值 方 法 以 及 机 器 学 习 方 法[9]。Li等人主要关注了基于深度学习的云检 测方法,梳理了深度学习云检测方法的公开数据集以及代表算法模型,并且介绍了主流的深度学 习模型压缩和轻量化方法[10]。 **本文从云检测三种不同的主流技术路线出 发,详细介绍了遥感图像云检测方法的研究进展 和现状,对不同技术路线的代表性云检测工作进 行了对比分析。**介绍了遥感图像云检测的公开 数据集并对比了各类代表性方法的云检测精度。 此外,简要梳理了与云检测相关的云雾(霾)检 测、云雪检测、云阴影检测以及去云的代表性工 作。最后对国内外研究当前存在的问题和未来 的发展方向进行了分析和展望。 **2 云检测方法 **
20世纪80年代以来,随着国内外研究人员 的广泛研究,众多云检测工作被提出。本文将现 有工作根据核心方法的不同,大致分为三类:基 于光谱阈值的云检测方法、基于经典机器学习的 云检测方法以及基于深度学习的云检测方法。 本章将对以上三种方法的代表性工作进行梳理 和介绍。图1总结了当前云检测方法的主要分 类和代表性工作。
**2.1 基于光谱阈值的云检测方法 **
基于光谱阈值的云检测方法是最早被广泛 研究和应用的云检测方法。该类方法通过分析 图像不同光谱波段之间的差异,设置阈值来区分 云和背景图像,以达到云检测的目的。早期的基 于光谱阈值的云检测方法可以追溯到1994年, Kegelmeyer等人通过设置单一阈值,对经过伪 笛卡 尔 变 换 (pseudo-cartesiantransformation) 的 WSI(wholeskyimage)EO-5相机获取的图 像进行阈值分割,得出灰度图像,来达到云检测 的目的[11]。但是单一阈值方法精度较低,并没 有被广泛使用。在之后的研究当中,自动云覆盖 评估 方 法 (automaticcloudcoverassessment, ACCA)[12-13]以 及 掩 膜 函 数 (functionofmask, Fmask)[14]方法成为了基于光谱阈值的云检测 方法中最具代表性的方法,并被广泛研究和应 用。其中,Irish 等 人 提 出 的 ACCA 方 法 用 于 Landsat7ETM+(EnhancedThematicMapper Plus)卫星图像的自动云检测。 ACCA 方法基于 Landsat7ETM+图像中第2至7波段,首先通 过设置多个光谱滤波器,使用云层的反射和热能 特征来判断图像中云层的存在性,而后对于有云 的图像,利用所建立的云层热刨面图,根据云的热能性质来进一步进行云检测[12-13]。该方法在 地球大部分区域可以取得较好的云检测精度,但 是对于存在积雪的高纬度、高海拔区域(如南极 洲),由于反射率相似,ACCA 方法难以有效区 分云层和积雪。Fmask方法由 Zhu等人提出, 用于对 Landsat图 像 进 行 云 层 和 云 阴 影 的 检 测[10]。该方 法 将 Landsat大 气 层 顶 端 (topof atmosphere,TOA)反射和亮度温度(brightness temperature,BT)作为输入,通过云的物理特性 以及相关物理量的概率信息来进行云检测,并还 通过近 红 外 波 段 来 检 测 云 阴 影。此 外,Fmask 工作中还明确了云检测的精度计算方法,许多精 度评判指标(如全局精度等)被沿用至今。 ACCA 方法和 Fmask方法被提出后,在相 当长的时间当中成为了云检测的主流方法,许多 研究人员也受到上述两种方法的启发,提出了更 多的基于光谱阈值的云检测方法。刘希等人利 用双通道动态阈值法实现了日本 GMS-5静止气 象卫星图像的自动云检测[15]。马芳等人进一步 考虑了 GMS-5卫星中的四个光谱通道,提出了 通道综合运算云检测方法,改善了地理位置对于 云检测的影响[16]。2015年,Zhu等人又通过取 消对热光谱(thermalband)的使用以及增加卷 云概率,提高了传统 Fmask方法对于薄卷云的 检 测 精 度[17]。Shi 等 人 提 出 的 MFmask (mountainousfmask)方 法,针 对 Landsats4-8 图像,提升了传统 Fmask方法在多山区域的云 检 测 精 度[18]。 随 后,Qiu 等 人 提 出 了 Fmask4.0,通过对辅助数据的整合和新的基于 HOT(hazeoptimizedtransformation)云概率方 法的提出,结合光谱纹理信息,提升了云检测的 精度[19]。 基于光谱阈值的方法通过对图像的不同光 谱设置阈值的方式实现了云的自动检测,该类方 法无需像素级的标记和复杂的模型训练,可以较 为高效地进行部署和运行。但是,基于光谱阈值 的方法通常要求遥感图像具有较为丰富的光谱 信息,因此 此 类 方 法 大 多 基 于 Landsat系 列 或 Sentinel-2卫星,对于光谱数量较少的遥感图像 或可见光图像,此类算法难以有效运行。为了缓 解对于光谱信息的依赖,Zhu等人在 Fmask的 基础之上,提出了 Tmask(multitemproalmask) 方法,通过引入多时相图像来提供额外的信息, 一定程度减少对于过多光谱信息的使用,同时提 高云检测的精度[20]。Li等人提出的 MFC 方法 通过使用图像纹理信息和光谱信息同时进行云 检测,实现了对4通道图像的高精度云检测[21]。 除对光谱信息的依赖之外,基于光谱阈值的方法 往往泛化能力较差,针对不同场景尤其是复杂场 景往往算法的鲁棒性不足[6]。表1对本章提到 的基于光谱阈值的云检测方法的数据来源和方 法优劣势进行了总结。 **2.2 基于经典机器学习的云检测方法 **
针对基于阈值分割的传统云检测方法过于 依赖图像光谱信息、场景适应性及鲁棒性较差的 问题,研究人员更多地考虑了将经典机器学习方 法引入云检测任务中,被广泛应用的机器学习模 型包 括 支 持 向 量 机 (supportvector machine, SVM)以 及 随 机 森 林 (randomforest,RF)等。 机器学习理论的迅猛发展同时为云检测领域吸 引了更高的研究注意力,推动了云检测技术的快 速发展。包括纹理、边缘等的图像特征选择是机 器学习方法的核心环节之一,根据所使用图像特 征的语义级别的不同,可以将基于经典机器学习 理论的云检测方法大致分为三类:亮度特征、纹 理特征以及局部统计特征。 亮度特征即图像不同波段的反射率,是遥感 影像最底层的原始特征,是早期机器学习云检测 方法中最常用的特征。Kang等人提出了一种 无监督云检测方法,他们训练支持向量机在 HSI 颜色空间分割云层,并使用引导滤波技术细化云 层边界[22]。Fu等人将随机森林技术引入云检 测领域,相比于支持向量机,随机森林能更好地 处理多种特征类型之间复杂的非线性依赖关系, 模型的样本容量更高,执行速度更快,也具有更 好的可解释性[23]。Wei等人提出的云检测方法 进一步改进了基于随机森林模型的云检测方法, 他们的算法引入了 SEEDS 分割方法进行后处 理,进一步优化了基于随机森林的云检测算法的 性能[24]。该方法能够较好地识别碎云和薄云、 遗漏很少,并且可以更准确地区分大部分云层和 相似的高反光人工地物,很少有误判,但是该算 法不能很好地解决云层和积雪分离任务。
纹理特征是相比亮度特征更高级别的遥感 影像特征,包含更高级别的图像语义信息,有利 于实现更精确的云检测性能。通过设置不同尺 寸的特征提取窗口,可以在多个尺度上提取图像 特征。Chen等人提出的云检测方法利用灰度共 生 矩 阵 (gray level co-occurrence matrix, GLCM)提取纹理特征,然后训练非线性支持向 量机分割云层[25]。该方法适用于南极地区,特 别是适合于薄卷云的检测,但是鲁棒性一般。Li 等人提出的方法同样采用支持向量机模型,不同 的是,他们计算灰度共生矩阵二阶矩的平均梯度 和角度提取图像块的纹理特征[26]。该算法的整 体检测 精 度 较 高,但 是 对 于 云 占 比 为 50% ~ 95%的图像检测精度较低。Sui等人进一步发 展了基于支持向量机的云检测方法。他们引入 了前处理步骤,利用简单线性迭代聚类(simple lineariterativeclustering,SLIC)算法将遥感图 像分割为超像素,然后计算图像 Gabor响应的 能量特性和光谱特性提取纹理特征[27]。该算法 在有限的光谱波段下具有较高的精度。An等 人提出的方法不再使用传统的支持向量机模型, 他们训练基于最小化数据特征及标签之间残差 的场景 学 习 器 实 现 对 云 层 的 精 确 分 割[28]。此 外,该算法相比于其他方法构建了更加复杂的图 像特征空间,通过堆叠颜色特征、统计信息、纹理 特征和结构化信息建立图像特征。 局部统计特征覆盖了相比于纹理特征更广 泛的特征类型,可以提取更高语义级别、任务特 异性更强的图像特征,通过计算滑动窗内像素的 统计特征实现更可靠、更精细的云像素分类效 果。Yuan等人提出的云检测方法基于支持向 量机,结合SLIC算法进行前处理将图像分割成 超像素,以及 GrabCut算法进行后处理细化云 检 测 结 果[29]。 他 们 基 于 词 袋 (Bag-of-words,BOW)模型提取超像素的统计特征。Tan等人 提出的方法同样基于支持向量机模型,并且同样 结合了 SLIC 算法和 GrabCut算法[30]。不同的 是,他们提取了更加复杂的基于光谱、纹理、频率 和线段的图像特征。该算法的精度较高,但是耗 时较长,并且会将纹理精细的卷云识别为非云区 域。Deng等人提出的方法进一步发展了基于支 持向量机的云检测算法[31]。他们使用更加复杂 的高级别图像统计特征实现了更优的云层分割 性能。在采用SLIC算法分割图像之后,提取自 然场景统计模型的空间域 NSS特征以及 Gabor 特征进行云像素分割。该算法的检测精度和鲁 棒性较好,但是对薄云相比厚云的检测精度略 低。Tian等人将极限学习机(ELM)模型引入了 云检测领域[32]。他们研究跨轨红外探测器 CrIS 的 全 光 谱 分 辨 率 (FSR)数 据,选 取 CrIS 的 LWIR-SWIR 通道对的亮度温度,提取 FSR 数 据的云检测指标(FCDIs)特征,该算法的分类结 果良好,但是误检率较高。 相比于传统的基于光谱阈值的云检测方法 对独立像素的分类潜力研究,基于经典机器学习 的方法开始了对遥感影像空间模式信息的挖掘 利用,这有效提高了分割模型对遥感影像信息的 利用率。同时,图像特征的使用也大大降低了传 统云检测方法对卫星图像数据光谱范围的高度 依赖。但是,由于经典的机器学习模型通常需要 手工设计图像特征,使得基于经典机器学习的方 法难以更加高效地提取遥感图像更高级别的语 义信息。当面对复杂场景时,此类方法会面临精 度下降的问题[9]。
**2.3 基于深度学习的云检测方法 **
2012 年 开 始,以 AlexNet [7]、VGG [33]、 ResNet [34] 等 卷 积 神 经 网 络 (convolutional neuralnetworks,CNNs)为代表的深 度 学 习 模 型 在 ILSVRC (imagenet large scale visual recognitionchallenge)竞赛[35]中取得了突出表 现,并被广泛应用于图像分类、目标检测等计算机视觉领域。深度学习方法在遥感图像处理和 识别领域也取得了许多的成果,这也进一步推动 了基于深度学习的云检测方法的快速发展。 早期基于深度学习的云检测方法将遥感图 像切分为多个图像块,并将云检测任务建模为图 像分类过程。其中,Mateo等人将原始遥感图像 切分为33×33的图像块,并利用2层卷积神经 网络来对图像块进行分类[36]。Xie等人同样将 原始图像进行切分,但通过使用 SLIC 方法生成 超像素,并使用双分支卷积神经网络来对超像素 进行分类[37]。基于图像切分的方法使用卷积神 经网络来自动提取图像特征,通常可以获得比经 典机器学习方法更高的云检测精度;但是对于图 像块中同时包含云层和非云层像素的情况,会造 成分类的误差。 为了解决上述问题,受到计算机视觉领域图 像分 割 代 表 工 作 全 卷 积 神 经 网 络 (fully convolutionalnetworks,FCN)[38]的 启 发,基 于 深度 学 习 的 云 检 测 方 法 逐 步 从 图 像 块 分 类 (patch-wiseclassification)发展为图像像素分类 (pixel-wiseclassification)。Wu等人针对高分1 号宽幅遥感图像(GF-1 WFV),通过融合 CNNs 提取的低层(low-level)和高层(high-level)的特 征来获取云层的概率图,并通过复合图像滤波技 术来细化云检测结果[39]。Yan等人利用修改的 残差模型和金字塔池化模块来实现云和云阴影 的检测[40]。 传统的FCN 模型在特征提取(即编码器)阶 段对图像的下采样很大程度上造成了图像空间 信息的缺失。并且在上采样(解码器)阶段直接 对低分辨率特征进行一次性的恢复,难以有效恢 复图像的细节信息。Ronneberge等人通过在编 解 码 器 之 间 加 入 特 征 融 合 以 及 反 卷 积 (transposeconvolution)的操作,提出了 U-Net 模型,很 大 程 度 上 提 升 了 图 像 分 割 的 精 度[41]。 许多研究人员也提出了各类基于 U-Net模型的 云检测方法。其中,Francis等人基于 U-Net框 架,结合了Inception等模块,提出了 CloudFCN 云检测方法[42]。Marc等人基于 U-Net框架,实 现了对云、云阴影等五种目标的检测和分类,并 验证了方法对不同卫星传感器的泛化能力[43]。 Jeppesen等人同样基于 U-Net框架提出了 RSNet(remotesensing network)模 型,仅 使 用 Landsat卫星图像中的 RGB 通道,实现了高精 度的云 检 测[44]。张 家 强 等 人 将 残 差 模 块 引 入 U-Net进行云检测,提高了模型的表示能力和泛 化能力[45]。除 U-Net模型之外,另一种FCN 模 型的变体 SegNet模型[46]也被用于云检测任务 当中。Chai等 人 基 于 SegNet分 割 模 型,针 对 Landsat卫星图像实现了云和云阴影的检测[47]。 么嘉棋等人将SegNet与随机条件场相结合,提 升了云边缘轮廓的检测精度[48]。李佳欣等人以 SegNet模型为基础,使用 POLDER多角度探测 卫星数据,构建了含有多角度信息的遥感图像云 检测模型[49]。上述工作大多直接使用自然图像 的语义分割模型在云检测数据集上进行训练,没 有针对云检测的任务特点对模型结构进行特别 的优化和设计,因此对于云检测任务当中出现的 诸如薄云、云边缘、高反光的积雪和建筑物等难 样本,上述方法通常表现较差。 近些年,随着对云检测任务的不断研究,研 究人员发现,如何针对云检测任务本身的特点和 难点,设计更加有效的多尺度特征提取和融合方 法,是提 升 云 检 测 算 法 精 度 的 关 键 技 术 之 一。 Yang等人针对低分辨率遥感缩略图像提出了 CDnet,通过设计特征金字塔、边缘细化等模块 提高了低分辨率图像云检测的检测精度[50]。Li 等人则特别针对中高分辨率的遥感图像,设计了 多尺度的卷积特征融合方法 MSCFF,提升了云 检测精度,并在不同的传感器所获取的遥感图像 上验证了方法的有效性[51]。Shao等人针对云 检测任务,在原有全卷积神经网络的基础上设计 了多尺度特征融合模块,并提出了 MF-CNN 模 型,提升了对于薄云和厚云的检测精度[52]。Yu 等人针对 GF-5图像提出了多尺度融合门控云 检 测 模 型 MFGNet(multiscalefusion gated network)[53]。MFGNet设计了双分支 的 CNN 云检测模型提取浅层和深层信息,并利用带注意 力机制的金字塔池化和空间注意力机制来进行 特征融合,提升了云检测的精度。Wang等人通过设计信息利用更充分的特征融合方式使云检 测结果更准确精细[54]。Guo等人通过增加自适 应特征融合模块以及高级语义信息指导流模块, 结合空间维度和通道维度的注意力机制,提出了 CDNetV2模型,实现了云雪共存场景下的高精 度云检测[55]。然而,过于复杂的特征融合方式 往往会导致模型的计算和内存复杂度过高。为 了解决 这 一 问 题,He等 人 提 出 了 DABNet方 法,通过使用 DCFP模块动态提取多尺度特征, 并且设计了新的 BW 损失函数,提升云边缘的 检测精度[56]。 除上述对特征融合方式进行改进的工作外, 近期有部分工作针对云检测任务和遥感图像的特 点,提出了多种多样的模型结构,取得了较好的云 检测效果。其中,Li等人通过将云检测过程结合 卫星成像机理,提出了 CloudMatting方法,可以 同时获取云掩膜以及云层不透明度参数,可以一 定程度上估计云层的厚度[57]。Wu等人将经纬 度、海拔等地理信息和遥感图像进行特征融合,提 出了 GeoInfoNet,实 现 了 对 云 和 雪 的 高 精 度 检 测[58]。Wu等 人 提 出 了 场 景 聚 合 网 络 (scene aggregationnetwork,SAN),其将场景信息与遥感 影响相融合,并利用融合的特征获取高精度的云 检测结果,同时可以实现对不同场景的分类[59]。 上述基于深度学习的云检测方法相较于传 统的基于光谱阈值和经典机器学习的方法可以 取得更高的云检测精度,但是所有模型均需要使 用深度学习方法中常用的监督学习来进行训练, 需要人工进行大量的像素级标注,十分耗费人 力。为了解决这一问题,近期许多基于弱监督学 习的云检测方法被不断提出。Zou等人通过生 成对 抗 网 络 (generativeadversarialnetwork, GAN)来生成大量用于训练的含云的遥感图像, 从而避免了大量的人工标注[60]。Li等人将像素 级别的标注弱化为图像块(block-level)级别的 标注 信 息,并 提 出 了 全 局 卷 积 池 化 (global convolutionalpooling,GCP)运算来实现弱监督 下的云检测[61]。仇一帆等同样受到弱监督学习 的启发,使用传统的 CFmask方法(基于 C 语言 的 Fmask方法)代替人工标注来获取云检测标 注,而后基于SegNet模型进行云检测[62]。 上述基于弱监督的云检测方法虽然一定程 度上缓解了深度学习云检测方法对于大量标注 信息的需求,但基于弱监督的云检测方法精度相 较于主流的基于监督学习的云检测方法存在一 定的差距。此外,深度学习方法本身对于大量训 练样本和计算资源的需求,仍是其在实际应用和 部署当中需要进一步解决的问题。表3对比了 本章提到的基于深度学习的云检测方法的数据 来源和优缺点。