基于深度卷积神经网络的遥感图像场景分类

2019-05-30 06:08芦国军陈丽芳
关键词:半轴卷积神经网络

芦国军,陈丽芳

(河北地质大学 信息工程学院,河北 石家庄 050000)

0 引言

遥感图像分类在自然植被制图、城市规划、土地利用、灾害检测、地理图像检索、环境监测等众多应用中具有重要意义[1].这些应用的有效性取决于分类的精度.

传统的基于人工提取特征的分类方法对于分类精度的提高非常有限,目前深度卷积神经网络方法已经开始应用于图像分类,在一定程度上取得了令人满意的成绩,Krizhevsky 等[2]提出的 AlexNet深度卷积神经网络,在 Image Net 2012图像分类大赛中取得了令人眼前一亮的成就,获得了冠军,其错误率与第二名应用传统算法相比错误率降低了约 10%.恭城等[3]利用深度卷积神经网络对遥感图像数据集进行分类,并和传统的基于颜色和纹理特征的分类方法进行比较,提出采用深度卷积神经网络对图像进行分类的精度更加优于传统方法中仅仅基于颜色和纹理对图像进行分类的方法.李昌俊[4]针对遥感图像中的耕地图像,通过卷积神经网络进行特征提取并应用于图像分类,通过对比最终采用AlexNet网络进行实验,实验结果表明,采用了AlexNet网络的图像分类精度更加优于采用了SVM的图像分类精度.曲显影等[5]对经典的卷积神经网络 Le Net-5进行局部改进,在激活函数的选择上用 Relu代替 Sigmoid 和 Tanh ,对光学遥感图像进行分类研究,得到了令人满意的效果.党宇等[6]利用AlexNet模型对地表覆盖图斑分类进行研究,探索深度学习方法应用在地表覆盖分类评价中的有效性.虽然上述方法对分类精度的提升取得了一定的进步,但是没有充分融合多种深度特征.针对这一问题,我们提出一种深度卷积神经网络,把卷积网络提取到的三层高层特征融合,输入给分类器,并且在激活函数的选择上,针对Relu激活函数容易在x负半轴上产生梯度消失这一问题,我们选用不容易产生梯度消失问题的PRelu[7]激活函数进行实验研究.

1 算法描述

1.1 DCNN分类模型

图1 模型结构图

设计的 DCNN 模型只在最后一个卷积层添加了池化层,原因在于池化层的主要作用是用来降维,而本文是对遥感图像进行像素级的分类,为了防止训练样本在高层次的尺寸过小,只在最后一个卷积层后添加一个size为 3×3,stride为2的max pooling.5个卷积层参数设置为 96@11×11步长为4,256@3×3步长为1,384@3×3步长为1,384@3×3步长为1,256@3×3步长为1.最后两个全连接层的神经元个数经过实验对比设置为4 096,并在之后连接一个 Softmax 层用于输出分类结果.

1.2 激活函数

图2 Relu函数和PRelu函数对比

神经网络的传递过程需要用到激活函数,激活函数的作用是把线性问题映射为非线性问题,在网络传递过程中,激活函数通过激活神经元阈值从而使神经元进行工作,由线性问题转换为非线性问题,有利于特征提取.早期使用频率较高的Sigmoid函数和Tanh函数由于存在数学上不可逆转的饱和问题,从而无法避免两个主要缺点,第一,容易在激活过程中出现梯度消失.优化神经网络时常采用BP反向传播算法,即导数的反向传递:先计算输出层对应的损失值,然后将损失值以导数的形式不断向前一层网络反馈传递,以优化相应的参数,达到降低损失值的目的.但是如果x较大或较小时,导数接近0;并且Sigmoid函数导数的最大值是0.25,导数在每一层进行反向传播时至少会被压缩75%.正是由于这两个原因,从输出层不断向输入层反向传播训练时,由于被压缩导数很容易逐渐变为0,使得网络权重和偏差参数无法被更新,最终导致神经网络不能被优化.第二,幂运算相对耗时.这个问题并没有第一个问题严重,但是对于深度卷积神经网络模型来说时间也是一个相对重要的需要考虑的问题.Relu激活函数的计算复杂度非常低,而且收敛速度很快,是一种被广泛应用的激活函数, 神经元通过Relu函数进行激活,会在x负半轴输出为0,从而会使网络的稀疏性增加,还会降低参数之间的相互依存关系,可以有效地缓解网络发生过拟合的问题.但是,它也存在一些弊端,如果过分地强制增加网络的稀疏性,就会使模型的有效容量大大降低,即会屏蔽掉很多有用特征,导致模型无法充分学习到有用特征.

由图2可以看出,Relu函数在x负半轴导数为0,梯度消失;在x正半轴导数为1,梯度不变.由此,神经元通过Relu函数进行激活,落在x正半轴的输入能够保持梯度不消失,但是随着训练轮数的递增,部分输入会落在x负半轴,此时导数为0,相应权重不再更新,神经元激活失败.而PRelu函数区别于Relu函数的地方在于负半轴,PRelu函数增加了一个自学习参数ai,与Relu函数相比,PRelu函数收敛速度更快.

PRelu函数定义为:

(1)

