高光谱影像分类的深度少样例学习方法.docx
- 文档编号:4570126
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:22
- 大小:443.46KB
高光谱影像分类的深度少样例学习方法.docx
《高光谱影像分类的深度少样例学习方法.docx》由会员分享,可在线阅读,更多相关《高光谱影像分类的深度少样例学习方法.docx(22页珍藏版)》请在冰点文库上搜索。
高光谱影像分类的深度少样例学习方法
摘要:
针对高光谱影像分类面临的小样本问题,提出了一种深度少样例学习算法,该算法在训练过程中通过模拟小样本分类的情况来训练深度三维卷积神经网络提取特征,其提取得到的特征具有较小类内间距和较大的类间间距,更适合小样本分类问题,且能用于不同的高光谱数据,具有更好的泛化能力。
利用训练好的模型提取目标数据集的特征,然后结合最近邻分类器和支持向量机分类器进行监督分类。
利用Pavia大学、IndianPines和Salinas3组高光谱影像数据进行分类试验,试验结果表明,该算法能够在训练样本较少的情况下(每类地物仅选取5个标记样本作为训练样本)取得优于传统半监督分类方法的分类精度。
关键词:
高光谱影像分类 深度少样例学习 深度三维卷积网络 最近邻分类
ADeepfew-shotlearningalgorithmforhyperspectralimageclassification
Abstract:
Forhyperspectralimageclassificationproblemofsmallsample,thispaperproposesadepthoflesssamplelearningalgorithm,thisalgorithmthroughthesimulationofthesmallsampleclassificationintheprocessoftrainingistotrainthedepth3Dconvolutionneuralnetworkfeatureextraction,theextractionofcharacteristicwithsmallerclassspanandlargespacingbetweenclasses,moresuitableforsmallsampleclassificationproblem,andcanbeusedfordifferenthyperspectraldata,hasbettergeneralizationability.Thetrainedmodelisusedtoextractthefeaturesofthetargetdataset,andthenthenearestneighborclassifierandsupportvectormachineclassifierarecombinedforsupervisedclassification.ThreegroupsofhyperspectralimagedataofPaviauniversity,IndianPinesandSalinaswereusedintheclassificationexperiment.Theexperimentalresultsshowedthatthealgorithmcouldachieveabetterclassificationaccuracythanthetraditionalsemi-supervisedclassificationmethodundertheconditionoffewertrainingsamples(only5markedsampleswereselectedforeachtypeoffeatureastrainingsamples).
Keywords:
hyperspectralimageclassification deeplesssamplelearning deepthree-dimensionalconvolutionalnetwork nearestneighborclassification
高光谱影像能同时提供地物丰富的光谱和空间信息,被广泛应用于环境监测、精细农业等领域。
高光谱影像地物分类是高光谱影像处理中极具挑战性的环节,其主要任务是为图像中每一个像元赋予类别标记。
根据分类过程中是否利用标记样本,高光谱影像分类方法可分为无监督分类、监督分类和半监督分类。
文献[1]对常用的监督分类器进行了详尽的介绍,包括最近邻(k-nearestneighbor,KNN)、支持向量机(supportvectormachine,SVM)、决策树等。
为有效应对维数灾难问题,科研人员通过特征提取方法降低特征维度,使用主成分分析[2]、独立成分分析[3]等方法实现数据降维。
后续研究表明,综合利用高光谱影像的空谱信息能有效提高分类精度,因此空间信息被引入到高光谱影像特征提取过程中,常见算法有拓展形态学剖面[4](EMAP)、马尔科夫随机场[5](MRF)、局部二值模式[6](LBP)、Gabor滤波器[7]等。
此外,波段选择[8]也被应用于影像降维处理。
尽管特征提取和波段选择可以缓解标记样本不足的问题,但在有限的标记样本条件下,监督分类仍然很难获得满意的分类结果。
由于半监督学习能同时利用标记样本和未标记样本改进学习性能,故成为近年来的研究热点。
常见的半监督学习算法有半监督支持向量机[9]、协同训练[10]、主动学习[11]等。
近年来,深度学习在高光谱影像处理中取得了广泛的应用,堆栈式自编码器[12]被率先应用于高光谱影像分类。
随后,深度置信网络[13]、一维卷积神经网络[14](1D-CNN)、循环神经网络[15](RCNN)、二维卷积神经网络[16](2D-CNN)、三维卷积神经网络[17](3D-CNN)也相继应用于高光谱影像分类,并取得了较好的分类效果。
但是标记样本通常数量有限且较难获取,成为制约高光谱影像分类技术发展的关键因素之一。
为解决小样本问题,文献[18]构建了像素对,显著增加了训练样本的数量。
文献[19]设计了一种半监督CNN,进一步提高了有限标记样本情况下的分类精度。
文献[20]构造了一种适用于特征学习的5层卷积神经网络(C-CNN),相比传统的卷积神经网络,该网络取得了更高的分类精度。
尽管上述方法取得了一定进展,但模型泛化能力较弱,而且无法有效应对小样本问题。
针对高光谱影像分类中面临的小样本问题和模型泛化能力较弱的问题,本文提出了一种深度少样例学习算法,该算法的核心思想是通过预先搜集的标记数据训练深度三维卷积神经网络[21](Res-3D-CNN),使其学习到一个能适应不同数据的度量空间。
在该度量空间内,同类样本特征相互聚合,不同类样本特征彼此远离。
进一步结合最近邻分类器和SVM分类器进行监督分类。
最后在Pavia大学、IndianaPines和Salinas3组高光谱影像数据集上验证了本文算法的有效性。
1本文算法
本文提出了一种深度少样例学习算法,该算法主要由3部分组成。
首先利用预先收集的高光谱影像训练数据集通过模拟小样本分类的情形训练Res-3D-CNN,然后将训练好的模型作为特征提取器,提取测试数据集上所有样本的特征,注意这里的测试数据集与训练数据集是不同源的,最后在提取的样本特征中,选取少量样本作为监督样本,进而利用最近邻分类器完成监督分类。
1.1深度少样例学习及其训练策略
少样例学习是指通过少量的标记样本训练模型学习识别物体[22]。
受文献[23—24]少样例学习成功的启发,本文提出深度少样例学习算法,即利用一些预先收集的高光谱影像训练Res-3D-CNN来学习一个度量空间。
随后,将学习得到的度量空间拓展到新的高光谱测试数据,并提高少样例(小样本)条件下的分类精度。
其关键是利用预先收集的标记样本训练Res-3D-CNN学习度量空间。
为使Res-3D-CNN学习到适应少样例分类的度量空间,首先从训练数据中随机挑选一批样本来模拟少样例分类,则要学习的度量空间就可以用Res-3D-CNN进行参数化表示,进一步Res-3D-CNN可被视为一个非线性变换函数fϕ:
,其中ϕ为待学习的网络参数,D为输入的特征维度,M为网络输出的特征维度。
图1给出了深度少样例学习的训练过程。
图1 深度少样例学习的训练过程Fig.1 Thetrainingprocessofdeeplearningwithfewexamples
图选项
首先,假设训练数据集中共有类地物,则从训练数据集中随机抽取C(C < K)类地物的样本作为一批训练样本,为便于编程实现,每类地物抽取的样本数量均相同。
进一步将训练样本随机分为支撑样本集(supportset)和查询样本集(queryset)。
为更加有效地模拟测试数据中的少样例分类问题,在这批训练样本中,每类地物随机选取1个样本作为支撑样本集,剩余样本作为查询样本集。
随后将支撑样本集和查询样本集均通过Res-3D-CNN进行前向传播,并输出每个样本对应的特征向量。
进而计算出查询样本特征向量相对于支撑样本特征向量的欧氏距离。
为使Res-3D-CNN输出特征具有良好的紧致性,进一步按照式
(1)计算不同地物间的特征分布
(1)
式中,ck为支撑样本集中第k类地物对应的特征向量;x表示查询样本集中样本对应的特征向量;y为x对应的真实标记;d(·)为欧氏距离函数。
最后定义Res-3D-CNN的损失函数为
(2)
最小化式
(2)所示的损失函数不是训练网络学习如何预测样本标记,而是使得查询样本集中的样本经网络输出的特征空间与同类的支撑样本彼此靠近,而与不同类的支撑样本相互远离。
深度少样例学习算法的具体训练步骤如算法1所示。
算法 1:
深度少样例学习算法。
N和K分别为训练数据集中的样本数量和样本类别数量。
Nc < K为每批训练样本的类别数量,NQ为查询样本集中每类样本的数量,支撑样本集中每类样本的数量为1。
RandomSample(S, M)指从样本集合S中随机抽取M个样本。
算法流程如下。
输入:
训练数据集D={(x1, y1),…,(x1N, y1N)}, yi∈{1,…, K},Dk为包含第k类所有样本的子样本集D,(xi, yi=k)。
输出:
每批训练样本的负对数损失函数值。
V←RandomSample({1,…, K}, NC) ▷随机选取Nc类样本
for k in{1,…, NC}do
Sk←RandomSample(DV1k,1) ▷选取支撑样本
Qk←RandomSample(DV1k\Sk, NQ) ▷选取查询样本
ck←fϕ(xi) ▷计算支撑样本的特征向量
endfor
J(ϕ)←0 ▷初始化损失函数为0
for k in{1,…, NC}do
for(x, y)in Qk do
▷更新损失函数
endfor
endfor
1.2深度三维卷积网络
考虑到空间信息能有效改善高光谱影像分类精度,且三维卷积网络能较好地利用高光谱影像提供的空谱信息,采用文献[21]中提出的深度三维卷积神经网络(Res-3D-CNN)作为特征提取的网络。
具体网络结构如图2所示。
与文献[21]设计的Res-3D-CNN不同,本文网络输出的是特征向量而不是类别标记,因此去除了最后的全连接层,且没有应用Dropout。
图2 深度三维卷积网络结构Fig.2 Architectureofdeep3Dconvolutionnetwork
图选项
图2中,Conv表示卷积核大小为3×3×3的三维卷积层,虚线框内为一个残差学习模块,每个残差学习模块后连接一个步长为2×2×4的池化层,以减少计算量,并对特征进行聚合。
ReLU(rectifiedlinearunits)激活函数相比于传统的Sigmoid和tanh激活函数具有更快的收敛速度。
因此,所有三维卷积层均采用ReLU激活函数进行非线性映射。
ReLU激活函数形式如式(3)所示
(3)
2试验结果与分析
试验的硬件环境为16GB内存,i7-9750H处理器,RTX2070显卡。
试验所有程序均基于Python语言和深度学习库tensorflow开发实现。
2.1试验数据
2.1.1训练数据
笔者搜集了Houston、Botswana、KSC和Chikusei[25] 4组高光谱数据集用作训练Res-3D-CNN的训练数据。
表1中给出了4组高光谱训练数据集的详细信息,其中波段数指可用于训练的波段数。
表1 Houston、Botswana、KSC和Chikusei高光谱数据集Tab.1 Houston,Botswana,KSCandChikuseihyperspectraldatasets
数据
Houston
Botswana
KSC
Chikusei
影像大小/像素
349×1905
1476×256
512×614
2517×2335
光谱范围/nm
380—1050
400—2500
400—2500
363—1018
波段数
144
145
176
128
空间分辨率/m
2.5
30
18
2.5
传感器
ITRES-CASI1500
EO-1
AVIRIS
Hyperspec-VNIR-C
区域
Houston
Botswana
Florida
Chikusei
地物类别数量
31
14
13
19
表选项
4组高光谱数据集中共有77类标记地物,这些地物类别来自不同的地区,同时涵盖了不同的空间分辨率,从而保障了训练样本的多样性。
考虑到计算资源较为有限,且为了便于编程实现,每类地物随机选取200个标记样本用于训练,并舍弃掉样本数量不足200个的地物类别。
因此,最后用于训练Res-3D-CNN的训练数据共包含44类地物,每类地物包含200个标记样本。
与此同时本文还测试了75类地物(每类地物100个标记样本)和35类地物(每类地物400个样本),在Pavia大学数据上的分类精度,相比于44类地物的分类精度有所下降。
这说明地物类别的多样性和每类地物的样本数量均能够影响最终分类结果。
根据试验结果,最终采用较为折中的方案,即44类地物,每类地物随机选取200个标记样本作为训练数据。
用于训练的4组高光谱数据的波段数分别为144、145、176、128,为保证输入样本特征的维度相同,最终只选择前100个波段用于训练Res-3D-CNN。
参考文献[21],每个训练样本输入Res-3D-CNN网络中的特征为数据立方体。
2.1.2测试数据
为验证所提方法的有效性,采用Pavia大学、IndianaPines和Salinas3组高光谱数据集作为测试数据集。
表2给出了这3组高光谱数据集的详细信息。
为简化测试数据的分类过程,将输入样本的光谱维度限定在100,这3组测试数据的波段数分别为103、200、204,为充分利用波段信息以提高分类精度,Pavia大学数据只取前100个波段用于分类,而IndianaPines和Salinas取前200个波段用于分类,最终将前100个波段输出的特征和后100个波段输出的特征连接起来用作最终的分类特征。
与此同时,本文还在IndianaPines和Salinas数据上分别测试了只取前100个波段和只取后100个波段的情况,相比于连接两者输出特征的情况有所下降,证明了所提方法的合理性。
表2 Pavia大学、IndianPines和Salinas高光谱数据集Tab.2 Paviauniversity,IndianPinesandSalinashyperspectraldatasets
数据
Pavia大学
IndianaPines
Salinas
影像大小/像素
610×340
145×145
512×217
光谱范围/nm
430—860
400—2500
400—2500
波段数
103
200
204
空间分辨率/m
1.3
20
3.7
传感器
ROSIS
AVIRIS
AVIRIS
区域
Pavia
Indiana
California
地物类别数量
9
16
16
表选项
2.2试验参数设置
在Res-3D-CNN的网络结构中,卷积层使用卷积核的数量能极大地影响分类结果。
为分析卷积核数量对最终分类结果的影响,本文分别设置第1个残差模块中的卷积核数量为2、4、8、16和32,第2个残差模块中卷积核数量设置为第1个残差模块卷积核数量的2倍,最后一个卷积层中设置卷积核数量为第2个残差模块卷积核数量的2倍。
不同卷积核数量在3组高光谱影像测试数据集上的总体分类精度(10次试验结果的均值和标准差)如表3所示。
由表3可知,使用过少的卷积核(例如2或4)会极大地降低分类精度,设置卷积核数量为8或16或32较为合理,但是随着卷积核数量的增加,训练时间也会相应增加,因此最终设置3个残差模块中使用的卷积核数量依次为8、16、32。
表3 不同卷积核数量对应的总体分类精度Tab.3 Overallclassificationaccuracycorrespondingtodifferentnumberofconvolutionkernels (%)
数据集
2
4
8
16
32
Pavia大学
61.27±12.47
72.61±5.48
80.81±3.12
81.08±2.20
80.55±2.56
IndianaPines
49.74±13.41
63.50±1.63
67.84±1.29
68.14±0.91
67.53±1.56
Salinas
81.32±5.22
84.68±2.27
88.40±1.54
88.41±1.28
85.99±1.14
表选项
Res-3D-CNN的网络结构确定后,深度少样例学习算法涉及的参数还有训练次数、学习率大小、每批训练样本的类别数NC以及每类地物查询样本的数量NQ。
由于每批训练样本是从训练数据集中随机采样得到的,无法判断是否遍历所有的训练数据。
因此设置每次迭代随机抽取10000批训练样本,共迭代200次,这样能保证Res-3D-CNN得到充分的训练。
为分析学习率大小对最终分类结果的影响,试验中分别设置学习率为0.01和0.001,图3所示为不同学习率对应的损失函数曲线,横坐标为迭代次数,纵坐标为损失函数值。
观察图3可知使用较大的学习率训练Res-3D-CNN不能充分训练网络,而较小的学习率则能使损失函数值降低到更小,且上下波动范围较小,因此最终设置学习率为0.001。
图3 不同学习率对应的损失函数值曲线Fig.3 Thelossfunctioncurvecorrespondingtodifferentlearningrates
图选项
NC设置过小会极大地降低分类精度,3组测试数据集中地物类别分别为9、16和16,为更好地模拟测试数据中的少样例学习问题,每批训练样本包含的地物类别数NC应该大于16。
而考虑到用于训练的样本类别共44类,最终设置NC=20。
此外,理论上NQ值设置得越大,训练过程越能模拟少样例学习,但计算机计算能力有限,且用于训练的标记样本也较为有限。
以Pavia大学数据集为例,NQ被分别设置为4、9、14、19、24和29,图4给出了训练过程中每类地物选取不同数量查询样本对应的总体分类精度(10次试验结果的均值)和训练时间(10次试验结果的均值)。
观察图4可知,Pavia大学的总体分类精度随NQ的增加而增加,且很快趋于稳定,但训练时间却随着NQ的增加而不断增加。
综合考虑分类精度和训练时间,最终设置NQ=19。
图4 Pavia大学数据集上每类地物选取不同数量的查询样本对应的总体分类精度和训练时间Fig.4 TheoverallclassificationaccuracyandtrainingtimecorrespondingtodifferentnumberofquerysamplesselectedforeachtypeoffeatureinthePaviauniversitydataset
图选项
2.3可视化分析
为了更加直观地理解Res-3D-CNN所提取特征的有效性,利用预训练好的Res-3D-CNN提取Salinas数据集的特征,从提取出的特征数据中每类地物随机选取200个样本,并利用t-SNE方法进行降维可视化,如图5所示。
观察图5(a)可知,原始光谱特征经过t-SNE降维后,不同类别的可分性较差,如Follow_smooth和Follow混合在一起无法区分;而图5(b)中,经过预训练好的Res-3D-CNN提取后的特征经t-SNE降维后,具有较好的可分性,如Follow_smooth和Follow能够被较好地区分开。
说明预训练好的Res-3D-CNN提取得到的特征同类样本相互聚集,不同样本彼此分离,因而能有效提高影像分类精度。
图5 Salinas数据集t-SNE特征可视化结果Fig.5 Salinasdatasett-SNEfeaturevisualizationresults
图选项
2.4与半监督分类算法对比
半监督学习算法能有效利用未标记样本来提高小样本情况下的高光谱影像分类精度。
为证明所提出的深度少样例学习(deepfew-shotlearning,DFSL)方法能有效应对高光谱影像分类中面临的小样本问题,每类地物分别随机选取5、10、15、20、25个标记样本作为监督样本进行分类,并与SVM和半监督算法进行对比分析。
用作对比的半监督算法包括laplaciansupportvectormachine(LapSVM)[26]、transductivesupportvectormachine(TSVM))[26]、spatial-contextualsemi-supervisedsupportvectormachine(SCS3VM))[26]、spatial-spectrallabelpropagationbasedonthesupportvectormachine(SSLPSVM))[26]、KNN+SNI[27]、MLR+RS[28]和SVM+S-CNN[29]。
表4至表6分别给出了DFSL结合最近邻分类器(DFSL+NN)和对比算法在3组用于测试的高光谱影像数据集上的总体分类精度(10次试验结果的均值和标准差)。
为说明DFSL+NN的有效性,还同时给出了DFSL+SVM的分类结果。
DFSL+SVM需要利用4折交叉验证来确定SVM的核函数参数和惩罚系数。
而DFSL+NN不需要确定额外的参数。
表4 不同算法在Pavia大学数据集上的分类结果Tab.4 ClassificationresultsofdifferentalgorithmsonPaviauniversitydataset (%)
方法
L=5
L=10
L=15
L=20
L=25
SVM
53.73±1.30
61.53±1.14
60.43±0.94
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 光谱 影像 分类 深度 少样例 学习方法