这是一篇做冰湖溃决的文章,作者主要使用了random forest来检测喜马拉雅地区的冰湖溃决现象,这项成果发表在了Remote Sensing of Environment上。
文献连接:https://doi.org/10.1016/j.rse.2017.12.025
文献引用:Georg Veha, Oliver Korupa, Sigrid Roessnerb, Ariane Walz. Detecting Himalayan glacial lake outburst floods from Landsat time series. Remote Sensing of Environment, vol. 207, pp. 87-94, 2018.
首先,作者在摘要里提到,使用的数据是Landsat从1988年到2016年,用于寻找由于GLOF导致的冰湖面积变化的现象。一共使用了2491张图,用随机森林来生成模糊地表覆盖图,总体的精度为91%。使用基于似然的变化点检测方法,来估计GLOF发生的时间,总计找到了10/11文件记录到的冰湖溃决事件。总体来说,自动冰湖愧疚检测算法仍然是一个具有挑战的任务,需要解决的问题不局限于图像配准(co-registration),误分类,图像噪声等。
文章的开始,作者介绍了很多冰湖溃决监测的意义,并总结出了近期一些文献关于冰湖溃决事件的整理,具体如下:
这里作者能中RSE,很重要的一个原因是:
To our knowledge, no study has systematically explored the Landsat archive for retrospective GLOF detection in the HKH, although it offers a largely continuous, nearly 30-year time series with regional coverage every 16 days.
没有研究是基于Landsat来系统性的检测冰湖事件的。
其原因是两方面的:一方面是数据的问题,高原地区常常受到季风的影响,导致云层较为密集,且山体阴影、图像噪声对冰湖也有影响;另一方面,冰湖制图的方法多是半自动化的,而且需要大量的后处理工作。
因此本研究考虑采用了一种基于机器学习的方法,即随机森林来做冰湖溃决的检测。简单来说,这篇文章的工作主要是:
(1) a Random-Forest based land cover classification.
(2) a novel, likelihood based change-point algorithm to approximate the time stamp of GLOFs.
在过去70年中,一共文献记录了36起GLOF,本文找到了11起,这11起如上表1所示,他们的实际地理位置则如下图所示:
下面是作者所使用到的数据以及来源:
具体来说:
①Landsat数据。下载地址可从USGS上下载到,这11起GLOF涉及到19景影像。作者收集了9月-11月之间,云量小于60%的,1988-2016年间的所有影像,一共下载了2491景,并进行了TOA校正,所有的数据情况如下图所示:
其中,喜马拉雅地区中部拍摄最为密集的地区,每个像素达到429景影像。
②CFMask数据。即用C波段来检测云层,去除Landsat影像中的云层影响。下载的话还是在USGS上下载。它是将一景影像分为云,阴影,冰雪,水,空白。
③DEM数据。包括SRTM DEM和ALOS world 3D DEM,这两个数据分别在USGS上和JAXA上下载,之后再用9*9的高斯滤波对其平滑。
④冰川数据。冰川数据使用的ICIMOD和RGI,ICIMOD确实中国地区的冰川,因此使用RGI进行补齐。
整个流程结构如下图所示:
整体上来说分为三部分:
①数据预处理。
试验区跨了6个UTM投影带,因此需要先做重投影。然后将试验区分成30km*30km的小块进行处理。同时在冰川周围3km处做了缓冲区,并去除掉了非常陡峭的区域。
②随机森林分类。
首先定义了6种与冰湖溃决有关的土地覆盖类型。即为水,沉积物,冰雪,云,阴影,土地(不属于其他5类的全部属于这一类)。然后这11景包含GLOF的影像作为训练数据,其他的57景影像用作测试数据,用于检测未记录的GLOF。之后即使用随机森林对其进行分类,并将最终分类结果的沉积物和土地合并为一类。这里需要注意的是,作者的训练数据选择的是样本点。随机森林设置了1000棵数。评估随机森林的分类,采用了对数损失函数:
N是类别的数量,y=1表示像素i属于目标树,y=0则表示不属于,p表示像素i对预测类的比例隶属度。
此外,对于混合像元,作者使用的分类器,将fuzzy membership转化为了hard calssification。
③溃决检测。
冰湖溃决检测的一个关键因素,就是冰湖像元变化为了土地或沉积物像元。每个像元的时间序列隶属度如下图所示:
且对于云、阴影或者冰雪的隶属度>0.5的像元,直接作为噪声不作后续处理。例如:
若只通过类别的变化,比如从水体到土地,是会过度估计变化像元的数量,因为不能够确保从时间序列上的分类,自始至终都是正确的。
因此本研究提出一种CPA算法(change-point algorithm),来分离出异常值,且检测出从水体到陆地的像元变化。首先计算变化的似然度:
然后对似然度进行阈值过滤:
然后标记出所有发生变化的像元点。
之后作者使用了基于密度的方法DBSCAN, 来在空间中聚合三年内的像素作为变化对象。对于所有的潜在溃决对象,再对其进行仔细核查。
(1)土地覆盖制图的精度
对于TM/ETM+影像,交叉验证的loss为0.1098,类别隶属度概率为0.896,OA为91%。
具体的混淆矩阵如下表所示:
对于OLI影像,交叉验证的loss为0.0868,类别隶属度概率为0.917,OA为91%。
具体的混淆矩阵如下表所示:
(2)变化点检测的最优时间步长
总体而言,随着连续观测数量的增加,每个冰湖的变化像元检测率是减少的,如下图:
可以看到,当k=2的时候,成功率是最高的。
此外,作者还统计了额外检测到的变化像素数量,额外检测变化率用检测到的变化像素数量除以GLOF中的像素数量,统计结果如下:
最终作者的建议就是k取3。
(3)水体变化制图的精度
当k=3的时,11个冰湖溃决影像中,从水体变成陆地的面积占纵面的0.18%。结果如下表所示:
OA为99%:
(4)冰湖溃决的检测
用DBSCAN检测出了11起中的10起GLOF,其中,9起的GLOF检测率大于78%(和手动制图的结果比较),从下图可以看到,冰湖溃决的识别结果和手动制图的结果基本吻合:
另外,该算法还识别出了10起未报到的冰湖溃决事件,如下表所示:
其中9起在喜马拉雅中部,1起在念青唐古拉,具体分布如下图所示:
这些检测到的溃决冰湖具体的例子如下所示:
另外作者还统计了这些冰湖的面积平均变化为9.4%,冰湖面积的减少量约为12万m^2,如下表所示:
(1)数据质量
(2)模糊地表覆盖制图的质量
(3)变化点检测的挑战