中国科学院大学学报  2020, Vol. 37 Issue (2): 169-176   PDF    
基于卷积神经网络与主动学习的高光谱图像分类
宋晗, 杨炜暾, 耿修瑞, 赵永超     
中国科学院电子学研究所, 北京 100190;中国科学院空间信息处理与应用系统技术重点实验室, 北京 100190;中国科学院大学, 北京 100049
摘要: 在利用主动学习方法进行高光谱图像分类时,往往存在空-谱特征不能得到有效利用和样本需要进行手动标注的问题。针对这些问题,提出一种结合卷积神经网络的主动学习方法进行高光谱图像分类。该方法首先提取像素的空间邻域组成训练样本,通过卷积神经网络对样本的空间特征和光谱特征进行学习并对数据进行初步分类;然后,基于高光谱图像的空间相似性和光谱相似性,对无标注样本进行标注,并将其加入标注训练集以提高分类器的分类精度。在Salinas、PaviaU和Indian Pines这3个高光谱数据上的实验结果表明,该方法能在较少标注样本的情况下,有效提高高光谱图像的分类精度。
关键词: 高光谱图像分类    主动学习    卷积神经网络    空谱特征    
Hyperspectral image classification based on convolutional neural network and active learning algorithm
SONG Han, YANG Weitun, GENG Xiurui, ZHAO Yongchao     
Institute of Electronics, Chinese Academy of Sciences, Beijing 100190, China; Key Laboratory of Technology in Geo-spatial Information Processing and Application System of Chinese Academy of Sciences, Beijing 100190, China; University of Chinese Academy of Sciences, Beijing 100049, China
Abstract: When we apply the active learning method to the hyperspectral image classification, there always exist problems that the spectral-spatial features cannot be effectively utilized and the samples need to be manually labeled. In this work, we propose an active learning method combined with the convolutional neural networks to solve the above problems. Firstly, the neighborhood pixels of each pixel are extracted to form training samples. Then the spatial and spectral features of the samples are trained by the convolutional neural network and the data are preliminarily classified. Then, based on the spatial similarity and spectral similarity of the hyperspectral image, some of the unlabeled samples are labeled and added to the training set, which will further increase the accuracy of the classifier. Validated by Salinas image, Pavia University image, and Indian Pines image, the proposed method effectively improves the classification accuracy with less labeled samples.
Keywords: hyperspectral image classification    active learning    convolutional neural network    spatial-spectral feature    

高光谱图像分类技术是高光谱遥感领域中的研究热点之一,被广泛应用于地表分类、农业监测、国土资源调查等领域,在经济发展、国防工业中发挥着重要的作用[1]。随着机器学习研究的发展,目前已有许多基于机器学习理论的高光谱图像分类算法,如卷积神经网络[2]、半监督学习[3]和自编码器[4]等。对这类高光谱图像分类方法而言,其分类效果非常依赖于标注样本的数量,而对高光谱图像数据进行标注需要耗费大量人力物力[5],这就需要在有限的标注样本的前提下提高分类器的分类性能。在高光谱数据中,通常存在较少的标注样本和大量的未标注样本,而这些未标注样本的信息往往不能得到有效利用。因此,如何利用未标注的数据辅助标注数据进行高精度的图像分类是目前的一个重要研究方向[6]

针对标注样本量较少的问题,许多研究采用主动学习算法彻底挖掘未标注样本中的有价值信息,并以此获得更好的分类性能。文献[7]采用最优比次优(best versus second-best, BvSB)的主动学习方法,并结合堆栈式稀疏自编码器设计分类器。但是该方法在利用自编码器提取高光谱图像的空间特征时,破坏了邻域样本的空间相似性。文献[8]将主动学习和半监督分类进行结合,通过给未标注样本打上伪标签来扩大标注样本集,但文中采用的分类器为支持向量机(support vector machine, SVM),在高光谱图像数据复杂的空间特征和光谱特征下,其分类性能往往不能令人满意。

