Print

发布时间: 2021-08-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.210103
2021 | Volume 26 | Number 8




    高光谱图像分类    




  <<上一篇 




  下一篇>> 





高光谱图像小样本分类的卷积神经网络方法
expand article info 吴鸿昊1, 王立国1,2, 石瑶1
1. 哈尔滨工程大学信息与通信工程学院, 哈尔滨 150001;
2. 大连民族大学信息与通信工程学院, 大连 116600

摘要

目的 与传统分类方法相比,基于深度学习的高光谱图像分类方法能够提取出高光谱图像更深层次的特征。针对现有深度学习的分类方法网络结构简单、特征提取不够充分的问题,提出一种堆叠像元空间变换信息的数据扩充方法,用于解决训练样本不足的问题,并提出一种基于不同尺度的双通道3维卷积神经网络的高光谱图像分类模型,来提取高光谱图像的本质空谱特征。方法 通过对高光谱图像的每一像元及其邻域像元进行旋转、行列变换等操作,丰富中心像元的潜在空间信息,达到数据集扩充的作用。将扩充之后的像素块输入到不同尺度的双通道3维卷积神经网络学习训练集的深层特征,实现更高精度的分类。结果 5次重复实验后取平均的结果表明,在随机选取了10%训练样本并通过8倍数据扩充的情况下,Indian Pines数据集实现了98.34%的总体分类精度,Pavia University数据集总体分类精度达到99.63%,同时对比了不同算法的运行时间,在保证分类精度的前提下,本文算法的运行时间短于对比算法,保证了分类模型的稳定性、高效性。结论 本文提出的基于双通道卷积神经网络的高光谱图像分类模型,既解决了训练样本不足的问题,又综合了高光谱图像的光谱特征和空间特征,提高了高光谱图像的分类精度。

关键词

高光谱图像; 有监督分类; 空谱结合; 卷积神经网络(CNN); 深度学习; 数据扩充

Convolution neural network method for small-sample classification of hyperspectral images
expand article info Wu Honghao1, Wang Liguo1,2, Shi Yao1
1. College of Information and Communications Engineering, Harbin Engineering University, Harbin 150001, China;
2. College of Information and Communication Engineering, Dalian Minzu University, Dalian 116600, China
Supported by: National Natural Science Foundation of China(62071084)

Abstract

Objective Classification is a major research task in hyperspectral remote sensing image processing. Extracting appropriate features from hyperspectral remote sensing images is a prerequisite to ensure the accuracy and effectiveness of classification. Traditional feature extraction methods can only extract single, shallow spectral or spatial features and have difficulty extracting deep spatial-spectral features. This limitation results in poor classification accuracy. Compared with traditional classification methods, hyperspectral image classification method based on deep learning model can extract deeper features of hyperspectral image. However, the existing deep learning methods can classify hyperspectral images but have low classification accuracy because of their simple network structure and insufficient feature extraction. Moreover, the parameters of deep network are hundreds of thousands of millions, which need a large number of labeled training samples and longer time to complete the model training. However, manual annotation of hyperspectral images is a time-consuming and laborious project, and only a few labeled samples can usually be used. Therefore, constructing a depth network model for hyperspectral image classification with a small number of training samples is a key research problem. A data expansion method of stacking pixel spatial transformation information is proposed to address the problems of simple network structure and insufficient feature extraction of existing classification methods based on deep learning. A hyperspectral image classification model based on different scales of dual-channel 3D convolutional neural network is also proposed to extract the essential spatial features of hyperspectral image. Method On the one hand, the stacking space transform information method is used to expand the training samples for solving the problem of insufficient training samples in the process of hyperspectral image classification. On the other hand, the dual-channel convolutional neural network is used, and its overall structure is composed of preprocessing, data expansion, and dual-channel convolutional neural network (DC-CNN). First, the hyperspectral image is preprocessed to transform the pixels into 3×3 and 5×5 pixel blocks containing certain spatial information as the unit to be processed. Then, the unit to be processed uses the data expansion method of stacking spatial transformation information to expand the data. The expanded dataset is transformed into shape to meet the input dimension of dual-channel convolutional neural network. Then, the pixel blocks of different sizes are input into the branch convolution of different scales of DC-CNN, and they are combined with the spatial spectrum features extracted from the two channels for training to improve the generalization ability of the network. The spatial-spectral features of hyperspectral images can be more comprehensively and fully extracted using different convolution branches to process different sizes of pixel blocks. The information loss caused by dimension reduction can be reduced, and the classification accuracy can be improved. The method of stack space transform information enriches the potential space information of the center pixel and expands the dataset by rotating each pixel and its adjacent pixels, row column transform, and other operations. The expanded pixel blocks are input into dual-channel 3D convolutional neural networks with different scales to learn the deep features of the training set and achieve higher accuracy classification. Three popular hyperspectral image classification methods are selected and compared with this method to verify its effectiveness. The three methods are 2D convolutional neural network (2D-CNN), 3D convolutional neural network (3D-CNN), and siamese neural network (SNN). The network structure of 3D-CNN is the same as that of 3×3 branches of DC-CNN, which can be considered a single-channel network model of DC-CNN. Result Experimental results show that the Indian Pines and Pavia University datasets achieve 98.34% and 99.63% of the overall classification accuracy, respectively. The running time of different algorithms is also compared. The running time of the proposed algorithm is relatively shorter than that of the comparison algorithm, and this feature ensures the efficiency of the classification model. In addition, this study analyzes the influence of different convolution layers on the classification performance. It verifies that the convolution neural network composed of five convolution layers has the strongest feature extraction ability for hyperspectral images. The proposed method also has good classification performance on two groups of real hyperspectral image datasets. Specifically, the proposed method has certain generalization ability and advantages in running time. In this study, dual-channel convolution neural network is used to complete the deep spatial-spectral feature fusion of hyperspectral image, which fully extracts the hidden information of hyperspectral image and is conducive to the application of deep learning model in hyperspectral image classification. In the follow-up research, we can further explore the effect of multichannel convolution neural network, such as three- and four-channel convolution neural networks in hyperspectral image classification. The application of deep learning method in hyperspectral image can also be promoted. Conclusion The performance of hyperspectral image classification model with limited training samples is not ideal. Thus, this study proposes a data expansion method of stacking pixel neighborhood spatial information and designs a hyperspectral image classification method based on dual-channel convolutional neural network, which is called DC-CNN. The data expansion method of stacking pixel neighborhood spatial information conducts spatial rotation and transformation on different scale pixel blocks to expand the number of training samples and obtain the hidden spatial information of the center pixel. This method solves the problem of insufficient training samples of depth model and insufficient spatial information extraction of hyperspectral image in feature extraction process. It inputs pixel blocks of different scales through DC-CNN network framework to comprehensively extract more abundant spatial information, completes the deep spatial-spectral information extraction, and inputs the fused spatial spectral features into softmax classifier to achieve more accurate classification.

