基于深度学习的高光谱图像多标签分类算法

2018-06-29 10:44,2
福建工程学院学报 2018年3期
关键词:标签光谱像素

, ,2

(1.福建工程学院 应用技术学院, 福建 福州 350003; 2.湖南大学 信息科学与工程学院, 湖南 长沙 410082)

高光谱图像是指包含空间和光谱信息的三维数据集。其中,空间信息反映了物体的大小、形状和其他外部质量特征,光谱信息则提供对物体的额外辨别信息。高光谱图像分析广泛应用于物体识别、灾害预警、环境监测、资源勘探与考古等实际应用中[1]。高光谱图像分类旨在为每个像素分配类标签。迄今为止,国内外学者已经提出许多高光谱图像分类算法[2]。K近邻算法(K-Nearest Neighbors, KNN)[3]是一种简单有效的数据挖掘算法,被广泛应用于各种实际应用的数据分类问题中。在KNN算法中,如果一个像素点的大部分邻居都属于某一类别,则将该像素点也分配给这个类别。此外,支持向量机(Support Vector Machine, SVM)[4]通过定义分类边界来解决线性可分离问题。如果像素数据是线性不可分离的,则将输入向量映射到具有预定义核函数的高维特征空间,然后在高维特征空间中构造一个最优超平面。近些年,深度神经网络(Deep Neural Net-works, DNN)算法[5-7]也被广泛应用于图像分类中。深度学习可以通过学习图像数据的深层特征来更好地反映数据的非线性,从而获取更精确的分类结果。针对多标签特征分类,目前许多学者提出了多标签CNN算法并使用到场景分类和图像标注等实验应用中[8-10]。但CNN算法属于有监督算法,大规模的参数训练容易造成过拟合现象。而且由于高光谱图像数据中往往含有混合像素(例如,从低空间分辨率卫星采集得到的高光谱图像),并且原始采集的图像数据含有不同程度的噪声数据,现有监督分类算法无法对这些图像数据进行精确分类。

为了更好地剖析高光谱图像数据的拍摄场景和成像过程,本文提出一种基于深度学习的高光谱图像多标签分类算法。首先,通过堆叠降噪自动编码器方法提取图像像素的深层特征。然后通过多标签逻辑回归方法获得每个像素的多个标签。该算法能够充分利用混合像素中固有的多标签信息,精确地为高光谱图像数据进行分类。

1 高光谱图像多标签分类算法

1.1 深层特征提取方法

作为深度学习的最常见算法,自动编码器(Auto-Encoder,AE)[11]将神经网络的隐含层当作一个编码器和解码器,输入数据经过隐含层的编码和解码,到达输出层时,确保输出的结果尽量与输入数据保持一致。换言之,神经网络的隐含层是尽量保证输出数据等于输入数据的。输入数据和输出数据之间的重建误差用于调整每一层的权重。降噪自动编码器(Denoising Auto-Encoder,DAE)通过对输入数据进行随机擦除,将加工后的数据映射到隐含层进行表示并重构[12-14]。因此,降噪自动编码器可以在一定程度上降低输入数据的噪声。堆叠降噪自动编码器(Stacked Denoising Auto-Encoder,SDAE)[15-16]是一种深层神经网络,由DAE通过堆叠而成,具有多个隐含层,对各个参数进行逐层评估。

与传统的基于人工规则的特征提取算法相比,SDAE算法突出了特征学习的重要性,通过逐层特征变换,将样本在原始空间的特征表示变换到新的特征空间中,从而使特征分类更加容易。通过大规模训练数据对特征进行学习,SDAE算法更能够表示特征数据的丰富内在信息。同时,SDAE算法对含噪数据的分类更具有鲁棒性,能够有效训练含有不同噪声程度的原始数据。SDAE算法可以在不对原始数据预处理的情况下直接接受数据特征,并得到高精确度的特征提取结果。而且,随着训练数据的增加和训练网络规模的扩大,SDAE算法的精确度能够得到显著提升。由于SDAE能够有效表示复杂非线性特征,因此,本文采用SDAE提取高光谱图像的深度特征,用于生成高光谱图像数据的混合像素多标签信息。给定一个高光谱图像原始数据集,首先需要对原始图像进行分层处理,提出各个单层图像数据。接着对单层图像数据进行像素化处理,提取各个像素数据。在此基础上,使用SDAE网络对各个像素数据进行特征编码。假设SDAE中的编码部分中有K个隐含层。SDAE网络的一级DAE包括第一特征编码层和最后的特征解码层。第i级编码层的编码函数定义如下:

