《2022年对高光谱遥感数据的分析与处理 .pdf》由会员分享,可在线阅读,更多相关《2022年对高光谱遥感数据的分析与处理 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、对高光谱遥感数据的分析与处理姓名:张俊飞班级: 021051学号: 02105058E-mail :时间: 2013 年 4 月 25 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 1对高光谱遥感数据的分析与处理一、高光谱成像介绍高光谱成像技术是近二十年来发展起来的基于非常多窄波段的影像数据技术,其最突出的应用是遥感探测领域,并在越来越多的民用领域有着更大的应用前景。高光谱成像技术集中了光学、光电子学、电子学、信息处理、计
2、算机科学等领域的先进技术, 是传统的二维成像技术和光谱技术有机的结合在一起的一门新兴技术。近几年年来,自然灾害频发,所以,及时、准确的灾情评估对决策部门制定科学和有效的救灾减灾方案具有关键性的作用。遥感具有数据获取范围广、 速度快等特点,应用在灾害评估中具有非常大的优势和潜力。在我国近年来的多次重大自然灾害评估中, 遥感技术都发挥了极其重要的作用。遥感技术的应用不止于此。下面列举了主要的应用方面:1.气象:天气预报、全球气候演变研究;2.农业:作物估产、作物长势及病虫害预报;3.林业:调查森林资源、监测森林火灾和病虫害;4. 水文与海洋:水资源调查、水资源动态研究、冰雪监控、海洋渔业;5. 国
3、土资源:国土资源调查、规划和政府决策;6.环境监测:水污染、海洋油污染、大气污染、固体垃圾等及其预报;7. 测绘:航空摄影测量测绘地形图、编制各种类型的专题地图和影像地图;8. 地理信息系统:基础数据、更新数据。虽然拥有诸多优点,但其本身带有很大的数据, 对硬件和软件有很高的要求,本文中,先不对硬件进行讨论,就软件方面,对数据进行一系列处理,做到既不丢失其主要数据,又能降低其时空复杂度。二、 PCA 理论基础对测试数据库说明如下:AVIRIS 高光谱数据 92AV3C: 该场景由 AVIRIS 传感器于 1992 年 6 月获得,该数据为 145*145 大小, 有 220 个波段。 该数据及
4、真实标记图可以由因特网下载:http:/www.ehu.es/ccwintco/index.php/Hyperspectral_Remote_Sensing_Scenes。该数据共包含 16 个类别。该数据维数为 200 维,维数较高,我们希望找到一种简洁的算法来把它的维数降下来,这样处理数据的速度可以加快,节省人力物力。2.1 PCA 简介主成分分析 (Principal ComponentAnalysis, 简称 PCA)是一种常用的基于变量名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
5、 - 第 2 页,共 17 页 - - - - - - - - - 2协方差矩阵对信息进行处理、压缩和抽提的有效方法。算法如下:Step1分别求各维的平均值,然后对于所有的样例,都减去对应的均值,得到DataAdjust(m*n)Step2求特征协方差矩阵。Step3 求协方差的特征值和特征向量,得到特征向量与特征值Step4将特征值按照从大到小的顺序排序,选择其中最大的k 个,然后将其对应的 k 个特征向量分别作为列向量组成特征向量矩阵。Step5将样本点投影到选取的特征向量上。假设样例数为m,特征数为 n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是 n*n,选取的
6、k个特征向量组成的矩阵为EigenVectors(n*k)。 那么投影后的数据 FinalData2.2 算法合理性的求证-最大方差理论要解释为什么协方差矩阵的特征向量就是k 维理想特征,我看到的有三个理论:分别是最大方差理论、最小错误理论和坐标轴相关度理论。这里简单探讨前两种,最后一种在讨论PCA 意义时简单概述。在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。如前面的图,样本在横轴上的投影方差较大,在纵轴上的投影方差较小,那么认为纵轴上的投影是由噪声引起的。因此我们认为, 最好的 k 维特征是将 n 维样本点转换为k 维后,每一维上的样本方差都
7、很大。比如下图有 5 个样本点:(已经做过预处理,均值为0,特征方差归一)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 3下面将样本投影到某一维上,这里用一条过原点的直线表示(前处理的过程实质是将原点移到样本点的中心点)。假设我们选择两条不同的直线做投影,那么左右两条中哪个好呢?根据我们之前的方差最大化理论,左边的好,因为投影后的样本点之间方差最大。这里先解释一下投影的概念:红色点表示样例,蓝色点表示在 u 上的投影, u
8、是直线的斜率也是直线的方向向量,而且是单位向量。蓝色点是在 u 上的投影点,离原点的距离是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 4(即或者)由于这些样本点 (样例)的每一维特征均值都为0,因此投影到 u 上的样本点(只有一个到原点的距离值)的均值仍然是0。回到上面左右图中的左图,我们要求的是最佳的u,使得投影后的样本点方差最大。由于投影后均值为0,因此方差为:中间那部分很熟悉啊,不就是样本特征的协方差矩阵么(的均值为
9、 0,一般协方差矩阵都除以m-1,这里用 m)。用 来表示, 表示,那么上式写作由于 u 是单位向量,即, 上式两边都左乘 u 得,即就是 的特征值, u 是特征向量。最佳的投影直线是特征值最大时对应的特征向量,其次是第二大对应的特征向量,依次类推。因此,我们只需要对协方差矩阵进行特征值分解,得到的前k 大特征值对应的特征向量就是最佳的k 维新特征,而且这 k 维新特征是正交的。得到前k 个 u以后,样例通过以下变换可以得到新的样本。其中的第 j 维就是在上的投影。通过选取最大的 k 个 u,使得方差较小的特征(如噪声)被丢弃。三、算法性能评估首先我们用 k 近邻算法对原始数据进行分类,得到识
10、别率为0.7147.其次,我们使用 PCA 算法对原始数据进行相应的降维处理,把200维的数据依次将至 1200 维,观察其识别率,得到下面的识别率统计图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 5图 3.1将 200 维降至 1200 维时的识别率统计由上图可以看出,将数据维数降至4080 维时识别率已经趋于稳定,与数据不作处理时的识别率高度接近。由此也证明了PCA 算法的准确性。下图给出了上图在120 维时的放大图
11、024681012141618200.350.40.450.50.550.60.650.70.75()图 3.2将 200 维降至 1200 维时的识别率统计由上图可以看出,将数据压缩的维数过低的话,识别率会出现较大波动。但随着维数增加,相应的识别率也会趋于稳定。下图反映了维数降至20-70 维时的识别率波动图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 6图 3.3将 200 维降至 2062 维时的识别率统计由上图可以
12、看出,当维数降至40-70 维时,识别率波动不超过0.02,这是可以接受的一个数据。再次说明了,200维数据的地物描述可以用更低维的数据来描述,既可以减少计算量,又可以保证较好的识别率。四、用分类图证明算法的合理性2040608010012014020406080100120140图 4.1数据的标准RGB图上图给出标准地物图的RGB 图,而下图则是未经 PCA 处理,直接得出的分类图,数据维数为200 维,我们把它记为对照图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,
13、共 17 页 - - - - - - - - - 7PCA 2040608010012014020406080100120140图 4.2未经 PCA处理的分类图(对照图)200 200 2040608010012014020406080100120140图 4.3将 200 维压缩为200 维由图 4.3 可以看出,将数据做PCA 处理,将 200 维压缩成 200 维,其识别效果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - -
14、- 8基本与对照图无异。200 80 2040608010012014020406080100120140图 4.4降至 80 维的分类图200 60 2040608010012014020406080100120140图 4.5降至 60 维的分类图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 9200 45 2040608010012014020406080100120140图 4.6降至 45 维的分类图200 40
15、2040608010012014020406080100120140图 4.7降至 40 维的分类图由以上图 4.44.7,我们不难看出将位数降至40-80 维时,识别效果较之对照名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - 10图还是相当可观的,可接受的。如果将维数降的太低, 则会出现识别率过低的情况。 下图就展示降至低维时的情形。200 5 2040608010012014020406080100120140200 1
16、 2040608010012014020406080100120140名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 11五、结论通过对降至各维时的识别率的统计与相应的识别后的RGB 图,可以知将 200维的数据降至 4580 维时就能达到较好的识别率,这样既有效的节约了资源,同时也保证了识别率。在近几年来,数据迅速膨胀并变大, 它决定着企业的未来发展, 虽然现在企业可能并没有意识到数据爆炸性增长带来问题的隐患,但是随着时间
17、的推移, 人们将越来越多的意识到数据对企业的重要性。大数据时代对人类的数据驾驭能力提出了新的挑战, 也为人们获得更为深刻、 全面的洞察能力提供了前所未有的空间与潜力。在大数据时代,数据的挖掘技术显得尤为重要。这就需要大家潜心研究,找出更好更优的数据挖掘技术。六、部分代码展示6.1 降至各维时的总识别率统计functionmy_tu=zhixiantu(from,to)load(C:IndianaPines.mat)Label=double(Label);Class1=pixels;Label;zer=0;fori=1:size(Class1,2)ifClass1(201,i)=0zer=zer
18、+1;a(:,zer)=Class1(:,i);endend%归一化fori=1:size(a,1)-1a(i,:)=(a(i,:)-min(a(i,:)/(max(a(i,:)-min(a(i,:);endclass=a;%求DataAjustforj=1:size(class,2)-1u=mean(class(:,j);DataAjust(:,j)=class(:,j)-u;endd=cov(class(:,1:size(class,2)-1);b2,b1=eig(d);eigvalue=eig(d);vector=b2;e,f=sort(eigvalue);名师资料总结 - - -精品资
19、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 12%k=4;% 说明压缩维数fork=from:tofori=1:kEigvector(:,i)=vector(:,f(201-i);endfinal=DataAjust*Eigvector;final(:,k+1)=class(:,201);w(:,1)=final(:,k+1);forTencount=1:3c=randperm(size(final,1);m=1;p=1;forcategory=1:
20、16n=0;forj=1:size(c,2)ifw(c(j)=categoryn=n+1;b(n)=c(j);endendd=floor(size(b,2)*0.1);train(m:m+d-1,:)=final(b(1:d),:);m=m+d;%train(201,:)=k;% test(:,p:p+size(b,2)-d-1)=a(:,b(d+1:size(b,2);% p=p+size(b,2)-d;%test(201,:)=k;b=;end%分类test=final;kmeans=3;% 指定近邻方式forx=1:size(test,1)fory=1:size(train,1)%dis
21、tance=0;fork1=1:kdistance=distance+(test(x,k1)-train(y,k1).2;enddis(y)=distance;endz,v=sort(dis);p1=zeros(1,16);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 13forn=1:kmeansforq1=1:16iftrain(v(n),k+1)=q1p1(q1)=p1(q1)+1;endendendz1,v1=ma
22、x(p1);test(x,k+2)=v1;dis=;end%统计识别率count=0;fori=1:size(test,1)iftest(i,k+1)=test(i,k+2)count=count+1;endendlv(Tencount)=count/10366;train=;endlv1(k-19)=mean(lv);mean(lv)k%train=;endk=20:62;lv2=lv1;plot(k,lv2,b-, Marker, o, LineWidth,2);holdon ;m2p=linspace(0,20,28);plot(m2p,spline(k,lv2,m2p),r-, Lin
23、eWidth,2);xlabel( 把200 维降至 1-20 维 );ylabel( 相应的识别率 );gridon ;title( 识别率统计图(续) );end6.2 关于判定类别functionh=RGB(k)load(C:IndianaPines.mat)Label=double(Label);Class1=pixels;Label;a=Class1;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 14w=Labe
24、l;%类型不一致%去除类标为零的,但保存类别号。画图用。zer=0;zer0=0;fori=1:size(a,2)ifa(201,i)=0zer=zer+1;pa(:,zer)=a(:,i);zn0(zer)=i;elsezer0=zer0+1;z0(zer0)=i;endend%归一化fori=1:size(a,1)-1pa(i,:)=(pa(i,:)-min(pa(i,:)/(max(pa(i,:)-min(pa(i,:);end% PCA处理class=pa;zer=0;zer0=0;fori=1:size(a,2)ifa(201,i)=0zer=zer+1;pa(:,zer)=a(:,
25、i);zn0(zer)=i;elsezer0=zer0+1;z0(zer0)=i;endendforj=1:size(class,2)-1u=mean(class(:,j);DataAjust(:,j)=class(:,j)-u;endd=cov(class(:,1:size(class,2)-1);b2,b1=eig(d);eigvalue=eig(d);vector=b2;e,f=sort(eigvalue);%k=200;% 说明压缩维数fori=1:kEigvector(:,i)=vector(:,f(201-i);endfinal=DataAjust*Eigvector;名师资料总结
26、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 15final(:,k+1)=class(:,201);w=final(:,k+1);%选择训练、测试样本%Avq=zeros(1,16);test=final;result=zeros(size(test,1),16);fortenCount=1:5disp(sprintf( 第%d次识别 n,tenCount);c=randperm(10366);m=1;p=1;forcategory
27、=1:16n=0;forj=1:size(c,2)ifw(c(j)=categoryn=n+1;b(n)=c(j);endendd=floor(size(b,2)*0.1);train(m:m+d-1,:)=final(b(1:d),:);m=m+d;b=;end%分类开始kmean=3;% 指定近邻方式forx=1:size(test,1)%forx=1:200fory=1:size(train,1)%distance=0;fork1=1:kdistance=distance+(test(x,k1)-train(y,k1).2;enddis(y)=distance;endz,v=sort(d
28、is);p1=zeros(1,16);forn=1:kmeanforq1=1:16iftrain(v(n),k+1)=q1p1(q1)=p1(q1)+1;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 16endendendz1,v1=max(p1);test(x,k+1+tenCount)=v1;result(x,v1)=result(x,v1)+1;endtrain=;end%十次分类中次数较多者为最终分类forx=1:size(test,1)z2,v2=max(result(x,:);test(x,k+1+tenCount+1)=v2;end%导出分类标签mylabel(zn0,1)=test(:,k+1+tenCount+1);mylabel(z0,1)=0;h=mylabel;end名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -