端元选择方法及操作
![端元选择方法及操作](https://img.360docs.net/imgdb/1ploz60c2jvjbiy3qwnxi0xkmnc6sd82-b1.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原文地址:混合像元分解中的端元波谱获取方法作者:ENVIIDL
选取合适的端元是成功的混合像元分解的关键。端元选取包括确定端元数量以及端元的光谱。
理论上,只要端元数量m小于等于b+1(b表示波段数),线性方程组就可以求解。然而实际上由于端元波段间的相关性,选取过多的端元会导致分解结果更大的误差。
端元光谱的确定有两种方式:(1) 使用光谱仪在地面或实验室测量到的“参考端元”;
(2) 在遥感图像上得到的“图像端元”。方法(1)一般从标准波谱库选择,方法(2)直接从图像上寻找端元可选择的方法有:从二维散点图中基于几何顶点的端元提取,借助纯净像元指数(Pixel Purity Index——PPI)和n维可视化工具用于端元波谱收集,基于连续最大角凸锥(Sequential Maximum Angle Convex Cone——简称SMACC)的端元自动提取。下面介绍几种端元选择的方法。
1基于几何顶点的端元提取
将相关性很小的图像波段,如PCA、IC、MNF等变换结果的前面两个波段,作为X、Y 轴构成二维散点图。在理想情况下,散点图是三角形状,根据线性混合模型数学描述,纯净端元几何位置分布在三角形的三个顶点,而三角形内部的点则是这三个顶点的线性组合,也就是混合像元,如图所示。根据这个原理,我们可以在二维散点图上选择端元波谱。在实际的端元选择过程中,往往选择散点图周围凸出部分区域,后获取这个区域相应原图上的平均波谱作为端元波谱。
图散点图上的纯净像元与混合像元
下面以MNF变换后的第一、第二波段作为X、Y轴构建二维散点图,如图所示。
图Scatter Plot窗口
2基于PPI的端元提取
借助纯净像元指数(PPI)和n维可视化工具用于端元波谱收集,下面详细介绍操作步骤。
第一步、获取纯净像元
这个步骤是在MNF变换的结果上计算纯净像元指数(PPI),之后选择阈值范围从PPI 图像上获得感兴趣区,感兴趣区包含的像元就是比较纯净的像元。
(1)打开高光谱数据。
(2)在ENVI主菜单中,选择Spectral ->MNF Rotation- > Forward MNF -> Estimate Noise Statistics From Data。在标准ENVI文件选择对话框中,选择高光谱图像文件。打开
Forward MNF Transform Parameters面板,选择MNF输出路径及文件名,单击OK 执行MNF变换。
(3)在ENVI主菜单中,选择 Spectral-> Pixel Purity Index->[FAST] New Output Band。在打开的Pixel Purity Index Input File对话框中,选择MNF变换结果,单击Spectral Subset按钮,选择前面10个波段(MNF后面波段基本为噪声),单击OK。
(4)在Pixel Purity Index Parameters面板中,设置Threshold Factor:3,其他参数默认,选择输出路径及文件名,单击OK执行PPI计算。
(5)在Display窗口中显示PPI结果。选择Overlay->Region of Interest,在ROI Tool 面板中,选择Options->Band Threshold to ROI,选择PPI图像作为输入波段,单击OK,打开Band Threshold to ROI面板(图)。 Min Thresh Value:10,Max Thresh Value:空(PPI图像最大值),其他默认设置,单击OK计算感兴趣区,得到的感兴趣区显示在Display窗口中。
图Band Threshold to ROI面板
第二步、构建n维可视化窗口
(1)在ENVI主菜单中,选择Spectral ->n-Dimensional Visualizer,在n-D Visualizer Input File对话框中选择MNF变换结果,单击OK。
(2)在n-D Controls面板中,选择1、2、3、4、5波段,构建5维的散点图。
第三步:选择端元波谱
(1)在n-D Controls面板中,设置适当的速度(Speed),单击Start按钮,在n-D Visualizer 窗口中的点云随机旋转,当在n-D Visualizer窗口中的点云有部分聚集在一块时,单击Stop按钮。
(2)在n-D Visualizer窗口中,用鼠标左键勾画“白点”集中区域,选择的点被标示颜色。
(3)在n-D Controls面板中,选择Class->Items 1:20->White(用于删除点),单击Start 按钮,当看到有部分选择的点云分散时候,单击Stop按钮,在n-D Visualizer窗口中选择分散的点,自动会将选择的点删除。借助<-,->,New按钮可以一帧帧从不同视角浏览以辅助删除分散点。
(4)在n-D Visualizer窗口中,单击右键选择New Class快捷菜单,重复(1)~(3)选择其他“白点”集中区域。
图n-D Visualizer窗口中的端元
第四步、输出端元波谱
(1)在n-D Controls面板中,选择Options->Mean All,在Input File Associated with n-D Scatter Plot对话框中选择原图像,单击OK。
(2)获取的平均波谱曲线绘制在n_D Mean绘图窗口中。
(3)参考“波谱分析工具”章节,识别每条波谱曲线对应的地物类型。
(4)在n_D Mean绘图窗口中,选择File->Save Plot As->Spectral Library(或者ASCII),将端元波谱保存为波谱库文件或者文本文件。
3基于SMACC的端元提取
连续最大角凸锥(Sequential Maximum Angle Convex Cone )简称SMACC。SMACC方法可从图像中提取端元波谱以及丰度图像(abundance Image)。它提供了更快,更自动化的方法来获取端元波谱,但是它的结果近似程度较高,精度较低。
SMACC方法是基于凸锥模型(也称为残余最小化)借助约束条件识别图像端元波谱。采用极点来确定凸锥,并以此定义第一个端元波谱;然后,在现有锥体中应用一个具有约束条件的斜投影生成下一个端元波谱;继续增加锥体生成新的端元波谱。重复这个过程直至生成的凸锥中包括了已有的终端单元(满足一定的容差),或者直至满足了指定的端元波谱类别个数。
通俗的解释,SMACC方法首先找到图像中最亮的像元,然后找到和最亮的像元差别最大的像元;继续再找到与前两种像素差别最大的像素。重复该方法直至SMACC找到一个在前面查找像素过程已经找到的像素,或者端元波谱数量已经满足。SMACC方法找到的像素波谱转成波谱库文件格式的端元波谱。
下面以一个高光谱数据为例,详细介绍这个工具的操作过程。
(1)在ENVI主菜单中,选择 File->Open Image File,打开高光谱数据文件。
(2)在ENVI主菜单中,选择Spectral ->SMACC Endmember Extraction,在Select Input Image对话框中选择高光谱数据文件,单击OK打开SMACC Endmember Extraction
Parameters面板(图)。
(3)在SMACC Endmember Extraction Parameters面板中,需要填写以下参数:端元波谱提取数量(Number of Endmembers):15
误差容限值(RMS Error Tolerance):0
默认值0表示只有达到Number of Endmembers 参数指定的终端个数,SMACC 才会结束。如果指定一个RMS误差,那么达到这个RMS误差的话,SMACC就会结束,不管是否获取指定数量的端元波谱。反射率数据推荐使用,辐射亮度值数据推荐使用1。但是要注意反射率数据常常扩大了倍数,比如扩大了10000倍,这个时候RMS Error Tolerance参数设置应该为10000x1%=100。
选择分离端元波谱的约束条件(unmixing constraint For Endmember Abundances):
Positivity Only:把每个波长的正值端元波谱作为约束条件。这个选项常
用于反射率数据,因为负反射率值没有物理意义,