作 者 信 息
朱 宏,张 艳,王 欢
(自然资源部第三航测遥感院,四川 成都 610100)
【摘要】遥感影像地表覆盖分类是地理国情监测和地理信息资源建设中至关重要的环节,利用卷积神经网络对遥感影像进行特征提取和分类,具有十分重要的科研和应用价值。为提高遥感影像的地表覆盖分类精度,在深度卷积神经网络VGGNet的基础上,采用SeLU函数作为激活函数,并将激活函数中的λ、α作为训练参数,得到改进的VGGNet,用逐层贪婪算法对网络参数初始化,并选择适当的学习次数利用迁移学习的方法对网络参数调整,以提高网络的泛化能力来提取遥感影像各类别的深层特征,从而有效进行地表覆盖分类。通过GF-1卫星影像的实验表明本文方法在地表覆盖分类精度方面的优越性。
【关键词】卷积神经网络;地表覆盖分类;VGGNet;SeLU函数;迁移学习;网络训练
【中图分类号】P237 【文献标识码】A 【文章编号】1672-1586(2020)05-0058-07
引文格式:朱 宏,张 艳,王 欢. 基于卷积神经网络的遥感影像地表覆盖分类[J].地理信息世界,2020,27(5):58-64.
正文
0 引 言
地表覆盖是指自然地物和人工利用地所覆盖的地表诸多要素的综合体,侧重描述地表的时间和空间特性等自然属性。作为一种重要的地理空间数据,地表覆盖综合利用多源遥感影像等现势性信息源,测定和更新地表属性,在地理国情监测和地理信息资源建设中发挥了重要的作用。地表覆盖分类一般是利用遥感影像的光谱、纹理、物候、人类活动强度等特征对地物进行分类,其中目视解译分类技术是最早出现的地表覆盖分类技术,对于精度要求较高的地表覆盖分类需求,其分类精度一般高于计算机的分类精度。但目视解译分类精度依赖于解译者的经验积累,分类结果受主观因素影响较大,并且具有投入大、效率低、自动化不足等缺点。随着人类活动对地表的动态影响,用户对地表覆盖数据的生产效率和现势性提出了更高的要求。
遥感影像地表覆盖机器分类主要分为基于像素的分类方法和面向对象的分类法。基于像素的分类方法分为监督分类和非监督分类,其中监督分类需要样本的先验知识,而非监督分类则不需要先验类别知识,面向对象分类方法主要有模糊分类方法和最邻近分类方法。随着大数据的出现以及计算机运算能力的提升,基于像素的监督分类方法成为遥感影像地表覆盖自动分类的主要研究方向。
近年来,随着深度学习算法在遥感影像分类中的应用研究,各类神经网络模型不断涌现。2012年Krizhevsky等人提出AlexNet模型,首次在神经网络中使用了ReLU、DropOut和LRN等技巧,在LSVRC2012图像分类比赛中分类错误率为16.4%,相较其他组有非常明显的优势,推动了深度学习在各领域的扩展。2014年牛津大学团队提出了VGG模型,在ILSVRC2014图像分类比赛中分类错误率为7.3%。同年谷歌团队提出的GoogleNet模型,在比赛中分类错误率为6.7%。2015年微软团队提出的152层深度残差网络ResNet在图像分类比赛中分类错误率为3.57%,达到人类识别精度等级。2016年Zhong等人提出了改进的LPCNN模型,在高分辨率遥感影像分类中,取得了很高的分类精度。
本文研究基于VGGNet卷积神经网络的算法在遥感影像地表覆盖分类中的应用,通过改进网络中的激活函数,选用泛化能力更好的训练方法,以遥感影像中的耕地、林草覆盖地、房屋建筑、人工堆掘地、道路、水域6类地表覆盖分类为例,比较分析本文改进的VGGNet分类结果的精度以及网络不同层特征的分类结果。
1 卷积神经网络
1.1 适用于地表覆盖分类的卷积神经网络
人工神经网络是在生物神经网络的结构和功能基础上提出的一种运算模型,是由大量简单生物神经元按不同连接方式组成的网络,并从信息处理角度对其进行抽象,模拟生物神经网络处理、记忆信息的方式,可以充分逼近任意复杂的非线性关系、进行复杂的逻辑操作的网络系统,具有自适应学习、并行分布处理、强鲁棒性、非线性拟合等能力特征。由网络神经元模型、网络结构和学习规则3个基本要素构成, 如图1所示由输入层、隐层、输出层组成。
图1 人工神经网络结构
Fig.1 The structure of artifificial neural network
人工神经网络的如公式(1)所示:
式中,为第h层第k个神经元的输出值,为第h层第k个神经元的输入值,为第h层的上一层第i个神经元连接到该层第k个神经元上的权值;为第h层的第k个神经元的偏置量;f()为激活函数。
从图1及公式(1)中可以看出,每个特征值可以由上一层的所有输出值与权值及偏置量的线性求和的值通过激活函数得到,这种全连接方式的神经网络结构非常复杂,由于连接数目较多,优化模型参数时容易陷入僵局且处理效率不高;当输入数据为遥感影像时,单个神经元(像元)的分类输出值一般只与一定邻域内的像元有联系,并非与所有输入像元都必须有连接,因此,通过卷积神经网络实现局部连接,能够很好地利用遥感影像空间结构来实现特征值的提取分类。
卷积神经网络(Convolution Neural Network, CNN)由输入层、卷积层(包括激活层、池化层)、全连接层和输出层组成,本质是将人工神经网络的部分全连接层替换为卷积层(激活层、池化层),具有局部连接、权值共享和池化降采样的优点,降低了网络复杂度,便于有效防止过拟合从而获得更高的鲁棒性。CNN具有自动学习多个层次的优势,其中感受野较小的浅层卷积层用于学习局部特征,感受野较大的深层卷积层用于学习抽象的特征,能够自动学习得到图像特征的分布。适用于地表覆盖分类的卷积神经网络较多,其中较为高效的有AlexNet、GoogleNet、VGGNet、SegNet、ResNet。其中AlexNet模型只有八层卷积层,结构复杂度较小导致网络容易欠拟合;ResNet是具有152层的结构复杂度深度残差网络,结构复杂度太大,网络训练比较困难;GoogleNet模型使用了不同尺寸卷积核的Inception模块,使用对上一层特征图进行线性组合的1×1卷积层和便于提取邻域纹理特征的5×5卷积层,更适合于具有明显纹理特征的高分辨率图像分类,但VGGNet模型的2个3×3的卷积层串联可以代替1个5×5的卷积层,且比1个5×5的卷积层参数量少,只有后者的72%([(3×3×2)/(5×5)]),且具有更多的非线性变换,训练起来更容易。
通过分析,网络模型的深度可以影响遥感影像地表覆盖分类应用中的性能,虽然网络深度的提升可以提高分类准确度,但同时会引起训练误差增大的退化问题,鉴于以上分析,本文选择模型深度适中且易于训练模型参数的VGGNet模型。
1.2 VGGNet的网络基本结构
VGGNet有2个比较有名的模型,分别是VGG-16和VGG-19,由于二者的分类精度比较接近,本文选用模型参数较少且提取特征速度较快的VGG-16模型进行实验。本文所用VGG-16模型的结构和参数如图2和表1所示,包括5个卷积组和3个全连接层,每个卷积组又包括2~3个卷积层,卷积核的感受野窗口大小为3×3×通道数,每个卷积层都利用激活函数将输出值映射到下一个卷积层,每个卷积组后接一个步长为2的2×2池化层进行下采样,最后一个卷积层后接3个全连接层,再接1个softmax归一化指数函数分类器。
图2 VGG-16模型的结构图(SeLU激活函数)
Fig.2 Structure diagram of the model VGG-16(SeLU activation function)
表1 VGG-16模型的详细参数表
Tab.1 Detailed parameter table of the model VGG-16
1.3 SeLU激活函数
激活函数是对公式(1)中得到的线性结果的一种非线性映射,前一步的加权求和是线性变换,后一步的激活函数是非线性变换,故而激活函数是针对线性运算的不足增加模型的表达能力,可以使得神经网络能够更好地解决较为复杂的问题并具有高效的学习能力。在CNN中,常用的激活函数有sigmoid、tanh、ReLU、ELU、Leaky-ReLU、SeLU等函数。在训练网络参数过程中,利用的是误差反向传播算法(Back Propagation,BP),其原理是将经过各卷积层处理的输出结果与标签验证数据进行对比,将对比出的误差反向传播回各卷积层,同时调整各层权值等待解参数,此过程反复迭代,直至收敛。在BP算法中会形成激活函数导数连乘项,当激活函数的导数f '(x)为0时会产生梯度消失,导致该层到输入层之间的参数无法更新。而当激活函数的导数f '(x)小于1时,在多次连乘后,连乘项会迅速变小趋于0,造成浅层的残差变小,甚至为0,从而导致无法更新。
Sigmoid函数:
Tanh函数:
ReLU函数:
Leaky-ReLU函数:
式中,α= 0.25。
ReLU函数如图3所示:
式中,λ、α为待解参数,均大于1。
通过以上激活函数可以分析得出,Sigmoid函数和Tanh函数为饱和非线性函数,会产生梯度爆炸或梯度消失的问题,收敛速度较慢;ReLU函数不存在梯度消失问题,且当x≥0时,激活函数的导数f '(x)恒为1,激活函数收敛速度快,但当x<0时f '(x)为0,阻断了误差反向传播,且ReLU函数训练时很“脆弱”,在大梯度流经ReLU函数更新参数后,便不会对任何数据有激活现象;Leaky-ReLU函数是ReLU函数的改进型,用来解决ReLU函数的负轴信息全部丢失的问题;SeLU函数图像如图3所示,不会出现梯度爆炸或者消失的问题,且正轴f '(x)大于1,在方差过小时让它增大,加快收敛速度,同时负轴信息也可以保留,并且SeLU函数中的λ、α可以作为待解参数,使得每一层的激活函数有所差异,提高了卷积层间的差异性,降低神经元之间复杂的互适应关系,从而实现抑制过拟合的现象。
图3 SeLU函数图像
Fig.3 Graph of the activation function SeLU
1.4 VGGNet的网络参数及训练
VGG-16模型参数数量需要训练的参数量较大,训练集数据量太少或太多会导致网络欠拟合或过拟合,因此要训练出最优拟合的模型参数,必须保证合适的、均衡的全覆盖训练集数据量和样本数据量。
在网络训练过程中,通过检验模型的准确度和损失值,找到合适的网络训练结果非常重要,通常可以用反映模型泛化能力的损失值来判断模型欠拟合、过拟合等情况。如图4所示,随着训练次数的增加,损失值先减小后增大,参数调整量逐渐降低,当模型的损失值变化较小或者不变时,参数调整量得到最优调整(虚线处),此时停止模型训练,便可达到最优拟合模型。
图4 损失值VS参数调整曲线
Fig.4 Curve of adjustment on the loss and parameter adjustment
要充分训练VGG-16模型参数需要足够的训练集数据,由于实验中带标签遥感影像数据量很难达到这个要求,因此需利用逐层贪婪训练方法初始化网络参数和迁移学习解决遥感影像样本不足的问题。
网络参数的初始化一般用随机数值的方法,为了更快地得到最优拟合网络参数,可以利用逐层贪婪训练方法初始化网络权值参数:首先将网络中各卷积层SeLU激活函数的参数初始化为λ=1.05、α=1.75,然后输入6(地表覆盖类别数)个训练集数据,初始化网络中第一个卷积层的权值参数和该层的激活函数参数,然后固定第一层的参数,再输入6个训练集数据,初始化网络中第二个卷积层的权值参数和激活函数参数,以此类推,直至所有卷积层和全连接层的参数全部初始化完毕。
初始化参数之后利用ImageNet自然数据集迁移学习来微调整个网络参数,并利用自有数据集进行网络的完善优化和实验,步骤为:①挑选ImageNet自然数据集中适合本文分类的训练集数据,对其进行压缩降维、归一化等预处理,然后对利用贪婪训练方法初始化参数后的VGG-16模型进行训练,微调网络参数;②利用自有带标签训练集数据对微调好的模型参数进行完善;③利用测试集数据对完善后的模型进行遥感影像地表覆盖分类实验。整个过程中合理分配ImageNet数据集和自有训练集数据,保证适量的总训练集数据量,以便于训练出最优拟合的网络模型参数。
1.5 评价指标
在对遥感影像进行分类之后,需要对分类结果精度进行评价,在卷积神经网络遥感影像分类领域,有很多评估模型算法分类精度的标准,在本文中使用精确率(Precision)、召回率(Recall)、准确率(Accuracy)及F1值来评估其分类效果。
对于分类情况,会出现以下4种情况:
①预测为正,实际为正,记为TP。
②预测为正,实际为负,记为FP。
③预测为负,实际为正,记为FN。
④预测为负,实际为负,记为TN。
每一个样本都只可能属于这4种情况的某一种,不会有其他情况。
精确率:
召回率:
准确率:
F1值:
精准率用来反映模型对负样本的区分能力,其值越高表示模型对负样本的区分能力越强;召回率用来反映模型对正样本的识别能力,其值越高表示模型对正样本的识别能力越强;准确率用来表征分类器对整体的判断能力,即正确预测的比例;F1值是召回率与查准率的综合,F1值越高,说明分类模型越稳健。
在对遥感影像分类的结果评价中,也可以用基于混淆矩阵的精度评价方法,其中最为常用的是总体分类精度和Kappa系数:
总体分类精度:
Kappa系数:
式中,n表示类别,N表示类别总和,xii表示混淆矩阵中的对角线元素,xi+表示类别的列总和,x+i表示类别的行总和。
总体分类精度(OA)表示每一个分类结果与参考结果实际类型相同的概率,其值越高,分类结果越好;Kappa系数表示两幅图之间的吻合度,可以用于定量评价分类结果与参考图像之间的一致性。
2 实验与分析
2.1 实验设计
标定训练数据集:在ArcGIS中利用目视解译方法分类两景融合后的2 m分辨率高分一号卫星遥感影像,得到地表覆盖矢量图斑数据。本实验将地表覆盖分为耕地、林草覆盖地、房屋建筑、人工堆掘地、道路、水域六类,将分类之后的矢量数据输出为与原遥感影像大小相同的带标签图像,其中不同类的地表覆盖输出为不同的颜色,按照影像清晰、特征明确的筛选标准,挑选出3 560对数据集,按7:3的比例分成训练集与测试集数据。由于VGGNet的输入影像为固定大小影像,因输入影像取以样本点为中心的邻域参与训练和测试,所以以待分类像元为中心取9×9邻域用双线性插值上采样到 224×224,然后训练神经网络参数。
神经网络参数训练:①挑选96对地表覆盖类别数均匀的训练集图块,利用逐层贪婪训练方法初始化网络权值参数,包括卷积核权值参数、全连接层参数、激活函数参数);②利用预处理好的ImageNet自然数据集,对初始化参数后的模型进行网络参数调整;③利用剩余的训练集数据对微调后的网络模型进行参数优化,当模型的邻域(5次)损失值均值变化较小或者不变时(图4中虚线位置附近)停止网络训练[12],并得到表1中Conv5_3、Fc6、Fc7的模型参数,作为不同层特征与最后输出结果进行精度对比;④用网络训练完成之后的模型对测试集数据进行测试和精度评价。
对比实验:为了对比网络参数训练方法的优越性,同时采用随机初始化参数且只用自有训练集数据的方法作为对比试验;为了与本文采用的SeLU激活函数方法进行对照,本次实验同时采用ReLU激活函数的VGG-16网络模型作为对比试验。
2.2 实验结果
1)利用相同的VGGNet模型根据不同的参数训练方法,用相同的测试集数据进行分类实验得到分类结果,然后采用总体分类精度和Kappa系数对2个样本的测试结果进行了精度评价,实验结果如图5所示。结果表明,由于源域ImageNet自然数据集和目标域地表覆盖分类数据集在特征信息上有相似性,使用迁移学习的网络总体分类精度和Kappa系数均高于未使用迁移学习的网络,表明利用ImageNet自然数据集的迁移学习方法有助于地表覆盖分类中神经网络的训练,比直接用训练数据集的方式更加有效,可以提高神经网络模型在地表覆盖分类应用中的分类精度。
图5 不同参数训练方法分类结果对比
Fig.5 Results' comparison of training methods with difffferent parameter
2)利用本文提出的神经网络参数训练方法,分别对ReLU激活函数和SeLU激活函数的VGGNet模型进行网络训练,用相同的测试集数据进行分类实验,采用精准率、召回率、准确率、F1值对测试集的六类地表覆盖分类结果进行精度评价,实验结果见表2。结果表明,利用ReLU激活函数和SeLU激活函数的VGGNet模型测试数据集进行地表覆盖分类,耕地、林草覆盖地、房屋建筑、人工堆掘地、道路、水域六类地物的分类效果较好,其中水域类别分类精准度最高,均达到90%左右,耕地及人工堆掘地的分类精准度相对较低;本文提出的利用SeLU激活函数(λ、α作为待解参数)的模型分类精度比利用ReLU激活函数的模型在整体性能上有所提升,其中平均Accuracy和F1值较后者分别提升了0.7%和0.6%,说明前者算法具有更好的分类准确率。
表2 各类别分类结果精度评价比较分析
Tab.2 Classifification accuracy of every category
3)在实验中分别提取了利用ReLU激活函数和SeLU激活函数的VGGNet模型的Conv 5_3、Fc 6、Fc 7三层的深度特征,然后将此三层深度特征信息利用softmax归一化指数函数分类输出分类结果,并与最后输出结果(Fc8层特征信息)作比较,其F1值分类精度对比结果如图6所示。从图中利用2个不同激活函数模型的Conv5_3、Fc6、Fc7、Fc8四层的特征分类结果中可以看出:不同激活函数的神经网络模型、不同层的特征都是影响遥感影像地表覆盖分类结果的重要因素,对于利用ReLU激活函数和SeLU激活函数的两个VGGNet模型,由于全连接层的特征信息相对于卷积层更加抽象且更具有表达性,因此利用全连接层特征信息比卷积层特征信息的分类精度都要高;而Fc7层的分类精度最高,主要因为Fc8层的特征虽然语义性更强,但其更倾向于符合训练集图像的分类属性,其精度反而降低。
图6 不同深度特征层分类精度对比结果
Fig.6 The comparison of classifification accuracy on difffferent feature layers'depth
4)在实验中采用SeLU激活函数的VGGNet神经网络,利用前文实验设计中的神经网络参数训练方法训练网络,取以像元为中心的9×9邻域并上采样到 224×224作为输入,利用已训练好的网络提取特征,利用其中Fc7层的特征进行地表覆盖分类,然后对遥感影像逐像素遍历,最后输出分类结果,如图7所示。
图7 分类结果图
Fig.7 The image of classifification results
2.3 分析与讨论
1)由于所使用的训练集数据有限,本文使用了利用逐层贪婪训练方法初始化网络权值参数和基于ImageNet自然数据集迁移学习的网络训练方法,相较于全部利用自有训练集的方法有更好的分类精度和泛化能力,为基于小规模数据集的地表覆盖分类网络训练提供了有效的解决方案。
2)本文利用SeLU激活函数,且函数中的λ、α作为待解参数在网络训练中逐步优化,比利用ReLU激活函数的网络收敛速度更快,提高了卷积层间的差异性,降低了神经元之间的互适应关系,分类精度更高。
3)对比不同特征层的分类结果精度,使用全连接层特征的分类精度比使用卷积层特征的分类精度高,其中Fc7全连接层的分类精度最高,具有更强的表达性,因此在遥感影像地表覆盖分类应用中可以优先考虑使用全连接层的特征进行分类。
4)由于地表覆盖分类标准体系较多,各类别地物纹理和结构特征复杂,相互间区别较小,且影像源时相差异较大,同谱异物及同物异谱现象较为普遍,导致个别地表覆盖类别(耕地、人工堆掘地)的分类精度较低,因此针对特征信息相似的地物类别的分类逻辑及优化策略需要进一步完善。
5)对于整幅遥感影像的整体分类技术和方法有待进一步探索,如通过构建端到端和跳跃连接的神经网络分类策略,全卷积神经网络分类方法等,网络自适应输入端的影像大小,获取整景遥感影像的地表覆盖分类结果。
3 结束语
本文探讨了利用不同激活函数对深度卷积神经网络VGGNet模型分类效果的影响,对比分析了不同网络训练方法在分类中的效果。通过逐层贪婪训练方法初始化网络权值参数和迁移学习的网络训练方法,采用带参数的SeLU激活函数得到适用于地表覆盖分类的VGGNet模型,通过测试验证了其在遥感影像地表覆盖分类中的有效性。
通过本文试验结果及分析讨论,对今后开展地理国情监测和地理信息资源建设地表覆盖分类中应用深度卷积神经网络方法提出以下思路:数据与算法同样重要,应当建立大数据量、完备的用于国情监测的训练、测试以及研究的遥感影像数据集,便于在遥感数据处理中大规模应用深度学习的技术方法。
致谢:本文所用实验数据为自然资源部第三航测遥感院国情监测的卫星遥感影像。
作者简介:朱宏(1989-).男,甘肃高台人,工程师,学士,主要从事基础地理信息数据处理,地理国情监测研究等工作。
E-mail:414419490@qq.com
本期回顾
文化遗产数字化与虚拟修复
理论研究
· 耦合功能连接性的TOD发展模式“节点—场所”测度模型构建
邮箱变更声明
网站开通公告
诚聘特约审稿专家
专题组稿