y(i+1)=fe(W(i+1)y(i)+b(i+1))

(1)

其中,i=(0,…,K-1),y(0)是原始输入数据X,y(K)是最后一个输出,也就是由SDAE网络提取的深层特征。y(1)表示训练的特征,ϑ(1)={W(1),b(1)}表示第1级DAE网络的权重,b(1)是一个d′维向量,W(1)则是一个d′×d维的权重矩阵。基于SDAE的高光谱图像特征编码过程如图1所示。

图1 基于SDAE的高光谱图像特征编码过程Fig.1 SDAE-based feature encoding for hyper-spec-tral images

在解码部分,第i+ 1个解码层的输入是第i个解码层的输出。第i级解码层的解码函数定义如下:

z(i+1)=fd(W(K-i)Tz(i)+b(i+1))

(2)

其中,i=(0,…,K-1),z(0)是解码器的输入,也是最后一个编码层的输出y(K)。而最后一层的输出z(K)就是原始输入数据X的重构。

图2 基于SDAE的高光谱图像特征训练过程Fig.2 SDAE-based feature training for hyper-spectral images

在对原始输入数据进行多层编码和解码操作之后,得到恢复特征z(K)。训练网络的目的在于该恢复特征z(K)可能逼近原始输入数据x。使用损失函数L(x,z(K))表示恢复特征与原始输入数据之间的误差,取所有输出层节点的误差平方和作为损失函数,计算公式如下:

L(x,z(K))=L(X,fd(fe(x)))=

(3)

(4)

(5)

通过对大量数据进行迭代训练,并更新SDAE的特征编码层和特征解码支的网络权重参数,直到权重梯度稳定,此时便可以得到具有高精确度的SDAE训练网络模型。此时就可以使用该SDAE训练网络模型对高光谱图像数据进行深度特征提取。

1.2 多标签逻辑回归

在提取深度特征之后,接下来使用对高光谱图像数据中的每个混合像素进行预测多个类标签。逻辑回归(Logistic regression,LR)是一种非线性模型的分类方法,它根据影响因素来预测某一事物的发生概率[17]。本文使用逻辑回归方法对高光谱图像数据中的混合像素进行多标签分类。

首先,将深度学习的激活函数-Sigmoid函数定义为逻辑回归方法的假设函数,定义如下:

(6)

其中,ϑ={W′,b′},输入x是从SDAE网络提取提到的深度特征,输出sϑ(x)就是像素的分类结果。

接着,对于二进制分类问题,选择对数似然损失函数作为逻辑回归成本函数,定义如下:

(7)

如果l=1,则sϑ(x)= 1,C(sϑ(x),l)= 0,表示预测值与真实值完全相同;如果sϑ(x)→0,则C(sϑ(x),l)→∞,表示预测误差较大;如果sϑ(x)= 0,那么P(l=1|x;ϑ),则逻辑回归成本很大。因此,可以合并公式如下:

(8)

(9)

1.3 多标签分类算法描述

在SDAE网络中,由于每个DAE编码器分开训练,因此整个训练过程是分层次串行执行的。经过训练后,通过重构学习获得整个网络的权重和深度特征。为了实现像素数据的多标签分类,使用多标签逻辑回归分类器。标签信息仅用于多标签逻辑回归阶段。本文所提出的高光谱图像数据多标签分类算法如图3所示。

图3 高光谱图像数据多标签分类过程Fig.3 Multi-label classification of hyperspectral images

算法描述如下:

算法1:基于深度学习的高光谱图像数据多标签分类算法

输入:

K:堆叠降噪自动编码器网络层数量;

