JAG复现:使用基于对象分类以及 GEE上 S2 影像自动生成的训练样本快速估计野火损失

文摘   2024-07-13 00:05   山西  

这篇文章提出了一种快速估计野火损害的方法,通过使用Google Earth Engine (GEE)上的Sentinel-2卫星影像,结合自动生成的训练样本进行面向对象的图像分析 (OBIA)。这种方法首先使用基于纹理的变化特征自动生成训练样本,然后应用随机森林 (RF) 分类器进行区域分类,以制作烧毁严重度地图并评估每个严重级别的像素计数。研究的案例是2022年3月在韩国发生的两场大型森林火灾。此方法在Uljin地区的整体精度为97.6%,在Gangneung地区的传输性也显示出较高的准确性(93.8%)。这表明该方法不仅能够在原始地点有效,还能够应用于不同地区的野火伤害评估,具有较好的普适性和准确性。

我尝试着复现了自动生成训练样本,取得了不错的结果。


生成未烧毁区(Unburnt)样本:

利用前后火灾影像计算出的dNDVI( (dNDVI = NDVIbefore - NDVIafter))来确定未烧毁区域,通过比较火灾前后的植被状态变化来识别未受影响的区域。

生成烧毁区(burnt)样本:

首先使用SAM分析前后火灾的卫星影像,通过计算每个像素的光谱角度差异来识别因火灾影响而发生显著变化的区域,光谱角度较大的地方通常表明该区域遭受了严重的烧毁。

其中θ表示两个光谱之间的相似角,n是波段数,ii分别是波段i中的目标(火灾前)光谱和参考(火灾后)光谱

而后使用GLCM对光谱角计算结果提取纹理特征,然后对纹理特征(18个)进行PCA降维,对PCA结果的第一波段使用OTSU算法,分割出燃烧区域。

听起来不太复杂,以下是复现流程:

PCA与GLCM都是很耗费内存的操作,所以我选择拆分成多个task运行,将中间结果保存。

第一部分的代码包含了光谱角生成、GLCM、PCA以及通过dNDVI生成unburnt掩膜。

https://code.earthengine.google.com/3fffba624455408886193700a0377140

先是经典的加载前后图像

而后光谱角生成、GLCM、PCA(这里波段应该多加点指数的,我比较懒就没加)

通过dNDVI生成unburnt掩膜(黑的是政府统计的燃烧区域)

第二部分的代码包含了otsu提取燃烧区:

https://code.earthengine.google.com/acae90e351f619553d911d084b5d4e6f

第三部分的代码包含了对生成的这两个区域采样

https://code.earthengine.google.com/0b18873087f4e0f4ac7580ba09628725


感谢关注,本来是不想写的又臭又长,奈何有人以原创性不够举报V(^_^)V

遥感小屋
分享遥感相关文章、代码,大家一起交流,互帮互助
 最新文章