基于3D金字塔残差网络的高光谱图像分类方法

李明天,佘海龙,张衍爽,徐人杰,邹静洁,解山娟,3

(1. 杭州师范大学遥感与地球科学研究院,浙江 杭州 311121;

2. 浙江工商大学杭州商学院,浙江 杭州 311599;3. 浙江省城市湿地与区域变化研究重点实验室,浙江 杭州 311121)

高光谱图像(hyperspectral image,HSI)因拥有丰富的地物光谱信息被广泛应用在环境监测、农业和城市发展等领域[1-3].传统高光谱图像分类只用到了图像光谱信息,代表性的算法有平行六面体分类、k最邻近法、最大似然法、逻辑回归等[4].由于仪器偏移、阴影遮挡等原因造成的光谱噪声和光谱的不确定性严重影响了分类精度.近些年,一些空谱联合的方法被提出并证明了空间信息融合的有效性[5-6].深度学习也被应用于HSI图像分类,且取得了较为理想的结果.堆栈自动编码器(stacked auto encoder,SAE)被用于HSI的高层特征提取[7];
深度置信网络(deep belief network,DBN)模型被用于提取光谱信息[8];
卷积神经网络(convolutional neural network,CNN)模型将HSI数据块作为数据输入,与SAE和DBN相比,提供了一种更为自然的空-谱特征提取方法,提高了分类性能[9].

卷积神经网络的出色效果引起了学者的广泛关注.Mei等[10]使用基于像素的方法,提出了一种光谱和空间信息整合的CNN模型,通过计算像素邻域和像素光谱的平均值方差获得空谱信息用于分类.Zhao等[11]使用CNN提取空间特征,并使用流形学习方法提取光谱特征,将叠加成向量的空谱信息用于分类.同时,一种直接提取HSI空谱特征的3D-CNN模型也取得了有效的结果,Zhang等[12]使用较小空间尺寸的数据块提取光谱特征用于分类.该方法虽然能够直接提取原始HSI,但随着网络加深,分类精度不断下降,梯度消失,导致信息损失,分类效果大打折扣.为解决网络模型加深而导致的梯度消失问题,残差网络(ResNet)应运而生[13].残差网络因为加入了恒等映射(identity mapping),通过快捷连接(shortcut connection)将残差块的输入和输出进行1个元素间操作(element-wise)的叠加,大大增加了模型的可训练性.同时恒等映射的梯度可以直接回流到输入层,在加深网络深度的同时,很好地解决了梯度消失的问题.Paoletti等[14]提出了基于残差网络思想的2D金字塔残差网络模型的HSI分类方法,通过缓慢逐层增加特征图维度的方式,在降低网络计算量的同时,获得了较好的分类效果.

本文将3D空-谱数据块和金字塔残差网络的思想结合,把光谱信息纳入到金字塔残差网络的考虑范围,充分利用高光谱数据的空谱信息,同时使用金字塔模型的基本块(basic block)残差单元进行分类.该模型每层输出特征逐级增加,呈现为金字塔形,随着网络加深能提取更多的特征,即使在较小的训练样本比例时也能取得不错的分类效果.

1.1 网络结构

基于3D金字塔残差网络(3D-pyramid-ResNet)模型的HSI分类主要包括3部分(图1):1)3D样本提取.提取需要进行分类的像素点和其周边一定邻域内其他像素点作为3D样本用于网络训练,样本点的标签由3D立方体中间像素的所属类别决定,提取领域的大小选择见下文实验部分.2)特征提取.图像中提取的3D数据块经过卷积层、下采样层后,再经过多个金字塔残差网络模块得到用于分类的深层特征.3)分类.特征提取部分得到的特征图经全局平均池化进行信息聚合,然后将其输入到全连接层结合softmax分类器得到最终的分类结果.

图1 整体的流程及模型Fig.1 Overall flow and model

1.2 金字塔残差模块

图2 金字塔残差单元结构Fig.2 Structure of pyramid residual unit

金字塔残差模块由多个金字塔残差单元堆叠而成,是金字塔残差网络的核心部分.每个金字塔残差模块采用几个金字塔残差单元决定了整个模型的网络深度,适合本文模型及实验所用的2个高光谱图像数据集的网络深度需要进行实验来探究.