针对上述问题,本文提出一种基于卷积神经网络(convolutional neural network, CNN)和主动学习的高光谱图像分类算法。为了克服SVM等传统机器学习方法分类效果不佳的缺点,本文采用卷积神经网络作为主动学习的分类器,实现高光谱图像空-谱特征的同时提取。同时,该方法结合最优比次优策略、空间相似性以及光谱相似性进行未标注样本的筛选和标注,在保证样本标注正确性的情况下,将标注后的样本加入训练集中构成新的训练样本集,从而解决了高光谱图像标注样本量较少以及需要人工标注的问题。

1 卷积神经网络

近些年来,卷积神经网络在计算机视觉领域得到越来越广泛的应用,而在高光谱图像分类领域中,卷积神经网络同样取得了非常好的效果[9-11]。Zhong等[9]借鉴ResNet网络结构的思想,利用多层残差网络结构搭建高光谱图像分类网络,实现高光谱图像的空-谱特征的同时提取。Jacopo等[10]通过修改卷积神经网络的损失函数,使得网络能充分反映高光谱图像的空间邻域特征。文献[11]结合GoogleNet中的Inception结构与跨层连接思想,利用不同大小的卷积核实现对高光谱图片的多尺度特征提取。

本文设计的3层卷积神经网络如图 1所示。假设高光谱图像有n个波段,包含N种标签,那么其原始样本集X为{x1, x2, …, xN}∈ℝ1×1×n,为了充分利用高光谱图像数据的空间相似性,对于图像上的每一个像素,都取其周围l像素×l像素范围内的数据作为一个训练样本,这样数据增强之后的输入样本集Y为{y1, y2, …, yN}∈ℝl×l×n。由于分类所用的高光谱图像往往空间分辨率有限,邻域像素范围取得过大可能会包含与中心像素标签不同的地物,而太小的话又不能充分利用空间邻域信息。实验结果表明,l取5可以得到最好的分类结果。利用卷积神经网络的三维卷积特点,高光谱数据样本的空间信息和光谱信息能同时得到学习,从而实现样本空-谱特征的同时提取。

Download:
图 1 本文采用的卷积神经网络 Fig. 1 The proposed convolutional neural network

在网络参数设置方面,该卷积神经网络由卷积层、池化层、全连接层和softmax层组成。卷积层共有3层,前两层采用3×3大小的卷积核,卷积步长为1,padding大小为2;第3层则采用1×1大小的卷积核,侧重提取光谱信息。之后采用maxpooling方式进行池化,输出维数为N的softmax层。网络中的激活函数均采用Relu函数。

2 基于神经网络的主动学习 2.1 主动学习原理

Angluin[12]于1998年提出主动学习的概念,其核心思想是利用无标注样本数据提升分类模型的分类效果。主动学习是一种在机器学习领域解决样本量不足的有效方法,目前该方法在机器学习的各个领域都得到了广泛应用。

主动学习算法的主要流程如图 2所示。首先利用标注样本集L训练一个分类器C,利用查询函数Q对样本进行筛选,然后利用专家标注S对这些选中的样本进行标注,之后将新标注好的样本加入到标注样本集L中组成新的训练集,并参与下一轮的分类器C的训练。该过程不断循环,直到分类器的分类精度达到目标精度或达到设置的最大迭代次数。

Download:
图 2 主动学习流程 Fig. 2 Flow chart of the active learning
2.2 BvSB主动学习

BvSB方法是主动学习中一种常用的样本选择方法,其思想是利用最优标号和次优标号进行未标注样本的筛选[13]。该方法由Joshi等[14]提出,其优点是只关注样本所属概率最高的两个类别,即最优类别和次优类别,忽略小概率类别对查询结果的干扰,适用于多类别分类的情况。若样本最优类别和次优类别的概率相差很小,意味着分类器对该样本的分类效果很差,即该样本有着更高的标注价值。