Key words

hyperspectral image; supervised classification; spatial spectrum combination; convolutional neural network(CNN); deep learning; data expansion

0 引言

分类是高光谱遥感图像的一个研究热点。高光谱遥感图像是通过搭载在不同空间平台上的高光谱传感器,在电磁波谱的紫外、可见光、近红外和中红外区域,以数十至数百个连续且细分的光谱波段对目标区域同时成像得到的,其光谱分辨率很高,甚至能够达到纳米数量级(王立国等,2018)。因此高光谱遥感图像在获得地表图像信息的同时,也获得其光谱信息,做到光谱与图像的结合。高光谱图像与普通遥感图像相比,具有更加丰富的空间信息和光谱信息。

对高光谱遥感图像提取合适的特征是确保分类的准确性以及有效性的一个前提。但是由于高光谱图像具有高维、信息冗余等特性,会使得其在高维特征空间出现Hughes(杜培军等,2016)现象,降低分类精度。针对这个问题,通常在进行分类之前会对高光谱图像进行降维处理,降维方法包括文献(Licciardi等,2012Villa等,2011Bandos等,2009)的方法等。传统的特征提取方法往往只能提取出单一的、浅层的光谱特征或者空间特征,很难提取深层的空谱结合特征,造成分类精度不够理想。神经网络以及深度学习的方法迅速发展,深度网络模型在数据从前向后传播以及误差反向传播的过程中可以慢慢地学习到数据更加全面的、深层次的综合特征。这些更深的特征对于提高高光谱遥感图像的分类精度有很重要的作用。

Chen等人(2014)使用由多层稀疏自编码器(stacked auto encoder, SAE)组成的深度网络来获得高光谱遥感图像的深度特征,并根据图像分割理论获得了像素级的分类结果。深度置信网络(deep belief networks, DBN)也应用到高光谱遥感图像分类(Chen等,2015)中。尽管这些深度学习模型可以有效地提取出高光谱遥感图像的深层次特征,并且有较好的分类精度,但是,一旦将输入转换为1维向量,模型就会失去高光谱图像的空间特征,造成了信息量的浪费,影响分类精度(齐永锋等,2020)。卷积神经网络(convolutional neural network, CNN)也在高光谱图像分类领域取得了很好的效果。Hu等人(2015)最早使用1维卷积神经网络对高光谱图像进行分类,该方法仅仅使用了高光谱图像的光谱特征。Chen等人(2016)Li等人(2017b)使用了2维卷积神经网络来处理高光谱图像,能够很好地结合高光谱图像中的光谱信息和空间信息。Yang等人(2018)首次使用双通道卷积神经网络来处理高光谱遥感图像。其网络模型使用1D-CNN来提取光谱特征,2D-CNN来提取空间特征。综合两种特征进行分类,取得了很好的效果。同年,孪生神经网络(siamese neural network, SNN)也被应用于高光谱图像分类(Zhao等,2018)。SNN的结构也为双通道,并且两个通道通过权值共享来实现“孪生”,然后通过具有给定标签的线性全连接层来学习两个深层特征之间的绝对差异, 实现分类。3维卷积神经网络也逐渐应用到了高光谱图像分类中(Li等,2017aHe等,2017李冠东等,2019)。使用该方法无需对高光谱图像进行复杂的预处理,可以使高光谱图像保持原有的结构,并提取出需要的空谱信息进行分类,能够最大化地提高分类精度。