n[d]: 每一个隐含层的单元数量;

D: 用于训练的高光谱图像数据;

Labels:训练标签;

X: 用于测试的高光谱图像数据;

δ:逻辑回归分类器阀值.

输出:

Y:多标签分类结果.

1.加载训练数据D和训练标签Labels;

2. 初始化堆叠降噪自动编码器;

3. for(i=0;i

4.特征编码y(i+1)=fe(W(i+1)y(i)+b(i+1));

5.特征解码z(i+1)=fd(W(K-i)Tz(i)+b(i+1));

6. end for;

7.得到深度特征y(K)及网络权重ϑ;

8.加载测试数据X;

9. for eachxinX;

11.计算成本函数C(hϑ(x),y);

14.将y(i)加入类标签集合Y←y(i);

15. end if;

16. end for;

17.返回类标签集合Y.

2 实验分析

为了验证本文所提出的算法有效性和性能,分别使用3种数据集对所提出的算法进行实验,分别包括合成数据集、实际数据集和降采样数据集。并选择卷积神经网络(Convolutional Neural Network,CNN)算法进行比较。

在实验中,将高光谱图像数据集根据1∶15的比例进行随机抽样,分为训练数据集和测试数据集。堆叠降噪自动编码器网络的隐含层的数量由3逐步增加到8,每个隐含层中的单元数量为100。

2.1 评估方法

高光谱图像多标签分类的评价标准与文献[11]类似。T={(xi,Yi)|1≤i≤p}表示多标签测试集,其中p是类别数。对于第j个类别Lj(1≤j≤p),h(xi)是预测标签。4个评估指标定义如下:

TPj=|{xi|yj∈Yi∧yi∈h(xi),(xi,Yi)∈S}|

FPj=|{xi|yj∉Yi∧yi∈h(xi),(xi,Yi)∈S}|

TNj=|{xi|yj∉Yi∧yi∉h(xi),(xi,Yi)∈S}|

FNj=|{xi|yj∈Yi∧yi∉h(xi),(xi,Yi)∈S}|

(10)

其中TPj, FPj, TNj,和FPj分别表示真阳性,假阳性,真阴性和假阴性。可以看出,TPj+FPj+TNj+FPj= p。根据这4个指标,可以定义多标签分类的3个评估方法如下:

(11)

(12)

(13)

2.2 合成数据集分析

选用西班牙巴斯克大学的高光谱图像公共数据库[18]中选择3组高光谱图像数据集,分别是Indian_pine、Salinas和Pavia。并通过将纯像素数据插入这些数据集,进一步合成纯像素单标签数据,分别如图4(a)(c)(e)所示。在合成混合像素数据时,根据距离d对各个像素点xi的最近邻居点中的类别l进行计数,如果l> 1,将像素点xi合成为混合像素点xi′。然后根据GIS数据将混合像素点xi′插入数据集合成混合像素多标签数据,分别如图4(b)(d)(f)所示。

对3个合成数据集Indian_pine、Salinas和Pavia的实验中,混合像素数据的混合比例为11.82%。纯像素单标签数据和混合像素单标签数据都使用相同的类别标签。混合像素单标签数据和混合像素多标签数据则使用不同的类别标签。分别使用SDAE算法和多标签CNN算法对这3个合成高光谱数据集进行像素标签分类,计算算法在每个数据集上的正确率的平均值并进行对比。合成高光谱数据的标签分类正确率和召回率对比结果分别如图5、图6所示。

从图5、图6可以看出,纯像素单标签数据和混合像素单标签数据之间的实验结果验证了当单个标签数据中存在混合像素时,分类正确率将会降低。混合像素多标签数据的分类结果在精确度等方面都高于混合像素单标签数据。因此,实验结果表示为混合像素分配多个标签可以提高高光谱图像数据的分类性能。此外,通过比较本文所提出的基于SDAE算法与CNN算法之间的分类正确性和召回率,SDAE算法可以得到比CNN算法更好的分类效果。

(a)Indian pine纯像素单标签(b)Indian pine混合像素多标签(c)Salinas纯像素单标签(d)Salinas混合像素多标签(e)Pavia纯像素单标签(f)Pavia混合像素多标签

图4合成高光谱图像数据集

Fig.4Synthesizedhyperspectralimagedatasets

图5 合成高光谱图像数据标签分类正确率对比Fig.5 Accuracy comparison of label classification ofsynthesized hyperspectral image datasets

图6 合成高光谱图像数据标签分类召回率对比Fig.6 Recall rate comparison of label classification of synthesized hyperspectral image datasets

2.3 真实高光谱图像数据集分析

本实验中数据集来自于美国普渡大学[19]的高光谱图像公共数据库公共地理数据库,空间分辨率为30 m,如图7(a)所示。由于缺乏真正的高光谱图像多标签数据,本文使用频谱解混合方法来分配混合像素多标签。根据距离d来计算每个像素点x的最近邻居中的类别l,为xi找到对应的类别。图7(d)为丰度系数,即阈值δ。最后,使用多标签向量替换原有的单标签,如图7(c) 所示。高光谱图像多标签的生成参数见表1。

(a)高光谱图像 (b)像素相邻标签

(c)多标签数据 (d)丰度系数图7 高光谱图像数据生成多标签数据Fig.7 Multi-label dataset generated from hyperspectral image dataset

分别使用SDAE算法和多标签CNN算法对真实高光谱数据集进行像素标签分类,计算各算法在每个数据集上的正确率的平均值并进行对比。实验结果见表2。

表1高光谱图像多标签的生成参数

Tab.1Multi-labelgenerationparametersofhyperspe-ctralimages

单标签丰度系数阀值多标签00000.52110.02H≥δ100000.010

表2真实高光谱图像数据标签分类结果对比

Tab.2Comparisonoflabelclassificationresultsofrealhyperspectralimagedatasets

算法SDAE多标签CNNAccuracy97.1390.31Precision83.4976.24Recall70.2161.29

2.4 真实高光谱图像数据集分析

为了确保真实的高光谱图像数据中含有混合像素,特别是那些具有高空间分辨率的机载信号,对真实的高光谱图像数据进行降采样以产生混合像素。数据集由英国曼彻斯特大学高光谱图像数据库提供[20],其空间分辨率为0.8 m。降采样数据的多标签由原始单标签组成。降采样数据效果如图8所示。

(a)原始高光谱数据(b)降采样高光谱数据

图8真实高光谱图像数据降采样

Fig.8Down-samplingofrealhyperspectralimagedatasets

分别使用SDAE算法和多标签CNN算法对降采样高光谱数据集进行像素标签分类,计算各算法在每个数据集上的正确率的平均值并进行对比。实验结果见表3。

表3降采样高光谱数据标签分类结果对比

Tab.3Comparisonoflabelclassificationresultsofdown-sampledhyperspectralimagedatasets

算法SDAE多标签CNNAccuracy94.1289.71Precision82.8272.18Recall86.1971.73

从实验结果可以看出,在相同的训练和测试数据下,SDAE算法的各项评估指标都优于多标签CNN算法。CNN算法的特征提取是属于有监督学习,训练效果依赖于训练样本的选取,容易出现过拟合现象。即训练得到的网络权重在训练样本中取得很高的精确度,但在测试样本中的分类效果很低。同时,当训练样本中的正负样本比例不平衡时,容易出现Accuracy值很高,但Precision

和Recall值不高。虽然整体精确度很高,但可能某一些类别的特征被大部分正确分类了,而另一些类别的特征并没有被分类正确。与CNN算法相比,SDAE算法依赖于特征本身而不是预设置的特征标签,更注重于特征自身及特征之间的关系的学习。并且,SDAE通过对数据随机化引入噪声,然后通过训练网络识别出噪声之中的特征,尝试重构这些数据来进行学习。因此,经过实验对比可以证实,SDAE算法可以得到比CNN算法更好的分类效果。

3 结论

本文提出了一种新型的基于深度学习的高光谱图像多标签分类算法,用以更好地分析高光谱图像数据中的混合像素。使用堆叠降噪自动编码器网络对图像特征进行学习得到深层特征,并将各层特征传递给多标签逻辑回归分类器,为每个混合像素分配多个标签。通过对合成高光谱图像数据、真实高光谱图像数据和降采样数据分别进行对比实验,结果充分证明了所提出算法能够对高光谱图像数据进行高效的多标签分类。

参考文献:

[1] 崔宾阁,吴子宾,秦学川,等.基于改进标签传播算法的高光谱图像半监督分类[J].山东科技大学学报,2016,35(6):101-107.

[2] 舒速.基于分水岭分割的高光谱图像分类算法研究[D].南京:南京师范大学,2015.

[3] COVERT M,HART P E. Nearest neighbor pattern classification[J]. IEEE Transactions on Information Theory, 1967, 13(1):21-27.

[4] CHAPELLE O, HAFFNER P, VAPNIK V N. Support vector machines for histogram-based image classification[J]. IEEE Transactions on Neural Networks, 1999, 10(5): 1055-1064.

[5] 邢晨.基于深度学习的高光谱遥感图像分类[D].武汉:中国地质大学,2016.

[6] LIANG H, LI Q. Hyperspectral imagery classification using sparse representations of convolutional neural network features[J]. Remote Sensing, 2016, 8(2): 1-16.

[7] 刘大伟,韩玲,韩晓勇.基于深度学习的高分辨率遥感影像分类研究[J].光学学报,2016, 36(4): 298-306.

[8] 王曙.深度学习算法研究及其在图像分类上的应用[D].南京:南京邮电大学,2016.

[9] 高耀东,侯凌燕,杨大利.基于多标签学习的卷积神经网络的图像标注方法[J].计算机应用,2017,37(1): 228-232.

[10] 陈智.基于卷积神经网络的多标签场景分类[D].济南:山东大学,2015.

[11] CHEN Xing, MA Li, YANGXiaoquan. Stacked denoise autoencoder based feature extraction and classification for hyperspectral images[J]. Journal of Sensors, 2016(2): 112-119.

[12] 尹宝才,王文通,王立春.深度学习研究综述[J].北京工业大学学报,2015(1):48-59.

[13] 胡文瑜,蔡文培.数据挖掘取样方法的衡量与选用研究[J].福建工程学院学报,2011,9(4):351-356.

[14] HU W, HUANG Y, LI W. Deep convolutional neural networks for hyperspectral image classification[J]. Journal of Sensors, 2015(2): 21-28.

[15] READ J, PEREZ-CRUZF Perez-Cruz. Deep learning for multi-label classification[J]. Machine Learning, 2014, 85(3): 333-359.

[16] 王宪保,何文秀,王辛刚,等.基于堆叠降噪自动编码器的胶囊缺陷检测方法[J].计算机科学,2016,43(2):64-67.

[17] VIKTOR S, STEVEN V. Hyperspectral image Classification with convolutional neural networks[C]. Proceedings of the 23rd ACM International Conference on Multimedia (MM’15). 2015:1159-1162.

[18] PaginaDel Usuario.Grupo de InteligenciaComputacional. Universidad del Pais Vasco[Z/OL]. http:∥www.ehu.eus/ccwintco/index.php?title=Conjuntos_de_datos_3D. 2008.

[19] BAUMGARDNERMF, BIEHLL, LANDGREBEDA.Landgrebe. Band AVIRIS Hyperspectral Image Data Set[Z/OL]. https:∥purr.purdue.edu/publications/1947. 1992.

[20] FOSTERD H, Amano K, FOSTERMJ.Hyperspectral Images of Natural Scenes[Z/OL]. http:∥personalpages.manchester.ac.uk/staff/d.h.foster/Hyperspectral_images_of_natural_scenes_02.html.2002.

猜你喜欢
标签光谱像素
基于三维Saab变换的高光谱图像压缩方法
像素前线之“幻影”2000
“像素”仙人掌
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
ÉVOLUTIONDIGAE Style de vie tactile
标签化伤害了谁
高像素不是全部
星载近红外高光谱CO2遥感进展
科学家的标签