在BvSB方法中,选择待标注样本的依据为条件概率。如果样本xi属于最优类别和次优类别的条件概率分别为p(yBest|xi)和p(ySecond-Best|xi),那么BvSB方法可以表示为

$ {\rm{BvSB}} = {\rm{arg}}\;\mathop {{\rm{min}}}\limits_{{\mathit{\boldsymbol{x}}_i} \in U} \left( {p\left( {{y_{{\rm{Best}}}}|{\mathit{\boldsymbol{x}}_i}} \right) - p\left( {{y_{{\rm{Second}} - {\rm{Best}}}}|{\mathit{\boldsymbol{x}}_i}} \right)} \right). $ (1)

现有研究中,该方法往往与SVM结合使用。为了克服SVM方法分类精确度不高的问题,本文将BvSB方法与卷积神经网络结合使用。卷积神经网络中softmax层的输出结果可以看作样本属于每一类地物的条件概率p(y|xi)。假设全连接层最终输出的是一个一维数组v, vi表示v中的第i个元素,那么该元素对应的softmax输出可以表示为

$ {S_i} = \frac{{{e^{{v_i}}}}}{{\sum\limits_j {{e^{{v_j}}}} }}. $ (2)

相应地,BvSB方法可以表示为

$ {\rm{BvSB}} = {\rm{arg}}\;\mathop {{\rm{min}}}\limits_{{\mathit{\boldsymbol{x}}_i} \in U} \left( {{S_{{\rm{max}}}} - {S_{{\rm{second - max}}}}} \right), $ (3)

式中:SmaxSsecond-max分别为softmax层输出数组中的极大值与次极大值。

2.3 基于空间相似性的自动标注

通过之前的样本选择策略,主动学习方法可以从未标注样本集中筛选出一部分具有标注价值的样本组成待标注样本集W,接下来需要对这些样本进行标注,然后将新标注的样本加入到标注样本集中组成新的训练集。这些待标注样本的标注可靠性直接影响着后续主动学习的效果,一旦标注错误,那么这些带有错误标签的样本就会在接下来的分类器训练过程中给出完全错误的标签信息。这样不仅不会提高分类器的分类精度,其分类性能反而会随着迭代的进行而越来越差。在样本量不大的情况下,为了保证标注的准确性,可以采用人工标注的手段,但是这样往往会耗费大量人力物力。

针对上述问题,本文利用高光谱图像的空间相似性和光谱相似性提出一套可靠的样本自动标注策略。由于高光谱图像相邻像素往往属于同一类地物,邻近像元之间具有空间一致性特性,故对于每一个待标注的样本,选取其周围3像素×3像素范围的8个样本作为其邻域样本。为了保证标注的正确性,接下来利用光谱相似性对这些样本进行进一步筛选。我们选择每个邻域样本与待标注样本的光谱角[15]作为光谱相似性依据, 从中选取4个光谱相似性最高的样本作为待标注样本的参考标注样本,并将这4个样本输入本轮迭代得到的分类器中进行分类,如果分类标签一致,则将待标注样本标注为该标签。否则该样本不满足标注条件,不进行标注。标注过程如图 3所示。

Download:
图 3 自动标注过程 Fig. 3 The automatic labeling process

这种自动标注方法既考虑高光谱图像的空间相似性,又考虑其光谱相似性,保证了标注的可靠性。

2.4 算法流程

综上所述,对于给定的一个高光谱数据集,其包含标注样本集L和未标注样本集U,本文算法流程如下:

1) 对于标注样本集L,将其作为训练集训练本文给出的卷积神经网络;

2) 根据步骤1)中的分类结果,运用BvSB准则对未标注样本集U中的样本进行筛选,不满足条件的样本放回未标注样本集U,满足条件的样本组成待标注样本集W

