目标探测与识别.docx
《目标探测与识别.docx》由会员分享,可在线阅读,更多相关《目标探测与识别.docx(21页珍藏版)》请在冰豆网上搜索。
目标探测与识别
目标探测与识别
1. 概述
2. 去伪装目标探测
2.1 数据浏览与准备目标波谱
2.2 目标探测流程化工具
选择输入/输出文件
大气校正
输入目标波谱
输入背景波谱
执行MNF变换
选择及运行分析方法
浏览结果以及提取目标
结果后处理
输出结果
3. 基于BandMax向导的SAM目标探测
3.1 工具功能介绍
3.2 详细操作流程
数据打开与目视解译
收集目标与背景波谱
启动SAMTargetFinderwithBandMax
1、概述
高光谱图像分类方法与传统的多光谱分类有本质的区别,从高光谱图像的每个像元均可以获取一条连续的波谱曲线,就可以考虑用已知的波谱曲线和图上每个像元获取的波谱曲线进行对比,理想情况下,如果两条波谱曲线一样,就能说明这个像元是哪种物质。
高光谱图像的这个特性,使它除了应用于一般的图像分类,还应用于物质识别、目标探测等。
图像分类更多关注的是地物覆盖和物质成分,目标识别和探测是对特定对象的搜索,其结果是"有"或者"没有"。
因此我们把高光谱图像分类、物质识别、探测等称为波谱识别。
本节以两个专题为例(去伪装目标探测与基于BandMax向导工具的SAM目标探测),学习ENVI中提供的高光谱目标探测与识别功能。
2、去伪装目标探测
去伪装目标探测也是利用高光谱图像的地物识别能力,从图像上探测遮掩或者伪装的目标,比如一种特殊物质、矿物甚至军事目标等。
下面以从图像上探测一个目标为例(练习数据存放在"..\18.目标探测与识别\数据\1.目标探测"中),介绍ENVI的TargetDetectionWizard工具的操作流程。
在本例中,示例数据是包含384个波段,波段覆盖382nm~2500nm的高光谱数据。
主要过程如下:
从图上目视解译一个目标(可以是多个目标),以这个目标的平均波谱作为参考,搜索整个图像,识别具有类似或者相同波谱的目标。
2.1数据浏览与准备目标波谱
(1)选择菜单File>Open,打开文件nvis_sub1_hsi.img;
注:
可以采用RGB彩色显示模式,在DataManager中选择波段54、34、14分别对应RGB三个通道,然后点击LoadData按钮可以近似真彩色的显示原始图像,如下图。
图1真彩色显示输入图像
(2)在右边图层管理器中nvis_sub1_hsi.img右键选择NewRegionOfInterest打开ROITool,在ROITool中修改ROIName:
target1。
(3)在ENVI主界面中的工具栏Goto输入:
130,650,回车定位到一辆装甲车目标。
绘制这个目标的一个多边形ROI。
图2绘制目标的多边形ROI
(4)浏览目标波谱。
在LayerManager中,右键点击target1,选择Statistics(如下图左),会对ROI的波谱进行统计,结果如下图(右)所示。
图3统计菜单(左)与波谱曲线(右)
2.2目标探测流程化工具
(1)启动TargetDetectionWizard工具,位于Toolbox/TargetDetection/TargetDetectionWizard,在弹出的面板左侧为整个流程的描述信息,单击Next按钮;
(2)单击SelectInputFile,选择高光谱数据nvis_sub1_hsi.img;
(3)单击SelectOutputRootName,选择输出结果的根目录,如D:
\Temp\nvis_sub1_hsi;
(4)单击Next按钮进入"AtmosphericCorrection"面板。
此数据是经过大气校正的,选择None/AlreadyCorrected选项,单击Next进入"SelectTargetSpectra"面板。
注:
这个面板提供了快速大气校正(QUAC)、几个基于统计学的大气校正方法(IARReflectance、LogResiduals、FlatField、EmpiricalLine)和简化的黑暗像元法(DarkSubtraction),如果输入数据未经过大气校正,用户可根据需要进行方法的选择。
在"SelectTargetSpectra"面板选择Import>FromROI/EVFfrominputfile,选择列表中的target1,点击OK,选择后效果如下图所示。
单击SelectAll,选中目标波谱,然后单击Next按钮进入"SelectNon-TargetSpectra"面板。
注:
1)如果需要探测多个目标,则输入多个目标的波谱,单击SelectAll选择列表中所有目标波,单击Next执行下一步操作。
2)当需要应用OrthogonalSubspaceProjection(OSP),Target-ConstrainedInterference-MinimizedFilter(TCIMF),和MixtureTunedTarget-ConstrainedInterference-MinimizedFilter(MTTCIMF)三种波谱分析方法时,需要至少2个目标波谱,或提供背景波谱。
图4选择目标波谱面板
在"SelectNon-TargetSpectra"面板中可以选择易与目标波谱混淆的波谱作为背景波谱,有助于提高探测精度。
这里选择No(不选择背景波谱),单击Next进入"ApplyMNFTransform"面板。
注:
如果要使用OrthogonalSubspaceProjection(OSP)或Target-ConstrainedInterference-MinimizedFilter(TCIMF)方法,必须在第三步骤输入大于一种的目标波谱,或在第四步骤输入背景波谱。
如果要使用MixtureTunedTarget-ConstrainedInterference-MinimizedFilter(MTTCIMF)分析方法,必须在第三步骤输入大于一种的目标波谱,或在第四步骤输入背景波谱,而且在下面的第五步要执行MNF变换。
(1)在ApplyMNFTransform面板中,ApplyMNFTransform?
选择Yes;
(2)单击ShowAdvancedOptions按钮,默认选择全部的MNF波段;
(3)单击NoiseStatsShiftDiffSpatialSubset,默认选择全部图像区域用于统计噪声;
(4)单击Next执行MNF变换,计算完成后自动进入"TargetDetectionMethods"面板。
注:
MNF变换可以分离噪声,对数据降维以减少计算量。
如果选择No,那么将不能选择MixtureTunedMatchedFilter(MTMF)和MixtureTunedTarget-ConstrainedInterference-MinimizedFilter(MTTCIMF)识别方法。
在"TargetDetectionMethods"面板选择CEM、ACE和MTMF三种方法(如图所示),单击Next按钮执行分析,之后自动进入"LoadRuleImagesandPreviewResult"面板。
图5TargetDetectionMethods面板
在LoadRuleImagesandPreviewResult面板中,"Target"列表中显示所有探测目标参考波谱,在"Method"列表中选择相应分析方法,其得到的规则自动显示在Display窗口中,选择规则阈值或者散点图上选择点云将目标分离。
(1)在"Method"列表中选择CEM,规则阈值(RuleThreshold):
0.2。
(2)在"Method"列表中选择ACE,规则阈值(RuleThreshold):
0.1。
(3)在"Method"列表中选择MTMF,自动会生成一个MFscores和infeasibilityvalues的散点图,选择高MFscores和低infeasibilityvalues的点云,也就是散点图右下角部分点云,就是探测到的目标。
(4)单击Next执行从规则图像中分离目标,进入"FilterTargets"面板。
注:
1)对于MF,CEM,ACE,SAM,OSP,和TCIMF,ENVI自动生成默认值阈值。
当手动修改阈值时,调整阈值越小,得到的目标点越多,"假目标"也随之增多,重新获取的目标点会在图上高亮显示。
SAM刚好相反。
2)对于MTTCIMF和MTMF,ENVI自动生成MFscores和Infeasibilityvalues的整个图像的散点图。
用鼠标左键绘制多边形区域选择点云,鼠标右键结束选择。
鼠标中建拉框可放大点云,单击中键回到上一个试图,同时之前选择的点云被取消,当选择错误时候用这个功能重新选择点云。
散点图勾选区域如图所示,需要选择Infeasibilityvalues较低,且右侧散落的点。
图6LoadRuleImagesandPreviewResult面板
图7MTTCIMF和MTMF算法散点图的勾选区域
在FilterTargets面板中(如下图),按照默认设置单击Next按钮,进入ExportResults面板。
注:
这一步提供分类后处理的方法(Clumping和Sieving)用于去除结果中的小斑点。
Clumping是用卷积的方法定性去除小斑点;Sieving是用定性的方法去除小斑点,通过设置最小聚类像素个数(GroupMinThreshold)移除小斑点。
图8结果后处理(小斑点去除)
在ExportResults面板(如下图),可以将探测结果输出为感兴趣区(ROI)和矢量(Shapefile),按照默认设置(ROI)单击Next按钮,进入最后一个面板"ViewStatisticsandReport",自动统计探测的结果,且探测的所有结果自动加载到ROITool中并显示在图上。
定位探测结果(169,163)是一个树林掩盖的目标,点击Finish完成。
注:
整个流程都可以使用Prev按钮回到上一步操作。
图9结果输出面板
图10ViewStatisticsandReport面板
3基于BandMax向导的SAM目标探测
3.1工具功能介绍
基于BandMax向导的SAM目标探测工具可以引导我们完成高光谱影像的目标探测。
向导的BandMax工具能帮助找到最佳的波谱子集从而区分背景和目标,并节省处理的时间。
向导主要有以下几个步骤:
(1)选择输入/输出文件
(2)选择目标—选择目标波谱
(3)选择背景—选择需要抑制的背景信息
(4)利用BandMax计算有效波段—识别对SAM分析中有效的波段
(5)选择最大角阈值—定义SAM最大角
(6)检验制图成果—SAM分析以及成果检验。
如处理结果理想,那么可以点击Finish退出向导。
如果检验结果显示波段子集不充分,向导会返回到第二步,需要重新输入目标和背景波谱,然后利用BandMax选择最合适的波段子集以及利用SAM对输入数据重新分类。
处理分析完成后,向导中将显示分析报告。
如果需要,我们可以保存这个文件以备后用。
向导特定步骤中得出的影像结果会显示在ENVI的DataManager中。
如果输入数据的质量不好或者设置了不合适的参数,很有可能得到不理想的结果。
向导的第一个面板主要介绍该向导的工作流程。
向导中其他的面板主要介绍完成这个过程的6个步骤。
这些处理步骤有时会因为分析方法的不同而反复出现。
3.2详细操作流程
下面介绍详细操作流程,以AVIRIS高光谱数据为例(位于"…\数据\2.TargetFindingWithSAMandBandMax\sandiego_reflectance.img"),此数据经过了大气校正,为地表反射率图像。
(1)启动ENVI5.1,打开File>Open,选择"…\数据\2.TargetFindingWithSAMandBandMax\sandiego_reflectance.img"文件,并加载到视图中,如图所示;
(2)从图中可以看出,影像中包含了一些飞机。
绿色圆圈选中的三架飞机是我们的探测目标,像元位置为[88,10]和[142,337]等。
另外最明显的红色圆圈选中的两家飞机将是我们需要抑制的背景,像元位置为[231,135]和[243,143]。
注:
像元坐标以[0,0]为原点。
图11数据加载与目视解译
(1)启动光谱曲线查看器,菜单为Spectral>Profiles>Spectral,如下图所示;
(2)收集目标波谱。
在ENVI主界面第一行工具栏最右侧的"GoTo"框内手动输入"88,10",然后按Enter键,将自动定位到目标像元,并在波谱查看器中显示目标波谱;
注:
输入坐标不包含双引号,X与Y坐标中间为英文状态下的逗号。
图12波谱曲线查看器
图13获取目标波谱
(1)在SpectralProfile面板中,选择Options>NewWindowwithPlots,打开一个新的Plot窗口,并保留了目标波谱,可以点击右侧中间三角形箭头显示出波谱列表;
(2)以同样的方法收集背景波谱。
在第一行工具栏最右侧的"GoTo"框内手动输入"243,143",然后按Enter键,将自动定位到背景像元,波谱将自动显示在SpectralProfile面板中,点击右侧中间三角形箭头,可以显示波谱列表;
注:
如果想收集多条光谱曲线,可以使用鼠标左键将波谱拖入到新建Plot窗口的波谱列表中,如下图所示,本例中目标和背景波谱均为一条曲线,可以不进行拖拽。
图14使用鼠标拖可以收集多条光谱曲线
(1)启动工具Toolbox/TargetDetection/SAMTargetFinderwithBandMax,工具第一步左侧文字介绍了工具的功能与操作步骤,点击Next进入下一步;
(2)点击SelectInputFile,选择输入文件,即"sandiego_reflectance.img",ENVI会自动设置输出文件夹路径,可以点击SelectOutputRootName按钮修改输出路径。
点击Next进入下一步;
(3)在TargetSpectra面板,需要输入目标波谱。
在表格空白处右键选择[88,10]波谱曲线,将自动加载到波谱列表中,如下图所示。
点击Next进入下一步;
图15输入目标波谱
(4)选择SelectBackgroundstoReject为Yes,在下面用同样的方法将[243143]输入作为背景波谱,点击Next进入下一步;
(5)在此步骤,将BandSignificanceThreshold设置为0.2775,NumberofSignificantBands将变为32,如下图所示。
点击Next进入下一步;
注1:
ENVI利用BandMax算法为输入文件的每一个波段计算特征值(BandSignificance),X围0~1,值越大表示目标与背景区分越好。
BandMax会选出特征值大于阈值(BandSignificanceThreshold)的波段进行目标探测。
注2:
默认的阈值为0.2475,是根据大约25%的比例计算得出的。
选出的波段数过大时,将不利于区分目标与背景。
所以增加阈值到0.2775,选出波段数为32。
用户可根据需要修改阈值或波段数,以获取不同的结果。
注3:
可以点击SaveSignificantBandstoFile按钮,将保存波段子集到txt文本文件中。
图16设置特征值阈值和波段子集数
1.设置SAMMaximumAngle为0.08,点击Next执行SAM分析;
注:
降低阈值可以减少匹配出的像元数,可以更好的与目标波谱匹配。
增大阈值,可能得到空间相干更好的结果。
然后,阈值越低,整体像元匹配效果不一定会越好。
2.在此步骤,可以点击按钮LoadSAMClassResult加载SAM分类结果,如下图所示,红色区域为目标探测结果。
注1、可以点击按钮LoadSAMRuleImage查看规则图像,DN值为像元波谱与目标波谱之间的波谱角。
2、如果目标没有被很好的区分,可以点击Next按钮返回到步骤3。
3、点击ShowReport按钮可以浏览整个过程的参数设置情况。
3.如果结果理想,可以点击Finish完成整个流程。
图17加载结果
操作手册下载:
pan.baidu./s/1gd1lvb1
讲课录屏下载:
pan.baidu./s/1kT2zd6v
练习数据下载:
pan.baidu./s/1i3EE1Pr