基于FastICA算法的高光谱图像混合像元分解①
2012-09-27崔会丽
崔会丽, 魏 航, 张 军
(数学地质四川省重点实验室,四川 成都 610059)
0 引言
高光谱影像的光谱分辨率高,波段众多,光谱覆盖范围广,能为每个像元提供一条完整且连续的光谱曲线[1],可以揭示单一波段或者多谱段图像多不能反应的地物信息,这为更多、更精细的端元提取以及解决混合像元分解问题提供了条件,也使得高光谱影像在混合光谱分解方面具有更大的优势.同时高光谱影像的空间分辨率相对较低,混合像元现象更加严重,因此混合像元分解的解决问题也更亟待.
高光谱数据端元的提取是处理高光谱数据、继而对数据进行进一步分析(比如分类识别等)的前提[2].目前混合像元解混成熟的算法较多,一般上都是分为两个步骤:先是提取出图像中的所有端元信息,然后再根据线性光谱解混模型进行混合像元分解,这种类型的解混算法由于利用了端元的先验信息,称之为监督分解算法.然而在某些特殊情况下可能无法从影像中得到部分或全部地物的端元信息,在空间分辨率较低的星载高光谱影像中这种情况更加普遍.本文引入了基于负熵的快速独立成分分析算法(fast independent component analysis,fastICA)的盲源分离算法对高光谱影像进行混合像元分解,这类算法能在光谱解混的同时估计出影像的端元光谱信息,且不需要影像的先验信息,将这类算法称之为非监督分解算法.
1 独立成分分析基础
独立成分分析是一种新颖的解混算法,它的目的是从多元(多维)数据中寻找其内在的因子或成分,即它所得到的是既统计独立又非高斯的成分,这些独立成分就是在解混过程中要得到的源信号的信息[3].在实际处理实际影像数据时,假设各类地物在图像中的分布是相互独立的,在一定程度上是符合实际情况的.
在实际情形中,一般不能找到一个其成分真正独立的表示,但是至少可以找到一个成分尽量独立的表示,对独立成分分析(ICA)的定义如下:
式中s为独立成分(端元)或称源信号;A为混合矩阵;X为观测信号;
式(1)中定义的统计模型称为ICA模型,它表示被观测的信号数据是由独立成分混合变换而得到的.在实际情况中,所有能知道的仅仅只有观测到的信号信息X,所以就必须在尽量少的假设条件下估计出A和s.式(1)中的ICA模型中很容易发现存在两个不确定性的因素,即独立成分的方差和次序[4].
为了确保ICA模型能被准确估计,假设独立成分是统计独立的,且也必须具有非高斯的分布,而未知的混合矩阵变为方阵.也就是说,独立成分的个数与观测到的混合量的个数相同.如果能计算出混合矩阵A的逆W(解混矩阵),这样独立成分可由(1)得到
所以估计混合矩阵A的问题转化为不断改进的解混矩阵 W[5]的问题.
2 基于FastICA的混合像元分解算法
目前用在极大化非高斯性的ICA估计方法中的较普遍的实现算法中根据目标函数的不同主要是分为基于峭度和负熵的快速不动点算法,而在实际处理数据时,基于负熵的FastICA算法可以更有效地把不动点迭代所带来的优良算法特性与负熵所带来的更好统计特性结合起来[6].由于事先并不知道高光谱遥感数据的源信号的光谱信息,所以利用观测到的信号的各个分量之间的最大独立性来建立对比函数,从而寻找一种迭代算法从观测到的信号中同时估计出源信号的信息[7].该算法计算过程当中不需要进行矩阵求逆,减少运行步骤,而其收敛需要的步骤与牛顿法也大致相同,从而减少了算法的运行时间,直到每一个独立成分被分离出来,实现有效率的解决问题[8].
使用FastICA算法对高光谱数据进行混合像元分解的步骤如下:
(l)读取将高光谱影像数据,将得到的数据设置为X;
(2)对数据x进行中心化使其均值为0和白化的处理;
(3)初始化估计向量的个数,令p=1;并选择一个初始的权矢量w,令w=w/‖w‖;
(4)令 w+=E[xg(wTx)]-E[g'(wTx)]w;
(5)采用正交化处理,使得 w+=w+-∑wT(wjwj);
(6)令w=w++‖w+‖;如果w不收敛,则返回(4),直到收敛为止;
(7)使p=p+1,返回(3),继续提取下一个独立成分.
3 实验分析
根据前面所介绍的理论,可以知道在高光谱影像混合像元分解技术中,必须使用含有多个光谱波段的影像,而不是只含有用全色波段或多光谱图像的一个波段的高光谱影像[9].在本文所介绍的算法中子像元(端元)的精确位置是无法通过分解确定的.本文使用的高光谱图像包含158个光谱波段,在实验之前通过MNF变化,经过分析研究选择了较大特征值和与之对应的特征图像进行试验,因此选择了其中特征值较大的120个光谱波段.图1为其中部分波段图像及3波段合成的假彩色图像(波段8为红波段,波段7为绿波段,波段6为蓝波段).
图1 部分波段的图像以及假彩色合成图像
图2 混合像元分解之后的图像
在运用该算法处理图像时,首先针对观测信号进行去均值和白化的预处理,使得简化了算法,并且在试验中调用了虚拟维数估计算法,这里得到的虚拟维数就是高光谱影像中特殊光谱信号的数量[10-11],而这里所得到的特殊光谱信号并不单单只是端元,其中还包括了噪声点和异常点等,因此所得到的端元结果往往要大于实际端元数量.
对影像进行混合像元分解过程中,所使用的是FastICA算法可以得到式(1)和(2)中的混合矩阵和解混矩阵.这就可以通过式(2)得到源信号的信息,从而得到独立成分的信息.混合像元分解过后的部分波段图像(这里的部分波段我们还是选择图1中的波段),如图像2所示.
在实验结果中,我们选择了混合像元分解之后的部分波段的图像来看实验的效果,比较亮的像元表示被采为波谱极值的次数较多,像元波谱比较纯.较暗的像元表示波谱纯度较低.
4 结论
尽管本文介绍的算法的单个像元的分解结果不尽如人意,但是在缺少先验知识的情况下,实现了独立成分(端元)和解混矩阵的提取,混合像元分解后整幅图像的分解结果还是令人满意的.在高光谱影像混合像元分解之后,对之后的高光谱图像分类识别有更好的效果.此外由于ICA模型中的两个不确定性,分离出来的独立成分是无序的,在以后的工作中可以考虑改进算法解决这一问题.
[1]张立福.张良培.高光谱遥感[M].武汉:武汉大学出版社.2005:1:87-101.
[2]童庆禧,张兵,郑兰芬.高光谱遥感—原理、技术与应用[M].北京:高等教育出版社.2006:246-282.
[3]耿修瑞.高光谱遥感图像目标探测与分类技术研究[D].北京.中国科学院研究生院.2005.
[4]Bijaoui A,Nuzillard D,Barma T D.Bss,Classification and Pixel Demixing.Proceedings of the 5th International Conference on Independent Component Analysis and Blind Source Separation,2004:96-103.
[5]AaPoHyvarinen Juha Karhunen Erkki Oja,Independent Component Analysis[M],2007.
[6]Hyvarinen A,Oja E.Independent Component Analysis:Algorithms and Applications.Neural Networks,2000,13(4 -5):411-430.
[7]AaPoHyvarinen·Afamily of Fixed-Point Algorithms For Independent Component Analysis[J].IEEE Transitions On Neural Networks,1997(10):3917 -3920.
[8]陈华富.独立成分分析及其应用的研究进展[J].生物医学工程学杂志,2003.20(2):366-370.
[9]WANG Xuhong,GUO Jianming,JIA Baijun,et al.Mixed Pixels Classification of Remote Sensing Images Based on Cellular Automata[J].Acta Geodaetica et Car - tographica Sinica,2008,37(1):42 -48.
[10]万余庆,谭克龙,周日平.高光谱遥感应用研究[M].北京:科学出版社,2006:106.
[11]CHANG C.2I,DU Q.Estimation of Number of Spectrally Distinct Signal Sources in Hyperspectral Imagery[J].IEE E Transaction on Geoscience and Remote Sensing,2004,42(3):6082619.