3) 按照2.3节中的描述,利用高光谱图像的空间相似性和光谱相似性,对步骤2)中得到的标准样本集W进行标注,形成新的标注集合N

4) 利用集合N更新标注样本集L和未标注样本集UL=LNU=U\N

5) 重复步骤1)~4),直到达到设置的迭代次数。

3 实验结果及分析 3.1 实验数据集介绍

本实验选取的高光谱图像数据为Salinas、Pavia University(以下简称PaviaU)和Indian Pines数据。

Salinas高光谱数据于1998年由AVIRIS采集于美国加利福尼亚州的萨利纳斯谷,其原始数据包含224个光谱通道,数据波段覆盖范围为400~2 500 nm。其空间分辨率较高,可达到3.7 m,每个波段包含512像素×217像素,且地物空间分布相对均匀,共有16种地物覆盖类型。

PaviaU高光谱数据由ROSIS采集于意大利北部地区,帕维亚大学及其周边场景,该数据波段覆盖范围为430~860 nm,原始数据包含115个波段,去除噪声和水吸收波段后剩余103个可用光谱通道,空间分辨率为1.3 m,每个波段包含610像素×340像素,共有9种地物覆盖类别。

Indian Pines高光谱数据由美国国家航空航天局(NASA)在1992年利用AVIRIS采集于美国印第安纳州,其波长覆盖范围为400~2 500 nm,原始数据为220个波段,剔除20个水吸收波段后剩余200个波段。空间分辨率约为20 m,每个波段包含145像素×145像素,共包含16种地物覆盖类别。

3个数据集的伪彩色图像和真实地物分布见图 4

Download:
图 4 3个数据集的伪彩色图像和真实地物标记 Fig. 4 The false color images for three datasets and the ground truths
3.2 主动学习迭代实验

本文中的卷积神经网络设置10个样本为一个batch进行训练,权重衰减为0.001。初始学习率为0.001,经过30 000次迭代后学习率降为0.000 1,经过60 000次迭代后学习率降为0.000 01,一共进行70 000次学习。卷积层的初始参数通过标准差为0.01的高斯分布生成,所有层的偏置都设置为0。

从3个数据集中各取50个标注样本作为初始的训练集,迭代5次,每次迭代中每类地物都有30个未标注样本得到标注,并送入训练集中。由于PaviaU和Indian Pines数据有的地物数量太少,故选取9类地物进行分类实验。本文提出方法的迭代分类结果如图 5所示。

Download:
图 5 3个数据集多次迭代分类结果图 Fig. 5 Classification results of the three datasets after several iterations

本文采用总体分类精度(OA)、平均分类精度(AA)和Kappa系数作为评价指标。表 1给出3个指标随迭代次数的变化情况。每一次迭代都会使分类精度上升1%~3%,5次迭代之后,Salinas数据的总体分类精度从87.79%提升到98.85%,PaviaU数据的总体分类精度从89.42%提升到97.76%,Indian Pines数据的总体分类精度从86.05%提升到98.72%,3个数据集的总体分类精度分别有着11.06%、8.34%和12.67%的提升。

表 1 随迭代次数变化的分类精度 Table 1 Changes in the classification accuracy with the numbers of iterations

在初次分类效果不好的地物种类上,这种提升更加明显。对于Salinas数据中的Grapes untrained和Vineyard untrained两种地物而言,其在初次利用卷积神经网络分类时准确率很低,两种地物交叉混杂在一起,总体分类精度分别只有66.54%和78.49%,而最后一次迭代,两类地物基本得到了正确分类,其分类精度分别达到89.47%和92.26%。这种分类精度的提升在PaviaU高光谱数据中的裸土(Bare soil)上也有明显的体现。初次分类时,裸土中混杂着一部分草地(Meadow)。但随着迭代次数的增加,裸土的分类效果变得越来越好,到第5次迭代时已经基本可以将其全部正确分类,分类精度提升24.39%。