金字塔残差网络通过残差单元逐步增加特征图的维度以更好地提取光谱-空间特征,使分类结果得到改进,同时可以避免网络的参数量随网络深度的加深而迅速增加,使得网络更加简洁[14].金字塔残差单元主要由卷积层、修正线性单元(rectified linear unit, ReLU)和批量归一化(batch normalization,BN)堆叠而成.经典残差单元通常采用2层3×3卷积、ReLU和短连接(shortcut)堆叠的结构,或者是1层3×3卷积、2层1×1卷积、ReLU和短连接堆叠的结构.本文采用图2所示的堆叠方式,在卷积之前设置BN层和ReLU单元对数据进行归一化处理,加快网络的训练和收敛速度.ReLU使模型加入非线性因素,提高模型的表达能力,同时BN层将1个批次(batch)中的所有数据关联在一起,1个数据的输出受同个批次中其他数据的影响,而每次训练的批次随机取得,因此整个网络就不会朝同个方向过度学习,使得网络较深时有效避免过拟合现象[15].

除ReLU层的位置外,ReLU层的数量也会影响模型的性能,Han等[16]发现在每个残差单元中使用过多的ReLU会对性能产生负面影响,移除每个残差单元中第1个ReLU而保留卷积层之间的ReLU可以提高模型的性能.因此本文的金字塔残差单元只在卷积层之间使用了1个ReLU,在保证非线性的同时,能够获得更好的表现.

另外,在短连接路径中,虽然多数学者采用的是基础的恒等映射或卷积投影的方式[17],但这些方法不适合很多层数较深的网络模型,金字塔网络的特征图维度不断增加只能选用1×1卷积网络或者零填充(zero padded)恒等映射的短连接.鉴于实验比较发现1×1卷积短连接(convolutional shortcut)的方式会降低最终表现,所以本文提出的金字塔残差网络模型的残差单元采用了零填充方式的短连接.

1.3 特征图数量增长模式

随着网络加深,多数CNN和ResNet会在降低特征图大小的同时大幅度增加特征图数量.在经典的残差网络中,残差单元的特征图数量通过式(1)计算:

(1)

其中,n(k)∈{1,2,3,4},n代表组的索引,k代表属于哪个残差单元,同组的残差单元有相同的特征图大小.对于第n个残差组,每经过1个残差单元,特征的尺寸就减少一半,特征图的维度变为原来的2倍,这种指数增长模式使得网络经过几个残差单元之后特征图维度急剧增加.

在3D金字塔残差网络中,特征图数量的增长采用线性增长模式,特征图数量在残差单元之间缓慢增加,其计算方式见式(2):

(2)

表1 特征图数量变化 Tab.1 Change of feature map number

其中,N代表残差单元的数量,k代表哪个残差单元,α代表最终特征图增加的维度.从式(2)可见,在金字塔残差单元之间,经过1个残差单元后特征图的维度变化由α/(N-1)控制.这种维度的增长模式使得特征图数量随着经过残差单元数的增加线性增加,整个网络模型中的特征图数量最终呈“金字塔”形状.本文提出的网络设置N=4,α=32,即总共采用4个残差单元,特征图数量每经过1个残差单元增长8.输入网络中的3D数据块经过1次3D卷积和最大池化(max pooling)之后顺序经过4个残差单元过程中的特征图维度变化如表1所示.

2.1 高光谱测试数据集

为验证所提方法的有效性,本文采用了2个广泛使用的高光谱公开数据集Pavia University(PU)和Salinas(SA)进行实验.

PU数据集是由ROSIS-3传感器在意大利帕维尔获得的,共有610×340个像素点,收集了0.43~0.86 μm范围内的115个波段.实验中将去除噪声波段影响后的103个波段用于分类,数据集共有9种地物覆盖类型.

SA数据集由AVIRIS传感器在加利福尼亚萨利纳斯山谷获得,共有512×217个像素点,包含了0.4~2.5 μm范围内的224个波段,去除水吸收波段后还有200个波段用于实验分类,数据集共包含16种地物覆盖类型.PU和SA数据集的伪彩色图像和地物真值图如图3所示.

PU数据集

SA数据集

2.2 评价指标

使用总体精度(overall accuracy,OA)、平均精度(average accuracy,AA)和Kappa系数3种量化评价指标定量评估分类结果的优劣.