以上方法虽然可以对高光谱图像进行分类,但是由于其网络结构简单,特征提取不够充分,导致分类精度不高。并且,深度网络中动辄几十万、上百万的参数量需要大量有标签的训练样本以及更长的训练时间来完成模型的训练。但是对高光谱图像进行人工标注是一个费时费力的工程,通常只有很少的有标注样本可以使用。因此,如何在少量训练样本的情况下,构造深度网络模型对高光谱图像进行分类是一个重点研究问题。针对这些问题,本文结合高光谱图像和深度学习模型的特点,提出一种堆叠空间变换信息的数据扩充方法,并构造一种双通道卷积神经网络(dual-channel convolutional neural network, DC-CNN)来进行高光谱图像分类。一方面,通过堆叠空间变换信息方法对训练样本进行扩充,以解决深度学习模型在进行高光谱图像分类过程中的训练样本不足的问题。另一方面,使用双通道卷积神经网络,让不同的卷积支路处理不同大小的像素块,可以更加全面、充分地提取高光谱图像的空谱特征,提高分类精度。

1 基本原理

1.1 堆叠空间变换信息的数据扩充方法

虽然使用深度学习方法进行高光谱图像分类可以提取高光谱图像更全面、更深层的特征,但是这些方法均在有足够多的训练样本去训练网络的前提下才能取得令人满意的结果。而高光谱图像的训练样本有限,这在一定程度上限制了深度学习模型的学习能力,使其很难提取出高光谱图像中的典型特征,从而影响高光谱图像的分类精度。为了解决这一问题,本文提出一种堆叠空间变换信息的数据扩充方法,该方法通过中心像素点及其邻域像素进行空间旋转或行列变换操作,扩展每一中心像素点的周边像素可能出现的情况,丰富中心像素点的空间信息。既可以达到扩充数据集的目的,又可以使得深度学习模型从扩充之后的训练样本中学习到更加多样的空间信息,更加充分地提取“空谱结合”特征,实现更加准确的分类。该方法步骤如下:

1) 对于任意像元选择合适的邻域大小(3×3或5×5),并对每个像元进行编号,中心像元编号为1保持不变。如果像元位于图像边缘位置,则在没有邻近像元的位置补0。如图 1所示,选择大小为3×3的像素块。

图 1 3×3像素块示意图
Fig. 1 3×3 pixel block diagram

2) 中心像元保持不变,对邻域像元进行顺时针旋转、逆时针旋转、行列平移变换等操作进行数据扩充。每旋转或变换一次,则增加1个与中心像元对应的样本。以顺时针旋转为例,如图 2所示。

图 2 像素块旋转示意图
Fig. 2 Schematic diagram of pixel block rotation

3) 重复步骤2),经过多次旋转或变换,可以扩充得到更多的样本。如图 3为通过顺时针旋转完成8倍数据扩充。

图 3 通过旋转完成8倍数据扩充
Fig. 3 Completes 8-fold data expansion by clockwise rotation

1.2 双通道卷积神经网络

为了利用中心像元邻域范围内更多的空间信息,同时为了提取高光谱图像的光谱特征以及空间特征,设计了双通道卷积神经网络DC-CNN。选择不同尺度的空间像素块作为DC-CNN的输入。DC-CNN的不同支路分别处理不同尺度的像素块,最后再进行综合处理、分类。

1.2.1 卷积神经网络

典型的卷积神经网络包括卷积层(Conv)、激活函数层、池化层(max pooling)、全连接层(full connection, FC)以及输出层。本文使用的激活函数为线性整流单元(rectified linear unit, ReLU), 输出层使用的softmax函数。具体流程如图 4所示。为了加速网络训练和抑制过拟合现象的发生,图中增加了批归一化(batch normalization, BN)层。

图 4 卷积神经网络基本结构
Fig. 4 Basic structure of convolutional neural network

1) 输入到卷积层的数据可以是未经处理的原图像,也可以是经过预处理之后的图像或者像元。数据经过卷积层进行卷积运算,从而得到输出特征图。

假设输入的图像为$\boldsymbol{X}$, 则卷积层输出的特征图为

$ \boldsymbol{H}=\boldsymbol{X} \otimes \boldsymbol{w}+b $ (1)

式中, $\boldsymbol{w}$表示权值,$b$表示偏置,$ \otimes $表示卷积符号,$\boldsymbol{H}$为输出的特征图。

2) BN层的作用是调整各层的激活值分布,使其具有适当的广度,让学习模型能够顺利地进行学习。BN层有以下优点:

(1) 可以使学习更快进行;

(2) 对于初始值的依赖降低;

(3) 可以很好地抑制过拟合问题。

BN层以学习时的样本批处理大小$(Batchsize)$ 为单位进行正规化,使其数据分布为:均值为0、方差为1。当$Batchsize=m$ 时,其数学表达式为

$ \mu_{B} \leftarrow \frac{1}{m} \sum\limits_{i=1}^{m} x_{i} $ (2)

$ \sigma_{B}^{2} \leftarrow \frac{1}{m} \sum\limits_{i=1}^{m}\left(x_{i}-\mu_{B}\right)^{2} $ (3)

$ \hat{x}_{i} \leftarrow \frac{x_{i}-\mu_{B}}{\sqrt{\sigma_{B}^{2}+\varepsilon}} $ (4)

式中,$μ_{B}, σ^2_{B}$$m$ 个输入数据的集合$\boldsymbol{B}=\{x_{1}, x_{2}, …, x_{m}\}$ 的均值和方差,$ε$ 是一个微小值,防止除数为0。通过式(4)将输入数据的分布变换为均值为0、方差为1的数据$\{ {\hat x}_{1}, {\hat x}_{2}, …, {\hat x}_{m}\}$

接着对正规化后的数据进行缩放和平移,得到新的分布$\{y_{1}, y_{2}, …, y_{m}\}$