在Salinas、PaviaU和Indian Pines数据集上的实验结果证明主动学习算法可以在标注样本量较少的情况下有效提高高光谱图像分类的精确度,同时验证了本文自动标注策略的有效性。

3.3 分类器对比实验

本文还将该方法与使用SVM、结合边缘采样策略(margin sampling, MS)[16]的支持向量机(SVM_MS)、堆栈式自编码器(stacked auto-encoder, SAE)[17]、堆栈降噪自编码机(stacked denoise auto-encoder, SDAE)[18]和无监督稀疏自编码机(unsupervised convolutional sparse auto-encoder, UCSAE)[19]的主动学习方法进行对比实验,用以验证卷积神经网络方法的优越性。SVM使用的核函数为径向基核函数,并利用网格搜索法在0.001~1 000之间寻找核函数参数σ和惩罚参数C的最优值。SAE包含3个隐藏层,正则化参数λ和稀疏惩罚项参数μ分别设置为5×10-3和4,平均激活度ρ为0.2。SDAE包含3个隐藏层。高光谱数据的选取与3.2节中的实验设置相同,初始时每类地物选择50个标注样本,每次迭代选择30个样本进行自动标注,各分类器的分类精度随迭代次数的变化情况如图 6所示。

Download:
图 6 不同分类器的精度变化曲线 Fig. 6 The changing curves of accuracy for different classifiers

图 6可以看出,随着迭代次数的增加,6种方法的分类精度都在上升。这说明对于任何有效的分类器,主动学习方法都具有提升分类精度的作用。表 2给出6种方法在3个数据集上的3种分类评价指标。在3个数据集上,带有边缘采样的SVM方法比随机选择样本的SVM方法总体分类精度分别提高2.44%、2.51%和2.31%,可知边缘采样方法对于高光谱图像分类结果具有明显的改善作用。而4种神经网络方法对比SVM方法都有明显的提升,精度提升的幅度在4%~11%之间,这说明在处理高光谱图像这种高维数据时,神经网络方法相比于SVM这种浅层学习模型有着明显的优势。

表 2 不同分类器的精度比较 Table 2 The accuracy comparison among different classifiers

采用卷积神经网络作为分类器的主动学习方法有着最高的分类正确率,3个数据集上的总体分类正确率分别达到98.85%、97.76%和98.72%,比SAE方法分别提升3.50%、3.57%和2.78%。这是因为SAE的输入是一维向量,往往不能同时兼顾光谱特征和空间特征,而卷积神经网络可以同时对光谱特征和空间特征进行提取,从而提升了其分类精度。SDAE方法在输入上同样为一维向量,其分类精度与SAE方法比较接近。与SDAE方法相比,卷积神经网络在3个数据集上的总体分类精度分别提升2.81%、2.97%和4.48%。UCSAE方法结合SAE和卷积神经网络,其分类精度与本文中的方法非常接近,两者的总体分类精度分别相差1.01%、0.95%和0.12%,表明在标注样本量充足的情况下,结合卷积神经网络的方法基本可以实现非常好的分类效果。而本文中的方法相比UCSAE精简了利用SAE提取特征的部分,更加简便实用。综合以上实验结果,可以看出本文采用卷积神经网络进行空-谱特征提取的主动学习方法有着最好的分类性能。

4 结论

本文针对高光谱图像分类中标注样本量较少的问题,提出一种结合卷积神经网络的主动学习方法。该方法与传统的主动学习方法相比,优势主要体现在两个方面:1)将卷积神经网络与主动学习结合起来,借助卷积神经网络可以同时提取高光谱图像光谱特征和空间特征的优点,实现对高光谱图像更精确的分类。2)结合BvSB准则、高光谱图像的空间相似性和光谱相似性,实现主动学习过程中样本的自动标注,省去了人工标注的过程。本文在Salinas,PaviaU和Indian Pines高光谱数据集上的实验也验证了这种标注方法的有效性,同时验证了使用卷积神经网络作为主动学习的分类器有着比其他方法更高的准确性。

