【ENVI入门系列】18.目标探测与识别

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

目录

目标探测与识别    

1.    概述    

2.    去伪装目标探测    

2.1    数据浏览与准备目标波谱    

2.2    目标探测流程化工具    

2.2.1    选择输入/输出文件    

2.2.2    大气校正    

2.2.3    输入目标波谱    

2.2.4    输入背景波谱    

2.2.5    执行MNF变换    

2.2.6    选择及运行分析方法    

2.2.7    浏览结果以及提取目标    

2.2.8    结果后处理    

2.2.9    输出结果    

3.    基于BandMax向导的SAM目标探测    

3.1    工具功能介绍    

3.2    详细操作流程    

3.2.1    数据打开与目视解译    

3.2.2    收集目标与背景波谱    

3.2.3    启动SAM Target Finder with BandMax    

1、概述

    高光谱图像分类方法与传统的多光谱分类有本质的区别,从高光谱图像的每个像元均可以获取一条连续的波谱曲线,就可以考虑用已知的波谱曲线和图上每个像元获取的波谱曲线进行对比,理想情况下,如果两条波谱曲线一样,就能说明这个像元是哪种物质。

     高光谱图像的这个特性,使它除了应用于一般的图像分类,还应用于物质识别、目标探测等。图像分类更多关注的是地物覆盖和物质成分,目标识别和探测是对特定对象的搜索,其结果是"有"或者"没有"。因此我们把高光谱图像分类、物质识别、探测等称为波谱识别。

     本节以两个专题为例(去伪装目标探测与基于BandMax向导工具的SAM目标探测),学习ENVI中提供的高光谱目标探测与识别功能。

2、去伪装目标探测

     去伪装目标探测也是利用高光谱图像的地物识别能力,从图像上探测遮掩或者伪装的目标,比如一种特殊物质、矿物甚至军事目标等。下面以从图像上探测一个目标为例(练习数据存放在"..\18.目标探测与识别\数据\1. 目标探测"中),介绍ENVI的Target Detection Wizard工具的操作流程。

     在本例中,示例数据是包含384个波段,波段覆盖382nm~2500nm的高光谱数据。主要过程如下:从图上目视解译一个目标(可以是多个目标),以这个目标的平均波谱作为参考,搜索整个图像,识别具有类似或者相同波谱的目标。

 

2.1数据浏览与准备目标波谱

 

(1)选择菜单File > Open,打开文件nvis_sub1_hsi.img;

注:可以采用RGB彩色显示模式,在Data Manager中选择波段54、34、14分别对应RGB三个通道,然后点击Load Data按钮可以近似真彩色的显示原始图像,如下图。

图1 真彩色显示输入图像

(2)在右边图层管理器中nvis_sub1_hsi.img右键选择New Region Of Interest打开ROI Tool,在ROI Tool中修改ROI Name:target 1。

(3)在ENVI主界面中的工具栏Goto输入:130,650,回车定位到一辆装甲车目标。绘制这个目标的一个多边形ROI。

注:练习数据中提供了目标ROI文件。其中target1_sub1_roi.roi是ENVI Classic或者ENVI4.8及更早版本的ROI文件,target1_sub1_roi.xml是ENVI5.1或者更高版本的ROI文件。选择菜单File > Open,可以打开ROI文件。

图2 绘制目标的多边形ROI

(4)浏览目标波谱。在Layer Manager中,右键点击target 1,选择Statistics(如下图左),会对ROI的波谱进行统计,结果如下图(右)所示。

图3 统计菜单(左)与波谱曲线(右)

2.2目标探测流程化工具

2.2.1选择输入/输出文件

(1)启动Target Detection Wizard工具,位于Toolbox/Target Detection/Target Detection Wizard,在弹出的面板左侧为整个流程的描述信息,单击Next按钮;

(2)单击Select Input File,选择高光谱数据nvis_sub1_hsi.img;