$ y_{i} \leftarrow \gamma \hat{x}_{i}+\beta $ (5)

式中,$γ$$β$是需要学习的参数。

将整个BN过程整理为

$ y_{i}=B N\left(x_{i}\right)=\gamma \cdot\left(\frac{x_{i}-\mu\left(x_{i}\right)}{\sqrt{\sigma\left(x_{i}\right)^{2}+\varepsilon}}\right)+\beta $ (6)

3) 激活函数层的作用是将线性模型转变为可以逼近任意函数的非线性模型。本文使用的激活函数为ReLU(rectified linear unit)函数,表达式为

$ {ReLU}(x)= \begin{cases}x & x>0 \\ 0 & x \leqslant 0\end{cases} $ (7)

使用ReLU函数的好处有:

(1) 可以减少计算量;

(2) 抑制梯度消失的情况;

(3) 缓解过拟合问题。

4) 池化(pooling)包括最大值池化(max pooling)和平均池化(average pooling),它们的主要作用都是进行下采样,另外也是对特征进行降维处理,降低网络复杂度,减少计算量,减小过拟合,同时还能提高模型的容错率。最大值池化是通过定义一个空间邻域窗口,并从窗口内的修正特征图中取出最大的像素值。而平均池化则是对空间邻域窗口内的修正特征图求平均像素值。二者中最大值池化被证明效果更好,因此本文采用最大值池化。

5) 全连接层(FC)在卷积神经网络中的作用主要是整合卷积层提取到的抽象特征,使其起到分类器的作用。

6) 最后的输出层使用的是softmax函数。softmax函数可以将全连接层输出的特征进行归一化处理后再进行输出,即

$ P_{i}=\frac{\mathrm{e}^{Y_{i}}}{\sum\limits_{j=1}^{T} \mathrm{e}^{Y_{j}}}, \quad i=1,2, \cdots, T $ (8)

式中,$\boldsymbol{Y}$$\boldsymbol{X}$经过全连接层后的输出。

对于高光谱像元来说,其所属类别可以表示为

$ {class}(X)=\underset{i=1,2, \cdots, T}{\arg \max } P_{i} $ (9)

1.2.2 双通道卷积神经网络DC-CNN

单层的卷积神经网络的特征提取能力有限,在这种不充分的特征提取的情况下对高光谱图像进行分类往往不能得到令人满意的结果。为了获得更深层次的、更充分的空间特征以及光谱特征,需要增加卷积神经网络的层数,加深其网络深度。但是随着网络深度的增加,其计算时间也会大幅度增加。因此,为了获取高光谱像元的更加真实、完善的空间特征以及光谱特征,同时在保证其计算时间的基础上,设计了双通道卷积神经网络。不同通道处理不同尺度的像素块,针对中心像元获取更加充分的空谱特征,最后进行综合处理。其中像素块分别为3×3和5×5两种尺度。为了方便描述,将由一层卷积层、一层BN层以及一层激活函数层组成的结构称为一个卷积单元(convolution unit),如图 5。详细的DC-CNN网络结构如图 6所示。

图 5 卷积单元
Fig. 5 Convolution unit
图 6 DC-CNN网络结构
Fig. 6 DC-CNN network structure

图 6中, $\boldsymbol{X}$, $\boldsymbol{Y}, b, c$分别代表输入高光谱像元、输出类属概率、高光谱图像波段数、高光谱图像类别数。$n$代表高光谱像元在经过前面一系列网络降维作用后的波段数,计算过程为

$ n=\left[\frac{b-44}{12}\right] $ (10)

式中,[]表示取整,该网络的损失函数为交叉熵误差函数,即

$ { Loss }=-\frac{1}{N} \sum\limits_{n} \sum\limits_{k} t_{n k} \log y_{n k} $ (11)

式中,假设数据有$N$个,$t_{nk}$, $y_{nk}$表示第$n$个数据的第$k$个元素的值($y_{nk}$是神经网络的输出,$t_{nk}$是监督数据)。

1.2.3 总体结构

综上,本文提出了基于DC-CNN的高光谱图像分类方法,实现了对高光谱像元更深层次的空谱结合特征的提取以及分类。如图 7所示,其总体结构由预处理、数据扩充和DC-CNN这3部分组成。

图 7 本文方法总体结构
Fig. 7 Overall structure of the proposed method

首先将高光谱图像经过预处理使像元变换成包含一定空间信息的尺度为3×3以及5×5的像素块(理论上像素块可以采用其他尺度,并且可以推知,尺度越大分类精度也会越高,同时复杂度也会越高。出于对实验设备性能以及兼顾精度与复杂度的考虑,本文选取了3×3和5×5的像素块)作为待处理单元,然后对待处理单元使用堆叠空间变换信息的数据扩充方法进行数据扩充,将扩充之后的数据集进行形状变换,使其满足双通道卷积神经网络的输入维度。之后将不同大小的像素块分别输入到DC-CNN的不同尺度的支路卷积,结合两个通道提取到的空谱特征进行训练,以提高网络的泛化能力。

需要注意的是数据扩充方法只在训练过程中使用,在测试过程中无需使用该方法。

2 实验数据及仿真分析

2.1 实验数据集介绍

