面向对象的影像分类技术“同物异谱,同谱异物”会对影像分类产生的影响,加上高分辨率影像的光谱信息不是很丰富,还有经常伴有光谱相互影响的现象,这对基于像素的分类方法提出了一种挑战,面向对象的影像分类技术可以一定程度减少上述影响。本小节以ENVI中的面向对象的特征提取FX模块为例,对这种技术和处理流程做一个简单的介绍。本专题包括以下内容:面向对象分类技术概述ENVIFX简介ENVIFX操作说明1、面向对象分类技术概述面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素,充分利用高分辨率的全色和多光谱数据的空间,纹理,和光谱信息来分割和分类的特点,以高精度的分类结果或者矢量输出。它主要分成两部分过程:影像对象构建和对象的分类。影像对象构建主要用了影像分割技术,常用分割方法包括基于多尺度的、基于灰度的、纹理的、基于知识的及基于分水岭的等分割算法。比较常用的就是多尺度分割算法,这种方法综合遥感图像的光谱特征和形状特征,计算图像中每个波段的光谱异质性与形状异质性的综合特征值,然后根据各个波段所占的权重,计算图像所有波段的加权值,当分割出对象或基元的光谱和形状综合加权值小于某个指定的阈值时,进行重复迭代运算,直到所有分割对象的综合加权值大于指定阈值即完成图像的多尺度分割操作。影像对象的分类,目前常用的方法是“监督分类”和“基于知识分类”。这里的监督分类和我们常说的监督分类是有区别的,它分类时和样本的对比参数更多,不仅仅是光谱信息,还包括空间、纹理等信息。基于知识分类也是根据影像对象的熟悉来设定规则进行分类。目前很多遥感软件都具有这个功能,如ENVI的FX扩展模块、易康(现在叫Definiens)、ERDAS的Objective模块、PCI的FeatureObjeX(新收购)等。表1为三大类分类方法的一个大概的对比。类型基本原理影像的最小单元适用数据源缺陷传统基于光谱的分类方法地物的光谱信息特征单个的影像像元中低分辨率多光谱和高光谱影像丰富的空间信息利用率几乎为零基于专家知识决策树根据光谱特征、空间关系和其他上下文关系归类像元单个的影像像元多源数据知识获取比较复杂面向对象的分类方法几何信息、结构信息以及光谱信息一个个影像对象中高分辨率多光谱和全色影像速度比较慢表1传统基于光谱、基于专家知识决策树与基于面向对象的影像分类对比表2、ENVIFX简介全名叫“面向对象空间特征提取模块—FeatureExtraction”,基于影像空间以及影像光谱特征,即面向对象,从高分辨率全色或者多光谱数据中提取信息,该模块可以提取各种特征地物如车辆、建筑、道路、桥、河流、湖泊以及田地等。该模块可以在操作过程中随时预览影像分割效果。该项技术对于高光谱数据有很好的处理效果,对全色数据一样适用。对于高分辨率全色数据,这种基于目标的提取方法能更好的提取各种具有特征类型的地物。一个目标物体是一个关于大小、光谱以及纹理(亮度、颜色等)的感兴趣区域。可应用于:从影像中尤其是大幅影像中查找和提取特征。添加新的矢量层到地理数据库输出用于分析的分类影像替代手工数字化过程具有易于操作(向导操作流程),随时预览效果和修改参数,保存参数易于下次使用和与同事共享,可以将不同数据源加入ENVIFX中(DEMs、LiDARdatasets、shapefiles、地面实测数据)以提高精度、交互式计算和评估输出的特征要素、提供注记工具可以标识结果中感兴趣的特征要素和对象等特点。3、ENVIFX操作说明ENVIFX的操作可分为两个部分:发现对象(FindObject)和特征提取(Extractfeatures),如图1所示。图1FX操作流程示意图(红色字体为可选项)3.1准备工作根据数据源和特征提取类型等情况,可以有选择的对数据做一些预处理工作。空间分辨率的调整如果您的数据空间分辨率非常高,覆盖范围非常大,而提取的特征地物面积较大(如云、大片林地等)。可以降低分辨率,提供精度和运算速度。可利用ENVI主界面-BasicTool-ResizeData工具实现。光谱分辨率的调整如果您处理的是高光谱数据,可以将不用的波段除去。可利用ENVI主界面-BasicTool-layerstacking工具实现。多源数据组合当您有其他辅助数据时候,可以将这些数据和待处理数据组合成新的多波段数据文件,这些辅助数据可以是DEM,lidar影像,和SAR影像。当计算对象属性时候,会生成这些辅助数据的属性信息,可以提高信息提取精度。可利用ENVI主界面-BasicTool-layerstacking工具实现。空间滤波如果您的数据包含一些噪声,可以选择ENVI的滤波功能做一些预处理。3.2发现对象(一)打开数据在ENVIZoom中打开ProcessingFeatureExtraction。如图2所示,BaseImage必须要选择,辅助数据(AncillaryData)和掩膜文件(MaskFile)是可选。这里选择ENVI自带数据envidata\feature_extraction\qb_colorado,它是0.6米的快鸟数据。图2选择数据(二)影像分割FX根据临近像素亮度、纹理、颜色等对影像进行分割,它使用了一种基于边缘的分割算法,这种算法计算很快,并且只需一个输入参数,就能产生多尺度分割结果。通过不同尺度上边界的差异控制,从而产生从细到粗的多尺度分割。选择高尺度影像分割将会分出很少的图斑,选择一个低尺度影像分割将会分割出更多的图斑,分割效果的好坏一定程度决定了分类效果的精确度,我们可以通过预览分割效果,选择一个理想的分割阀值,尽可能好地分割出边缘特征。图3影像分割阈值设定调整滑块阀值对影像进行分割,这里设定阈值为30,点击Next按钮,这时候FX生成一个RegionMeans影像自动加载图层列表中,并在窗口中显示,它是分割后的结果,每一块被填充上该块影像的平均光谱值。接着进行下一步操作。注:按钮是用来选择分割波段的,默认为BaseImage所有波段。(三)合并分块影像分割时,由于阈值过低,一些特征会被错分,一个特征也有可能被分成很多部分。我们可以通过合并来解决这些问题。FX利用了FullLambda-Schedule算法。这一步是可选项,如果不需要可以直接跳过。图4合并分块设定一定阈值,预览效果。这里我们设置的阈值为95,点Next进入下一步。(四)分块精炼FX提供了一种阈值法(Thresholding)进一步精炼分块的方法。对于具有高对比度背景的特征非常有效(例如,明亮的飞机对黑暗的停机坪)。可以将精炼结果生成掩膜图层(Mask),按钮可以修改基于哪个波段。图5精炼分块这里我们就直接选择NoThresholding(default),点击Next进入下一步操作。(五)计算对象属性计算4个类别的属性:光谱、空间、纹理、自定义(颜色空间和波段比)。其中“颜色空间”选择三个RGB波段转换为HSI颜色空间,“波段比”选择两个波段用于计算波段比(常用红色和近红外波段)。各个属性的详细描述参考ENVI/IDL提供的Feature_Extraction_Module.pdf文档。图6对象属性的计算这里我们按照默认全选择,ColorSpace选择RGB,BandRatio选择红色和近红外波段,点击Next按钮进行下一步操作。目前,已经完成了发现对象的操作过程,接下来是特征的提取。3.3特征提取如图7所示,有三种特征提取方法供选择,分别是监督分类、规则分类和直接矢量输出。图7特征提取方法选择(一)输出矢量选择ExportVectors,进入图8界面,选择保存路径,属性信息也可选择输出。图8直接矢量输出输出完成会出来一个报表。不关闭FX浮动面板,在ENVIZoom中将得到的矢量特征加载显示。点击Previous按钮,回到图7界面。(二)监督分类在图7界面中选择Classifybyselectionexamples,下一步到如图8所示界面。图9监督分类界面1)选择样本在ENVIZoom中,切换到Select方式,双击Feature_1,打开一个类别的属性,如图10所示,修改显示颜色、名称等信息。图10修改类别属性信息在分割图上选择一些样本,为了方便样本的选择,可以在ENVIZoom的图层管理中将原图移到最上层,选择一定数量的样本,如果错选样本,可以在这个样本上点击左键删除。一个类别的样本选择完成之后,新增类别,用同样的方法修改类别属性和选择样本。在选择样本的过程中,可以随时预览结果。可以把样本保存为xml文件以备下次使用。2)设置样本属性在图9中,切换到Attributes选项。默认是所有的属性都被选择,可以根据提取的实际地物特性选择一定的属性。图11样本属性选择这里我们按照默认全部选择。3)选择分类方法在图9中,切换到Algorithm选项。FX提供了两种分类方法:K邻近法(KNearestNeighbor)和支持向量机(SupportVectorMachine,SVM),如图12所示。图12分类方法这里我们选择K邻近法,K参数设置为5,点击下一步,输出结果。4)输出结果特征提取结果可以以两种格式输出,矢量和图像,如图12所示。矢量可以是所有分类以单个文件输出或者每一个类别分别输出;图像可以把分类结果和规则结果分布输出。图13输出分类结果这里我们选择单个文件以及属性数据一块输出,分类图像和规则图像一块输出。点击Next按钮完成输出,同时可以看到整个操作的参数和结果统计报表。图14分类结果和统计报表(三)规则分类在图7界面中选择Classifybycreatingrules,点击Next,到图15规则分类界面。每一个分类有若干个规则(Rule)组成,每一个规则有若干个属性表达式来描述。规则与规则直接是与的关系,属性表达式之间是并的关系。同一类地物可以由不同规则来描述,比如水体,水体可以是人工池塘、湖泊、河流,也可以是自然湖泊、河流等,描述规则就不一样,需要多条规则来描述。每条规则又有若干个属性来描述,如下是对水的一个描述:面积大于500像素延长线小于0.5NDVI小于0.3对道路的描述:延长线大于0.9紧密度小于0.3标准差小于20图15规则分类这里以提取居住房屋为例来说明规则分类的操作过程。首先分析影像中容易跟居住房屋错分的地物有:道路、森林、草地以及房屋旁边的水泥地。双击Feature_1图标,修改好类别的相应属性。1)第一条属性描述,划分植被覆盖和非覆盖区双击rule,打开对象属性选择面板,如图16所示。选择Customized-bandratio。FX会根据选择的波段情况技术波段比值,比如这里在属性计算步骤中选择的RatioBand是红色和近红外波段,所以此时计算的是NDVI。把ShowAttributeImage勾上,可以看到计算的结果,通过ENVIZoom工具查看各个分割块对应的值。点击Next按钮,或者双击bandratio,进入bandratio属性设置对话框,如图17所示。图16对象属性面板图17属性设置对话框通过拖动滑条或者手动输入确定阈值。FuzzyTolerance是设置模糊分类阈值,值越大,其他分割块归属这一类的可能性就越大。归类函数有线性和S-type两种。这里设置模糊分类阈值为默认的5,归属类别为S-type,值的范围为0~0.3,勾选ShowRuleConfidenceImage可以预览规则图像。点击Ok完成此条属性描述。2)第二条属性描述,去除道路影响居住房屋和道路的最大区别是房屋是近似矩形,我们可以设置Rect_fit属性。点击按钮或者双击rule,选择Spatial-rect_fit。设置值的范围是0.5~1,其他参数为默认值。同样的方法设置Spatial-Area:FuzzyTolerance=0,90Area1100Spatial-elongation(延长):elongation33)第三条属性描述,去除水泥地影响水泥地反射率比