改进卷积神经网络模型在遥感图像场景分类中的应用
2020-12-16刘子维张旭晴王明常杨国东王思琪
刘子维,张旭晴,王明常,2,杨国东,王思琪,3
1.吉林大学 地球探测科学与技术学院,长春 130026;2.自然资源部 城市国土资源监测与仿真重点实验室,广东 深圳 518000;3.中国地质调查局 西安矿产资源调查中心, 西安 710100
0 引言
随着遥感技术的迅速发展,遥感图像的数据量显著增加,大量遥感图像所蕴含的有价值的信息也愈加丰富,充分挖掘并利用这些重要信息一直是遥感图像分析领域的重要研究内容[1]。遥感图像包含着复杂的非线性特征,光谱信息之间既具有互补性,又存在极大的冗余性,使得遥感数据的特征提取困难,图像分类精度难以提升[2]。传统的遥感图像场景分类方法如贝叶斯模型、极大似然分类法和决策树分类等对于信息更加丰富、结构更加复杂的图像进行分类时,难以得到理想的分类结果。这些方法本质上属于浅层结构模型,难以有效地表达复杂函数[3]。
深度学习在图像领域得到了广泛的运用,有效地解决了浅层结构模型无法处理的问题[4]。深度学习是深度网络结构,是机器学习的一个分支,能在有限的训练样本下获得较高的分类精度。卷积神经网络(convolutional neural network, CNN)在处理高分辨率遥感图像中,能够有效地提取特征信息,使得卷积神经网络在图像领域得到广泛的应用[5--6]。Lecun et al.[7]提出CNN的模型LeNet--5模型,用以识别手写体字符。Krizhevsky et al.[8]提出了8层的AlexNet模型,使用了Relu函数作为激活函数,增加了lrn层与dropout层,提高了分类准确率。Simonyan et al.[9]提出了16层的VGG--16模型和19层的VGG--19模型,继承了LeNet和AlexNet的一些框架结构,同时加深网络结构,分类准确率进一步提升。Szegedy et al.[10]提出GooLeNet模型,在增加网络深度的同时,增加模型的宽度,构建密集的块结构来近似最优的稀疏结构,从而达到提高性能而又不大量增加计算量的目的,大大减少了参数计算量。
2012年提出的AlexNet[11]网络拥有大量参数和神经元,5层卷积层、3层全连接层以及输出层softmax的1 000个通道,不仅加大了计算量,同时也增加了训练时间。随着深度学习的发展,通过使用不同数据处理方法,如Dilated Convolutions、Skip Connection、Residual block、Batch Normalization等对网络模型进行优化,越来越多的网络模型被提出并应用于不同领域[12]。笔者提出一种改进卷积神经网络模型,模型结构基于AlexNet模型的框架,采用小的卷积核和小的步长,减少参数数量的同时,可以保留图像或特征图的空间尺寸,通过加入BN层(batch normalization),达到加快训练速度,一定程度上降低过拟合的影响、提高网络泛化能力的目的。
1 场景分类在遥感影像中的应用
场景分类技术是计算机视觉领域中的一个重要且极具挑战的关键技术,是用于解决图片识别及检索的问题,将场景分类技术与遥感影像结合起来,有利于推动遥感影像分类技术的发展[13]。
遥感影像场景分类是场景分类技术在遥感领域中的一个延伸,是指对给定的遥感影像,通过影像中的主要内容来判断场景的类别,并依据给定的语义标签来对图像分类[14]。从分类尺度上,场景分类是对于某一张图片根据其主要内容将图像判定为某一场景;而遥感影像分类则基于每一个像元,对一副遥感影像进行多类别分类。从原理上,场景级分类属于图像识别技术,而像素级分类则属于图像语义分割范畴[15]。
2 卷积神经网络原理
卷积层通过卷积处理提出不同特征,第一层卷积层提取低级特征,例如边缘、线条和角落,更高层的卷积层提取更高级的特征[16]。对输入数据进行卷积处理之后,将结果传递给一个如ReLu函数、sigmoid函数和tanh函数等非线性函数即可获得卷积层的输出结果。
池化层池化层紧跟在卷积层之后,池化层起到二次提取特征的作用,降低了各个特征图的维度,但可以保持大部分重要的信息。一般的神经网络都采用卷积--池化--卷积--池化这样交替模式,通过池化层压缩数据和参数的量。常用的池化方法有最大池化、均值池化以及随机池化。
全连接层在CNN结构中,经多个卷积层和池化层后,连接着1个或1个以上的全连接层。全连接层中的每个神经元与其前一层的所有神经元进行全连接,卷积层或池化层提取的具有类别区分性的特征信息进行整合,为了提升网络性能,全连接层选取ReLu函数作为激活函数,对每个神经元进行处理。最后一层全连接层常常使用softmax函数,起到分类的作用[17]。
AlexNet模型由5层卷积层和3层全连接层构成,在第1、2、5层卷积层后接有最大池化层,在前两层卷积层后使用LRN处理(local response normalization),全连接层之间使用dropout层抑制过拟合现象。
3 改进卷积神经网络模型
3.1 改进卷积神经网络模型结构
笔者提出一种卷积神经网络模型,由5个卷积层和3个全连接层构成。每一个卷积层都是用ReLu作为激活函数,使用BN层对数据进行归一化,第1、2、3、5个卷积层后面连接最大池化层(表1)。
表1 模型参数表Table 1 Model parameters table
对于一个卷积层,有n个大小为k*k*C的卷积核,对于大小为W*W*C的图像进行卷积处理,步长为s,补零层数为p,则卷积后产生的特征图大小计算公式为:
(1)
由上述公式可知,若使用较大的卷积核,一方面增加了卷积处理的计算量,另一方面卷积后产生的特征图会丢失大量输入数据所包含的特征信息。
3.2 卷积神经网络模型训练及验证
搭建完8层网络模型,对遥感影像数据进行特征提取,训练并验证模型,具体步骤如下:
(1)构建多类遥感图像数据集Im=[Im1,Im2,Im3,……,Im21],并制作相应的标签值Lα=[Lα1,Lα2,Lα3,……,Lα21],其中Imi(i=1,2,……,21)表示第i类遥感图像的集合,Lαi(i=1,2,……,21)表示第i类遥感图像的标签集合。每一个Imi和Lαi包括100个样本数据[18]。
(2)将数据集分为训练集Train和测试集Test两部分,将数据集的80%作为训练样本,剩余的20%作为测试样本,分别从每一个数据集中随机挑选80张遥感图像,构建样本总数为21×80的训练集,和样本总数为21×20的测试集。
(3)搭建网络模型,利用遥感图像进行训练。前向计算神经网络的输出值,对于第m层卷积层,有计算公式:
ym=f(BN(wm*ym-1))
(2)
式中:*表示卷积处理;BN( )为BN层归一化;wm为第m层权值矩阵;f( )为激活函数ReLu。
对于第m层BN层,有计算公式:
(3)
(4)
式中:E(ym-1)和V(ym-1)为每批输入数据的期望和方差;BNγ,β中的γ,β是学习参数。
对于第m层池化层,有计算公式:
ym=max(cm)
(5)
式中:max( )为最大池化处理;cm为第m层卷积层输出。
对于第m层全连接层,有计算公式:
ym=f(wm·ym-1+bm)
(6)
式中:为wm第m层全连接层的权值矩阵;bm为ym的偏置。
(4)反向计算卷积神经网络整体损失函数,本文使用计算交叉熵作为损失函数,计算公式为:
(1-yij)·ln(1-outij))
(7)
式中:outij为预测值;yij为实际标签值。
最后使用梯度下降法优化损失,使得损失值最小化,并更新网络参数。卷积神经网络的参数包括K=(wm,bm),更新参数计算公式:
(8)
式中:α为学习率;Ki为第i组参数;Ki-1为第i-1组参数。
(5)保存模型,使用测试集对训练好的模型进行验证。
图1 卷积神经网络运算框图Fig.1 Operation block diagram of convolutional neural network
4 实验和分析
4.1 实验环境
本文采用Tensorflow 1.4开源框架,操作系统是Windows10,处理器为:Intel(R) Core(TM) i5--8300H CPU@2.30 GHz,运行内存为16 G。
使用美国土地使用分类数据集UC Merced Land--Use,一共21类,分别为耕地、机场、棒球场、海滩、建筑、丛林、密集住宅、森林、高速公路、高尔夫球场、港口、交叉路口、中等密集住宅区、汽车旅馆、立交桥、停车场、河道、公路、稀疏住宅区、储油厂和网球场,每种类型中有100幅256×256×3的场景图,分辨率为1英尺,每幅场景图包含多种土地覆盖类型,分类难度比一般数据集大。
4.2 实验分析
为了验证本文方法的有效性,与AlexNet原结构模型进行对比实验,同时使用本文模型去掉BN层作为对比实验,选取数据集UC Merced Land--Use,使用mini-batch的训练方式(图2),随着训练次数的增加,改进后的模型(NO--BN)收敛速度有一定的提高,增加BN层之后,收敛速度大大提高,震荡幅度(过拟合)也低于AlexNet模型。
图2 三种模型准确率比较Fig.2 Comparison of accuracy by three models
绘制3种模型的分类混淆矩阵,横轴表示每类遥感图像的预测标签值(predicted label),纵轴表示每一类遥感影像的实际标签值(true label),颜色越深,表示分类越准确,对角线表示每一类遥感图像分类正确性。
图4 NO--BN模型混淆矩阵Fig.4 Confusion matrix in NO--BN model
图5 AlexNet模型混淆矩阵Fig.5 Confusion matrix in AlexNet model
由图3—5可见, AlexNet模型在第12、19类(交叉路口、稀疏住宅区)上分类精度较低,分析原因是由于网络模型泛化能力不足,无法有效提取到图像特征,经过改进后的模型,在该类别分类精度有显著提高。
图3 本文模型混淆矩阵Fig.3 Confusion matrix in this paper
计算3个评价指标分类准确率、误分率和Kappa系数(表2),本文模型在分类准确率、误分率以及Kappa系数都明显高于原AlexNet模型,在提高精度的同时,也大大加快了模型训练的收敛速度。
表2 评价指标Table 2 Evaluation indexs
5 结论
(1)加深网络层数的同时,使用较小的卷积核,减少参数量,保留图像或特征图像的空间尺寸,提高网络特征提取能力。
(2)在卷积层之后增加BN层,加快网络训练收敛速度,抑制过拟合的影响,增强网络泛化能力。改进后的模型在数据集UC Merced Land--Use上取得了较好的分类结果,准确率提升了2.2%。