基于MATLAB的高光谱遥感数据PCA降维
2020-10-21李昌元
李昌元
摘 要: 本文利用MATLAB编程实现PCA降维,计算数据协方差矩阵的特征向量和特征值,求得各主成分的贡献率,设置阈值,通过累积贡献率从而提取相应主成分分量来重构低维高光谱遥感数据,达到维数约简的目的。实验证明,该方法效果较好,计算量小,且计算时间较短。
关键词: 高光谱遥感数据;降维;主成分分析;MATLAB
【中图分类号】R791 【文献标识码】A 【文章编号】1674-3733(2020)08-0226-01
1 引言
高光谱遥感技术集成了日益成熟的成像技术和先进的光谱探测技术,利用光谱成像技术以数十至数百个窄且连续的光谱波段对目标区域成像,从而获取地物丰富的空间信息、辐射信息和光谱信息。高光谱影像具有光谱分辨率高、波段数目多等优点,但其庞大的数据量,包含几十到数百个波段,极易造成数据冗余,不仅让分类代价变得十分昂贵,还容易出现高光谱遥感数据的维数灾难问题[1]。
在这种情况下,我们能想到的最好方法就是高光谱遥感遥感数据的降维处理,将庞大的数据量做减法,通过选择或提取有用的波段或特征来降低数据维度,对后续高光谱遥感数据处理产生最小的影响[2]。
2 主成分分析算法
2.1 主成分分析的基本思想
主成分分析是一种无监督的线性特征提取的降维方法,它将原本的高维数据投影到一个低维度子空间中,高效地找出数据的主要部分(我们称之为主成分),将原有的复杂数据降维处理,就不需要原本众多的波段,进而实现高维数据的降维[3]。在新的低维子空间中,用几个主成分就可以表示原始数据中的大部分信息,而第一主成分就包含了整个原始数据的绝大部分信息[4]。
2.2 主成分分析(PCA)的具体步骤
假设我们的数据集X是一组N为向量,将其降维至K维(0 (1)将数据集的数据归一化处理,使每一维度上的均值为0; (2)读取每个像元位置的各波段值,求协方差矩阵; (3)求协方差矩阵的特征向量,并用diag函数提取对角元素,计算对应的特征值; (4)按照特征值從大到小将对应的特征向量从上往下排列; (5)利用前面提取到的对角元素,将协方差矩阵相似对角化; (6)通过特征值,计算贡献率,将其从大到小排序; (7)设定一个阈值T(如T>0.97),计算累积贡献率,当累积贡献率大于阈值时,跳出循环,即找到符合要求的n个主成分; (8)最后,用前n个主成分的特征向量与数据集X的原始矩阵相乘,得到低维空间内的降维矩阵; 3 实验 本次实验中,采用的高光谱遥感图像数据是1992年6月于印第安纳州西北部农业区拍摄的AVIRIS高光谱航空影像[5]。利用MATLAB软件对试验区的AVIRIS影像进行PCA降维,将阈值T设置为0.97(即累计贡献率大于等于0.97)。降维后,选取累积贡献率达到阈值T的前n个主成分分量,而这n个主成分分量包含了原始数据的绝大部分特征信息,最后将主成分分析变换后的矩阵生成低维度图像,进而达到降维的目的。各分量的特征值、贡献率及累积贡献率见表1。各主成分分量图见图1。 从表1的PCA降维后各分量统计情况可知,在此次实验中,前十个分量的累积贡献率为0.969175,而前十一个分量的累积贡献率为0.971848,故我们仅需前11个分量,就可以将原始数据200维的绝大部分信息都展示出来。 4 结束语 一直以来,高光谱遥感数据的分类问题长期困扰着许多研究人员,使用高光谱遥感数据降维方法,能减少后续处理的繁琐程度。实验证明了主成分分析的方法在高光谱数据降维的可行性,在处理高光谱遥感数据原始信息中扮演着重要的角色,无论是解决庞大的数据量问题,还是对后期的高光谱遥感数据分类等处理提供了巨大的便利。 参考文献 [1] 李静.高光谱遥感影像降维及分类方法研究[D].中南大学,2012. [2] 陈宏达.高光谱遥感图像的降维与分类研究[D].复旦大学,2013. [3] 田野,赵春晖,季亚新.THE PRINCIPAL COMPONENT ANALYSIS APPLIED TO HYPERSPECTRAL REMOTE SENSING IMAGE DIMENSIONAL REDUCTION%主成分分析在高光谱遥感图像降维中的应用[J].哈尔滨师范大学自然科学学报,2007,023(005):58-60. [4] Huang R ,He M.Band Selection Based on Feature Weighting for Classification of Hyperspectral Data[J].IEEE Geoscience & Remote Sensing Letters,2005,2(2):156-159. [5] 徐敏.基于深度卷积神经网络的高光谱图像分类[D].