参考文献
[1]
布和, 贾艳茹. 基于遥感图像的土地分类[J]. 内蒙古水利, 2015(2): 177-178.
[2]
Zhang H, Li Y, Zhang Y, et al. Spectral-spatial classification of hyperspectral imagery using a dual-channel convolutional neural network[J]. Remote Sensing Letters, 2017, 8(5): 438-447.
[3]
陶超, 田彦平, 邹峥嵘. 主动学习与图的半监督相结合的高光谱影像分类[J]. 测绘学报, 2015, 44(8): 919-926.
[4]
Dai X, Guo S, Ren Y, et al. Hyperspectral remote sensing image classification using the stacked sparse autoencoder[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(3): 382-386.
[5]
杜培军, 夏俊士, 薛朝辉, 等. 高光谱遥感影像分类研究进展[J]. 遥感学报, 2016, 20(2): 236-256.
[6]
刘康.基于主动学习的高光谱图像分类技术研究[D].北京: 中国矿业大学(北京), 2014.
[7]
程圆娥, 周绍光, 袁春琦. 基于主动深度学习的高光谱影像分类[J]. 计算机工程与应用, 2017, 53(17): 192-196. Doi:10.3778/j.issn.1002-8331.1611-0174
[8]
王立国, 李阳. 融合主动学习的高光谱图像半监督分类[J]. 哈尔滨工程大学学报, 2017, 38(8): 1322-1327.
[9]
Zhong Z, Li J, Luo Z, et al. Spectral-spatial residual network for hyperspectral image classification:a 3-D deep learning framework[J]. IEEE Transactions on Geoscience and Remote Sensing, 2018, 56(2): 847-858. Doi:10.1109/TGRS.2017.2755542
[10]
Jacopo A, Elena M, Lutgarde B, et al. Spectral-spatial classification of hyperspectral images:three tricks and a new learning setting[J]. Remote Sensing, 2018, 10(7): 1156-1174. Doi:10.3390/rs10071156
[11]
Lee H, Kwon H. Going deeper with contextual CNN for hyperspectral image classification[J]. IEEE Trans Image Process, 2017, 26(10): 4843-4855. Doi:10.1109/TIP.2017.2725580
[12]
Angluin D. Queries and concept learning[J]. Machine Learning, 1988, 2(4): 319-342.
[13]
陈荣, 曹永锋, 孙洪. 基于主动学习和半监督学习的多类图像分类[J]. 自动化学报, 2011, 37(8): 954-962.
[14]
Joshi A, Porikli F, Papanikolopoulos N. Multi-class active learning for image classification[C]//IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Seciety, 2009: 2372-2379.
[15]
Kruse F A, Lefkoff A B, Boardman J W, et al. The spectral image processing system (SIPS):interactive visualization and analysis of imaging spectrometer data[J]. Remote Sensing of Environment, 1993, 44: 145-163. Doi:10.1016/0034-4257(93)90013-N
[16]
Tuia D, Ratle F, Pacifici F, et al. Active learning methods for remote sensing image classification[J]. IEEE Transactions on Geoscience and Remote Sensing, 2009, 47(7): 2218-2232. Doi:10.1109/TGRS.2008.2010404
[17]
Bengio Y, Lamblin P, Popovici D, et al. Greedy layer-wise training of deep networks[J]. Advances in Neural Information Processing Systems, 2007, 19: 153-160.
[18]
Xing C, Ma L, Yang X. Stacked denoise autoencoder based feature extraction and classification for hyperspectral images[J]. Journal of Sensors, 2016, 2016: 1-10.
[19]
Han X, Zhong Y, Zhang L. Spatial-spectral classification based on the unsupervised convolutional sparse auto-encoder for hyperspectral remote sensing imagery[J]. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2016, 3(7): 25-31.