(3)单击Select Output Root Name,选择输出结果的根目录,如D:\Temp\nvis_sub1_hsi;

(4)单击Next按钮进入"Atmospheric Correction"面板。

2.2.2大气校正

     此数据是经过大气校正的,选择None / Already Corrected选项,单击Next进入"Select Target Spectra" 面板。

注:这个面板提供了快速大气校正(QUAC)、几个基于统计学的大气校正方法(IAR Reflectance、Log Residuals、Flat Field、Empirical Line)和简化的黑暗像元法(Dark Subtraction),如果输入数据未经过大气校正,用户可根据需要进行方法的选择。

2.2.3输入目标波谱

     在"Select Target Spectra" 面板选择Import > From ROI/EVF from input file,选择列表中的target 1,点击OK,选择后效果如下图所示。单击Select All,选中目标波谱,然后单击Next按钮进入"Select Non-Target Spectra" 面板。

注:

1)如果需要探测多个目标,则输入多个目标的波谱,单击Select All选择列表中所有目标波,单击Next执行下一步操作。

2)当需要应用Orthogonal Subspace Projection (OSP), Target-Constrained Interference-Minimized Filter (TCIMF), 和Mixture Tuned Target-Constrained Interference-Minimized Filter (MTTCIMF)三种波谱分析方法时,需要至少2个目标波谱,或提供背景波谱。

图4 选择目标波谱面板

2.2.4输入背景波谱

     在"Select Non-Target Spectra" 面板中可以选择易与目标波谱混淆的波谱作为背景波谱,有助于提高探测精度。这里选择No(不选择背景波谱),单击Next进入"Apply MNF Transform" 面板。

注:如果要使用Orthogonal Subspace Projection (OSP)或Target-Constrained Interference-Minimized Filter (TCIMF)方法,必须在第三步骤输入大于一种的目标波谱,或在第四步骤输入背景波谱。如果要使用Mixture Tuned Target-Constrained Interference-Minimized Filter (MTTCIMF)分析方法,必须在第三步骤输入大于一种的目标波谱,或在第四步骤输入背景波谱,而且在下面的第五步要执行MNF变换。

2.2.5执行MNF变换

(1)在Apply MNF Transform面板中,Apply MNF Transform?选择Yes;

(2)单击Show Advanced Options按钮,默认选择全部的MNF波段;

(3)单击Noise Stats Shift Diff Spatial Subset,默认选择全部图像区域用于统计噪声;

(4)单击Next执行MNF变换,计算完成后自动进入"Target Detection Methods" 面板。

注:MNF变换可以分离噪声,对数据降维以减少计算量。如果选择No,那么将不能选择Mixture Tuned Matched Filter (MTMF)和Mixture Tuned Target-Constrained Interference-Minimized Filter (MTTCIMF)识别方法。

2.2.6选择及运行分析方法

     在"Target Detection Methods" 面板选择CEM、ACE和MTMF三种方法(如图所示),单击Next按钮执行分析,之后自动进入"Load Rule Images and Preview Result"面板。

图5 Target Detection Methods面板

2.2.7浏览结果以及提取目标

     在Load Rule Images and Preview Result面板中,"Target"列表中显示所有探测目标参考波谱,在"Method"列表中选择相应分析方法,其得到的规则自动显示在Display窗口中,选择规则阈值或者散点图上选择点云将目标分离。

(1)在"Method"列表中选择CEM,规则阈值(Rule Threshold):0.2。

(2)在"Method"列表中选择ACE,规则阈值(Rule Threshold):0.1。

(3)在"Method"列表中选择MTMF,自动会生成一个MF scores和infeasibility values的散点图,选择高MF scores 和低infeasibility values的点云,也就是散点图右下角部分点云,就是探测到的目标。

(4)单击Next执行从规则图像中分离目标,进入"Filter Targets"面板。

注:

1)对于MF, CEM, ACE, SAM, OSP, 和 TCIMF,ENVI自动生成默认值阈值。当手动修改阈值时,调整阈值越小,得到的目标点越多,"假目标"也随之增多,重新获取的目标点会在图上高亮显示。SAM刚好相反。

