完整版基于纹理信息与神经网络的遥感影像分类.docx
《完整版基于纹理信息与神经网络的遥感影像分类.docx》由会员分享,可在线阅读,更多相关《完整版基于纹理信息与神经网络的遥感影像分类.docx(29页珍藏版)》请在冰豆网上搜索。
完整版基于纹理信息与神经网络的遥感影像分类
基于纹理信息提取与神经网络分类方法的遥感影像分类
基于纹理信息提取与神经网络分类方法的遥感影像分类
1实验目的
1、通过深入研究遥感影像纹理信息的提取原理与方法,针对研究区影像特征,掌握纹理信息对提高影像分类精度的重要作用。
2、了解ENVI中基于神经网络的影像监督分类方法原理,采用纹理信息与神经网络分类相结合的方式,对研究区影像进行分类,与无纹理信息的分类结果进行对比与评价。
3、进一步熟悉影像神经网络分类的原理和方法、训练区选取、分类后处理方法等操作,并根据研究区实际情况进行分类后评价。
2实验原理
基本概念
神经网络指用计算机模拟人脑的结构,用许多小的处理单元模拟生物的神经元,用算法实现人脑的识别、记忆、思考过程应用于图像分类。
神经网络算法是用计算机模拟人类学习的过程,建立输入和输出数据之间联系的方法。
神经网络分类器在遥感影像分类领域得到了普遍的关注。
国内外学者发展了多种形式的神经网络模型和算法,如反向传播网络、模糊神经网络、多层感知网络、Kohonen自组织特征映射网络、Hybrid学习向量分层网络等。
网络的输入和输出节点之间通过隐含层相连,节点之间通过权重连接,因而这种方法可以将多种数据,如纹理信息、地形信息等,方便有效地融合到遥感影像的分类过程中,增强了分类能力。
神经网络是非线性系统,可以在特征空间构造出分类界面比较复杂的子空间,因此对非线性可分的特征子空间尤为有效。
但是,神经网络也存在一定的缺点,如初始权重选择的困难、收敛速度慢、对输入数据的预处理要求高等,对遥感影像分类结果有重要影响。
目前,应用和研究最多的是利用反向传播算法(BP算法)训练权值的多层前馈神经网络。
该网络的学习训练过程由正向传播和反向传播组成,在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,若在输出层得不到期望的输出,则输入反向传播,将误差信号沿原路返回,通过修改各层神经元间的权值,达到误差最小。
一般说来,隐含层数目和隐含层结点数难以确定,增加隐含层数目和结点数,可以提高精度,且有效地减少局部极小的概率,但是需要更长的学习时间。
神经网络由于具有较强的非线性逼近能力及自适应、自学习能力,因此可以处理难以用数学模型描述的系统。
对于一个特定的问题,通常很难判断哪种网络是最有效的,因为对于网络类型的选择取决于很多因素,包括问题的复杂程度以及所研究问题的性质、训练样本的多少、网络的结构、权值和偏置值的数目、误差目标、参数取值等。
实际应用中,一般要根据具体问题,对几种网络进行比较,选择较为合适的算法。
原理阐述
人工神经网络(ArtificialNeuralNetworks,ANNs),有时也称为计算机神经网络(ComputationalNeuralNetworks,CNNs),试图模仿生物神经网络的特点,用以解决一系列信息处理、分析和建模的难题。
人工神经网络的主要种类即所谓的前馈网络。
一个典型的前馈神经网络由3个或更多的相互连接的节点构成——一个输入层、一个或多个隐藏的中间层(通常只有1个)和一个输出层。
箭头指示信息流方向,从输入到输出传递信息。
输入层和隐藏层之间的连接可以用权矩阵W来描述,行/列项值
是正或负的实数权重,或如果不存在联系时为零。
同样,隐藏层和输出层的联系也可以被视为一个权矩阵Z,同样由一组权值
构成。
每种情况下,正权值意味着对源节点或输入节点有关的增强作用,而负权值则对应于抑制作用。
一般来说,隐藏层和输出层的所有节点也同样被连接到一个偏置节点上。
例如:
在多层次感知器中,分别有一个偏置节点与每个前馈层连接,n个输入节点,一个带有m个隐藏节点的隐层,和p个输出节点,权重矩阵W和Z的维数分别为
和
。
输入数据根据其
权重矩阵的值来加权并在隐藏层中进行组合(主要是求和)。
之后这种加权求和由已知的一种激活函数g来修改。
可以采用不同的激活函数,但是空间分析中最常用的是logistic或sigmoid函数。
这种过程可以由以下节点层来阐述:
g
如果我们把输入集表示成一个数据矩阵X,把输出集表示成输出矩阵Y,一个人工神经网络就是一个由X到Y的映射f:
XY。
典型的,这种映射是一种非线性加权和——事实上非线性是ANN应用于大多数问题的一个本质特征。
输入数据被
被进行两次修改,第一次是加权求和,第二次是利用激活函数。
对下一层应用相同的过程,将隐藏层输出值
进行求和,并按照和输入层类似进行可选的修改,从而在输出层产生最终结果
:
和
,最后
故
如果有一个或多个控制数据集,即给定一个输入集i,并且知道目标输出集或者输出矢量t,则可以用该信息来“训练”网络。
该学习过程称为“监督”,因为它表示我们具有解的先验知识,并且在监督训练过程。
这里的控制数据可被分为两大组:
用来训练神经网络的“训练数据”(先前选取的训练样区ROI)和先前未用于神经网络的用于评估网络性能的“测试数据”(测试用到的样区ROI)。
监督学习被广泛应用于模式识别/分类和复杂函数逼近(非线性回归)领域中。
例如:
假设两个加权矩阵的初始值均被随机地设为[0,1]中的统一值。
当值通过网络传播到输出层时,输入数据集或矢量(或训练数据)i将被转换,给出一个输出值的集合或矢量O时,将会与已知的正确值不匹配,即产生误差。
理想状态下,我们想通过选择适当的权重集来最小化这些误差,为了实现这一目标,我们通常采用最小化所有输出节点的平方差总和(或均方根误差RMS),它是一种可以反映出最小二乘回归的方法。
通过误差平方和表达式的微分来达到最小化的目的,使它等于零,并用该结果来确定对初始权重要求的调整。
通常计算出误差平方和均值的平方根(RMSE):
该式提供了一种解的“代价”的标准化方法,目的是最小化该代价函数,最好是通过之前所说的调整权重来使它的值降为零。
调整权重矩阵中的值的过程通常在被称为伴随梯度下降的反向传播过程实现的。
反向传播部分指一步一步的在网络上应用一个后向学习规则——因此第一步是改变Z矩阵中的值,然后改变W矩阵中的值。
然后
矩阵中值的正负增量是基于它们对输出结果中的正、负误差有关的贡献。
由于激活函数g的引入,使得误差信号不是基于输出值和期望输出值之间的差异,而是基于隐藏层值和反向传播隐藏值间的差异,因此,调整起来更加的复杂。
这些反向传播过程相当于一个用来找出均方根局部最小值的梯度下降方法(例如:
在ENVI进行神经网络分类时,可以看到plot图中理想状态RMS值应逐渐降低,而非波动曲折)。
完成调整各层的权重之后,前向传播过程再次进行计算代价函数,现在的代价函数应该小于或等于之前的代价函数。
该过程持续进行,直到代价函数停止降低或已经达到预设的最大迭代次数。
在ENVI中使用NeuralNet选项可以应用一个分层的正向(feed-forward)神经元网络分类。
该技术在进行监督学习时使用标准的后向传播技术(backpropagation)。
用户可以选择所用的隐藏层的数量,也可以在对数和双曲线活化(activation)函数之间选择所需函数。
由于调整节点中的权重可以使输出节点活化与所需的输出结果间的差异达到最小化,因此神经元网络技术利用该方法对发生的事件进行学习。
在学习过程中,误差在网络中后向传播,同时使用递归法调整权重。
也可以使用神经元网络来进行一个非线性分类。
技术路线
3、实验设备与数据与研究区域
硬件:
计算机
软件:
Arcgis10.2、ENVI5.1
数据:
Landset8影像、福州市shp文件
Landset8数据(成像时间:
2013年8月4日2点34分;行列号为119,42;云量覆盖度为1.21%)
传感器:
OLI(OperationalLandImager,陆地成像仪)
TIRS(ThermalInfraredSensor,热红外传感器)
OLI陆地成像仪
序号
波段(um)
空间分辨率(m)
1
0.433-0.453
30
2
0.450-0.515
30
3
0.525-0.600
30
4
0.630-0.680
30
5
0.845-0.885
30
6
1.560-1.660
30
7
2.100-2.300
30
8
0.500-0.680
15
9
1.360-1.390
30
TIRS热红外传感器
10
10.6-11.2
100
11
11.5-12.5
100
地成像仪(OLI)包括9个波段,空间分辨率为30米,其中包括一个15米的全色波段;热红外传感器(TIRS)包括2个热红外波段,空间分辨率为100米。
研究区域:
福州市为福建省省会城市,位于福建省东部、闽江下游沿岸。
介于北纬25°15′~26°39′,东经118°08′~120°31′之间。
东濒台湾海峡,西邻南平市和三明市,南接莆田市,北靠宁德市。
福州是属于典型的海洋性亚热带季风气候,全年冬短夏长,温暖湿润,气候适宜。
福州市的地貌属于典型的河口盆地,是城市中心的发源地。
实验中以福州市的5区(台江区、仓山区、鼓楼区、马尾区和晋安区)为例,不包括琅岐岛。
4、实验过程
4.1数据预处理
4.1.1数据裁剪
利用shp文件对遥感影像进行裁剪
4.1.2辐射校正(包括辐射定标和大气校正)
A.辐射定标
B.大气校正(采用ENVI中的FLAASH大气校正模型)
在下图的中输入影像的中心经纬度坐标;输入影像所在区域的平均高程0.089;输入卫星的过境时间;在4种输人大气模型,这里选择中纬度夏天;输入气溶胶模型,这里选择Urban。
4.2数据融合
在ENVI软件中,选择Transform->ImageSharpening->HSV,在SelectLowSpatialResolutionMultiBandInputFile中选择band8多光谱波段,SpatialSubset为FullScene,SpectralSunset为3个波段
Resampling选择NearestNeighbor,OutputResult选择保存路径
4.3训练样区的选择
4.3.1打开GoogleEarth影像作为训练样区选择的参照
使用Envi的GoogleEarthBridge将遥感影像和街区矢量图层导入GoogleEarth,以便在GoogleEarth寻找参考影像时更快定位。
在ENVI软件中,选择Spectral->SPEARTools->GoogleEarthBridge。
在GoogleEarthBridge窗口中,选择添加的遥感影像HVS1,点击NEXT进入下一步,设置遥感影像显示的参数,选择6、5、4波段进行彩色显示,点击NEXT进入下一步,同样添加矢量图层,如图44,保存路径为GoogleEarthBridge.kml。
4.3.2建立兴趣区
打开兴趣区模版,选择Overlay->RegionofInterest,打开ROITool
在ROITool窗口中,我们可以对ROIName和Color进行编辑,双击ROIName的区域,可以对训练样区进行名字的修改,右击Color可以选择训练样区的颜色,windows选择Zoom窗口,即只能在Zoom中选择训练样区;在#1Zoom窗口中,我们鼠标左键选择训练样区,右击确定,第二次右击即保存该训练样区。
在ROITool窗口中,点击NewRegion建立其新的ROI样区,Goto可以跳转各个训练样区,就可以对其进行修改,在实验中,我们将分成5类,进行监督分类,如:
water,forest,city,bareland,grass。
4.3.3训练样区的选择
训练样区的选择依据,如图50,(a)water,(b)forest,(c)city,(d)bareland。
4.3.4训练样区的评价
4.3.4.1分离性的定量分析
在ROITool窗口中,选择Options->ComputeROISeparability,计算样本的可分离性。
如图51,表示各个样本类型之间的可分离性,用Jeffries-Matusita,TransformedDivergence参数表示,这两个参数的值在0~2.0之间,大于1.9说明样本之间可分离性好;小于1.8大于1.4属于合格样本;小于1.4需要重新选择样本;小于1,考虑将两类样本合成一类样本。
SignatureName
Forest
water
bareland
city
Forest
1.9950
2.0000
1.9982
water
2.0000
1.9921
bareland
1.9871
city
从分离性的数据中,我们可以得到,water和forest这三类的分离与barealand都等于2,可知这三类的分离效果较好。
剩下的分离性的数值都达到1.4,说明样区的选择比较符合实际。
4.4基于光谱信息的神经网络分类
在ENVI软件中,选择Classification->Supervised->NeuralNetClassification,在文件输入对话框中选择HSV1融合影像。
在NeuralNetParameters窗口中,设置好各个参数。
ØActivation:
选择活化函数。
对数(Logistic)和双曲线(Hyperbolic)。
(本研究选择Logistic,因为对数函数的效果更优)
ØTrainingThresholdContribution:
输入训练贡献阈值(0-1)。
该参数决定了与活化节点级别相关的内部权重的贡献量。
它用于调节节点内部权重的变化。
训练算法交互式地调整节点间的权重和节点阈值,从而使输出层和响应误差达到最小。
将该参数设置为0不会调整节点的内部权重。
适当调整节点的内部权重可以生成一幅较好的分类图像,但是如果设置的权重太大,对分类结果也会产生不良影响。
ØTrainingRate:
设置权重调节速度(0~1)。
参数值越大则使训练速度越快,但也增加摆动或者使训练结果不收敛。
ØTrainingMomentum:
输入一个0~1的值。
该值大于0时,在“TrainingRate”文本框中键入较大值不会引起摆动。
该值越大,训练的步幅越大。
该参数的作用是促使权重沿当前方向改变。
ØTrainingRMSExitCriteria:
指定RMS误差为何值时,训练应该停止。
RMS误差值在训练过程中将显示在图表中,当该值小于输入值时,即使还没有达到迭代次数,训练也会停止,然后开始进行分类。
ØNumberofHiddenLayers:
键入所用隐藏层的数量。
要进行线性分类,键入值为0。
没有隐藏层,不同的输入区域必须与一个单独的超平面线性分离。
要进行非线性分类,输入值应该大于或等于1,当输入的区域并非线性分离或需要两个超平面才能区分类别时,必须拥有至少一个隐藏层才能解决这个问题。
两个隐藏层用于区分输入空间,空间中的不同要素不临近也不相连。
ØNumberofTrainingIterations:
输入用于训练的迭代次数。
ØMinOutputActivationThreshold:
输入一个最小输出活化阈值。
如果被分类像元的活化值小于该阈值,在输出的分类中,该像元将被归入未分类(unclassified)。
Ø选择分类结果的输出路径及文件名。
Ø设置OutRuleImages为Yes,选择规则图像输出路径及文件名。
Ø单击OK按钮执行分类。
RMSPlot图:
从上RMSPlot图,表示为每一次迭代显示RMS误差,如果训练正确进行,误差应该逐渐减小,并达到一个稳定的较低值。
从图中我们可以得到随着Iteration的增加而TrainingRMS的值基本维持在0~0.05之间,维持在一个相对稳定的状态,RMS的数值也比较低,说明了分类效果较好。
分类结果图:
基于光谱信息的神经网络分类结果图
提取每类的光谱信息:
CityWater
ForestBareland
4.5分类后处理
1)主次分析(Majority/MinorityAnalysis)
使用“Majority/MinorityAnalysis”选项可以对分类图像进行主/次要分析。
使用主要分析(MajorityAnalysis)可以将较大类别中的虚假像元归到该类中,ENVI允许输入一个变换核尺寸,并用变换核中占主要地位的像元的类别数代替中心像元的类别数。
如果使用次要分析(MinorityAnalysis),ENVI将用变换核中占次要地位的像元的类别数代替中心像元的类别数。
①选择主菜单Classification/PostClassification/Majority/MinorityAnalysis
(主次要分析),当出现文件选择对话框时,选择所需的输入分类图像,若需要,选取任意子集。
②选择分类后的影像点击OK。
在类别列表中,点击要应用分析的类别,SelectClasses
选择SelectAllItems,AnalysisMethod选择Majority主要,KernelSize设为3*3,CenterPixelWeight权重设为1。
结果分析:
该方法是把象元的类归为周围8个象元中最多个数的那个类。
输出结果为下图,发现小图斑的数量明显有减少。
原始影像
未处理过的影像
主要分析处理后
4.6分类精度分析
把分类结果的精度显示在一个混淆矩阵里(用于比较分类结果和地表真实信息)。
混淆矩阵的记录结果都包括:
总体分类精度、制图精度和用户精度、Kappa系数、混淆矩阵以及错分误差和漏分误差。
计算混淆矩阵有使用地表真实图像和使用地表真实感兴趣区两种方法。
在Arcgis中,生成随机点,然后导入GoogleEarth中识别随机点的地类,再与分类结果进行叠加分析,通过EXCEL计算出混淆矩阵;
总体精度=81/100=81%
KAPPA系数为0.6208
LULC
Prod.Acc
UserAcc.
Bareland
23.08
37.50
City
69.23
52.94
Forest
94.03
91.30
Water
85.71
100.00
4.7基于光谱信息和纹理信息的神经网络分类
1)主成分分析,在主菜单中,选择Transfrom->PrincipalComponent->ForwardPCrotation->ComputeNewStatisticsandRotate主成分分析模块。
2)在ForwardPCParameters窗口中设置好参数;
通过对研究区影像的主成分分析,发现第一主成分信息量为89.18%,第二主成分信息量为98.71%,因此选了第一、第二主成分进行纹理提取。
3)纹理提取,选择Filter->Texture->Co-occurrenceMeasures。
4)在Co-occurrenceTextureParameters窗口中,勾选所有的纹理,窗口大小3*3,步长为1个像素。
得到的纹理特征:
Mean
Variance
Homogeneity
Contrast
Dissimilarity
Entropy
SecondMoment
Correlation
由上述纹理信息提取的情况可得,Mean纹理提取得到的结果信息量较充分,因此基于光谱信息与纹理信息的神经网络分类方法采用与Mean纹理镶嵌的方法分类。
5)利用Mean纹理进行神经网络分类
①将Texture1另存为Mean,选择File->SaveFileAs->ENVIStandard,波段数为3。
②将Mean与HSV进行镶嵌,选择BasicTools->LayerStacking。
③在layerStackingParameters窗口中选择HSV和Mean两个影像进行镶嵌。
④RMSPlot图
⑤进行神经网络分类,分类结果图。
4.8实验结果与评价
分类结果图
RMSPlot图
精度评价
基于光谱信息的神经网络分类
(采用默认值)
总体精度为81%
KAPPA系数为0.6208
基于光谱信息和纹理信息的神经网络分类
(采用默认值)
总体精度为81%
KAPPA系数为0.6208
分类结果的比较
从分类结果图我们可以看出,基于光谱信息的神经网络分类与基于光谱信息和纹理信息的神经网络分类的结果差不多一样。
在RMSPlot图中,基于光谱信息和纹理信息的神经网络分类的TraningRMS值基本维持在0.00125附近,也就是说基于光谱信息和纹理信息的神经网络分类相对于单单基于光谱信息的神经网络分类的分类误差降低了。
从总精度和Kappa系数上来说,两者的总精度和Kappa是一致的。
出现以上情况的主要原因有两个:
1、分类的类别,在实验中只选择裸地、建设用地、植被和水体四种较容易识别的类别;2、随机样本点,在实验中随机生成了100个样本点,而其中有一半以上是属于植被类型
参考文献:
1张光宝人工神经网络在遥感数字图像分类处理中的应用[J]国土资源遥感,2003
(1):
16-18.
2裴亮,谭阳,李文杰基于变差函数和神经网络的遥感影像分类[J]遥感应用,2009
(1):
60-65.
3毛建旭,王耀南基于神经网络的遥感影像分类[J]测控技术,2001(5):
29-32.
4胡希军神经网络在遥感图像自动分类中的应用研究[J]1浙江师范大学学报,1996(4):
82-85.