实验使用的高光谱图像数据集为Indian Pines和Pavia University两个具有代表性的数据集来检验DC-CNN的分类性能。其中Indian Pines数据集中地物类别均为庄稼,不同类别之间的光谱曲线较为相似,而且样本分布并不均匀。又因其空间分辨率约为20 m,所以有较多的混合像元,会对分类造成难度。而Pavia University数据集中的地物类别包括树、沥青道路和牧场等,光谱曲线区分更加明显,其空间分辨率为1.3 m,所以混合像元较少,更容易正确分类。如表 1所示,这两个数据集在使用的高光谱传感器、空间分辨率、波段数和数据集大小、样本种类等方面有较大差异,这样更能体现出本文方法的分类性能和泛化能力。

表 1 高光谱图像数据集
Table 1 Hyperspectral image dataset

下载CSV
Indian Pines Pavia University
成像光谱仪 AVIRIS ROSIS
光谱范围/nm 400~2 500 430~860
波段数 200 103
像元数/像素 145×145 610×340
空间分辨率/m 20 1.3
样本数 10 249 42 776
地物类别数 16 9

2.2 实验环境及参数设置

本文实验的计算机具体配置为Intel(R) Core(TM) i7-4710MQ CPU @ 2.50 GB处理器,8 GB运行内存,NVIDIA GeForce GTX 965 M显卡,4 GB显存。软件环境为在Windows7下的Python 3.8.3和tensorflow-gpu 2.3.0。

实验中模型的网络结构的参数设置如图 6所示,对于不同的数据集除了输入、输出层需要在维度上进行必要的改动之外,其余参数保持不变,卷积步长皆为1。在网络训练过程中,使用自适应学习速率的随机梯度下降优化方法Adam(Kingma和Ba,2015)更新误差,其初始学习速率设置为0.001,一次动量为0.9,二次动量为0.999。由于实验设备限制,模型的批处理大小设置为128,并且使用堆叠空间变换信息的数据扩充方法对训练样本进行8倍扩充。训练集和测试集分配的样本比例为10%和90%,该数据集的划分是对每一类样本随机打散后按照比例进行抽取,保证了样本的随机性。并且,本文所有实验数据均为在随机划分数据集的情况下重复进行5次的实验结果的平均值。

为了对分类结果进行定量的对比、评价,需要引入一些评价指标。常用的评价指标有:总体分类精度(overall accuracy, OA)、平均分类精度(average accuracy, AA)和Kappa系数。下面对这3个评价指标进行一些简单介绍。

1) 总体分类精度统计了正确分类样本的总数,可以直观地展示分类结果。计算为

$ O A=\frac{1}{N} \sum\limits_{i=1}^{c} m_{i i} $ (12)

2) 平均分类精度是统计每一类被正确分类的样本与该类样本总数的比值的均值。计算为

$ A A=\frac{1}{c} \sum\limits_{i=1}^{c} \frac{m_{i i}}{N_{i}} $ (13)

3) Kappa系数也是一种基于混淆矩阵的计算精度的方法。计算为

$ { Kappa }=\frac{N \times \sum\limits_{i=1}^{c} m_{i i}-\sum\limits_{i=1}^{c} N \times m_{i i}}{N^{2}-\sum\limits_{i=1}^{c} N \times m_{i i}} $ (14)

式中,$c$表示总的类别数量,$N_{i}$表示第$i$类的样本数量,$N$表示样本总数量。$\boldsymbol{m}$是一个大小为$c$×$c$的混淆矩阵,是由分类结果和地表真实值进行比较计算得出的。$m_{ij}$表示第$j$类被识别成第$i$的样本数。

2.3 实验仿真

为了验证本文方法的有效性,选取了目前国际上流行的3种高光谱图像分类方法与本文方法进行对比。这3种方法分别是2D卷积神经网络(2D-CNN)(Makantasis等,2015)、3D卷积神经网络(3D-CNN)(李冠东等,2019)和孪生神经网络(SNN)(Zhao等,2018),在这些方法对应的文献中都通过仿真实验验证了这3种方法在一定程度上表现出良好的分类性能,因此本文选取这3种方法作为对比实验, 并且对于每种算法除训练样本及测试样本数量与原文不同之外,其他参数保持不变。另外,本文设计了一种堆叠空间变换信息的数据扩充方法,在很少训练样本的情况下可以获得更充分的空间信息,有利于网络模型学习更丰富的特征。为了验证该方法的有效性,将额外对比使用该方法的DC-CNN与不用该方法的DC-CNN(no data expansion)在相同的数据集下的分类性能的差异。

2.3.1 Indian Pines数据集

Indian Pines数据集的地表真实值以及不同分类算法在Indian Pines数据集的分类结果在经过可视化处理后如图 8所示。对每种算法的分类精度进行计算,整理如表 2。从图 8中可以看出,2D-CNN(图 8(b))的方法虽然在整体上对各个类别有所区分,但是产生许多“斑点”,这是因为2D-CNN不能很好地结合高光谱的空间信息和光谱信息。而3D-CNN(图 8(c))的方法由于更好地结合了高光谱图像的空谱信息,因此“斑点”现象明显减少。通过SNN(图 8(e))与图 8 (a)的对比,可以看出此时已经有了很好的分类效果,错分现象明显减少,这是由深层残差网络的深层次特征提取所带来的改进。通过与其他方法对比,可以清晰地看出,本文DC-CNN(图 8(f))方法错误点极少,最大程度上完成了对原高光谱图像的分类。而在图 8 (d)中,因为没有加入堆叠空间变换信息的数据扩充方法,导致模型对高光谱图像的空间信息的提取并不充分,因此误差稍大。

