【ENVI入门系列】18.目标探测与识别
版权声明:本教程涉及到的数据提供仅供练习使用,禁止用于商业用途。
目录
目标探测与识别
1.
2.
2.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8
2.2.9
3.
3.1
3.2
3.2.1
3.2.2
3.2.3
1、概述
2、去伪装目标探测
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大气校正
注:这个面板提供了快速大气校正(QUAC)、几个基于统计学的大气校正方法(IAR Reflectance、Log Residuals、Flat Field、Empirical Line)和简化的黑暗像元法(Dark Subtraction),如果输入数据未经过大气校正,用户可根据需要进行方法的选择。
2.2.3输入目标波谱
注:
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输入背景波谱
注:如果要使用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选择及运行分析方法
图5 Target Detection Methods面板
2.2.7浏览结果以及提取目标
(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结果后处理
注:这一步提供分类后处理的方法(Clumping和Sieving)用于去除结果中的小斑点。Clumping是用卷积的方法定性去除小斑点;Sieving是用定性的方法去除小斑点,通过设置最小聚类像素个数(Group Min Threshold)移除小斑点。
图8 结果后处理(小斑点去除)
2.2.9输出结果
注:整个流程都可以使用Prev按钮回到上一步操作。
图9 结果输出面板
图10 View Statistics and Report面板
3基于BandMax向导的SAM目标探测
3.1工具功能介绍
向导主要有以下几个步骤:
(1)选择输入/输出文件
(2)选择目标 — 选择目标波谱
(3)选择背景 — 选择需要抑制的背景信息
(4)利用BandMax计算有效波段—识别对SAM分析中有效的波段
(5)选择最大角阈值 — 定义SAM 最大角
(6)检验制图成果 — SAM分析以及成果检验。
3.2详细操作流程
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 设置特征值阈值和波段子集数
-
设置SAM Maximum Angle为0.08,点击Next执行SAM分析;
注:降低阈值可以减少匹配出的像元数,可以更好的与目标波谱匹配。增大阈值,可能得到空间相干更好的结果。然后,阈值越低,整体像元匹配效果不一定会越好。
-
在此步骤,可以点击按钮Load SAM Class Result加载SAM分类结果,如下图所示,红色区域为目标探测结果。
注1、可以点击按钮Load SAM Rule Image查看规则图像,DN值为像元波谱与目标波谱之间的波谱角。
2、如果目标没有被很好的区分,可以点击Next按钮返回到步骤3。
3、点击Show Report按钮可以浏览整个过程的参数设置情况。
-
如果结果理想,可以点击Finish完成整个流程。
图17 加载结果
操作手册下载:http://pan.baidu.com/s/1gd1lvb1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)