张秦瑞,林国军,朱晏梅
(四川轻化工大学自动化与信息工程学院,四川宜宾 644000)
遥感是一项利用传感器进行非接触、远距离的探测技术,通过传感器探测物体的辐射、反射特性,从而进行感知和识别[1]. 高分辨率遥感图像能够反应丰富的地表信息,被广泛应用于国土资源规划、城市规划、气象观测等领域[2-4].20世纪90年代,深度学习首次在实际场景中得到应用,LeCun 用其提出的LeNet 网络对手写数字进行自动识别[5],但由于当时电脑技术还不够成熟,深度学习发展缓慢. 2012 年,Krizhevsky 等人使用AlexNet 网络[6]取得了ImageNet图像识别大赛的冠军. 至此,深度学习重新进入人们视野,各种卷积神经网络也相继被提出[7-9]. 2015年,Long 提出的FCN 网络[10]将传统卷积神经网络的输出层,从原来的全连接层替换为卷积层,实现了卷积神经网络对图像的语义分割,随后Ronneberger等人提出U-Net 网络[11],保证了数据集较小情况下的图像分割精度. 2016 年,Badrinarayanan 等人正式提出了组成结构为编码器、解码器的SegNet网络[12],较好地对图像进行语义分割. 本文通过向SegNet 网络引入金字塔池化模块,构建P-SegNet 网络模型,对遥感图像进行语义分割,以此监测城市植被、道路、建筑及水域分布,为城市发展提供决策帮助.
SegNet[12]是一个经典的深度学习分割网络,借用了一部分经典的卷积神经网络,可以对图像中的物体所在区域进行像素级别的分割,其实现由一个卷积神经网络构成,主要由编码器(Encoder)和解码器(Decoder)两部分构成,如图1所示.
图1 SegNet网络结构[12]Fig.1 SegNet network structure
本文基于SegNet 网络构建一种新型P-SegNet网络模型,该网络在SegNet 基础上加入金字塔池化模块(Pyramid Pooling Module, PPM)[13],使得改进后的P-SegNet 网络在SegNet 原有编码基础上进一步提取图像特征,聚合不同区域的上下文信息,提高获取全局信息的能力,P-SegNet 网络在编码部分将PPM 网络结构获得的特征图像,与解码部分得到的特征图像进行连接(Concat),进而提升对遥感图像的识别精度,其网络结构如图2所示.
图2 P-SegNet网络结构Fig.2 P-SegNet network structure
金字塔池化模块(PPM)结构如图3所示,它能够聚合不同区域的上下文信息,从而提高获取全局信息的能力,其结构主要功能是从输入的特征层里获取划分成不同大小的网格,每个网格内部各自进行平均池化.
图3 PPM网络结构Fig.3 PPM network structure
本文对特征图像进行1×1、2×2、4×4 以及8×8的平均池化,对其结果进行卷积核数量为64 的卷积,激活函数为Relu,最后使用Upsample 的双线性插值方法对特征图像进行上采样,对数据进行恢复,PPM的网络具体参数见表1.
表1 金字塔池化(PPM)具体参数Table 1 Specific parameters of Pyramid Pooling Module
本文在对P-SegNet 网络进行训练时,优化器选用为Adam,学习率设为0.000 1,Batch Size 设为8,epoch 设为20 次,设定shuffle 值为20 000,以达到防止网络训练过程中发生过拟合的目标.
实验基于Tensorflow+Keras 深度学习框架,实验环境硬件与软件配置见表2.
表2 实验环境硬件与软件配置Table 2 Hardware and software configuration of experimental environment
实验使用“CCF 大数据与计算智能大赛”公开的数据集,数据集中有5 类分类样本,分别是:植被、道路、建筑、水体以及其他. 因为卷积神经网络模型表达能力比较强,为了防止出现网络过拟合,因此需要对数据集进行增强操作,实验对数据集中图片按照256×256 像素大小进行随机切割,并在切割得到的图像上进行:旋转90°、水平翻转、垂直翻转等操作,将数据集扩增到120 000 张256×256 像素的图片,训练集与验证集的比例为8∶2,其中训练集96 000张,验证集24 000张.
本文使用常用的模型评价指标准确率(Accuracy)以及误差(Loss)对模型进行评价.
(1)各网络模型Accuracy/Loss数据分析
在经过不低于30 小时的训练之后,SegNet 和P-SegNet 网络训练得到的Accuracy/Loss 曲线图如图4所示,图中acc和loss代表训练集准确率和误差,val_acc 和val_loss 代表验证集的准确率和误差. 统计各个网络模型的训练日志,结果如表3所示.
图4 各网络模型的Accuracy/Loss曲线图Fig.4 Accuracy/Loss curve of each network model
通过图4及表3数据可以明显看出:SegNet网络的acc在epoch 次数达到15次时趋于稳定,最终在迭代次数为20 次时,达到顶峰的95.82%,loss 下降到0.10. P-SegNet 网络因为加入金字塔池化(PPM)网络结构,在网络编码阶段对图像进行了多尺度的特征提取,在解码阶段将金字塔池化(PPM)提取到的特征信息,与SegNet 上采样特征进行融合,从而加强了对图像全局特征的提取能力,提升了网络对图像的分割精度,因此收敛速度快于SegNet 网络,并且在训练集中迭代次数达到20 次时,准确率acc 能够达到96.36%,相比SegNet 网络提升了0.54%,同时验证集acc高于SegNet网络0.98%.
表3 各模型训练日志Table 3 Training log of each model
(2)验证集分割展示
使用SegNet 和P-SegNet 网络对验证集大尺寸遥感图像进行分割,分割效果如图5 所示,图5(a)为待分割的遥感图像,图5(b)是人工标签图,图5(c)、图5(d)分别是SegNet 和P-SegNet 网络的分割效果图.从图5(c)可以看出,SegNet 网络虽然完成了对图像的分割,但是对于细节的处理还是不够到位,存在局部无法识别的情况;图5(d)所对应的P-SegNet 网络分割效果优于改进前的SegNet 网络,具体体现在细节特征的提取上,其原因就在于P-SegNet网络加入了金字塔池化模块(PPM),使得整个网络对全局特征的提取能力上增强.
图5 各网络模型的分割效果图Fig.5 Segmentation effect of each network model
SegNet 网络能够对遥感图像进行语义分割,但存在局部特征无法提取的问题,这是由其网络本身结构导致的. 改进后的P-SegNet 网络,加入了金字塔池化模块(PPM),因此能够加强全局特征的提取,进而增强细节特征的提取,相比SegNet 网络,PSegNet 网络在识别准确度(Accuracy)和损失(Loss)上表现更佳,训练集Accuracy 同比SegNet 网络增加0.54%,验证集增加0.98%;训练集Loss 同比SegNet网络减少0.02,验证集减少0.03.