结合卷积神经网络和稀疏编码的高光谱图像分类 下载: 1123次
1 引言
随着高光谱遥感技术的快速发展,传感器能够获得具有更加精确的空间信息和光谱信息的高光谱图像[1]。高光谱图像数据不仅在遥感领域备受关注,而且已被广泛应用于农业[2]、医疗[3]、食品[4]、环境科学[5]等领域。对高光谱图像的处理包括分类、分割、混合像素解混、目标识别等,其中分类是许多应用的基础。丰富的地物信息为高光谱图像的地物分类带来了机遇,同时也带来了一系列难题,如数据维度高、波段间的信息冗余等[6]。
在高光谱图像分类领域,已有大量方法用于解决上述问题。其中的支持向量机(SVM)[7]、稀疏表示分类器[8]、k均值聚类[9]等方法仅使用多波段频谱信息对光谱信息进行分类而忽略了重要的空间信息。为了捕获更多的有用信息,基于深度学习[10]的方法应运而生,该方法因具有深层次特征提取能力而在高光谱图像分类中表现出了明显优势[11]。2014年,Chen等[12]提出了一种用于高光谱图像数据的叠加自动编码器方法;随后,他们[13]又提出了基于卷积神经网络的高光谱图像深度特征提取和分类方法,该方法具有提取局部空间关系的能力。
目前,稀疏表示也已被广泛应用于图像处理的很多方面,如图像压缩、图像去噪、图像检索和图像识别等[14],成为当前国际上的一个研究热点。基于字典学习和稀疏表示的高光谱图像分类方法也已取得了不错的效果。2008年,Siddiqui等[15]提出了稀疏主成分分析法,将稀疏表示方法应用到高光谱图像分类中;2010年,Chen等[16]等将稀疏表示方法应用在高光谱图像分类和目标检测上,并取得了不错的效果;2013年,Chen等[17]在前期研究的基础上提出将稀疏表示分类的核方法应用到高光谱图像的分类中。上述方法虽然取得了良好的效果,但仅考虑了光谱信息,虽然引入了类标签信息但却忽略了像元之间的空间相关性[18]。
为了解决上述问题,本文提出了一种将卷积神经网络和稀疏字典学习相结合的方法。本文方法的输入部分是由直接从高光谱图像中提取出的待分类像素点及其邻域像素的所有通道构成的立方体,这样可以保证同时提取高光谱图像数据中的空间特征和光谱特征。然后,本文采用结构简单的卷积神经网络对输入数据进行特征提取,获得含有空间信息和光谱信息的深层特征;之后针对高维特征中对分类结果影响较大的部分进行字典学习,得到稀疏表示,再利用分类器取得最终结果。本方法在提高分类精度的同时保证了方法的鲁棒性。
2 基本原理
2.1 卷积神经网络提取特征
深度卷积神经网络可以将样本在原空间的特征表示变换到新的特征空间,自动地学习得到层次化的特征表示[19]。相较于传统的识别方法,深层网络具有更多的网络层数和更为复杂的结构,因此具有更强的特征学习能力和特征表达能力[20]。可以说,网络的深度决定着模型的性能,但是随着网络深度的加深,网络会出现退化,分类识别的准确率很快达到饱和,出现层次越深错误率反而越高的现象。为了提取高光谱数据中有价值的特征,大部分高光谱分类方法通过加深网络来实现深层特征的提取,但用高光谱数据训练非常深的卷积神经网络仍然很困难,例如:梯度消失问题[21]所产生的信息丢失,网络中的每个处理层被激活后输出的较小的梯度,都会使激活和梯度的传播性很差,并且延长了成本函数。结果表明,深度卷积神经网络的准确度在达到饱和后会出现迅速下降的现象[22]。
针对上述问题,本文采用残差网络进行特征的提取[22],这一做法的主要目的就是解决网络的退化问题,以便能够成功地训练更深的网络。残差模块示意图如
残差网络与普通神经网络的区别在于,残差网络引入了跨层连接,或称短路连接,构造了残差模块。如果去掉跨层连接,并用H(x)表示相应的计算结果,那么在加入跨层连接后,F(x)与H(x)之间的关系式为
从(1)式可以看出,跨连模块计算的是不跨连时的残差,所以被称为残差模块。用{wi}表示残差模块的所有权值,那么残差模块的输出结果y为
式中:F(x,{wi})又称为残差映射(或残差函数),在忽略偏置的情况下
在计算残差模块时,F(x,{wi})要与x具有相同的维数。如果它们的维数不同,那么就需要引入一个权值ws对x进行线性投影,使它们的维数相同,即
在正向传播过程中,F(x)+x是由F(x)和x的加和得到的,并未引入额外的参数,所以不会影响原网络的复杂程度,仍旧可以使用反向传播算法进行网络训练。
2.2 稀疏表示与字典学习
稀疏表示通过稀疏基或字典中少量元素的线性组合形式来描述信号或图像。稀疏表示模型符合生物视觉系统的特性,可以描述高光谱图像像元的特性,并已被成功应用于高光谱混合像元的分解中[23]。感兴趣的图像被假定为与原子集合(称为字典)有关的稀疏表示,也就是说,每幅图像都可以由几个原子组成线性组合[24]。有了这样的模型,原子就能够描述图像内在结构的解释因素[25]。在本文方法中,可以将图像的稀疏表示解释为从高维特征中获取足够的低维稀疏信息,然后对图像进行重建。从数学角度来讲,稀疏表示则是对多维数据进行线性分解的一种表示方法[26]。
设字典学习部分输入的高维数据为X∈Rn×m,矩阵字典D=[d1,d2,…,dk]∈Rn×K(n 式中:A为稀疏矩阵,A=[α1,α2,…,αm]∈RK×m;ε表示一个极小的残差。 字典学习的根本目的是要找到一个最优的矩阵字典D形成X的构造基。稀疏表示与字典学习过程可以看作是一个优化问题,即 式中:λ为拉格朗日数乘子 采用K-SVD[27]方法对字典学习和稀疏表示进行更新。依据误差最小原则对误差项进行SVD分解,选择使误差最小的分解项作为更新的字典原子和对应的原子系数,经过不断迭代得到优化的解。2.3 基于卷积神经网络和稀疏字典学习的高光谱图像分类模型架构
本文所提方法包括卷积神经网络、稀疏字典学习以及分类器三部分。整体结构如
图 2. 基于卷积神经网络与稀疏编码的高光谱图像分类方法结构图
Fig. 2. Structure of hyperspectral image classification combined with convolutional neural network and sparse coding
1)通过卷积神经网络从高光谱图像数据中提取高维深层特征,如
式中:yi为输出层的输入数据对应的第i类输出概率;c为类别数。将特征向量x通过输出层激活后得到的预分类结果Lf(x)与真实分类标签Lt(x)计算得到的交叉熵作为损失函数,即
通过梯度下降法回调权重对卷积神经网络进行训练。利用3个公开数据集对网络进行训练,经过反复实验,得到最佳参数。卷积神经网络在完成网络训练后对整体数据I进行特征提取,得到具有空谱信息的深层特征X,卷积过程可表示为
2)采用K-SVD方法进行字典学习与稀疏编码,如
3)采用经典分类器SVM对得到的稀疏编码α进行分类,获得最终的分类结果。
3 分析与讨论
3.1 实验数据集
选择高光谱图像分类中的3个具有代表性的高光谱图像数据集(Indian Pines、Salinas和Pavia University)进行实验。在Indian Pines数据集中,各类别的数量分布不均匀,并且空间分辨率较低;Salinas数据集中的数据量较大;Pavia University数据集的光谱通道较少。每个数据集都具有不同的特性,可用于验证本模型是否可以在各种条件下获得良好的结果。
1) Indian Pines数据集。该数据集是由机载可视红外成像光谱仪(AVIRIS)于1992年对美国印第安纳州进行成像,然后截取145 pixel×145 pixel进行标注获得的,常被用作高光谱图像分类测试。该数据集包括玉米、燕麦和小麦等农作物。该数据集的空间分辨率为20 m,有16种感兴趣地物。每个像素有220个光谱通道,每个通道的波长为400~2500 nm。Indian Pines数据集的真实图像和标签图显示在
2) Salinas数据集。Salinas数据集同Indian Pines数据集一样,是由AVIRIS成像光谱仪在1992年拍摄的,是对美国加利福尼亚州Salinas山谷的成像。与Indian Pines数据集类似,它也包括若干与农业相关的地物,例如蔬菜、裸露的土壤和葡萄园田地等。Salinas数据集包含512×217个3.7 m空间分辨率的像素点,每个像素由224个光谱通道组成,包括16类感兴趣地物。每个通道的波长为400~2500 nm。Salinas数据集的真实图像和标签图显示在
3) Pavia University数据集。该数据集是德国机载反射光学光谱成像仪在2003年对意大利帕维亚城进行成像的一部分高光谱数据。它是一个典型的城市形象,包括许多建筑材料,如砖块、沥青和金属板等。Pavia University数据集包含610×340个具有1.3 m空间分辨率的像素点,每一个像素由103个光谱通道组成,包括9类感兴趣地物。每个通道覆盖的波长范围为430~860 nm。该数据集的实际图像和标签图显示在
表 1. Indian Pines数据集中训练样本和测试样本的数量
Table 1. Quantity of training and test samples in Indian Pines dataset
|
3.2 实验参数设置
最终确定的基于卷积神经网络和稀疏字典学习的高光谱图像分类方法的参数是通过反复实验得到的。在实验过程中,从每一类地物中随机选取20%的样本作为训练集,其余部分作为测试集。采用卷积神经网络提取特征时,使用18层残差网络结构,输入部分修改为27×27×S的高光谱数据立方体,以适应高光谱数据的结构特征,网络内部结构不变,包含卷积层、池化层等。学习率设置为0.006,50次迭代,使用Adam优化器,每100个数据为一个批次进行训练。在稀疏字典学习部分,采用K-SVD[18]字典学习方法,输入数据为经训练后的卷积神经网络提取的高维特征向量,训练集和测试集样本的分布与卷积神经网络中的相同。从每类训练样本中随机选取20%的样本作为初始化字典的原子,(6)式中的λ设置为0.2,进行20次迭代。
表 2. Salinas数据集中训练样本和测试样本的数量
Table 2. Quantity of training and test samples in Salinas dataset
|
表 3. Pavia University数据集中训练样本和测试样本的数量
Table 3. Quantity of training and test sample in Pavia University dataset
|
所有的实验都是在相同的环境下进行的。硬件平台是Intel Core i7-7820HK处理器(八核) 、8M L3缓存、频率为2800 MHz的16 GB DDR4内存、8 GB DDR5显存的Nvidia GeForce GTX 1070 GPU以及7200 RPM的1 TB HDD。软件平台包括 Windows 10 Professiona操作系统,编程环境为TensorFlow-gpu 1.3.0、Keras 2.1.1、Python 3.5.2以及MATLAB R2017b。
3.3 实验结果与分析
本实验选择5种著名的高光谱图像分类算法作为比较方法,它们分别是径向基函数支持向量机(RBF-SVM)[28]、半拟卷积神经网络(Se-2D-CNN)[29]、三维卷积神经网络(3D-CNN)[13]、光谱稀疏编码分类(SSC)[30]、同步匹配追踪(SOMP)[8]。其中:RBF-SVM和SSC侧重于光谱信息,Se-2D-CNN和3D-CNN侧重于空间信息,而本算法则同时考虑了光谱信息和空间信息。本文从分类的定量结果和视觉效果图上比较5种分类算法的性能。
为了量化分类器的精度,将总体分类精度(OA)、平均分类精度(AA)和Kappa系数(k)用作评估度量。为了获得稳定的结果,本研究团队对每种方法都重复进行20次实验,取每个度量的平均值作为令人信服的结果,以避免实验结果的随机性。
本文对比了前面所提5种算法与本文算法在Indian Pines、Salinas和Pavia University数据集上的效果。在RBF-SVM算法中,参数r和C分别设置为0.005和100;在Se-2D-CNN中,使用学习率为0.01的Adam优化器迭代训练500次,其余参数使用默认设置;在3D-CNN中,每一层的卷积核都被缩减至32,其他设置不变;SSC与SOMP中的参数设置分别按照文献[
30]和[8]中给出的进行设置。
从
表 4. 各算法在Indian Pines数据集上的分类准确率
Table 4. Classification accuracy of each algorithm in Indian Pines dataset
|
图 6. 各算法在Indian Pines数据集上的分类结果。(a)标签图;(b) RBF-SVM;(c) Se-2D-CNN;(d) 3D-CNN;(e) SSC;(f) SOMP;(g)本文算法
Fig. 6. Classification of each algorithm in Indian Pines dataset. (a) Lable; (b) RBF-SVM; (c) Se-2D-CNN; (d) 3D-CNN; (e) SSC; (f) SOMP; (g) our algorithm
对比只提取了空间信息的Se-2D-CNN以及在空间信息基础上增加光谱信息的3D-CNN的结果可以看出,在三个数据集上,3D-CNN的准确率均比Se-2D-CNN的效果更好,说明光谱信息在高光谱图像分类中具有重要作用。将只考虑光谱信息的SSC和SOMP算法与本文算法的结果进行对比可以看出,本文算法在三个数据集上的效果均比前两者要好,可见引入空间信息对高光谱图像分类准确率有显著的提升作用。
由
表 5. 各算法在Salinas数据集上的分类准确率
Table 5. Classification accuracy of each algorithm in Salinas dataset
|
图 7. 各算法在Salinas数据集上的分类结果图。(a)标签图;(b) RBF-SVM;(c) Se-2D-CNN;(d) 3D-CNN;(e) SSC;(f) SOMP;(g)本文算法
Fig. 7. Classification of each algorithm in Salinas dataset. (a) Lable; (b) RBF-SVM; (c) Se-2D-CNN; (d) 3D-CNN; (e) SSC; (f) SOMP; (g) our algorithm
由
表 6. 各算法在Pavia University数据集上的分类准确率
Table 6. Classification accuracy of each algorithm in Pavia University dataset
|
图 8. 各算法在Pavia University数据集上的分类结果。(a)标签图;(b) RBF-SVM;(c) Se-2D-CNN;(d) 3D-CNN;(e) SSC;(f) SOMP;(g)本文算法
Fig. 8. Classification of each algorithm in Pavia University dataset. (a) Lable; (b) FBF-SVM; (c) Se-2D-CNN; (d) 3D-CNN; (e) SSC; (f) SOMP; (g) our algorithm
由
4 结论
本文提出了联合卷积神经网络与稀疏编码的高光谱数据分类算法。该算法首先利用卷积神经网络对高光谱图像同时提取光谱特征和空间特征,然后再将提取出的高维特征通过字典学习进行稀疏编码,最后将稀疏编码送入分类器进行分类。本文算法可以同时提取高光谱数据的光谱信息和空间信息,提升了分类准确率。与其他5种现有的表现效果良好的算法相比,本文算法的分类精度更高,受数据集结构的影响小,在个别类样本数量极小的Indian Pines数据集上也取得了令人满意的结果。
实验结果表明,本文算法与其他算法相比非常具有竞争力,分类结果显著提升。未来本研究团队将继续致力于寻求可以同时提取光谱信息和空间信息的方法,高光谱数据的稀疏性还有待更好地利用。此外,本研究团队还会深入研究卷积神经网络和稀疏编码的参数回调原理,尝试将两部分同时进行训练,实现端到端的高光谱图像分类。
[1] 李非燕, 霍宏涛, 李静, 等. 基于多特征和改进稀疏表示的高光谱图像分类[J]. 光学学报, 2019, 39(5): 0528004.
[2] 桂江生, 吴子娴, 顾敏, 等. 高光谱成像技术在农业中的应用概述[J]. 浙江农业科学, 2017, 58(7): 1101-1105.
Gui J S, Wu Z X, Gu M, et al. Overview of application of hyperspectral imaging in agriculture[J]. Zhejiang Agricultural Science, 2017, 58(7): 1101-1105.
[3] 刘立新, 李梦珠, 赵志刚, 等. 高光谱成像技术在生物医学中的应用进展[J]. 中国激光, 2018, 45(2): 0207017.
[4] 刘建学, 杨莹, 韩四海, 等. 高光谱成像技术在食品品质无损检测中的应用[J]. 食品工业科技, 2016, 37(3): 389-393.
Liu J X, Yang Y, Han S H, et al. Application of hyperspectral imaging technology in nondestructive detection of food quality[J]. Science and Technology of Food Industry, 2016, 37(3): 389-393.
[5] 万余庆, 张凤丽, 闫永忠. 高光谱遥感技术在水环境监测中的应用研究[J]. 国土资源遥感, 2003, 15(3): 10-14.
Wan Y Q, Zhang F L, Yan Y Z. The application of the hyperspectral remote sensing technology to water environment monitoring[J]. Remote Sensing for Land & Resources, 2003, 15(3): 10-14.
[6] 叶珍, 白璘, 粘永健. 基于Gabor特征与局部保护降维的高光谱图像分类算法[J]. 光学学报, 2016, 36(10): 1028003.
[7] Camps-Valls G, Bruzzone L. Kernel-based methods for hyperspectral image classification[J]. IEEE Transactions on Geoscience and Remote Sensing, 2005, 43(6): 1351-1362.
[8] Chen Y, Nasrabadi N M, Tran T D. Hyperspectral image classification using dictionary-based sparse representation[J]. IEEE Transactions on Geoscience and Remote Sensing, 2011, 49(10): 3973-3985.
[9] Haut J M, Paoletti M, Plaza J, et al. Cloud implementation of the K-means algorithm for hyperspectral image analysis[J]. The Journal of Supercomputing, 2017, 73(1): 514-529.
[10] LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[11] 刘玉珍, 蒋政权, 马飞, 等. 基于超图和卷积神经网络的高光谱图像分类[J]. 激光与光电子学进展, 2019, 56(11): 111007.
[13] Chen Y S, Jiang H L, Li C Y, et al. Deep feature extraction and classification of hyperspectral images based on convolutional neural networks[J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 54(10): 6232-6251.
[14] Srinivas U, Suo Y M, Dao M, et al. Structured sparse priors for image classification[J]. IEEE Transactions on Image Processing, 2015, 24(6): 1763-1776.
[15] SiddiquiS, RobilaS, PengJ, et al.Sparse representations for hyperspectral data classification[C]∥2008 IEEE International Geoscience and Remote Sensing Symposium.New York: IEEE Press, 2008: 577- 580.
[16] ChenY, Nasrabadi NM, Tran TD. Classification for hyperspectral imagery based on sparse representation[C]∥2010 2nd Workshop on Hyperspectral Image and Signal Processing: Evolution in Remote Sensing. 14-16 June 2010, Reykjavik, Iceland. New York: IEEE Press, 2010: 1- 4.
[18] Sun W W, Yang G, Du B, et al. A sparse and low-rank near-isometric linear embedding method for feature extraction in hyperspectral imagery classification[J]. IEEE Transactions on Geoscience and Remote Sensing, 2017, 55(7): 4032-4046.
[19] van der Maaten L, Hinton G E. Visualizing data using t-SNE[J]. Journal of Machine Learning Research, 2008, 9: 2579-2605.
[20] 尹宝才, 王文通, 王立春. 深度学习研究综述[J]. 北京工业大学学报, 2015, 41(1): 48-59.
Yin B C, Wang W T, Wang L C. Review of deep learning[J]. Journal of Beijing University of Technology, 2015, 41(1): 48-59.
[21] Srivastava RK, GreffK, Schmidhuber J. Training very deep networks[Z/OL]. arXiv: 1507. 06228. [2015-11-23]. https:∥arxiv.org/abs/1507. 06228.
[22] He KM, Zhang XY, Ren SQ, et al.Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 27-30 June 2016, Las Vegas, NV, USA.New York: IEEE Press, 2016: 770- 778.
[23] Gribonval R, Jenatton R, Bach F, et al. Sample complexity of dictionary learning and other matrix factorizations[J]. IEEE Transactions on Information Theory, 2015, 61(6): 3469-3486.
[24] 董安国, 李佳逊, 张蓓, 等. 基于谱聚类和稀疏表示的高光谱图像分类算法[J]. 光学学报, 2017, 37(8): 0828005.
[26] HaweS, SeibertM, KleinsteuberM. Separable dictionary learning[C]∥2013 IEEE Conference on Computer Vision and Pattern Recognition. 23-28 June 2013, Portland, OR, USA.New York: IEEE Press, 2013: 438- 445.
[27] Aharon M, Elad M, Bruckstein A. K-SVD: an algorithm for designing overcomplete dictionaries for sparse representation[J]. IEEE Transactions on Signal Processing, 2006, 54(11): 4311-4322.
[28] Waske B, van der Linden S, Benediktsson J A, et al. Sensitivity of support vector machines to random feature selection in classification of hyperspectral data[J]. IEEE Transactions on Geoscience and Remote Sensing, 2010, 48(7): 2880-2889.
[29] Liu B, Yu X C, Zhang P Q, et al. A semi-supervised convolutional neural network for hyperspectral image classification[J]. Remote Sensing Letters, 2017, 8(9): 839-848.
Article Outline
孙劲光, 李燕北, 魏宪, 王万里. 结合卷积神经网络和稀疏编码的高光谱图像分类[J]. 激光与光电子学进展, 2020, 57(18): 182802. Jinguang Sun, Yanbei Li, Xian Wei, Wanli Wang. Hyperspectral Image Classification Combined with Convolutional Neural Network and Sparse Coding[J]. Laser & Optoelectronics Progress, 2020, 57(18): 182802.