随着遥感技术的快速发展,遥感图像的分辨率越来越高,含有丰富地表信息的遥感图像在农业生产、环境监测、城市规划、气象预测、应急减灾、军事安全等领域得到了广泛的应用[1-4]。作为图像分割[5]中的一个分支,语义分割越来越多地应用在遥感图像的处理上。对遥感图像进行语义分割就是对图像中的每一个像素进行分类标注,从而将图像上的地物和物品等提取出来,为图像的进一步识别、量测以及分析等打好基础。语义分割的方法有许多种,在早期以传统语义分割方法为主,包括基于阈值的图像分割技术、基于边缘的图像分割技术、基于区域的图像分割技术以及基于特定理论的图像分割技术[6],这类方法的参数需要人工调整,比较耗费时间和人力并且精确度不高,在大数据集和复杂图像环境场景下已经较少使用了。近几年来,深度学习[7]获得了飞速的发展,神经网络的表征能力不断提高,基于深度学习的语义分割方法成为了主流[8]。2015年,Jonathan Long等[9]提出全卷积网络(fully convolutional networks,FCN),它将传统卷积神经网络的全连接层替换为卷积层,使用上采样将图像恢复到原尺寸大小进行像素级的分割,第一次将端到端的卷积网络引入到语义分割任务中。在FCN的基础上,2015年Olaf Ronneberger等[10]提出了U-Net网络,采用了对称的编解码结构结合特征融合,在小数据集上也有良好的表现。随后在2016年,Badrinarayanan等[11]提出了SegNet网络[11],该网络基于编码-解码结构,在上采样中使用最大池化索引,在分割任务中有不错的效果。
这些经典语义分割网络应用在遥感图像的语义分割中时,由于遥感图像上目标尺度大小不一,边缘细节复杂,包含较多的语义信息的特点[12],在小目标以及边缘细节上的分割精度不够理想。针对这些问题,对SegNet网络进行了改进,引入ELU激活函数和金字塔池化模块[13],选择性丢弃池化等来提升模型在遥感图像上分割的准确性。
为了提升在遥感图像上的分割精度,在SegNet的基础上设计了EP-SegNet网络。经典的SegNet网络基于对称的编码-解码结构,编码器分为5个卷积组,每组由same卷积、批归一化、ReLU激活和最大池化操作组成,在池化时记录最大值的索引。解码器与编码器对称,由上采样和卷积操作组成,在上采样时利用编码时的最大池化索引,逐步将图像恢复到原尺寸大小,最后连接softmax层预测每个像素所属类别。SegNet网络结构如图 1所示。
图1 SegNet网络结构
Fig.1 SegNet network structure
SegNet使用的激活函数ReLU是神经网络中最常用的激活函数,具有形式简单,计算复杂度低,可以增大稀疏性,能够避免梯度消失等优点,但会出现神经元死亡的问题,而且 ReLU 函数的输出是非零中心化的,给后一层的神经网络引入偏置偏移,会影响梯度下降的效率。针对这些问题,EP-SegNet使用ELU作为激活函数。ELU激活函数不会导致神经元死亡,可以避免梯度消失和梯度爆炸,而且ELU可以输出负值,使输出的平均值接近 0,从而使均值向零加速学习。这样进一步增强了网络的稳定性和收敛速度,减少了训练时间。为了降低空间信息的损耗,EP-SegNet去掉了SegNet编码器最后一层池化,增强模型对细节的感受能力,改善对小尺寸目标的分割效果。针对去掉池化层后参数量的上升,EP-SegNet在编码器和解码器连接处构建了Bottleneck层,减少了参数量并拓展了网络深度。为了进一步适应遥感图像多尺度特点,提升对全局信息的感知,EP-SegNet在deeplab v3[14]的启发下引入了金字塔池化模块。
EP-SegNet的网络结构如图 2所示。编码器分为5个卷积组,共有13个3×3卷积核,4个步长为2的2×2最大池化层,解码器与编码器对称,同样分为5个卷积组,包含13个3×3卷积核,4个上采样层。在编码器和解码器之间构建1×1卷积层和金字塔池化模块。
图2 EP-SegNet网络结构
Fig.2 EP-SegNet network structure
EP-SegNet的编码器沿用了SegNet的卷积组结构,在卷积时使用same卷积以使卷积后的图像长宽大小不变,在进行最大池化操作时记录最大值的索引,以便解码器进行上采样时将最大值还原到原位置,以此补充丢失的空间语义信息。卷积后的特征图经过ELU激活函数来使特征非线性化。ELU激活函数的表达式为:
式中,α为需要指定的常数。当x的值小于0时,ELU的输出值不为0,因此不会出现神经元死亡的情况,也可以避免梯度消失和爆炸,同时减少偏置偏移的影响,由此加快了模型的收敛。
解码器和编码器的结构是对称的,由上采样和卷积组成,上采样过程中利用了最大池化索引。在编码器和解码器之间构建了Bottleneck层,使用1×1的卷积核来对编码器图像的细节特征进行进一步提取,同时减少因去除编码器最后一层池化导致的参数量上升。使用Bottleneck层前后输出的参数量用公式表示为:
式中: X和X′分别表示编码器输出的参数量和加入Bottleneck层后的参数量; Fli表示第i层卷积核大小;Fci表示第i层卷积核个数;li表示第i层神经元;ci表示第i个卷积核;h表示输入特征图的深度;F表示1×1卷积核的个数,因通常F<h,所以X′<X。由此可看出Bottleneck对减少参数量所起的作用。
除了Bottleneck,模型还构建了金字塔池化模块,可将编码器输出的图像作为输入,经过不同尺度的最大池化操作后分别对得到的不同尺寸的特征图进行卷积和上采样,最后将连接图像和解码器输出的图像再做连接,通过对不同区域上下文信息进行聚合来提高模型对全局信息的感知,进而提升对遥感图像的识别精度。其结构如图3所示。
图3 PPM网络结构
Fig.3 PPM network structure
PPM对特征图像做1×1、2×2、4×4以及8×8的最大池化操作,然后用深度为128的卷积核对结果进行卷积,激活函数为ELU,最后使用双线性插值方法对特征图像进行上采样,并对数据进行恢复。
在编码器的后面连接的是Sotmax分类器,根据输入特征图像预测出每个像素所属类别。
在Tensorflow+Keras的框架下进行模型程序化,实验的硬件环境及软件配置如表1所示。
表1 硬件环境及软件配置
Table 1 Hardware and software configuration
配置项版本信息硬件GPUNVIDIA GeForceRTX2080Ti显存12 GCPUIntel(R)i7-10875H内存16 G软件操作系统Windows 10编程语言Python 3.8框架Tensorflow 2.2CUDA10.1cuDNN7.6
实验的数据集来自于“CCF大数据与计算智能大赛”[15]的公开数据集2015年中国南方农村无人机遥感影像。数据集共分为5类,分别为水体、植被、道路、建筑及其他。通过对原始图像进行256×256像素大小的随机切割并进行旋转、翻转、缩放等操作对数据集进行增强,将数据集的大小扩充为50 000张图片。训练集和验证集按照4∶1的比例进行划分,即训练集40 000张,验证集10 000张。数据集样本如图4所示。图像由原大尺寸高分辨率图像以256×256大小随机切割后进行增强而得,图中植被、道路、建筑、水体等景物清晰可见。
图4 遥感图像数据集示例
Fig.4 Some training set images
图5 各模型的Accuracy/Loss曲线图
Fig.5 Accuracy/Loss curve of each network model
对模型进行训练的优化器使用了Adam,epoch设置为30次,初始学习率设置为0.01,Batch Size设置为16。
在所设置的参数条件下将模型在数据集上进行了训练,实验中将原始SegNet作为对比在相同的遥感数据集下进行训练。实验采用常用的准确率(Accuracy),精确率(Precision)和召回率(Recall)作为实验结果的评价指标。
精确率反映了在所有被预测为正的样本中实际为正的样本概率。它的表达式为:
式中:TP代表预测值是真且真实值是真的像素点;FP代表预测值是真而真实值是假的像素点。显然p越大表示类别预测正确的像素点在样本中所占的比重越大,分割的结果越准确。
召回率反映了在所有预测为正的样本中真正为正的占总体实际为正的样本的比例。它的表达式为:
式中: FN代表预测值是假而真实值是真的像素点。显然r越大代表预测的正确率越高。
2.3.1 各网络模型Accuarcy-Loss结果分析
通过统计训练过程中输出的评价指标绘制了EP-SegNet和原始SegNet的训练日志表来反映2种模型在遥感图像上训练的表现情况。日志表的具体内容如表2所示。其中acc代表训练准确率,acc_val代表验证准确率,loss代表训练损失值,loss_val代表验证损失值。从表2中可以看出在每轮训练迭代中,EP-SegNet在训练集和验证集上的accuarcy及loss指标总体上要优于SegNet,且准确率的提升和损失值的下降速度更快。在经过了30轮迭代后,EP-SegNet的训练集accuracy达到97.48%,比SegNet高出3.31%,验证集accuracy达到93.68%,高出SegNet2.36%,训练集loss下降到0.06,比SegNet低0.03,验证集loss下降到0.19,比SegNet低0.03。
表2 训练日志
Table 2 Training log
迭代次数EP-SegNetacc/%lossacc_val/%loss_valSegNetacc/%lossacc_val/%loss_val175.550.4870.910.4975.600.5075.510.50583.230.3582.240.3982.240.3780.940.401089.170.2487.840.2887.850.2977.000.511593.910.1491.810.1991.340.1989.220.242095.810.0992.660.1892.760.1689.820.242596.520.0893.020.2193.890.1391.550.223097.480.0693.680.1994.170.0991.320.22
作为对比,实验中引入了同样基于编码-解码结构的常用语义分割网络UNet,统计实验数据绘制的EP-SegNet,UNet和SegNet的Accuracy-Loss曲线图如图 5所示。从图中可以直观地看出,虽然UNet的曲线平滑而稳定,但在迭代中其性能提升较为缓慢且收敛后的准确率和损失值表现不如其他2种模型。SegNet的性能提升较快且收敛效果与UNet相比有了较大的提升,但其验证集Accuracy-Loss曲线在收敛前震荡较大,不够稳定。与SegNet相比,EP-SegNet曲线整体较为平滑,收敛速度稍快于SegNet。正是由于添加了Bottleneck层,减少了模型的参数量,使得模型在保证精确率的同时加快了计算速度降低了内存占用,同时模型使用的激活函数ELU能够避免神经元死亡,在负特征值的输出不为0,这就减小了偏置偏移的影响,使得特征的均值更加接近0,提升了拟合速度,从而加快了模型收敛,提升了模型稳定性。金字塔模块和去池化层可以提升模型提取全局信息的能力,减少了细节损失,从而提高了EP-SegNet分割结果的准确性。
为了更加全面的评价模型的表现,实验对比了UNet、SegNet和EP-SegNet模型在精确度和召回率指标在每个类别的表现情况,如表3所示。表中U代表UNet模型,S代表SegNet模型,EP代表EP-SegNet模型。由表可以看出EP-SegNet在各类别分割中的表现最优。
表3 各模型性能对比(%)
Table 3 Performance comparison of each network model
类别PrecisionUSEPRecallUSEP其他75.380.483.774.780.284.3植被81.687.492.582.186.792.6道路72.684.283.971.384.784.9建筑76.586.690.376.487.191.2水体85.287.389.885.886.590.4
网络模型EP-SegNet和SegNet以及UNet在遥感图像上的分割结果可视化后如图6所示。其中,图6(a)为原始遥感图像,图6(b)为标签图像,图6(c)为UNet分割结果,图6(d)为SegNet分割结果,图6(e)为EP-SegNet分割结果。图中用红色框线框出了几个有代表性的区域来进行分析说明。从分割结果图中可以看出UNet存在较多的误分、漏分现象,对小目标分割结果不够理想,比如图6(c)中最右侧框线区域里,UNet未能识别道路类型而将其归为其他,同样地在最下侧框线区域里,对于小目标的道路UNet也将其归为了其他类型,同时对边缘分割效果也不佳,如图中最左侧框线区域里对矩形其他类型区域的分割。EP-SegNet的分割结果与SegNet相比有比较明显的提升,对边缘细节和小目标的分割得到了改善,能够更好地适应多尺度目标分割,比如中间框线区域里对类型为其他的矩形区域的分割,EP-SegNet的分割结果接近标准的矩形,边缘平整光滑,而SegNet的分割结果的边缘细节不够理想,平滑性较差,在最右侧框线区域里对湖泊的分割结果也是如此,EP-SegNet分割的准确性也得到了提升,如在最右侧框线区域里和最上侧框线区域里,SegNet分别将其他类型的区域错分为了植被类型和道路类型。可见金字塔池化的多尺度特征提取和融合以及对池化层的选择性丢弃使得EP-SegNet对全局特征和细节特征的提取能力得到增强,提升了分割精度。
图6 各网络模型分割结果
Fig.6 Segmentation result of each network model
通过对SegNet模型进行改进,提出了EP-SegNet来对遥感图像进行语义分割。该模型通过添加Bottleneck层,选择性丢弃池化层,使用ELU激活函数,引入金字塔池化模块,提升了对全局特征的提取能力,增强了对细节信息的感知能力,提高了模型的稳定性,加快了收敛速度,在遥感图像的语义分割中有更良好的表现。其更加精确的分割结果为遥感图像在各领域的应用提供了良好的基础。
[1] 韩文权.重庆市地质灾害防治中遥感新技术应用进展分析[J].资源信息与工程,2020,35(3):53-56.
HAN Wenquan.Analysis on the application of new remote sensing technology in geological disaster prevention and control in Chongqing[J].Resource Information and Engineering,2020,35(3):53-56.
[2] 张晋阳.基于深度神经网络的遥感图像实例分割[J].现代计算机,2022,28(9):85-90.
ZHANG Jinyang.Remote sensing image instance segmentation based on convolutional neural networks[J].Modern Computer,2022,28(9):85-90.
[3] 伊丕源,黄树桃,郭里,等.核应急遥感应用现状及“高分卫星”应用潜力分析[J].世界核地质科学,2022,39(2):296-308.
YI Piyuan,HUANG Shutao,GUO Li,et al.Application status and potential analysis of CHEOS satellites in nuclear emergency responses[J].World Nuclear Geoscience,2022,39(2):296-308.
[4] 居祥,饶芳萍.耕地生态环境关键要素遥感监测研究进展[J].自然资源信息化,2022(3):59-65.
JU Xiang,RAO Fangping.Advances in remote sensing monitoring of key elements of cultivated land ecological environmrnt[J].Natural Resources Informatization,2022(3):59-65.
[5] 黄旭,张世义,李军.图像分割技术研究综述[J].装备机械,2021(2):6-9.
HUANG Xu,ZHANG Shiyi,LI Jun.Study overview of image segmentation technology[J].The Magazine on Equipment Machinery,2021(2):6-9.
[6] 梁新宇,罗晨,权冀川,等.基于深度学习的图像语义分割技术研究进展[J].计算机工程与应用,2020,56(2):18-28.
LIANG Xinyu,LUO Chen,QUAN Jichuan,et al.Research on progress of image semantic segmentation based on deep learning[J].Computer Engineering and Applications,2020,56(2):18-28.
[7] HINTON G E,SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[8] 程擎,范满,李彦冬,等.无人机航拍图像语义分割研究综述[J].计算机工程与应用,2021,57(19):57-69.
CHEN Qing,FAN Man,LI Yandong,et al.Review on semantic segmentation of UAV aerial images[J].Computer Engineering and Applications,2021,57(19):57-69.
[9] SHELHAMER E,LONG J,DARRELL T.Fully convolutional networks for semantic segmentation[J].IEEETransactions on Pattern Analysis and Machine Intelligence,2017,39(4):640-651.
[10] RONNEBERGER O,FISCHER P,BROX T.U-net:Convolutional networks for biomedical image segmentation[C]//Navab N,Hornegger J,Wells W,et al.Medical Image Computing and Computer-Assisted Intervention.Springer Cham,2015:234-241.
[11] BADRINARAYANAN V,KENDALL A,CIPOLLA R.Segnet:a deep convolutional encoder-decoder architecture for image segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(12):2481-2495.
[12] ZHAO H,SHI J,QI X,et al.Pyramid scene parsing network[C]//IEEE conference on computer vision and pattern recognition.21-26 July 2017,Honolulu,IEEE:2017:2881-2890.
[13] 王施云,杨帆.基于U-Net特征融合优化策略的遥感影像语义分割方法[J].计算机科学,2021,48(8):162-168.
WANG Shiyun,YANG Fan.Remote sensing image semantic segmentation method based on U-Net feature fusion optimization strategy[J].Computer Science,2021,48(8):162-168.
[14] CHEN L C,PAPANDREOU G,SCHROFF F,et al.Rethinking atrous convolution for semantic image segmentation[J].arXiv17:06.05587,2017.