高光谱图像分类_第1页
高光谱图像分类_第2页
高光谱图像分类_第3页
高光谱图像分类_第4页
高光谱图像分类_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器学习 课程项目报告 高光谱图像分类 基于 CNN 和 ELM 学 院 信息工程学院 专 业 电子与通信工程 学 号 2111603035 学生姓名 曹发贤 同组学生 陈惠明 陈涛 硕士导师 杨志景 2016 年 11 月 一 项目意义与价值 高光谱遥感技术起源于 20 世纪 80 年代初 是在多光谱遥感技术基础 之上发展起来的 1 高光谱遥感能够通过成像光谱仪在可见光 近红外 短波红外 中红外等电磁波谱范围获取近似连续的光谱曲线 将表征地物 几何位置关系的空间信息与表征地物属性特征的光谱信息有机地融合在了 一起 使得提取地物的细节信息成为可能 随着新型成像光谱仪的光谱分 辨率的提高 人们对相关地物的光谱属性特征的了解也不断深入 许多隐 藏在狭窄光谱范围内的地物特性逐渐被人们所发现 这些因素大大加速了 遥感技术的发展 使高光谱遥感成为 21 世纪遥感技术领域重要的研究方 向之一 在将高光谱数据应用于各领域之前 必须进行必要的数据处理 常用的 数据处理技术方法包括 数据降维 目标检测 变化检测等 其中 分类 是遥感数据处理中比较重要的环节 分类结果不但直接提取了影像数据有 效信息 可以直接运用于实际需求中 同时也是实现各种应用的前提 为 后续应用提供有用的数据信息和技术支持 如为目标检测提供先验信息 为解混合提供端元信息等 相对于多光谱遥感而言 由于高光谱遥感的波谱覆盖范围较宽 因此我 们可以根据需要选择特定的波段来突显地物特征 从而能够精确地处理地 物的光谱信 2 目前 许多国家开展大量的科研项目对高光谱遥感进行研 究 研制出许多不同类型的成像光谱仪 高光谱遥感正逐步从地面遥感发 展到航空遥感和航天遥感 并在地图绘制 资源勘探 农作物监测 精细 农业 海洋环境监测等领域发挥重要的作用 高光谱遥感技术虽然是遥感 领域的新技术 但是高光谱图像的分类一直制约着高光谱遥感的应用 3 4 因此对其进行研究显得尤为重要 高光谱遥感图像较高的光谱分辨率给传统的图像分类识别算法提出严峻 的挑战 波段维数的增加不仅加重了数据的存储与传输的负担 同时也加 剧了数据处理过程的复杂性 并且由于波段与波段间存在着大量的冗余信 息 从而使得传统图像分类算法并不适用于高光谱遥感图像的分类 传统 的分类方法往往需要很多数目的已知类别的训练样本 从而导致计算量大 时间复杂度高 另外 如果训练样本的数目较少 采用传统分类算法进行 分类时分类精度往往是很低的 因此提高分类精度并减少运算量成为高光 谱领域的热点问题 高光谱遥感图像的波段数目多 并且波段与波段间存在着很大的相关性 因此在进行遥感图像的处理 例如分类 之前通常需要进行降维预处理 这样做不仅可以降低数据空间的维数 减少冗余信息 而且还有利于人工 图像解译和后续分类处理和地物识别 从而为解决高光谱遥感分类的难点 提供了方便 5 二 高光谱图像分类的发展与现状 高光谱图像分类作为高光谱图像的基础研究 一直是高光谱图像重要的信 息获取手段 它的主要目标是根据待测地物的空间几何信息与光谱信息将图像 中的每个像素划分为不同的类别 高光谱图像分类按照是否有已知类别的训练 样本的参与 高光谱图像的分类方式分为监督分类与非监督分类 6 在遥感图像自动分类中 传统的基于数理统计的分类方法 主要包括最小 距离分类 最大似然分类 波谱角分类 混合距离法分类等 主要依赖地物的 光谱属性 基于单个像元进行分类 统计模式识别方法本身的不足 1 最大似然法计算强度大 且要求数据服从正态分布 2 K means 聚类分类精度低 分类精度依赖于初始聚类中心 3 最小距离法没有考虑各类别的协方差矩阵 对训练样本数目要求低 近年来对于神经网络分类方法的研究相当活跃 它区别于传统的分类方法 在处理模式分类问题时 并不基于某个假定的概率分布 在无监督分类中 从 特征空间到模式空间的映射是通过网络自组织完成的 在监督分类中 网络通 过对训练样本的学习 获得权值 形成分类器 且具备容错性 人工神经网络 ANN 分类方法一般可以获得更高精度的分类结果 因此 ANN 方法在遥感 分类中被广泛应用 特别是对于复杂类型的地物类型分类 ANN 方法显示了其 优越性 专家系统分类法也在遥感分类取得了一定的应用 专家系统是模拟人类逻 辑思维的智能系统 将其应用于遥感分类最大的优点就是可以充分利用更多的 辅助分类数据 不过由于专家系统知识库难以建立 影响了它的进一步发展 支持向量机 SVM 具有严格的理论基础 能较好地解决小样本 非线性 高维数等问题 被成功地应用到多光谱 高光谱遥感图像分类领域 对于高光 谱数据而言 由于波段多 数据量大 数据不确定性等 易受 Hughes 现象 即 训练样本固定时 分类精度随特征维数的增加而下降 影响 而样本的获取在 高光谱分类中往往是一项比较困难的工作 特别是采用高维特征向量时要求每 类的样本数都要比特征维数高 因此在高维信息处理中的精度与效率和高光谱 遥感信息精细光谱与大数据量之间仍然存在着极大的矛盾 三 卷积神经网络理论基础 卷积神经网络是人工神经网络的一种 它的权值共享网络结构使之更类似 于生物神经网络 降低了网络模型的复杂度 减少的权值的数量以节约训练和 测试的计算时间 该优点在网络的输入是多维图像时表现得更加明显 使图像 可以直接作为网络的输入 避免了传统识别算法中复杂的特征提取和数据重建 过程 卷积神经网络是为识别二维数据而专门设计的一个多层感知机 其网络 对平移 比例变化和倾斜等具有高度不变性 7 在 CNN 中 图像的一小部分 局部感受区域 作为层级结构的最低层的输 入 信息再依次传输到不同的层 每层通过一个数字滤波器去获得观测数据的 最显著的特征 这个方法能够获取对平移 缩放和旋转不变的观测数据的显著 特征 因为图像的局部感受区域允许神经元或者处理单元可以访问到最基础的 特征 例如定向边缘或者角点 卷积神经网络是一个多层的神经网络 每层由多个二维平面组成 每个平 面又由多个独立的神经元组成 图 2 为卷积神经网络的整体结构图 一般地 C 层 卷积层 为特征提取层 每个神经元的输入与前一层的局部 感受野相连 并提取该局部的特征 一旦该局部特征被提取后 它与其他特征 间的位置关系也随之确定下来 S 层 下采样层 是特征映射层 网络的每个 计算层由多个特征映射组成 每个特征映射为一个平面 平面上所有神经元的 权值相等 特征映射结构采用 sigmoid 函数等映射函数作为卷积网络的激活函 数 使得特征映射具有位移不变性 此外 由于一个映射面上的神经元共享权值 因而减少了网络自由参数的 个数 降低了网络参数选择的复杂度 卷积神经网络中的每一个特征提取层 C 层 都紧跟着一个用来求局部平均与二次提取的计算层 S 层 这种特有 的两次特征提取结构使网络在识别时对输入样本有较高的畸变容忍能力 卷积神经网络采用有监督学习的方式进行训练 即任何一个训练样本的类 别是已知的 训练样本在空间中的分布不再是依据其自然分布倾向来划分 而 是根据同类样本和不同类样本中的空间关系进行划分 这需要不断调整网络模 型的参数用以划分样本空间的分类边界的位置 是一个耗时且复杂的学习训练 过程 8 8 神经网络在进行训练时 所有的网络权值都用一些不同的小随机数进行初 始化 这些小的随机数能偶保证网络不会因为权值过大而进入饱和状态 导致 训练失败 神经网络训练算法包括 4 个主要部分 1 样本集中取出样本 并将其输入网络 代表图像数组 代表 X 其类别 2 计算此次输入相应的实际输出 这是一个前向传播的过程 3 用一个指定的损失函数计算出实际输出 与理想输出 的误差 4 按极小化误差的方法反向传播调整网络权值 四 极限学习机 极限学习机 extreme learning machine ELM 是一种简单易用 有效的单 隐层前馈神经网络 SLFNs 学习算法 2004 年由南洋理工大学黄广斌副教授提出 传统的神经网络学习算法 如 BP 算法 需要人为设置大量的网络训练参数 并且很容易产生局部最优解 极限学习机只需要设置网络的隐层节点个数 在 算法执行过程中不需要调整网络的输入权值以及隐元的偏置 并且产生唯一的 最优解 因此具有学习速度快且泛化性能好的优点 极限学习机的网络训练模型采用前向单隐层结构 设 分别为网络 m M n 输入层 隐含层和输出层的节点数 是隐层神经元的激活函数 为阈 g x i b 值 设有 个不同样本 其中N ii x t1iN 则极限学习机的网络训练模型 1212 TT mn iiiimiiiin xxxxRttttR 如图 1 所示 图 1 极限学习机的网络训练模型 极限学习机的网络模型可用数学表达式表示如下 1 1 2 M iiiij i gxbojN A 式中 表示连接网络输入层节点与第 i 个隐层节点的输入权 12 iiimi 值向量 表示连接第 i 个隐层节点与网络输出层节点的输 12 T iiiin 出权值向量 表示网络输出值 12 T iiiin oooo 极限学习机的代价函数 E 可表示为 1 N jj j E Sot 式中 包含了网络输入权值及隐层节点阈值 Huang 1 2 ii sb iM 等指出极限学习机的悬链目标就是寻求最优的 S 使得网络输出值与对应实 际值误差最小 即 min E S 可进一步写为 min E S 111 min min ii MMN b E SHbbxxT 式中 H 表示网络关于样本的隐层输出矩阵 表示输出权值矩阵 T 表示样本 集的目标值矩阵 H T 分别定义如下 1 111 111 11 MM MMN NmNM N M gxbgxb Hbbxx gxbgxb 11 TT TT MN M NN N t T t 极限学习机的网络训练过程可归结为一个非线性优化问题 当网络隐层节 点的激活函数无限可微时 网络的输入权值和隐层节点阈值可随机赋值 此时 矩阵 H 为一常数矩阵 极限学习机的学习过程可等价为求取线性系统 HT 最小范数的最小二乘解 其计算式为 H T 式中时矩阵的 MP 广义逆 H H 五 具体实现及主要代码 1 1 训练的样本及其样本图训练的样本及其样本图 NoTrain Test 15486631 254018649 33922099 45243064 52651345 65325029 73751330 85143682 9231947 392142776 Trees Total ROSIS Pavia University Name Asphalt Meadows Gravel Metal sheets Bare soil Bitumen Bricks Shadows NoTrainTest 182465971 28207598 38243090 48082685 58206584 68169284 78087287 8126042826 94762863 7456148152Total Shadows ROSIS Pavia Center Water Trees Name Meadow Bricks Soil Asphalt Bitumen Tile NoTrainTest 13012009 25593726 32961976 42091394 54022678 65943959 75373579 8169111271 99306203 104923278 111601068 122891927 13137916 141611070 1510907268 162711807 811954129Total Lettuce romaine 6wk Lettuce romaine 7wk Vinyard untrained Vinyard vertical trellis Corn sensced green weeds Lettuce romaine 4wk Lettuce romaine 5wk Salinas Fallow smooth Stubble Celery Grapes untrained Soil vinyard develop Name Brocoli green weed 1 Fallow Brocoli green weed 2 Fallow rough plow 2 2 原图及进行分类后的图和各个高光谱数据集每一类的分类精度 原图及进行分类后的图和各个高光谱数据集每一类的分类精度 The result of Pavia University The result of Pavia Center The result of Salinas 3 主要代码 主要代码 The main code of Pavia University of Matlab Convolution Neural Network And Extrem Learning Machine Test 1 for PaviaUniversity STEP 1 Initialize cnnConfig config theta meta cnnInitParams cnnConfig n class cnnConfig layer meta numLayers dimension load PaviaU load PaviaU gt images labels indexs samimage loadtrain paviaU paviaU gt d cnnConfig layer 1 dimension images reshape images d 1 d 2 d 3 STEP 2 Train The Cnn And Elm options epochs 1 options minibatch 30 options alpha 0 05 newtheta minFuncSGD x y z cnnCost x y z cnnConfig meta theta images labels options K cnnExtract newtheta images cnnConfig meta TrainingTime TrainingAccuracy InputWeight BiasofHiddenNeurons Output Weight NumberofOutputNeurons elmtrain K labels 1 900 STEP 3 Test testImages testLabels testIndexs loadtest paviaU paviaU gt testImages reshape testImages d 1 d 2 d 3 row col size paviaU gt testK cnnExtract newtheta testImages cnnConfig meta TestingTime TestingAccuracy testoutputlabel actualoutputs elmpredict testK testLabels testIndexs 1 InputWeight BiasofHiddenNeu rons OutputWeight NumberofOutputNeurons row col predimage1 zeros row col predimage1 testIndexs testoutputlabel figure imagesc predimage1 axis off OA kappa AA CA calcError testLabels predimage1 testIndexs 1 n class fprintf cnn elm Overall Accuracy is f n OA fprintf cnn elm Average Accuracy is f n AA fprintf cnn elm CA Acuuyracy is f n CA fprintf cnn elm kappa is f n kappa figure imagesc paviaU gt axis off The main code of Pavia Center of Matlab Convolution Neural Network And Extrem Learning Machine Test 2 for Pavia center cnnConfig config3 theta meta cnnInitParams cnnConfig n class cnnConfig layer meta numLayers dimension load Pavia load Pavia gt images labels indexs loadtrain3 pavia pavia gt d cnnConfig layer 1 dimension images reshape images d 1 d 2 d 3 STEP 2 Train The Cnn And Elm options epochs 1 options minibatch 25 options alpha 0 05 newtheta minFuncSGD x y z cnnCost x y z cnnConfig meta theta images labels options K cnnExtract newtheta images cnnConfig meta TrainingTime TrainingAccuracy InputWeight BiasofHiddenNeurons Output Weight NumberofOutputNeurons elmtrain K labels 1 850 STEP 3 Test testImages testLabels testIndexs loadtest3 pavia pavia gt testImages reshape testImages d 1 d 2 d 3 row col size pavia gt testK cnnExtract newtheta testImages cnnConfig meta TestingTime TestingAccuracy testoutputlabel elmpredict testK testLabels 1 InputWeight BiasofHiddenNeurons Output Weight NumberofOutputNeurons row col predimage1 zeros row col predimage1 testIndexs testoutputlabel figure imagesc predimage1 axis off OA kappa AA CA calcError testLabels predimage1 testIndexs 1 n class fprintf cnn elm Overall Accuracy is f n OA fprintf cnn elm Average Accuracy is f n AA fprintf cnn elm CA Acuuyracy is f n CA fprintf cnn elm kappa is f n kappa figure imagesc pavia gt axis off The main code of Salinas of Matlab Convolution Neural Network And Extrem Learning Machine Test 1 for Salinas STEP 1 Initialize cnnConfig config theta meta cnnInitParams cnnConfig n class cnnConfig layer meta numLayers dimension load Salinas corrected load Salinas gt images labels indexs samimage loadtrain salinas corrected salinas gt d cnnConfig layer 1 dimension images reshape images d 1 d 2 d 3 STEP 2 Train The Cnn And Elm options epochs 1 options minibatch 30 options alpha 0 05 newtheta minFuncSGD x y z cnnCost x y z cnnConfig meta theta images labels options K cnnExtract newtheta images cnnConfig meta TrainingTime TrainingAccuracy InputWeight BiasofHiddenNeurons Output Weight NumberofOutputNeurons elmtrain K labels 1 2300 STEP 3 Test testImages testLabels testIndexs loadtest salinas corrected salinas gt testImages reshape testImages d 1 d 2 d 3 row col size salinas gt testK cnnExtract newtheta testImages cnnConfig meta TestingTime TestingAccuracy testoutputlabel actualoutputs elmpredict testK testLabels testIndexs 1 InputWeight BiasofHiddenNeu rons OutputWeight NumberofOutputNeurons row col predimage1 zeros row col predimage1 testIndexs testoutputlabel figure imagesc predimage1 axis off OA kappa AA CA calcError testLabels predimage1 testIndexs 1 n class fprintf cnn elm Overall Accuracy is f n OA fprintf cnn elm Average Accuracy is f n AA fprintf cnn elm CA Acuuyracy is f n CA fprintf cnn elm kappa is f n kappa figure imagesc salinas gt axis off 六 参考文献 1 童庆禧 张兵 郑兰芬 高光谱遥感原理 技术与应用 M 北京 高等教育出 版社 2006 2 S Wang C I Chang Variable Number Variable Band Selection for Feature Characteriza

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论