ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【ENVI入门系列】12.基于专家知识决策树分类

2022-07-05 18:06:08  阅读:326  来源: 互联网

标签:12 20 分类 波段 ENVI NDVI 节点 决策树


版权声明:本教程涉及到的数据仅供练习使用,禁止用于商业用途。

目录

基于专家知识决策树分类    

1.    概述    

2.    详细操作步骤    

2.1    规则获取   

2.2    制作决策树    

2.3    执行决策树    

1. 概述

       基于知识的决策树分类是基于遥感影像数据及其他空间数据,通过专家经验总结、简单数学统计和归纳方法等,获得分类规则并进行遥感分类。分类规则易于理解,分类过程也符合人的认知过程,最大的特点是利用多源数据。

       专家知识决策树分类的步骤大体上可分为四步:知识(规则)定义、规则输入、决策树运行和分类后处理。难点是规则的获取,可以来自经验总结,如坡度小于20度是缓坡等;也可以通过统计的方法从样本中获取规则,如C4.5算法、CART算法、S-PLUS算法等。

       本课程以Landsat TM5影像和这个地区对应的DEM数据为例,学习基于专家知识决策树分类。数据存放在"\12.基于专家知识决策树分类\数据"文件夹内,影像和DEM经过了精确配准。

 

2. 详细操作步骤

2.1 规则获取

       根据经验和专家知识获取如下规则:

  • Class1(缓坡植被):NDVI>0.3, slope<20
  • Class2(朝北陡坡植被):NDVI>0.3, slope>=20, 90<=aspect<=270
  • Class3(朝南陡坡植被):NDVI>0.3, slope>=20, , aspect<90 或 aspect>270
  • Class4(水体):NDVI<=0.3, 0
  • Class5(裸地):NDVI<=0.3, b4>=20
  • Class6(无数据区,背景): NDVI<=0.3, b4=0

       注:其中,NDVI为归一化植被指数;slope为坡度;aspect为坡向;bN代表第N个波段。

 

2.2制作决策树

      (1)首先打开待分类数据及其他多源数据。打开File > Open,选择"\12.基于专家知识决策树分类\数据"文件夹内的boulder_tm.dat和boulder_dem.dat;

注:boulder_tm.dat为待分类图像,boulder_dem.dat为DEM数据。

     (2)打开新建决策树工具,路径为Toolbox/Classification/Decision Tree/New Decision Tree,如下图所示,默认显示一个节点和两个类别;

图:新建决策树工具面板

     (3)首先按照NDVI来区分植被与非植被。单击节点Node 1,在弹出的对话框内输入节点名(Name)和条件表达式(Expression),如下图所示;

图:新建一个节点

     (4)点击OK后,在弹出的Variable/File Pairings对话框内需要为 {ndvi} 指定一个数据源,如下图所示。点击面板中显示 {ndvi} 的表格,然后选择boulder_tm.dat即可。

注:因为所选数据具有波长信息,ENVI自动根据波长识别红波段与近红外波段,如果没有波长,需要手动指定这两个波段。

图:为{ndvi}指定数据源

     (5)在进行条件表达式(Expression)编写时,需要符合IDL的语法规则,包括运算符和函数名。常用的运算符和函数如下表所示。

表:表达式中常用的运算符

表达式

部分可用函数

基本运算符

+、-、*、/

三角函数

正弦Sin(x)、余弦cos(x)、正切tan(x)

反正弦Asin(x)、反余弦acos(x)、反正切atan(x)

双曲线正弦Sinh(x)、双曲线余弦cosh(x)、双曲线正切tanh(x)

关系/逻辑

小于LT、小于等于LE、等于EQ、不等于NE、大于等于GE、大于GT

and、or、not、XOR

最大值(>)、最小值 (<)

其他符号

指数(^)、自然指数exp

自然对数alog(x)

以10为底的对数alog10(x)

取整——round(x)、ceil(x)、fix(x)

平方根(sqrt)、绝对值(abs)

      (6)ENVI决策树分类器中的变量是指一个波段或作用于数据的一个特定函数。如果为波段,需要命名为bN,其中N为1~255的数字,代表数据的某一个波段;如果为函数,则变量名必须包含在大括号中,即{变量名},如{ndvi}。如果变量被赋值为多波段文件,变量名必须包含一个写在方括号中的下标,表示波段数,比如{pc[1]}表示主成分分析的第一主成分。支持特定变量名,如下表所示,用户也可以通过IDL编写自定义函数。

表:ENVI支持的变量表达式

变量

作用

slope

计算坡度

aspect

计算坡向

ndvi

计算归一化植被指数

tascap[n]

穗帽变换,n表示获取的是哪一分量。

pc[n]

主成分分析,n表示获取的是哪一分量。

lpc[n]

局部主成分分析,n表示获取的是哪一分量。

mnf[n]

最小噪声变换,n表示获取的是哪一分量。

lmnf[n]

局部最小噪声变换,n表示获取的是哪一分量。

stdev[n]

波段n的标准差

lstdev[n]

波段n的局部标准差

mean[n]

波段n的平均值

lmean[n]

波段n的局部平均值

min[n]、max[n]

波段n的最大、最小值

lmin[n]、lmax[n]

波段n的局部最大、最小值

(7)第一层节点根据NDVI的值划分为植被和非植被,如果不需要进一步分类的话,这个影像就会被分成两类:class0和class1。

(8)对NDVI大于0.3,也就是class1,根据坡度划分成缓坡植被和陡坡植被。在class1图标上右键,选择Add Children。单击节点标识符,打开节点属性窗口,Name为Slope<20,在Expression中填写:{Slope} lt 20。

(9)同样的方法,将所有规则输入,末节点图标右键Edit Properties,可以设置分类结果的名称和颜色,最后结果如下图所示。

注:如果不想自己输入,可以选择File > Restore Tree…,选择Tree.txt即可。

表:决策树的节点名与表达式

节点名

表达式

ndvi>0.3

{ndvi} gt 0.3

0≤b4≤20

b4 lt 20 and b4 gt 0

b4 = 0

b4 eq 0

slope<20

{slope} lt 20

north

{aspect} lt 90 and {aspect} gt 270

图:决策树制作结果

注:可以选择菜单Options > Show Variable / File Pairings进行参数与变量的数据源设定。结果如下图所示。

图:参数设置结果

2.3执行决策树

(1)选择Options > Execute,可以执行决策树。由于使用了多源数据,各个数据可能拥有不同的坐标系、空间分辨率等。在弹出的Decision Tree Execution Parameters对话框(如图)中,需要选择输出结果的参照图像,这里选择boulder_tm.dat,即输出的分类结果的坐标系和空间分辨率等信息与boulder_tm.dat相同。

(2)选择输出路径和文件名,点击OK即可。

注:此步骤中可以选择空间范围裁剪。

图:输出参数设置面板

(3)如果ENVI没有自动打开结果文件,可以手动打开分类结果。如下图所示。

图:决策树分类结果(右)和原始数据(左)

 

教程下载:http://pan.baidu.com/s/1eQ8EHnO

数据下载:http://pan.baidu.com/s/1i3HwaQp

视频下载:http://pan.baidu.com/s/1kTurtaR

标签:12,20,分类,波段,ENVI,NDVI,节点,决策树
来源: https://www.cnblogs.com/enviidl/p/16447512.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有