yi表示非线性激活函数在第i个通道上的输入,参数ai是控制负半轴斜率的自学习参数.

PRelu函数同样可以使用反向传播法对参数进行训练,ai的梯度可以从以下公式求得:

(2)

(3)

使用反向传播算法更新ai时采用的是带动量的更新方式,ai的更新公式定义为:

我点点头,准备离开。他却拉住了我。我很奇怪,为什么,他的好日子里怎么能有我这种人。我想起那昏暗脏兮兮的会场,纸醉金迷没阳光。

(4)

其中,α是学习率,μ是动量.

1.3 多层特征融合

对于输入的图像上的信息,我们仅仅利用单层的特征很难将其有效地表示出来,假设能够表示出来,其鲁棒性和识别率也不会很好,从而影响图像分类的精度.卷积神经网络中每一层都通过一组卷积核(滤波器)来提取图像的特征,然后将其组合输入分类器,随着卷积层数的逐渐加深,卷积神经网络中的卷积核逐渐复杂.开始层由各种边缘滤波器作用,此时提取到的特征是图像的轮廓特征,用肉眼很容易辨别出图像的所属类别,激活几乎保留了原始图像中的所有信息.随着层数的加深,激活变得越来越抽象,并且所提取的特征越来越难以直观地理解.它们开始表示更高层次的概念,层数越深,其表示中关于图像视觉内容的信息就越少,而关于类别的信息就越多,各层特征如图3所示.

图3 特征图可视化

由图3知道,浅层卷积网络提取的是一些边缘信息,它几乎保留了原图像中的所有信息,深层卷积网络提取的是更加抽象的信息,为了更精确地表达出图像类别信息,我们把多层特征进行融合,让各层特征优势互补.我们把最后一个全连接层特征定义为深层特征feature_fc,把池化层特征定义为feature_pool,把第四个卷积层特征定义为feature_conv,通过主成分分析(PCA)技术把feature_pool和feature_conv降维处理,把提取出来的三层特征进行串联融合,输入到最终分类器.多层特征融合的过程如图4所示.

图4 特征融合示意图

2 实验与分析

2.1 实验环境

本文采用Tensorflow1.0,Keras2.0.5开源框架,编程环境为python3.5.实验采用的计算机配置为Intel(R) Core(TM)i7-3770主频3.4GHz四核处理器,16GB内存,操作系统为Windows 7.

2.2 实验数据集

我们采用UC Merced土地利用数据集,这个数据集是最流行的,已经广泛用于遥感图像场景分类,它有21个土地利用场景类别,每个类别由100幅航空图像组成,一共2 100幅图像,每张图像大小为256×256像素,每个像素的空间分辨率为0.3 m,训练集和测试集的比例为8:2.

2.3 实验结果及分析

为了验证本文方法的有效性,实验将与传统深度学习方法Alexnet模型进行实验对比,首先,计算两种算法的分类混淆矩阵,结果如图6所示.混淆矩阵的横轴表示被预测到的每类图像的标签值,纵轴表示每类图像的真实标签值,每类遥感图像的分类准确率由主对角线上的数值表示,分类准确率和数值正相关.由图 6可以看出,Alexnet算法在个别类别上存在一些比较严重的误差,而本文提出的算法在分类误差上有所改进,分类准确率较高.

图6 分类混淆矩阵对比

其次,计算总体精度(Overall Accuracy,OA)和Kappa系数 .

(5)

其中,TP表示图像数据集中被分类正确的个数,Number表示图像数据集中总的图像个数.

混淆矩阵中的有关信息在Kappa系数中得到了充分利用,因此Kappa系数常作为分类精度评估的综合指标,用于分类的一致性检验 .

(6)

Pe定义为:

(7)

其中,a1,a2,a3,…,an表示每一类样本的真实个数,b1,b2,b3,…,bn表示每一类样本的预测个数.

通过实验验证,得到两种算法的 Accuracy 和 Kappa 系数如表2所示.由表2可以明确看出,本文提出的遥感图像分类方法分类精度和Kappa 系数均优于传统算法,因此可以得出本文算法整体分类性能更加优于对比的传统深度学习算法,适合进行遥感图像分类应用.

Kappa系数值与分类的一致性之间的关系如表 1所示,表中数据表明,系数值越高,一致性越好.

表1 Kappa系数值与分类一致性关系表

表2 两种算法的总体精度和Kappa系数比较

3 结论

针对传统的基于深度学习算法的遥感图像分类方法未能有效融合多层特征和使用的激活函数存在的各种缺点,本文提出了一种改进的深度学习算法网络框架,对遥感图像场景分类进行应用研究,在UC Merced土地利用数据集上进行实验研究,并与现有的深度学习算法进行比较,实验结果表明,本文提出的方法在分类精度和Kappa系数上都明显优于传统的深度学习算法,证明该框架能够有效应用于遥感图像场景分类问题.由于本算法实验所用的数据集相对较小,深度模型需要大量的数据来拟合模型,所以未来进一步的研究是采用规模更大和类别更多的数据集进行实验.

猜你喜欢
半轴卷积神经网络
一种橡胶扭力半轴组件
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
探明究竟,大道至简
——对2018年广州市一道中考题的研究
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
汽车半轴自动化技术取得新突破