ENVI中监督分类方法及参数说明(2011-10-1009:56:27)标签:转载分类:ENVI/IDL学习原文地址:ENVI中监督分类方法及参数说明作者:ENVIIDL根据分类的复杂度、精度需求等选择一种分类器。在主菜单-Classification-Supervised-分类器类型(如表6.1),此外还包括应用于高光谱数据的波谱角(SpectralAngleMapperClassification)、光谱信息散度(SpectralInformationDivergenceClassification)和二进制编码(BinaryEncodingClassification)分类方法。表6.1六种监督分类器说明分类器说明平行六面体(Parallelpiped)根据训练样本的亮度值形成一个n维的平行六面体数据空间,其他像元的光谱值如果落在平行六面体任何一个训练样本所对应的区域,就被划分其对应的类别中。平行六面体的尺度是由标准差阈值所确定的,而该标准差阈值则是根据所选类的均值求出。最小距离(MinimumDistance)利用训练样本数据计算出每一类的均值向量和标准差向量,然后以均值向量作为该类在特征空间中的中心位置,计算输入图像中每个像元到各类中心的距离,到哪一类中心的距离最小,该像元就归入到哪一类。马氏距离(MahalanobisDistance)计算输入图像到各训练样本的马氏距离(一种有效的计算两个未知样本集的相似度的方法),最终统计马氏距离最小的,即为此类别。最大似然(LikelihoodClassification)假设每一个波段的每一类统计都呈正态分布,计算给定像元属于某一训练样本的似然度,像元最终被归并到似然度最大的一类当中。神经网络(NeuralNetClassification)指用计算机模拟人脑的结构,用许多小的处理单元模拟生物的神经元,用算法实现人脑的识别、记忆、思考过程应用于图像分类。支持向量机(SupportVectorMachineClassification)支持向量机分类(SVM)是一种建立在统计学习理论(StatisticalLearningTheory或SLT)基础上的机器学习方法。SVM可以自动寻找那些对分类有较大区分能力的支持向量,由此构造出分类器,可以将类与类之间的间隔最大化,因而有较好的推广性和较高的分类准确率。选择不同的分类器器需要设置的参数不一样。1.平行六面体(1)在主菜单中,选择Classification-Supervised-Parallelpiped,在文件输入对话框中选择TM分类影像,单击OK按钮打开Parallelpiped参数设置面板(图6.4)。(2)SelectClassesfromRegions:单击SelectAllItems按钮,选择全部的训练样本。(3)SetMaxstdevfromMean:设置标准差阈值,有三种类型:lNone:不设置标准差阈值;lSingleValue:为所有类别设置一个标准差阈值;lMultipleValues:分别为每一个类别设置一个标准差阈值。选择SingleValue,值为3。(4)单击Preview,可以在右边窗口中预览分类结果,单击ChangeView可以改变预览区域。(5)选择分类结果的输出路径及文件名。(6)设置OutRuleImages为Yes,选择规则图像输出路径及文件名。(7)单击OK按钮执行分类。图6.4平行六面体分类器参数设置面板2.最小距离(1)在主菜单中,选择Classification-Supervised-MinimumDistance,在文件输入对话框中选择TM分类影像,单击OK按钮打开MinimumDistance参数设置面板(图6.5)。(2)SelectClassesfromRegions:单击SelectAllItems按钮,选择全部的训练样本。(3)SetMaxstdevfromMean:设置标准差阈值,有三种类型:lNone:不设置标准差阈值;lSingleValue:为所有类别设置一个标准差阈值;lMultipleValues:分别为每一个类别设置一个标准差阈值。选择SingleValue,值为4。(4)SetMaxDistanceError:设置最大距离误差,以DN值方式输入一个值,距离大于该值的像元不被分入该类(如果不满足所有类别的最大距离误差,它们就不会被归为未分类类(unclassified))。也有三种类型,这里选择None。(5)单击Preview,可以在右边窗口中预览分类结果,单击ChangeView可以改变预览区域。(6)选择分类结果的输出路径及文件名。(7)设置OutRuleImages为Yes,选择规则图像输出路径及文件名。(8)单击OK按钮执行分类。图6.5最小距离分类器参数设置面板3.马氏距离(1)在主菜单中,选择Classification-Supervised-MahalanobisDistance,在文件输入对话框中选择TM分类影像。单击OK按钮打开MahalanobisDistance参数设置面板(图6.6)。(2)SelectClassesfromRegions:单击SelectAllItems按钮,选择全部的训练样本。(3)SetMaxDistanceError:设置最大距离误差,以DN值方式输入一个值,距离大于该值的像元不被分入该类(如果不满足所有类别的最大距离误差,它们就不会被归为未分类类(unclassified))。也有三种类型,这里选择None。(4)单击Preview,可以在右边窗口中预览分类结果,单击ChangeView可以改变预览区域。(5)选择分类结果的输出路径及文件名。(6)设置OutRuleImages为Yes,选择规则图像输出路径及文件名。(7)单击OK按钮执行分类。图6.6马氏距离分类器参数设置面板4.最大似然(1)在主菜单中,选择Classification-Supervised-LikelihoodClassification,在文件输入对话框中选择TM分类影像。单击OK按钮打开LikelihoodClassification参数设置面板(图6.7)。(2)SelectClassesfromRegions:单击SelectAllItems按钮,选择全部的训练样本。(3)SetProbabilityThreshold:设置似然度的阈值。如果选择SingleValue,则在“ProbabilityThreshold”文本框中,输入一个0到1之间的值,似然度小于该阈值不被分入该类。这里选择None。(4)DataScaleFactor:输入一个数据比例系数。这个比例系数是一个比值系数,用于将整型反射率或辐射率数据转化为浮点型数据。例如:如果反射率数据在范围0-10000之间,则设定的比例系数就为10000。对于没有定标的整型数据,也就是原始DN值,将比例系数设为2n-1,n为数据的比特数,例如:对于8-bit数据,设定的比例系数为255,对于10-bit数据,设定的比例系数为1023,对于11-bit数据,设定的比例系数为2047。(5)单击Preview,可以在右边窗口中预览分类结果,单击ChangeView可以改变预览区域。(6)选择分类结果的输出路径及文件名。(7)设置OutRuleImages为Yes,选择规则图像输出路径及文件名。(8)单击OK按钮执行分类。图6.7最大似然分类器参数设置面板5.神经网络(1)在主菜单中,选择Classification-Supervised-NeuralNetClassification,在文件输入对话框中选择TM分类影像。单击OK按钮打开NeuralNetClassification参数设置面板(图6.8)。(2)SelectClassesfromRegions:单击SelectAllItems按钮,选择全部的训练样本。(3)Activation:选择活化函数。对数(Logistic)和双曲线(Hyperbolic)。(4)TrainingThresholdContribution:输入训练贡献阈值(0-1)。该参数决定了与活化节点级别相关的内部权重的贡献量。它用于调节节点内部权重的变化。训练算法交互式地调整节点间的权重和节点阈值,从而使输出层和响应误差达到最小。将该参数设置为0不会调整节点的内部权重。适当调整节点的内部权重可以生成一幅较好的分类图像,但是如果设置的权重太大,对分类结果也会产生不良影响。(5)TrainingRate:设置权重调节速度(0~1)。参数值越大则使训练速度越快,但也增加摆动或者使训练结果不收敛。(6)TrainingMomentum:输入一个0~1的值。该值大于0时,在“TrainingRate”文本框中键入较大值不会引起摆动。该值越大,训练的步幅越大。该参数的作用是促使权重沿当前方向改变。(7)TrainingRMSExitCriteria:指定RMS误差为何值时,训练应该停止。RMS误差值在训练过程中将显示在图表中,当该值小于输入值时,即使还没有达到迭代次数,训练也会停止,然后开始进行分类。(8)NumberofHiddenLayers:键入所用隐藏层的数量。要进行线性分类,键入值为0。没有隐藏层,不同的输入区域必须与一个单独的超平面线性分离。要进行非线性分类,输入值应该大于或等于1,当输入的区域并非线性分离或需要两个超平面才能区分类别时,必须拥有至少一个隐藏层才能解决这个问题。两个隐藏层用于区分输入空间,空间中的不同要素不临近也不相连。(9)NumberofTrainingIterations:输入用于训练的迭代次数。(10)MinOutputActivationThreshold:输入一个最小输出活化阈值。如果被分类像元的活化值小于该阈值,在输出的分类中,该像元将被归入未分类中(unclassified)。(11)选择分类结果的输出路径及文件名。(12)设置OutRuleImages为Yes,选择规则图像输出路径及文件名。(13)单击OK按钮执行分类。图6.8神经网络分类器参数设置面板6.支持向量机(1)在主菜单中,选择Classification-Supervised-SupportVectorMachineClassification,在文件输入对话框中选择TM分类影像。单击OK按钮打开SupportVectorMachineClassification参数设置面板(图6.9)。(2)KernelType下拉列表里选项有Linear,Polynomial,RadialBasisFunction,以及Sigmoid。l如果选择Polynomial,设置一个核心多项式(DegreeofKernelPolynomial)的次数用于SVM,最小值是1,最大值是6。l如果选择PolynomialorSigmoid,使用向量机规则需要为Kernel指定theBias,默认值是1。l如果选择是Polynomial、RadialBasisFunction、Sigmoid,需要设置GammainKernelFunction参数。这个值是一个大于零的浮点型数据。默认值是输入图像波段数的倒数。(3)PenaltyParameter:这个值是一个大于零的浮点型数据。这个参数控制了样本错误与分类刚性延伸之间的平衡,默认值是100。(4)PyramidLevels:设置分级处理等级,用于SVM训练和分类处理过程。如果这个值为0,将以原始分辨率处理;最大值随着图像的大小而改变,(5)PyramidReclassificationThreshold(0~1):当PyramidLevels值大于0时候需要设置这个重分类阈值。(6)ClassificationProbabilityThreshold:为分类设置概率域值,如果一个像素计算得到所有的规则概率小于该值,该像素将不被分类,范围是0~1,默认是0。(7)选择分类结果的输出路