黄 磊 程铁洪
(中国电建集团江西省电力设计院有限公司,江西 南昌 330096)
近年来,高分辨率卫星遥感影像的使用越来越普及,使得基于高分遥感影像的解译和地物提取在土地资源管理、城市规划和环境保护等许多领域的应用中发挥着越来越重要的作用[1-3]。高分辨率影像在提供更加丰富的地表细节信息的同时,也给影像分类带来了更多的挑战[4]。
仅使用光谱特征难以描述影像中完整的语义信息,传统的卫星影像解译方法主要使用人工设计的影像特征[5-6],但是空间分辨率的提高使得特征类内方差变大、类间方差变小,对地物的识别能力下降[7]。
近年来,随着硬件发展和深度学习方法的普及,基于深度学习的影像语义分割网络[8-9]在多个领域得到广泛关注。卷积神经网络通过多层卷积逐步提取地物的语义描述,提取的深度特征被许多研究者证实优于传统人工设计的特征[10]。但是深度学习方法需要大量的样本[11],而样本的获取往往需要大量的人力进行标注。为此,研究者们构建了大量标准数据集,这些数据集基本是由红-绿-蓝三个可见光波段影像组成,因此基于此构建的神经网络无法直接用于处理更多波段的卫星影像。为此,许多研究者直接将网络模型的输入层进行扩展以处理更多的波段,虽然成功利用了多波段影像,但是破坏了原有的网络结构,导致需要完全重新训练网络,不仅浪费了计算机视觉领域通过大量样本训练的网络成果,同时也需要构建专门的遥感影像海量样本库[12]。
针对这个问题,本文提出了一种面向高分辨率卫星影像语义分割的双分支迁移神经网络,一个分支输入可见光影像,另一个分支输入其他波段影像。本文将残差网络(residual network,ResNet)进行迁移,将ResNet-101[13]的网络结构和其对应的参数迁移到其中的可见光分支,在训练时仅更新深层的网络参数而保持浅层参数不变。另一个分支采用ResNet-50[13]网络结构,整个网络参与参数的更新。
本文提出的网络基本框架见图1,该框架为全卷积网络[14]。纵向来看网络分为编码器和解码器两部分,横向来看编码器有两个输入分支。两个输入分支通过跳跃连接[15]相连,同时解码器和编码器也通过跳跃连接相连。编码器主要通过残差模块进行特征提取,而解码器通过卷积和上采样逐步提高特征的分辨率,直至得到原始分辨率的语义分割结果。
如图1所示,横向看编码器,有两个输入分支,一个分支输入红-绿-蓝的三波段可见光影像,另一个分支输入其他波段,不同分支之间通过跳跃连接相连。可见光分支采用残差网络RseNet-101的骨干框架,表1是ResNet-101骨干网络的参数。
图1 本文提出的网络框架
其他特征影像输入分支仍然是残差结构[16],为了降低训练难度和对训练样本的要求,此分支采用ResNet-50的骨干网络,表2是ResNet-50骨干网络的参数。
表1 ResNet-101骨干网络参数
表2 ResNet-50骨干网络参数
可以看出,两个分支的结构基本相同,主要是“残差层4”层,Resnet-50的残差模块较ResNet-101少了17个,由于一个残差模块由三个卷积组成,故总共少了51个卷积。每个图层输出的特征影像大小是相同的,因此可以通过跳跃连接直接进行合并,将可见光分支图层输出的特征影像直接合并到其他特征影像分支对应的图层之后,并将合并结果作为其他特征影像分支下一个图层的输入。
纵向来看网络分为编码器和解码器两部分。编码器通过卷积网络逐层提取多尺度特征,解码器通过上采样逐层恢复特征影像分辨率,同时对应尺度层之间通过跳跃连接相连。由于通常网络浅层的特征细节信息丰富而网络深层特征影像语义信息丰富,因此通过跳跃连接可以使解码器获取不同粒度的特征信息,得到高精度的语义分割结果[15]。
由于编码器两个分支也通过跳跃连接相连,因此其他特征影像分支每个图层输出的特征实际上包含了影像所有的波段特征,因此解码器只需要与其他特征影像分支里每个图层的输出结果相连即可。
本文提出的网络最大的优点在于不需要训练所有的分支,而仅需要训练其他波段分支和可见光分支靠后的卷积层。这是由于可见光分支可以将计算机视觉领域被广泛使用的高精度ResNet-101分类网络直接进行迁移[17],而不需要再对该网络全部进行训练。深度神经网络浅层通常是低级视觉特征,这部分特征是遥感影像和普通可见光影像所共有的特征,可以直接进行迁移,而深层的网络则包含高级的语义特征,需要重新训练。
语义分割网络训练完成后,需要进行精度评定。本文使用两种精度指标来评价网络的分类性能,一种是F1分数(F1-score),用于评价网络对不同地物的分类能力;另一种是总体精度,用于评价网络整体的分类能力。
(1)
其中
(2)
对于某个地物的分类而言,精确率(Rp)是指分类正确的像素个数与所有分类为该地物的像素个数的比值;召回率(Rr)指分类正确的像素个数与该地物实际像素个数的比值,那么F1-score为
(3)
实验使用的是武汉大学提供的高分二号卫星影像数据集(Gaofen image dataset,GID)。GID包含了150幅带有真实标注的多光谱影像,影像包含四个波段,分别是蓝色(0.45~0.52 μm)、绿色(0.52~0.59 μm)、红色(0.63~0.69 μm)和近红外(0.77~0.89 μm),影像分辨率为4 m。图2显示了8幅样例数据,GID数据集中标注了建筑、农田、森林、草地和水体五个类别,分别用红色、绿色、青色、黄色和蓝色进行标记,对于没有标注的区域用黑色标记。图3显示了某典型区域的真彩色影像(红-绿-蓝波段)和彩色红外影像(红外-红-蓝波段)。
图2 GID数据集样例数据
为了验证本文提出方法的精度和效率,将本文提出的网络与其他两种经典网络进行了对比,分别是ResNet-50和ResNet-101[13]。本实验直接将原始的网络的输入影像波段数改为4,其他的网络结果不变。三种网络皆通过GID数据集进行训练和测试,其中100幅影像用于训练,50幅影像用于测试。
实验使用的操作系统为Windows-10,采用Tensorflow2.4作为深度学习框架,训练的ResNet-50和ResNet-101网络皆由Tensorflow官方提供,显卡为一块NVIDIA Geoforce 2080Ti。
图4显示不同方法对图3区域的分类结果,可以发现本文方法分类错误的区域少于其他两种网络,如图4(b)和图4(c)中灰色圆圈内的分类错误区域在图4(d)中基本被分类正确,同时图4(b)和图4(c)的建筑区域有一些细碎的区域被分为了绿色农田。
图3 典型区域的真彩色影像(红-绿-蓝波段)和彩色红外影像(红外-红-蓝波段)
图4 三种网络的分类结果
表3显示了三种网络的量化精度评价,本文提出方法的总体精度更高,同时迭代次数最少,训练时间也最短。这是由于本文使用迁移学习方法,直接使用大量数据训练的RensetNet-101网络处理可见光波段,充分利用了先验知识,因此用较少的迭代次数和训练时间就可以取得高精度分类结果。
表3 三种网络的精度评价
为了验证样本数量对网络精度的影响,本文设计了五组样本对三种网络进行训练,训练样本数目分别是10、40、70、100、130,得到的总体精度见表4。可以发现,在样本充足的情况下,本文提出方法的精度相较ResNet-101提升不明显,但是当样本数量较少时,ResNet-50和ResNet-101精度剧烈下降。当样本数量只有10时,ResNet-50和ResNet-101总体精度不足0.7,而本文方法仍有0.791,说明本文方法可以适应样本数量较小的遥感影像分类的应用。
表4 不同样本数量的精度评价
为了降低基于深度学习的遥感影像语义分割对样本数量的要求,充分利用已被大量数据集训练的经典网络的参数,本文提出了一种面向高分辨率卫星影像语义分割的双分支迁移神经网络,一个分支输入可见光影像,基于迁移学习方法将残差网络ResNet-101的网络结构和其对应的参数迁移到其中可将光分支,在训练时仅更新深层的网络参数而保持浅层参数不变;另一个分支输入其他波段和特征影像,采用ResNet-50网络结构,整个网络都参与参数的更新。通过武汉大学提供的高分二号卫星影像数据集上对本文方法、ResNet-50和ResNet-101进行实验对比,证明了本文方法的在训练影像充足时,分类精度较ResNet-50和ResNet-101略有提高,同时仅需较少的训练收敛次数和训练时间;在训练样本不足时,本文方法分类精度较ResNet-50和ResNet-101有明显提升,说明本文方法可以适应样本数量较小的遥感影像分类的应用。