图 8 Indian Pines高光谱图像不同方法的分类结果
Fig. 8 Results of classification for Indian Pines dataset
((a)ground truth; (b)2D-CNN; (c)3D-CNN; (d)DC-CNN(no data expansion); (e)SNN; (f)DC-CNN)

表 2 Indian Pines高光谱遥感影像数据集分类精度
Table 2 Classification accuracy of Indian Pines hyperspectral remote sensing image dataset

下载CSV
类别 样本总数 训练样本 测试样本 对比方法分类精度/%
2D-CNN 3D-CNN DC-CNN (no data expansion) SNN DC-CNN
Alfalfa 46 5 41 93.47 95.65 97.83 97.83 97.83
Corn-notill 1 428 143 1 285 69.38 95.73 87.75 96.92 98.46
Cornmintill 830 83 747 94.58 87.35 93.73 96.27 97.23
Corn 237 24 213 70.89 97.47 94.94 99.58 100.0
Grass-pasture 483 49 434 31.47 95.65 97.52 96.48 98.14
Grass-trees 730 73 657 95.34 99.59 99.45 99.73 99.32
Grass-pasture-mowed 28 3 25 96.43 78.57 96.43 96.43 96.43
Hay-windrowed 478 48 430 96.65 98.33 95.61 99.80 100.0
Oats 20 2 18 95.00 95.00 100.0 100.0 100.0
Soybean-notill 972 98 874 80.25 91.56 97.53 96.81 99.28
xSoybean-mintill 2 455 246 2 209 96.54 94.13 94.95 95.76 97.31
Soybean-clean 593 60 533 88.36 89.88 98.65 99.16 98.82
Wheat 205 21 184 99.51 99.51 100.0 100.0 100.0
Woods 1 265 127 1 138 99.05 98.58 98.34 99.68 98.18
Buildings-Grass-Trees-Drives 386 39 347 95.85 85.23 90.93 96.89 98.70
Stone-Steel-Towers 93 10 83 100.0 100.0 98.92 98.92 100.0
总体分类精度OA/% 87.19 94.39 95.22 97.51 98.34
平均分类精度AA/% 89.52 93.06 93.47 96.63 97.88
Kappa 0.853 3 0.936 0 0.945 6 0.971 6 0.981 1

通过对比不同算法对每种类别的分类精度可以发现,在训练样本较少的Alfalfa、Grass-pasture-mowed和Oats等小样本类别中,DC-CNN都表现出了比2D-CNN、3D-CNN更优秀的分类性能,而面对Alfalfa样本在数据扩充前后分类精度不变的情况可能是由于总体样本数量过少导致的,属于正常情况。在Corn、Hay-windrowed等类别中更是达到了100%的分类精度,比其他算法都要优秀。而且,DC-CNN方法提高总体分类精度、平均分类精度和Kappa系数的幅度比较明显。与2D-CNN相比,总体分类精度提高了11.15%,平均分类精度提高了8.36%,Kappa系数提高了0.127 8。与分类效果较为理想的SNN相比总体分类精度提高了0.83%,平均分类精度提高了1.25%,Kappa系数提高了0.009 5。另外,使用堆叠空间变换信息的数据扩充方法比不使用该方法,在总体分类精度上有3.12%的提升,在平均分类精度上有4.41%的提升,Kappa系数也提升了0.035 5。这些实验结果充分表明了DC-CNN在高光谱图像分类中的有效性及准确性。也表明了堆叠空间变换信息的数据扩充方法的有效性。

2.3.2 Pavia University数据集

图 9展示了Pavia University数据集的地表真实值以及不同算法在Pavia University数据集下的分类结果的可视化图像。其对应的评价指标如表 3所示。通过图 9(f)图 9(b)图 9(c)图 9(e)的对比可以清晰地看出, 图 9(b)图 9(c)图 9(e)都有明显的错分现象,在许多位置表现出混乱、驳杂的分类结果,而图 9(f)中整体更加平滑,没有明显的“斑点”现象,错分点少,表现出了良好的分类结果。这说明在Pavia University数据集上,相比其他分类方法,DC-CNN方法有更加精确的分类性能。并且由图 9(d)图 9(f)的对比可知,在加入堆叠空间变换信息的数据扩充方法的情况下确实会对模型的分类性能有所提升,又一次验证了堆叠空间变换信息的数据扩充方法的有效性。通过表 3,对比Gravel、Bare Soil和Bitumen等光谱曲线区分更加明显的类别的分类结果可以看出,DC-CNN方法有着比其他方法更高的分类精度,这是因为DC-CNN方法深度结合高光谱图像的空谱特征,实现了更加准确的分类。而且,本文方法对Pavia University数据集分类的总体分类精度达到了99.63%,比SNN方法提高了3.43%,比DC-CNN(no data expansion)提高了5.36%;平均分类精度达到了99.59%,比SNN方法提高了4.20%,比DC-CNN(no data expansion)提高了5.43%;Kappa系数达到了0.995 1,比SNN方法提高了0.033 5,比DC-CNN(no data expansion)提高了0.070 7。相比于2D-CNN和3D-CNN,本文方法提升更加显著。由此可见,在处理高光谱图像分类的问题中,本文方法相比于其他方法有更加高效、准确的分类性能。

