【PIE-Engine Studio学习笔记05】图像分类——非监督分类

【PIE-Engine Studio学习笔记05】图像分类——非监督分类

一、图像分类含义

图像分类是将图像中每个像元根据其在不同波段的光谱亮度、空间结构特征或者其他信息,按照某种规则或算法划分为不同的类别。
基于光谱特征的遥感影像分类方法主要包括:

  • 非监督分类
  • 监督分类

二、非监督分类含义

非监督分类(unsupervised),也称为聚类分析或点群分析。即在多光谱图像中搜寻、定义其自然相似光谱集群组的过程。非监督分类不需要人工选择训练样本,仅需极少的人工初始输入,计算机按一定规则自动地根据像元光谱或空间等特征组成集群组,然后分析者将每个组和参考数据比较,将其划分到某一类别中去。
非监督分类算法有多种:

  • K均值(K-means Clustering Algorithm)
  • 最大期望(Expectation-Maximization)
  • ISODATA分类算法(Iterative Self-Organizing Data Analysis Technipue)
  • BP神经网络分类算法

三、PIE-Engine Studio 实现非监督分类

PIE-Engine Studio 支持一下两种非监督分类算法:

K均值(K-means Clustering Algorithm)

  • 是一种迭代求解的聚类分析算法,易于描述、时间效率高且适于处理大规模数据,核心对象为pie.Clusterer.kMeans。

最大期望(Expectation-Maximization)

  • 是一种通过迭代进行极大似然估计的优化算法,通常作为牛顿迭代法(Newton-Rapson method)的替代,用于含隐变量(latent variable)或缺失数据(incomplete-data)的概率模型进行参数估计,核心对象为pie.Clusterer.em。

1.获取采样区域范围

//这里以获取河北省邯郸市矢量边界为例
var geometry = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY")
            .filter(pie.Filter.eq("name", "邯郸市"))
            .first()
            .geometry();
//矢量边界居中显示
Map.centerObject(geometry, 6);
//添加图层
Map.addLayer(geometry, {color: 'FF0000', fillColor: '00000000', width: 1}, "邯郸");

邯郸市矢量边界范围

2.调用Landsat8 TOA数据集

//调用Landsat8 TOA数据集,设定筛选条件:日期、区域、云量,并进行镶嵌,裁剪
var img = pie.ImageCollection("LC08/02/SR")
             .filterBounds(geometry)
             .filterDate("2020-05-01", "2020-10-01")
             .filter(pie.Filter.lte("cloud_cover", 2))
             .select(["B2", "B3", "B4", "B5"])
             .max()
             .clip(geometry);
             
//添加影像并波段组合进行真彩色加载显示
Map.addLayer(img, {min: 0, max: 3000, bands: ["B4", "B3", "B2"]}, "img", false);

在这里插入图片描述

3.采样

//设置采样参数
var training = img.sample(geometry,30,"","",200);

在这里插入图片描述
查阅帮助文档可以看到sample的参数说明。

4.非监督分类训练

//分为5类
//(1)kMeans算法
var cluster = pie.Clusterer.kMeans(5).train(training).getInfo();
//(2)em算法
//var cluster = pie.Clusterer.em(5).train(training).getInfo();


5.分类结果渲染显示

//分类结果
var resultImage = img.cluster(cluster,"clusterA");

// 结果显示渲染
var visParam = {
    opacity:1,
    classify:'0,1,2,3,4',
    palette: 'FF0000,00FFFF,00FF00,FF00FF,0000FF,FFFF00'
};
Map.addLayer(resultImage,visParam,'邯郸非监督分类');

kMeans结果kMeans结果
em结果

在这里插入图片描述

6.完整代码

关注公众号【GeoLearning】,获取完整代码链接。

回复关键字:非监督分类
在这里插入图片描述


总结

本节主要学习了基于PIE-Engine Studio 进行非监督分类。欢迎大家批评指正,探讨交流!!!

参考:
《遥感应用分析原理与方法》赵英时
《遥感导论》梅安新

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值