总体精度是指在测试集上正确分类样本数目占测试集全部样本的比例,其计算公式为

(3)

其中,n是图像中地物的类别数,Ni是第i个地物类别的像元数,hii为第i类被正确分类的像元数目.

对每一类中样本被正确分类的数目占总体样本的比例进行求和,然后除以总类别数可得到平均精度,公式如下:

(4)

Kappa系数从模型预测分类和实际分类的一致性角度来衡量模型分类精度,利用混淆矩阵进行计算:

(5)

其中,N表示总样本数目,r表示混淆矩阵行数,xi+和x+i分别表示混淆矩阵第i行元素之和、混淆矩阵第i列元素之和,xii表示混淆矩阵第i行i列的值.

2.3 实验环境及实验超参数

所有实验均在同一台笔记本电脑上完成,电脑配置为Intel(R) Core(TM) i5-6300HQ CPU @ 2.3 GHz,16.0 GB运行内存,NVDIA GeForce GTX 960显卡.操作系统为Windows10,深度学习框架为Pytorch 1.6.0,CUDA 10.1.

本文采用了SGD优化器,动量、权重衰减和批尺寸大小分别设置为0.9、5e-4和128,学习率在1~50期设置为0.01,51~100期设置为0.001.

2.4 实验结果

分类实验包括4部分:1)通过控制每个残差模块的残差单元数来调整网络深度,根据模型在不同深度时的分类表现选择合适的网络深度.2)在2个高光谱数据集中随机选择10%的数据作为训练数据,其余用于测试,使用不同的空间尺寸,通过最终的分类精度对比,分析空间尺寸对模型分类精度的影响.3)使用不同训练样本比例和网络模型对比分类精度,以证明本模型的有效性,所用模型包括支持向量机(support vector machines,SVM)、3D-CNN[9]、ResNet18[18].4)使用本文提出的模型对2个高光谱数据集进行分类,通过混淆矩阵热力图及对验证集分类的精度变化曲线进一步分析该模型的效果.

2.4.1 网络深度对分类精度的影响

深度学习模型在各种任务中的出色表现与网络的深度有很大关系,更深的模型提供了更好的非线性表达能力,可以学习更加复杂的变换,拟合更加复杂的特征输入.但是网络深度不是越深越好,对于不同的任务需要探索不同的网络深度.

为确定适合本文模型及所使用的高光谱数据集的网络深度,分别将每个金字塔残差模块中的残差单元数量设置为1、2、3、4来控制模型的深度,比较不同网络深度下模型在2个高光谱数据集上的分类表现.

表2展示了在PU和SA数据集上不同网络深度时模型的分类效果,可以看出,随着网络的加深,模型的分类效果呈现先增加后降低的趋势.在PU数据集上模型在每个残差模块包含2个残差单元时取得了最高的分类精度,而在SA数据集上每个残差模块包含3个残差单元时分类精度最高.因此后续实验中在PU和SA数据集上分别采用2个和3个残差单元组成的残差模块.

表2 网络深度对分类精度的影响Tab.2 Effect of network depth on classification accuracy

2.4.2 最优数据块尺寸选择

在本实验中,10%的数据用于训练网络模型,由表3可见,随着空间尺寸的增加,模型在2个数据集上的分类精度表现不同:在PU数据集上,随着空间尺寸增大,模型的分类效果逐渐变差,而在SA数据集上分类精度却有明显提高.

表3 PU和SA数据集中不同空间尺寸的精度结果Tab.3 Precision results of different spatial sizes in PU and SA data sets

造成这种现象的原因在于数据集之间的差异.从图3所示2个数据集图像中可以得知,PU数据集虽然种类较SA数据集少,但分布不规则,小斑块较多,而SA数据集各地类的几何形状都十分规则,同类地物聚集在一起.随着空间尺寸的扩大,更多的像元被用于提取特征,对SA数据集这种各地类聚集分布的数据显然是有利的,而PU数据集因为相邻的像元和中心像元不属于同一地类反而会增加特征提取的难度,导致分类精度降低.

2.4.3 训练样本比例选择