图 9 Pavia University高光谱图像不同方法的分类结果
Fig. 9 The results of classification for Pavia University datasets
((a)ground turth; (b)2D-CNN; (c)3D-CNN; (d)DC-CNN(no data expansion); (e)SNN; (f)DC-CNN)

表 3 Pavia University高光谱遥感影像数据集分类精度
Table 3 Classification accuracy of hyperspectral remote sensing image dataset of Pavia University

下载CSV
类别 样本总数 训练样本 测试样本 对比方法分类精度/%
2D-CNN 3D-CNN DC-CNN (no data expansion) SNN DC-CNN
Asphalt 6 631 664 5 967 96.55 94.12 98.40 96.02 99.89
Meadows 18 649 1 865 16 784 82.72 97.58 95.87 98.32 99.62
Gravel 2 099 210 1 889 65.51 65.13 73.56 85.56 98.19
Trees 3 064 307 2 757 98.47 95.40 94.97 96.17 99.97
Painted metal sheels 1 345 135 1 210 100.0 99.11 100.0 100.0 100.0
Bare Soil 5 029 503 4 526 97.40 77.85 92.01 94.45 99.88
Bitumen 1 330 133 1 197 95.41 82.03 88.65 90.60 98.57
Self-Blocking Bricks 3 682 369 3 313 58.80 88.92 91.77 94.24 99.59
Shadows 947 95 852 99.26 97.89 99.26 98.94 100.0
总体分类精度OA/% 86.12 91.80 94.27 96.20 99.63
平均分类精度AA/% 87.88 92.01 94.16 95.39 99.59
Kappa 0.820 3 0.890 6 0.924 4 0.959 6 0.995 1

2.3.3 运行时间对比

表 4表 5统计了不同深度学习模型在不同数据集下的训练时间以及测试时间。通过横向对比可以明确,样本数越多的数据集计算时间越长。通过纵向对比可以看出,本文方法在训练过程中耗时较长,这是由训练过程中的数据扩充造成的。而在测试过程中,本文方法在不同数据集上的运行时间要短于SNN方法,表明本文方法在训练模型确定后有更高效的分类效果。

表 4 各算法训练时间对比
Table 4 Comparison of training time of each algorithm 

下载CSV
/h
方法 Indian Pines Pavia University
2D-CNN 1.2 1.5
3D-CNN 1.8 2.5
DC-CNN
(no data expansion)
3 4
SNN 6 7
DC-CNN 12.5 16.5

表 5 各算法测试时间对比
Table 5 Test time comparison of each algorithm 

下载CSV
/s
方法 Indian Pines Pavia University
2D-CNN 2.64 5.22
3D-CNN 3.31 7.58
DC-CNN
(no data expansion)
8.11 12.27
SNN 24.63 31.97
DC-CNN 9.24 12.84

2.3.4 不同卷积层数对实验的影响

在深度卷积神经网络模型中,卷积层的数量是一个重要参数,会直接影响模型的分类性能。为确定双通道卷积神经网络在不同数量的卷积层的情况下对高光谱图像分类性能的影响,在Indian Pines数据集和Pavia University数据集上也分别进行了不同数量的卷积层的实验。模型在不同卷积层数时对高光谱图像分类的总体分类精度的折线图如图 10所示。由图 10可知,当卷积层数小于5时,总体分类精度随着卷积层数的增加而升高,在卷积层数为5时总体分类精度达到最大值,当卷积层数大于5时,总体分类精度又随之下降。造成这种现象的原因可能是卷积层数少的网络提取高光谱图像的复杂深层特征的能力较差,导致精度不高;而卷积层数过多导致网络过于复杂,造成过拟合问题使得精度下降。因此,5层卷积层的双通道卷积神经网络的分类性能最优,故模型设定为5层卷积层。

图 10 卷积层数对分类结果的影响
Fig. 10 Influence of convolution layers on classification results

3 结论

本文针对训练样本数量有限的高光谱图像分类模型性能不理想的问题,提出了一种堆叠像元邻域空间信息的数据扩充方法,并设计了一种基于双通道卷积神经网络的高光谱图像分类方法,称为DC-CNN。堆叠像元邻域空间信息的数据扩充方法通过对不同尺度像素块进行空间旋转、变换,以扩充训练样本的数量,以及获取中心像元隐藏的空间信息。该方法同时解决了深度模型训练样本不足的问题和特征提取过程中高光谱图像的空间信息提取不充分的情况。再通过DC-CNN网络框架输入不同尺度的像素块,来综合提取更加丰富的空间信息,完成深层次的空谱信息提取,最后将融合之后的空谱特征输入到softmax分类器,从而实现更加准确的分类。

此外,本文分析了不同卷积层数对分类性能的影响,验证了由5层卷积层组成的卷积神经网络对高光谱图像的特征提取能力最强。实验表明,本文方法在两组差异较大的真实高光谱图像数据集上均表现出良好的分类性能,说明本文方法具有一定的泛化能力,并在运行时间上有一定优势。本文利用双通道卷积神经网络完成了对高光谱图像的深层次的空谱特征的融合,充分提取了高光谱图像中的潜藏信息,有利于深度学习模型在高光谱图像分类中的应用。在后续的研究中,可以进一步探索多通道卷积神经网络,如三通道、四通道卷积神经网络在高光谱图像分类问题中的效果,促进深度学习方法在高光谱图像中的应用。