2)对于MTTCIMF和MTMF,ENVI自动生成MF scores 和Infeasibility values的整个图像的散点图。用鼠标左键绘制多边形区域选择点云,鼠标右键结束选择。鼠标中建拉框可放大点云,单击中键回到上一个试图,同时之前选择的点云被取消,当选择错误时候用这个功能重新选择点云。散点图勾选区域如图所示,需要选择Infeasibility values较低,且右侧散落的点。

图6 Load Rule Images and Preview Result面板

图7 MTTCIMF和MTMF算法散点图的勾选区域

2.2.8结果后处理

     在Filter Targets面板中(如下图),按照默认设置单击Next按钮,进入Export Results面板。

注:这一步提供分类后处理的方法(Clumping和Sieving)用于去除结果中的小斑点。Clumping是用卷积的方法定性去除小斑点;Sieving是用定性的方法去除小斑点,通过设置最小聚类像素个数(Group Min Threshold)移除小斑点。

图8 结果后处理(小斑点去除)

2.2.9输出结果

     在Export Results面板(如下图),可以将探测结果输出为感兴趣区(ROI)和矢量(Shapefile),按照默认设置(ROI)单击Next按钮,进入最后一个面板"View Statistics and Report",自动统计探测的结果,且探测的所有结果自动加载到ROI Tool中并显示在图上。定位探测结果(169,163)是一个树林掩盖的目标,点击Finish完成。

注:整个流程都可以使用Prev按钮回到上一步操作。

图9 结果输出面板

图10 View Statistics and Report面板

3基于BandMax向导的SAM目标探测

3.1工具功能介绍

     基于BandMax向导的SAM目标探测工具可以引导我们完成高光谱影像的目标探测。向导的BandMax工具能帮助找到最佳的波谱子集从而区分背景和目标,并节省处理的时间。

向导主要有以下几个步骤:

(1)选择输入/输出文件

(2)选择目标 — 选择目标波谱

(3)选择背景 — 选择需要抑制的背景信息

(4)利用BandMax计算有效波段—识别对SAM分析中有效的波段

(5)选择最大角阈值 — 定义SAM 最大角

(6)检验制图成果 — SAM分析以及成果检验。

     如处理结果理想,那么可以点击Finish退出向导。如果检验结果显示波段子集不充分,向导会返回到第二步,需要重新输入目标和背景波谱,然后利用BandMax选择最合适的波段子集以及利用SAM对输入数据重新分类。处理分析完成后,向导中将显示分析报告。如果需要,我们可以保存这个文件以备后用。向导特定步骤中得出的影像结果会显示在ENVI 的Data Manager中。如果输入数据的质量不好或者设置了不合适的参数,很有可能得到不理想的结果。

     向导的第一个面板主要介绍该向导的工作流程。向导中其他的面板主要介绍完成这个过程的6个步骤。这些处理步骤有时会因为分析方法的不同而反复出现。

3.2详细操作流程

     下面介绍详细操作流程,以AVIRIS高光谱数据为例(位于"…\数据\2. Target Finding With SAM and BandMax\ sandiego_reflectance.img"),此数据经过了大气校正,为地表反射率图像。

3.2.1数据打开与目视解译

(1)启动ENVI 5.1,打开File > Open,选择"…\数据\2. Target Finding With SAM and BandMax\ sandiego_reflectance.img"文件,并加载到视图中,如图所示;

(2)从图中可以看出,影像中包含了一些飞机。绿色圆圈选中的三架飞机是我们的探测目标,像元位置为 [88, 10] 和 [142, 337] 等。另外最明显的红色圆圈选中的两家飞机将是我们需要抑制的背景,像元位置为 [231, 135] 和 [243, 143]。

注:像元坐标以 [0, 0] 为原点。

图11 数据加载与目视解译

3.2.2收集目标与背景波谱

