一种基于深度谱空网络的高光谱图像聚类方法
2021-10-18王姗姗刘德山闫德勤佟瑞璇辽宁师范大学计算机与信息技术学院辽宁大连116081
王姗姗 刘德山 闫德勤 佟瑞璇(辽宁师范大学计算机与信息技术学院 辽宁 大连 116081)
0 引 言
高光谱图像(Hyperspectral Images,HSI)广泛应用于矿物识别、环境监测、军事监测等领域。在高光谱图像应用中,最重要的是对图像进行分类[1-2]。分类主要有两种,有监督分类和无监督分类。有监督分类包含SAM[3]、最大似然法[4]、SVM[5]、神经网络[6]等方法。分类精度随着方法的发展而提高。有监督分类方法的使用必须以样本拥有标签信息为前提,但实际上获取的高光谱图像是没有标记信息的,这就需要使用无监督方法。聚类是无监督学习的典型算法,不需要标记结果。高光谱图像聚类是将像素分类成相应的集合的过程,按照内在相似性将像素划分为多个类别使得类内相似性大,类间相似性小。常用的无监督聚类方法有K-means算法[7-8]、均值漂移算法(mean-shift)[9]、迭代自组织数据分析算法(ISODATA)[10]等,这几种方法都比较典型且聚类效果相对较好。
对于高光谱图像来说,高光谱图像存在较大的光谱可变性和复杂的空间结构,既有光谱信息又有空间信息,这使得在聚类时通常会忽略空间信息,仅使用光谱信息获得的聚类精度是不准确的。所以在聚类时充分利用空间信息是非常重要的,文献[11]中提出了一种新的基于超像素和角度的高光谱图像聚类方法(SuperPixel and Angle-based HyperSpectral Image Clustering,SPAHSIC)。它首先提取局部光谱和空间信息,然后对基于子空间主角度的相似性矩阵进行谱聚类,获得较好的聚类准确率。文献[12]提出了一种用于空间谱HSI分类的贝叶斯分类方法。该方法可以利用HSI的空间光谱信息,在HSI的无监督分类中达到较高的准确性。文献[13]提出了一种利用空间正则化随机游走对高光谱图像数据进行聚类的无监督学习算法。该算法不仅利用了高维光谱空间中的低维几何,而且还利用了高维空间中的低维几何。文献[14]提出了一种新的基于上下文感知的无监督判别极限学习机方法(Context-aware UDELM,C-UDELM)。该方法是在无监督判别极限学习机算法的基础上,通过传播过滤过程有效利用了HSI的空间上下文信息,获得较好的聚类效果。
极限学习机(Extreme Learning Machine,ELM)[15]解决了高光谱图像处理时计算时间长、计算复杂度高、计算量大、准确率低的问题,在近几年引起很大关注[16-18]。关于ELM的改进算法中,绝大部分都是有监督地对数据进行学习,这使得ELM对于未标记数据的学习受到了限制。有学者在多元正则化基础上提出了半监督ELM(Semi-Supervised ELM,SSELM)和无监督ELM(Unsupervised ELM,USELM)[19]。USELM在计算和准确性方面与几种最先进的无监督算法进行比较时,在聚类方面表现出优异的性能。但是USELM算法更注重数据的局部结构。进而又提出了新的无监督判别ELM(Unsupervised Discriminative ELM,UDELM)[20]模型。UDELM是利用局部流形和全局判别学习数据进入ELM,并且在ELM隐藏层中进行聚类,这比在原始数据空间中聚类产生更好的结果。
然而面对高光谱图像复杂的结构,UDELM算法忽略空间信息,仅使用光谱信息对高光谱数据进行聚类,会造成聚类准确率较低的问题。所以本文针对上述问题提出一种基于深度谱空网络(Spectral-Spatial Network,SSN)[21]的无监督判别极限学习算法的高光谱图像聚类算法(SSUDELM)。在UDELM算法的基础上,加入的SSN是一种用于提取谱空特征的分层深度网络,对高光谱数据进行光谱特征和空间特征的分层交叉学习,获得深度谱空特征,将提取的特征输入到UDELM中,经过局部学习和全局判别学习进行聚类。从而提高算法对高光谱图像的聚类准确率。
为了评估和验证本文方法,实验采用了三个高光谱遥感图像数据:Salinas,University of Pavia,Indian Pines。本文方法与LE、LRSC、USELM、UDELM和C-UDELM进行比较,实验结果表明该方法优于其他基于ELM的方法和其他无监督方法。
1 相关算法
给定高光谱图像像素X0∈RD×W×L,其中:D是光谱带的个数;W和L是图像的宽和长。扩展的高光谱数据矩阵为X=[X1,X2,…,XN]∈RN×D(N=W×L)。X中每一个高光谱像素可以用一个向量xi∈RD来表示,yi∈RC是聚类指示向量,表示像素属于哪一类,其中C为类的数量。对于高光谱图像,将每个像素视为一个点,其局部结构图S定义为:
(1)
式中:σ是比例参数;Nk(xi)是xi的k个近邻点。
1.1 USELM算法
s.t. (HTA)T(HTA)=IC
(2)
1.2 UDELM算法
在USELM中,拉普拉斯矩阵L仅依赖于局部近邻的输入数据的结构,这可能导致过度拟合从而影响聚类的性能。所以UDELM在USELM基础上引入全局判别信息作为一种新的正则化项,以同时最大化类间散射Sm和最小化总散射St为目标。
(3)
根据判别分析的原则,最大限度地发挥下列目标函数是合理的:
(4)
式中:ID为指标矩阵。
然后式(4)中的优化问题可以被重写为:
(5)
s.t. (HTA)T(HTA)=IC
(6)
式中:β是正则化参数。
2 SSUDELM算法
本文提出的SSUDELM算法,将高光谱数据输入到SSN中,以分层的方式学习光谱信息和空间信息,提取谱空特征,然后在UDELM中对特征进行聚类。下面具体介绍怎样获得高光谱图像深层次特征。
谱空学习网络SSN由光谱特征学习和空间特征学习组成。光谱特征学习部分由线性判别分析(Linear Discriminant Analysis,LDA)[22]实现,LDA算法能够实现最小化类内散度和最大化类间散度。使用LDA,可以将高光谱图像在光谱维度上进行降维,同时保证类间的最大区分性。
数据集X=[X1,X2,…,XN]∈RN×D,Xj∈RD(j=1,2,…,N),数据一共分C类,根据LDA算法,假设过滤器数量为Kspe,则Wspe∈RD×Kspe,对于第c类样本来说,第c类样本均值为:
(7)
(8)
式中:pc=Nc/N。然后求高光谱总的像素均值:
(9)
类间散度Sb计算为:
(10)
LDA使用一系列过滤器使类间散度和类内散度的比例最大化:
(11)
选择Kspe个最大的特征向量:
SbWspe=λSwWspe
(12)
通过上述方法对HSI图像像素进行过滤,获得过滤后的HSI像素为Kspe层。
空间特征学习是使用多个不同尺度的自适应空间滤波对光谱特征学习部分处理的结果进行过滤,可以获得图像中同一区域的不同尺度表示。对于光谱特征学习的输出,利用自适应加权滤波器(Adaptive Weighting Filter,AWF)对空间信息进行挖掘。AWF是块区域内的一种空间滤波器,主要是平滑像素点,因为通常情况下HSI中局部区域的像素表示相同的材料,经过滤波后的同一类像素会更加相似。自适应权值可定义为:
(13)
式中:m×m是像素邻域窗口的大小。中心像素与邻域内点的距离为:
(14)
式中:p0表示中心像素点;pi,j表示邻域内像素点;std(·)为标准差函数。
通过式(13)获得了滤波后的新的像素。
经过光谱特征学习和空间特征学习后获得Kspe×Kspa大小的高光谱深层次特征。然后将获得的特征作为新的HSI数据输入到UDELM中进行聚类。那么现在新的高光谱数据定义为X*∈RKspe×Kspa,分别计算L和Q,然后启动具有M个隐层神经元的ELM神经网络计算隐藏层输出矩阵H,计算输出权值A。对式(6)广义特征值分解[23],式(6)的拉格朗日函数为:
L(A)=Tr[AT(IM+H(λL+βQ)HT)A]-
Tr[Γ(ATHHTA-I)T]
(15)
式中:IM为指标矩阵。求L(A)的导数并令导数为0:
(16)
进而推出:
[IM+H(λL+βQ)HT]A=HHTAΓ
(17)
当M≤N时:
[IM+H(λL+βQ)HT]vi=γHHTvi
(18)
式中:γ为最小特征值,γi是第i个最小特征值,对应于对角矩阵Γ中的第i个元素;vi是对应的特征向量。由于式(18)中第一个特征向量在嵌入时总是导致很小的变化,所以去除第一个特征向量v1,取前C个最小特征值对应的特征向量。则输出权值A为:
A=[v2,v3,…,vC+1]
(19)
当M>N时:
[IM+(λL+βQ)HTH]ui=γHTHui
(20)
式中:ui是第i个最小特征值的广义特征向量。则输出权值A为:
A=H[u2,u3,…,uC+1]
(21)
输入:高光谱图像X=[X1,X2,…,XN]∈RN×D,参数λ、β、μ。
输出:聚类标签y。
1) 数据标准化。
2) 将标准化后的数据X输入SSN,进行光谱特征学习和空间特征学习,获得数据深层次特征X*。
3) 将获得的深层次特征作为新的数据送入UDELM中,计算L和Q。
4) 在具有M个隐层神经元的ELM神经网络中计算隐藏层输出矩阵H。
5) 根据式(19)和式(21)计算输出权值A。
6) 计算HTA,并作为新的像素使用K-means聚类。
3 实验与结果分析
3.1 实验数据集
为了验证本文方法的有效性,使用Salinas、University of Pavia和Indian Pines三个高光谱遥感图像数据集进行实验。
实验中使用的第一组数据为Salinas图像数据。图像的大小为86×83,204个波段数据,由于大气的影响,20个波段被丢弃。数据集中共有6个类别和7 138个样本。地面实况图如图1所示。
图1 Salinas的地面实况图
实验中使用的第二组数据是2002年7月在意大利北部帕维亚举行的航空运动期间由ROSIS传感器收集的University of Pavia图像数据。该图像的大小为610×340(覆盖波长范围为0.4~0.9 μm)。实验中使用了9个地面实况类;删除了12个噪声较大的波段,最后使用了115个波段中的103个;选取其中200×100的图像作为数据集,地面实况图如图2所示,数据集共有7个类别,共20 000个数据。
实验中使用的第三组数据是1992年由AVIRIS传感器获得的Indian Pines图像数据。图像的大小为145×145,220个波段数据,约三分之二的农业和三分之一的森林或其他天然多年生植被,由于大气的影响,20个波段被丢弃。数据的空间分辨率为每像素20 m。数据集中共有16个类别和21 025样本。地面实况图如图3所示。
图3 Indian的地面实况图
为了鉴定本文算法,使用三种数据集做SSUDELM与LE、LRSC、USELM、UDELM、C-UDELM算法的对比实验。算法的性能通过聚类准确率、整体精度(OA)、平均精度(AA)及Kappa系数进行评估。OA代表总体分类准确度,AA代表每个类的分类准确度,Kappa系数来衡量分类协议的程度。
3.2 实验结果与分析
比较不同数据集上SSUDELM算法与LE、LRSC、USELM、UDELM和C-UDELM的聚类准确率。如表1所示,对于Salinas数据集,C-UDELM的聚类准确率是78.35%,SSUDELM的聚类准确率是86.54%,SSUDELM的聚类准确率比C-UDELM高出8.19百分点;对于PaviaU数据集,C-UDELM的聚类准确率是74.82%,SSUDELM的聚类准确率是80.71%,SSUDELM的聚类准确率比C-UDELM高出5.89百分点;对于Indian数据集,C-UDELM的聚类准确率是43.08%,SSUDELM的聚类准确率是65.87%,SSUDELM的聚类准确率比C-UDELM高出22.79百分点。总体上,对于三个不同的高光谱图像数据,SSUDELM算法的聚类准确率有明显提高,说明从空间光谱信息中提取出要聚类的像素点可以很好地避免数据量大、聚类效果差的缺点。由图4柱形图可以明显看到,SSUDELM是最高的并且比其他颜色高很多,SSUDELM聚类准确率在三种高光谱图像数据上明显提高。
表2分别给出了三个真实高光谱数据集聚类的总体准确度(OA)、平均准确度(AA)和Kappa统计量度的结果。针对不同的高光谱数据集Salinas、University of Pavia和Indian Pines,分别比较LE、LRSC、USELM、UDELM、C-UDELM和SSUDELM的OA值、AA值和Kappa系数。对Salinas数据,C-UDELM相比于LE、LRSC、USELM和UDELM方法各项值是最高的,C-UDELM的OA值是78.27%,AA值是76.68%,Kappa系数是71.29%。SSUDELM算法的OA值是86.38%,比C-UDELM提高8.11百分点,AA值是85.89%,比C-UDELM提高9.21百分点,Kappa系数是79.74%,比C-UDELM提高8.45百分点;对于PaviaU数据,SSUDELM的OA值比C-UDELM提高6.79百分点,AA值比C-UDELM提高8.38百分点,Kappa系数比C-UDELM提高5.58百分点;对于Indian数据,SSUDELM的OA值比C-UDELM提高21.24百分点,AA值比C-UDELM提高23.18百分点,Kappa系数比C-UDELM提高18.72百分点。综上,SSUDELM方法在所有比较方法中始终给出最佳结果,在OA、AA和Kappa系数上都优于其他五种算法。这些实验进一步证明了本文方法的有效性。
图5给出了SSUDELM、LE、LRSC、USELM、UDELM、C-UDELM算法在Salinas数据上的遥感图像结果对比。对于Salinas数据,可以发现SSUDELM比LE、LRSC、USELM、UDELM和C-UDELM算法的聚类效果更好,LE、LRCS、USELM、UDELM、C-UDELM都有很明显的聚类错误,虽然C-UDELM在聚类方面比其他三种方法取得较好的效果,但与C-UDELM相比,SSUDELN聚类准确率更高。
(e) UDELM(f) C-UDELM(g) SSUDELM图5 不同算法在Salinas数据上的实验对比
图6给出了SSUDELM、LE、LRSC、USELM、UDELM、C-UDELM算法在PaviaU数据上的遥感图像结果对比。对于PaviaU数据,根据真实数据图像,进行图像对比,LE、LRSC、USELM、UDELM、C-UDELM的遥感图像中很明显出现很多错误点,像素点分布杂乱。除分布杂乱区域,LE、LRSC和USELM的其他区域也出现很多错误的聚类,相对来说,C-UDELM算法结果比较好,而SSUDELM算法的遥感图像结果显示虽然区域内还是有部分错误聚类,但是大部分结果是比较好的,其他区域也很明显是正确的。
(e) UDELM (f) C-UDELM (g) SSUDELM图6 不同算法在PaviaU数据上的实验对比
3.3 计算效率
对SSUDELM、LE、LRSC、USELM、UDELM、C-UDELM算法分别在Salinas、Indian Pines和University of Pavia三个数据集上的运行时间进行分析。表3给出了5种不同算法的运行时间。对三种数据集,可以看出SSUDELM的运行时间与LE、USELM、UDELM相比增加了很多,但与LRSC、C-UDELM算法相比是高效的。对比来说,LRSC算法的运行时间是最长的,USELM的运行时间是最短,然后依次增长的是UDELM、LE和C-UDELM算法,SSUDELM在UDELM算法基础上加入分层的谱空网络导致计算时间延长,但是与LRSC、C-UDELM算法相比,实验时间较短,说明SSUDELM算法是非常高效的。
表3 不同方法实验时间对比 单位:s
4 结 语
本文提出一种基于深度谱空网络的无监督判别极限学习算法的高光谱图像聚类算法。考虑到由于高光谱图像比较复杂和多样,仅使用光谱信息进行聚类时会产生准确率较低、聚类效果差的问题,在UDELM中加入SSN,提取高光谱图像中的光谱特征与空间特征,然后将提取的特征进行无监督聚类。实验证明了SSUDELM确实比LE、LRSC、USELM、UDELM、C-UDELM算法有更好的聚类效果。