参考文献

  • Bandos T V, Bruzzone L, Camps-Valls G. 2009. Classification of hyperspectral images with regularized linear discriminant analysis. IEEE Transactions on Geoscience and Remote Sensing, 47(3): 862-873 [DOI:10.1109/TGRS.2008.2005729]
  • Chen Y S, Jiang H L, Li C Y, Jia X P, Ghamisi P. 2016. Deep feature extraction and classification of hyperspectral images based on convolutional neural networks. IEEE Transactions on Geoscience and Remote Sensing, 54(10): 6232-6251 [DOI:10.1109/TGRS.2016.2584107]
  • Chen Y S, Lin Z H, Zhao X, Wang G, Gu Y F. 2014. Deep learning-based classification of hyperspectral data. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 7(6): 2094-2107 [DOI:10.1109/JSTARS.2014.2329330]
  • Chen Y S, Zhao X, Jia X P. 2015. Spectral-spatial classification of hyperspectral data based on deep belief network. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 8(6): 2381-2392 [DOI:10.1109/JSTARS.2015.2388577]
  • Du P J, Xia J S, Xue Z H, Tan K, Su H J, Bao R. 2016. Review of hyperspectral remote sensing image classification. Journal of Remote Sensing, 20(2): 236-256 (杜培军, 夏俊士, 薛朝辉, 谭琨, 苏红军, 鲍蕊. 2016. 高光谱遥感影像分类研究进展. 遥感学报, 20(2): 236-256) [DOI:10.11834/jrs.20165022]
  • He M Y, Li B and Chen H H. 2017. Multi-scale 3D deep convolutional neural network for hyperspectral image classification//Proceedings of 2017 IEEE International Conference on Image Processing (ICIP). Beijing, China: IEEE: 57-61[DOI: 10.1109/ICIP.2017.8297014]
  • Hu W, Huang Y Y, Wei L, Zhang F, Li H C. 2015. Deep convolutional neural networks for hyperspectral image classification. Journal of Sensors, 2015: #258619 [DOI:10.1155/2015/258619]
  • Kingma D P and Ba J. 2015. Adam: a method for stochastic optimization//Proceedings of the 3rd International Conference on Learning Representations. San Diego, USA: [s. n.]: 58-73
  • Li G D, Zhang C J, Gao F, Zhang X Y. 2019. Doubleconvpool-structured 3D-CNN for hyperspectral remote sensing image classification. Journal of Image and Graphics, 24(4): 639-654 (李冠东, 张春菊, 高飞, 张雪英. 2019. 双卷积池化结构的3D-CNN高光谱遥感影像分类方法. 中国图象图形学报, 24(4): 639-654) [DOI:10.11834/jig.180422]
  • Li W, Wu G D, Zhang F, Du Q. 2017b. Hyperspectral image classification using deep pixel-pair features. IEEE Transactions on Geoscience and Remote Sensing, 55(2): 844-853 [DOI:10.1109/TGRS.2016.2616355]
  • Li Y, Zhang H K, Shen Q. 2017a. Spectral-spatial classification of hyperspectral imagery with 3D convolutional neural network. Remote Sensing, 9(1): #67 [DOI:10.1080/2150704X.2017.1280200]
  • Licciardi G, Marpu P R, Chanussot J, Benediktsson J A. 2012. Linear versus nonlinear PCA for the classification of hyperspectral data based on the extended morphological profiles. IEEE Geoscience and Remote Sensing Letters, 9(3): 447-451 [DOI:10.1109/LGRS.2011.2172185]
  • Makantasis K, Karantzalos K, Doulamis A and Doulamis N. 2015. Deep supervised learning for hyperspectral data classification through convolutional neural networks//2015 IEEE International Geoscience and Remote Sensing Symposium (IGARSS). Milan, Italy: IEEE: 4959-4962[DOI: 10.1109/IGARSS.2015.7326945]
  • Qi Y F, Chen J, Huo Y L, Li F Y. 2020. Hyperspectral image classification algorithm based on multiscale convolutional neural network. Infrared Technology, 42(9): 855-862 (齐永锋, 陈静, 火元莲, 李发勇. 2020. 基于多尺度卷积神经网络的高光谱图像分类算法. 红外技术, 42(9): 855-862)
  • Villa A, Benediktsson J A, Chanussot J, Jutten C. 2011. Hyperspectral image classification with independent component discriminant analysis. IEEE Transactions on Geoscience and Remote Sensing, 49(12): 4865-4876 [DOI:10.1109/TGRS.2011.2153861]
  • Wang L G, Zhao L, Liu D F. 2018. A review on the application of SVM in hyperspectral image processing. Journal of Harbin Engineering University, 39(6): 973-983 (王立国, 赵亮, 刘丹凤. 2018. SVM在高光谱图像处理中的应用综述. 哈尔滨工程大学学报, 39(6): 973-983) [DOI:10.11990/jheu.201704074]
  • Yang G F, Gewali U B, Ientilucci E, Gartley M and Monteiro S T. 2018. Dual-channel densenet for hyperspectral image classification//2018 IEEE International Geoscience and Remote Sensing Symposium. Valencia, Spain: IEEE: 2595-2598[DOI: 10.1109/IGARSS.2018.8517520]
  • Zhao S Z, Li W, Du Q and Ran Q. 2018. Hyperspectral classification based on Siamese neural network using spectral-spatial feature//2018 IEEE International Geoscience and Remote Sensing Symposium. Valencia, Spain: IEEE: 2567-2570[DOI: 10.1109/IGARSS.2018.8519286]