资源描述:
《基于knn算法的遥感图像分类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、模式识别实验报告学生姓名:王晨曦班学号:075113-08指导老师:马丽中国地质大学(武汉)机械与电子信息学院2014年6月基于kNN算法的遥感图像分类实验目标:1.掌握KNN算法原理2.用MATLAB实现kNN算法,并进行结果分析实验内容:1.采用zy3sample数据(400*400*4),该数据分为4个类别:土地;农作物/植被;大棚;道路。有余力的同学最好再使用INP高光谱数据(数据全称:IndianaIndianPines,大小145*145*200)进行分类。2.随机在所有带标记的数据中(也就是你自己做的ROI)选择t
2、rain和test数据(比例自己定,可以50%train数据,50%test数据,也可以30%train数据70%test数据,或者其他比例;可以尝试不同train数据数目下,分类效果的差别)【提供随机选择数据的代码】,然后进行kNN分类。随机选择10次,然后求平均结果(以及标准差)作为最终对算法的评价。3.利用所有或者部分带标记的数据作为train数据,对整个图像进行分类,得到整个图像的分类结果图。【提供ColorTable和画出分类图像的代码】4.关于K值的选择,可以选择为1,3,5,7,9,11等。有余力的同学,分别用这6
3、种K的取值进行kNN算法,得到每种K值下的总体分类精度OA,然后进行比较(plot画出不同K值下的OA变化曲线,或者给出表格,写出每种K值下的OA)。5.关于距离度量的选择,可以采用欧氏距离或者光谱角距离(提供代码;zy3数据应该欧式距离更好,INP数据应该SAM更好,因为INP是高光谱数据,zy3只有4个波段是多光谱数据。SAM对高光谱数据的效果更好),有余力的同学,这两种距离都采用,然后做比较,或者尝试其他可能更有效的距离度量方式。数据介绍:1.调用multibandread函数从二进制文件中读取多波段数据。2.用resha
4、pe函数,重置图像的行数列数。 4.用find函数查找各个类别对应的样本。5.用plot函数画出所有类别的平均光谱。5.用imagesc函数画出所有类别的协方差矩阵。实验结果与分析:心得体会:经过本次试验,我不仅学会利用Matlab软件对遥感图像进行简单的处理,他速度快,方法科学,可为遥感影像的判读提供良好的条件,从而提高判读精度,还学会了使用软件ENVI,对遥感图像进行数据处理、图像分类等等,产生了浓厚的兴趣。相信通过学习,我会更好的将ENVI运用到今后的学习实践中。基于PCA/LDA降维的遥感图像分类实验目标:1.掌握K-m
5、eans算法原理2.用MATLAB实现K-means算法,并进行结果分析实验内容:1.采用INP数据(145*145*200),该数据有16个类别,任选PCA或LDA算法进行数据降维,然后对降维数据采用kNN分类(k=1)。2.如果选择PCA降维算法,(1)得到整个图像的降维结果,报告中画出前面5个主成分/波段的图像。(2)降维波段数量d作为一个参数(选择为:3,5,10,15,20,30,40,50)。对每一个d下的降维结果(8个不同的d取值,对应8个不同的降维数据),进行kNN(k=1)分类。具体实现:随机10次选择trai
6、n数据和test数据(例如30%train,70%test),对每次选择出来的数据,进行pca降维,求出不同d下的OA(8个不同的d,那么就有8个OA)。10次运行的话,就可以对每个d的10个OA求一个平均结果。然后画图(plot,x轴表示降维所保留的波段数量d,y轴表示每种d下的10次平均OA)。(3)和第三次上机的结果进行比较(数据不降维,直接采用kNN算法分类),看PCA降维的作用(对于kNN算法,PCA降维是因为信息损失而使得分类效果下降,还是PCA降维提高了分类效果)。3.如果选择LDA降维算法,(1)得到整个图像的降
7、维结果(INP数据有16个类别,那么LDA的降维结果有15个波段),报告中画出前面5个波段的图像。(2)对于降维数据,进行kNN(k=1)分类,随机10次选择train数据和test数据(例如30%train,70%test),求出10次分类的平均结果OA。(3)【选作optional】采用LDA降维数据对全图进行1NN分类(1NN分类器作用在LDA降维数据上),画出全图分类结果。(4)和第三次上机的结果进行比较(数据不降维,直接采用kNN算法分类),看LDA降维的作用(对于kNN算法,LDA降维是因为信息损失而使得分类效果下降
8、,还是LDA降维提高了分类效果)。算法原理:(1)原理:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然 后再计算每个所获新聚类的聚类