(1)启动光谱曲线查看器,菜单为Spectral > Profiles > Spectral,如下图所示;

(2)收集目标波谱。在ENVI 主界面第一行工具栏最右侧的"Go To"框内手动输入"88, 10",然后按Enter键,将自动定位到目标像元,并在波谱查看器中显示目标波谱;

注:输入坐标不包含双引号,X与Y坐标中间为英文状态下的逗号。

图12 波谱曲线查看器

图13 获取目标波谱

(1)在Spectral Profile面板中,选择Options > New Window with Plots,打开一个新的Plot窗口,并保留了目标波谱,可以点击右侧中间三角形箭头显示出波谱列表;

(2)以同样的方法收集背景波谱。在第一行工具栏最右侧的"Go To"框内手动输入"243, 143",然后按Enter键,将自动定位到背景像元,波谱将自动显示在Spectral Profile面板中,点击右侧中间三角形箭头,可以显示波谱列表;

注:如果想收集多条光谱曲线,可以使用鼠标左键将波谱拖入到新建Plot窗口的波谱列表中,如下图所示,本例中目标和背景波谱均为一条曲线,可以不进行拖拽。

图14 使用鼠标拖可以收集多条光谱曲线

3.2.3启动SAM Target Finder with BandMax

(1)启动工具Toolbox/Target Detection/SAM Target Finder with BandMax,工具第一步左侧文字介绍了工具的功能与操作步骤,点击Next进入下一步;

(2)点击Select Input File,选择输入文件,即"sandiego_reflectance.img",ENVI会自动设置输出文件夹路径,可以点击Select Output Root Name按钮修改输出路径。点击Next进入下一步;

(3)在Target Spectra面板,需要输入目标波谱。在表格空白处右键选择 [88, 10] 波谱曲线,将自动加载到波谱列表中,如下图所示。点击Next进入下一步;

图15 输入目标波谱

(4)选择Select Backgrounds to Reject为Yes,在下面用同样的方法将[243 143]输入作为背景波谱,点击Next进入下一步;

(5)在此步骤,将Band Significance Threshold设置为0.2775,Number of Significant Bands将变为32,如下图所示。点击Next进入下一步;

注1:ENVI利用BandMax算法为输入文件的每一个波段计算特征值(Band Significance),范围0~1,值越大表示目标与背景区分越好。BandMax会选出特征值大于阈值(Band Significance Threshold)的波段进行目标探测。

注2:默认的阈值为0.2475,是根据大约25%的比例计算得出的。选出的波段数过大时,将不利于区分目标与背景。所以增加阈值到0.2775,选出波段数为32。用户可根据需要修改阈值或波段数,以获取不同的结果。

注3:可以点击Save Significant Bands to File按钮,将保存波段子集到txt文本文件中。

图16 设置特征值阈值和波段子集数

  1. 设置SAM Maximum Angle为0.08,点击Next执行SAM分析;

    注:降低阈值可以减少匹配出的像元数,可以更好的与目标波谱匹配。增大阈值,可能得到空间相干更好的结果。然后,阈值越低,整体像元匹配效果不一定会越好。

  2. 在此步骤,可以点击按钮Load SAM Class Result加载SAM分类结果,如下图所示,红色区域为目标探测结果。

    注1、可以点击按钮Load SAM Rule Image查看规则图像,DN值为像元波谱与目标波谱之间的波谱角。

    2、如果目标没有被很好的区分,可以点击Next按钮返回到步骤3。

    3、点击Show Report按钮可以浏览整个过程的参数设置情况。

  3. 如果结果理想,可以点击Finish完成整个流程。

图17 加载结果

 

操作手册下载:http://pan.baidu.com/s/1gd1lvb1

讲课录屏下载:http://pan.baidu.com/s/1kT2zd6v

练习数据下载:http://pan.baidu.com/s/1i3EE1Pr

posted @   ENVI-IDL技术殿堂  阅读(2564)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示