多尺度特征融合神经网络的地表覆盖提取
2023-03-11罗想,张荞,黄昶
罗 想,张 荞,黄 昶
(1.自然资源部第三航测遥感院,四川 成都 610100;2.西南石油大学地球科学与技术学院,四川 成都 610500)
随着深度学习在机器视觉领域取得突破,深度学习理论和方法开始被引入遥感影像的处理与分析中[1-5]。目前,基于FCNs 的众多网络模型很快被引入到遥感影像分类中[6-15],但是要实现像素级别分类,需要构建逐像素类别标记的样本数据集,这也阻碍了FCNs在遥感影像分类中的实际应用。
为了提高图像语义分割精度,众多学者在深度学习网络中引入注意力机制,注意机制能够自动发现重要信息、增强语义,起到提高图像语义分割精度的效果。Jie[16]提出了基于通道注意力的网络SENet,通过自动学习各个特征通道的重要程度,注意力机制也已经被学者用于遥感影像的分类中,确定了较好的分类效果[17]。
基于上述分析,本文围绕卫星遥感影像地表覆盖信息提取,使用高分辨率卫星影像建立一套地表覆盖分类的像素级样本数据集,并设计一种基于全卷积神经网络的语义分割模型,实现地表覆盖信息高精度、自动化提取。
1 本文方法
1.1 网络框架
本文采用一种基于PSPNet[18]改进的语义分割网络PSP-SENet,该网络在特征图提取部分,采用SE 模块[20],关注特征信息量较大的通道,而在解码部分利用金字塔池化模块,融合多个尺度的特征图,主体网络框架如图1所示。
图1 PSP-SENet网络结构图
输入图像经过特征图提取模块提取到原始特征图,金字塔池化模块对原始特征图进行池化,金字塔池化模块是一个并行四层结构,4 个池化分支的输出尺寸大小分别为1×1、2×2、3×3 和6×6,再通过上采样,对4 个池化分支结果进行融合,得到金字塔池化特征图,然后与原始特征图映射合并起来,再进行卷积,生成最终预测图(图2)。
图2 SE模块单元
一个SE 模块单元中,Ftr为传统的卷积结构,X和U 分别为输入(H′×W ′×C′)和输出(H×W ×C),U=[u1,u2,…,uC],即
然后对压缩后的Z ,使用2个全连接层进行激励操作Fex,第一个全连接把C个通道压缩成了C/r个通道来降低计算量,其中r是压缩的比例,后面跟了RELU 函数,第二个全连接再恢复回C个通道,后面跟接Sigmoid函数,即
式中,δ为RELU 函数;σ为Sigmoid 函数; W1为C/r×C的降维矩阵;W2为C×C/r的升维矩阵。
通过压缩和激励操作,学习到各个通道间的关系,得到不同通道的权重,然后将SE 模块计算出的各通道权重值分别与原特征图对应通道的二维矩阵相乘,得出的结果输出
SE 模块为网络模型提供了一种通道域注意力机制,让模型更加关注信息量较大的特征图,而抑制那些不重要特征图。
PSP-SENet 网络结构如表1 所示,表中卷积核大小用n×n表示,卷积核大小之后的数字为卷积核个数,其他网络层后的数字代表输出通道数,全连接层后面中括号“[]”的数字是SE 模块中2 个全连接层的输出尺寸。
如表1所示,PSP-SENet首先对尺寸为480×480的输入影像进行特征图提取,特征图提取部分的结构取自文献[18]中的SE-ResNet-50,得到60×60 特征图之后,使用平均池化,将特征图分别池化成1×1、2×2、3×3 和6×6 大小,然后再分别使用双线性插值上采样方法,上采样到60×60,并与之前的60×60 特征图进行拼接,拼接之后再上采样到480×480 的尺寸,最后连接到softmax激活层。
表1 PSP-SENet的网络结构和参数
1.2 损失函数和精度评价
交叉熵损失函数是遥感影像分类任务中最常用的一种损失函数(L_cce),可从预测值(pr)与真值(gt)之间的交叉熵计算得到。
本文引入dice 系数构建损失函数,对PSP-SENet网络模型进行训练,dice损失函数(L_dice)定义为:
其中,
式中,β为准确率和召回率之间的平衡系数,本文β取值为1。
同时,提供一种交叉熵损失与dice损失之和的损失函数(L_cce_dice)
式中,F1和IoU 取值为0 到1 之间,值越大,分类精度越好。本文在多分类任务中,采用F1均值和IoU均值评价分类模型的整体性能。
2 数据与实验
2.1 数 据
本文采用资源三号卫星影像,选取3 个区域,制作了5 种常见地表覆盖类型的样本数据,类别包括耕草、林地、建筑、道路、水体,影像覆盖区域位于东南亚,样本数据如图3所示。
图3 训练样本数据(左图为卫星影像,右图为标签)
训练样本数据采用资源三号全色与多光谱融合影像,地面分辨率为2.1 m,4 个波段包含可见光(R、G、B)和近红外(IR)波段,样本影像覆盖的地表面积约3 400 km2,样本像素量达到千万级,未对样本进行增强处理前,样本数量约1 300 个图像块(480×480),样本数量与国际上优秀的开源数据集差不多。样本数据中每个类别的像素数量如图4 所示,5 种地物覆盖类型的像素数量差异明显,耕草和林地的数量远远大于其他三类,道路的数量最少,训练样本数据存在数据不均衡问题。
图4 训练样本中不同类别的像素数量
为了测试分类模型的性能,本文从东南亚地区的另外一景资源三号卫星影像中裁切出一块地物丰富的区域,测试影像覆盖面积约13 km2,对模型的分类结果进行精度测试,影像和参考标签如图5所示。
图5 测试数据(左图为卫星影像,右图为标签)
2.2 实验方案
本文方法基于TensorFlow和Keras深度学习开源框架,采用python语言编程实现。实验环境:操作系统为Ubuntu 16.04,GPU显卡为NVIDIA GTX1080TI。
为了测试PSP-SENet 提取地表覆盖信息的性能,分别做如下实验与分析:①对比PSP-SENet和其他语义分割网络;②测试影像波段对PSP-SENet模型的影响;③测试ImageNet 预训练模型对PSP-SENet 的性能提升;④测试不同损失函数训练时,对PSP-SENet性能的影响。
2.3 实验结果
2.3.1 对比常用语义分割网络
Segnet 和U-Net 是经典的语义分割网络,近年来常被用于遥感影像的信息提取[20],本文采用相同的训练和测试数据,分别对Segnet、U-Net 和PSP-SENet进行训练和测试。图6 为3 种网络模型对测试影像的分类结果,表2 给出了定量评价精度,耕草、林地、建筑、道路、水体单个类别的精度指标采用F1值(本文其他表格中单个类别的精度指标均为F1值),训练和测试影像的输入波段均为可见光波段(RGB)。
图6 不同网络模型的测试结果图
表2 不同网络模型的测试精度/%
从图6可以看出,Segnet、U-Net和PSP-SENet均能够有效识别出耕草、林地、建筑,但是水体的提取精度只有60%左右,而且道路难以被识别出来。表2显示,3 种网络模型对林地的识别精度最高,道路最低,PSP-SENet 的OA、MF1和MIoU 均 高 于Segnet、U-Net,除了道路,PSP-SENet 模型对单个地物类型的识别精度均高于其他2种网络模型。
2.3.2 比较影像的不同波段组合
卫星遥感影像的光谱范围通常包含可见光和近红外,为了充分挖掘卫星遥感影像波段丰富的优势,本文采用不同波段组合的卫星影像进行训练和测试,分析不同输入波段对地物的识别能力。
表3给出了3种波段组合的模型测试精度,IRRG(近红外、红色、绿色)波段组合和4 波段(IRRGB)的MF1相等、MIoU和OA相差仅为0.1%,RGB波段组合的精度指标远低于其他2种波段组合,MF1比其他2种波段组合的低了8.5%。从不同地表类型的精度来看,IRRG和IRRGB2种波段组合对道路、水体的提取精度有很大提升,说明近红外波段在道路和水体识别中,有一定优势。
表3 不同输入波段的模型精度/%
2.3.3 采用ImageNet预训练模型初始化
本文采用在ImageNet数据集上训练后的模型,对PSP-SENet 特征图提取部分进行初始化,实现网络模型参数迁移学习,即将从2012 ILSVRC ImageNet 数据集上训练得到的SE-ResNet-50模型,对PSP-SENet特征提取部分对应的网络层参数进行初始化,然后在遥感数据集上进行训练,得到最终的分类模型。由于ImageNet数据集只有RGB波段,本文采用RGB波段的预训练模型分别对RGB 和IRRG 2 种影像波段组合的模型进行初始化,表4 给出了采用预训练模型初始化后模型的精度表3 对比,可以看出,采用ImageNet 预训练模型初始化后的模型,分类精度有了较大提升,RGB 波段模型的MF1、MIoU 分别提高了9.1%、8.8%,IRRG 波段模型的MF1、MIoU 分别提高了3.7%、3.3%,由此可见,对于遥感影像小样本,采用ImageNet 预训练模型对语义分割模型进行参数初始化,能够有效提升模型分类精度。
表4 ImageNet预训练模型初始化的模型精度/%
2.3.4 比较不同损失函数
由于训练样本中不同类别之间的数据量不均衡,模型难以有效识别数据量的类别,这是遥感影像模型训练中常见的难题。本文制作的训练样本数据中,道路样本数量远远小于其他类别的样本数量,为了提高道路的识别能力,本文在1.3.3 节的基础上,将dice 系数引入到损失函数中,采用2 种不同dice 损失函数对模型进行训练。表5 给出了不同损失函数模型的测试精度,其中,为了获取更好的分类效果,影像输入波段为IRRG,初始化采用了ImageNet 预训练模型。
对比表5与表4,采用交叉熵和L_dice损失函数训练的模型,整体精度相差不大;从单个类别的F1值来看,采用L_dice训练的模型,道路的提取精度提升了14.1%,但是其他类别的F1值均有所下降。
从表5 可以看出,采用交叉熵与dice 之和作为损失函数(L_cce_dice),模型在不降低其他类别识别精度的情况下,提升了对道路的识别精度,整体精度(MF1、MIoU和OA)也有提升,说明对于类别不均衡的训练样本数据,可以采用交叉熵与dice之和作为损失函数,提高模型的分类精度。
表5 不同损失函数模型的测试精度/%
2.3.5 最优分类结果
PSP-SENet 最优测试模型的分类图斑和图斑边界如图7 所示,该结果采用的模型为表5 中采用L_cce_dice 损失函数训练的模型,从图中看出,PSP-SENet 能够实现高分辨率卫星遥感影像的地表覆盖信息提取,图斑边界的细节如图8 所示,耕草、林地、水体的图斑边界与影像中地物边界套合较好,房屋建筑和道路受到其他地类的遮挡影响,图斑边界与影像中地物边界套合存在一定误差,但是能够提取出建筑房屋区域和道路的整体轮廓。
图7 PSP-SENet最优测试模型的分类图(红色线条为分类图斑的边界)
图8 PSP-SENet模型提取的图斑细节(红色线条为分类图斑的边界)
3 结 语
本文围绕高分辨率卫星遥感影像地表覆盖信息提取,建立了一套涵盖耕草、林地、建筑、道路、水体的像素级分类数据集,并采用注意力增强与多尺度特征融合神经网络实现卫星影像语义分割,通过对资源三号卫星影像的测试,结果表明:①使用近红外、红色、绿色3 个波段组合的影像,对地表覆盖的识别能力高于红色、绿色、蓝色3 个波段组合的影像;②使用在大规模数据集(ImageNet)上预训练的模型对语义分割网络特征图提取部分进行初始化,能够提升网络在遥感影像小规模训练样本数据集上的分类精度;③采用交叉熵与dice 系数之和作为损失函数,可以解决在类别不均衡样本数据集上训练模型的难题;④本文建立的遥感影像分类数据集和分类方法能够有效地从高分辨率卫星影像上提取地表覆盖信息,可为全球地表覆盖制图、生态环境保护等工作提供技术支持。