图4展示了不同训练样本比例下不同模型的分类精度.从整体上来看,随着训练样本的逐渐增加,充足的样本提供了足够多的特征,最终的分类精度都有提升.但当训练样本比例达到20%后,分类精度不再有太大的提升,甚至出现效果不如采用15%训练数据的现象.因此,采用15%的训练样本基本可以代表整个数据集的数据特征.

采用15%数据作为训练集,PU和SA数据集上的空间尺寸分别设置为5和13时,各方法在2个高光谱数据集上的分类精度如表4所示.

表4 不同分类方法的分类精度比较Tab.4 Comparison of classification accuracy of different methods

可见,本文提出的模型在分类精度上取得了更好的结果,在PU和SA数据集上的总体分类精度分别达到了99.936%和99.879%.虽然与ResNet18模型的分类精度十分接近,但本文模型的参数量近乎只有ResNet18参数量的1%,显然本文模型更加轻量化,更加适合高光谱图像分类任务.

图5、图6是不同模型在2个高光谱数据集上的分类效果图,可以看出,相比较SVM这种浅层的模型,几种采用了3D-CNN的深度学习方法分类效果都更优,证明了深度学习模型的有效性.同时,由于残差单元的加入、网络的加深,使得更深层的特征可以被提取,2种残差网络比较浅的3D-CNN模型最终获得了更好的分类效果.

图5 PU数据集不同分类方法的分类结果Fig.5 Classification results of different methods in PU data sets

图6 SA数据集不同分类方法的分类结果Fig.6 Classification results of different methods in SA data sets

2.4.4 模型效果分析

使用本文提出的模型对PU和SA数据集进行分类,分类后的混淆矩阵热力图及对验证集分类的精度变化曲线分别如图7、图8所示.从混淆矩阵热力图看,本文提出的网络对2个数据集包含的各地物分类较为准确,只有很少的样本被错分,表明模型最终学习到的特征能够较好地区分各种地物.

a:PU验证集;b:SA验证集.

本文模型训练采用边训练边验证的方法,每训练1个轮次(epoch)即对验证集进行1次分类,验证集的精度变化曲线可以反映模型的训练程度和模型学习到的参数的优劣程度.图8显示,在PU和SA数据集上,模型均在训练到50个轮次左右后达到了稳定的较优水平,在之后的训练过程中,对模型的学习率进行衰减,但在验证集上的分类精度基本保持不变,表明模型已经得到充分训练,取得了最优参数.

本文针对随着网络加深模型参数量大大增加及梯度消失问题,同时为了更好地提取高光谱图像的空间特征和光谱特征,提高模型的可训练性,将3D卷积引入到金字塔残差模型中,提出了3D金字塔残差网络模型用于高光谱遥感影像分类.该网络结合经典ResNet的快捷连接和金字塔残差网络特征图维度缓慢增加的思想,使用3D卷积对高光谱遥感影像进行分类,在提取空-谱特征的同时,能够控制特征图维度增长的速度,从而减少了残差网络的参数量.

实验证明,在PU和SA高光谱数据集上,本文提出的网络分别取得了99.936%和99.879%的总体分类精度,与几种3D卷积模型相比,能够更好地提取数据的深层特征,获得了更优的分类精度.未来将考虑多尺度特征融合的方向,同时结合注意力机制进一步提高网络对空-谱特征的提取能力,以期取得更高的分类精度.

猜你喜欢 金字塔残差光谱 “金字塔”环球时报(2022-09-19)2022-09-19基于三维Saab变换的高光谱图像压缩方法北京航空航天大学学报(2022年8期)2022-08-31基于双向GRU与残差拟合的车辆跟驰建模网络安全与数据管理(2022年3期)2022-05-23高光谱遥感成像技术的发展与展望空间科学学报(2021年1期)2021-05-22基于残差学习的自适应无人机目标跟踪算法北京航空航天大学学报(2020年10期)2020-11-14Great Vacation Places考试与评价·七年级版(2020年4期)2020-10-23基于递归残差网络的图像超分辨率重建自动化学报(2019年6期)2019-07-23海上有座“金字塔”少儿美术(快乐历史地理)(2019年2期)2019-06-12金字塔是用金子造的吗小学教学研究·新小读者(2017年9期)2017-10-25综合电离层残差和超宽巷探测和修复北斗周跳中国惯性技术学报(2015年1期)2015-12-19

推荐访问:光谱 金字塔 图像