胥智杰 ,杨小兵,何灵敏,潘承瑞
1.中国计量大学 信息工程学院,杭州 310000
2.中国计量大学 浙江省电磁波信息技术与计量检测重点实验室,杭州 310000
语义分割是将语义(类型)标签分配给图像的每个像素。高分辨率遥感图像语义分割一直是遥感领域的一个长期研究课题。它在国土规划、地理监测和智慧城市等领域中扮演着重要的角色。对高分辨率遥感图像进行语义分割是非常困难的,尤其是在城市区域,因为那里有高度多样化的人造物。具体来说,任务的挑战性主要分为两个方面,一方面是城市中大量的地物呈现出非常相似的视觉特征(树和草坪)。另一方面是城市中精细结构的地物难以分割(树和车),它们还会因为遮挡而相互影响。
在过去的20 年中,基于像素的方法和深度学习方法是高分辨率遥感图像语义分割的主流方法。何灵敏等[1]使用基于像素的方法分割高分辨率遥感图像。他们首先对高分辨率遥感图像的不同类型地物进行像素点提取,然后使用提取的像素点训练支持向量机,最后使用训练好的支持向量机对测试图像进行基于像素点的分类。这种方法能够快速地对图像进行语义分割,但是在分割时不考虑图像的空间特征和图像的拓扑关系,只考虑光谱信息,分割的结果常常带有严重的椒盐噪声且分割精度较低。为了解决基于像素方法的缺陷,深度学习方法应运而生。相比于基于像素的方法,深度学习方法能够从训练图像中自动学习空间特征和拓扑关系,并根据所学习到的特征进行语义分割[2]。FCN网络[3-4]的提出是语义分割的一个巨大突破,它用卷积层代替了全连接层,允许任意大小的图像分割,实现了端到端的训练与预测。但是这种方法在物体边界处的分割表现不佳。为了克服这一缺点,Chen等[5]在FCN网络后引入了一个额外的条件随机场去提高对象边界的识别。不同于FCN 和条件随机场结合的思想,Badrinarayanan 等[6]使用编码器解码器思想分割图像,通过编码器提取特征并压缩特征图的尺寸,解码器逐步的恢复特征图尺寸,来获得平滑的边界。膨胀卷积[7]的提出使在相同的计算量下得到了更大的感受视野,能够捕获多尺度空间特征,更好地分割不同大小的物体。Chen等[8]使用膨胀卷积加编解码结构组建了DeepLabV3+分割网络,该网络具有捕获多尺度空间特征的特点。这些优秀的网络已经应用于各种遥感领域,但是它们不是专为高分辨率遥感图像语义分割而设计,不能很好地分割精细地物和相似地物。
为解决该问题,本文提出了一种为高分辨率遥感图像语义分割而设计的多尺度语义分割网络(Multiscale Semantic Segment Network,MSSNet),并在国际摄影测量和遥感学会(ISPRS)提供的Vaihingen 和Potsdam数据集上进行实验。此外,本文还进行了一系列的实验来评估不同切块策略对分割精确度的影响。综上所述,本文的贡献如下:
(1)提出了用于高分辨率遥感图像语义分割的专用网络MSSNet,它能够准确地分割高分辨率遥感图像。
(2)研究了高分辨率遥感图像切块时不同裁剪尺寸和块间覆盖率对分割精度的影响,为以后任务中切块策略的选择提供可靠的依据。
遥感技术的发展使获得高分辨率遥感图像更加的容易,丰富的训练图像使深度学习方法更容易学习图像特征,促进了深度学习在遥感领域的发展。相比于基于像素的分割方法,深度学习方法能够更好地理解纹理信息,得到更高的分割精度,避免椒盐噪声现象。
苏健民等[9]提出使用改进的U-Net对高分辨率遥感图像进行语义分割,该方法能够快速地分割图像,且对设备要求较低,但分割精度不够高。Marmanisac等[10]提出使用FCN、SegNet和边缘检测相结合的集成学习方法对高分辨率遥感图像进行语义分割,通过集成学习的方法减小分割误差,取得了较高的分割精度。Chen等[11]提出了一种针对高分辨率遥感图像语义分割的专用分割网络SDFCN,它由编码层和解码层组成,并且加入了跳跃连接策略,相比于通用分割网络,它有更高的分割精度,但是分割精度稍低于Marmanisac等[10]提出的集成学习的方法。Yue等[12]提出使用手动组网加自动组网相结合的方式组建高分辨率遥感图像语义分割网络。首先人工组建网络的编码层和解码层,然后对人工组建的网络进行训练,最后在解码层后加入自动组网结构重新训练网络,使网络在训练的过程中自己寻找最优的结构。这种方法能够找到最适合的分割结构,取得较高的分割精度,但是在自动组网部分需要使用大量的GPU 长时间训练,才能找到最优结构,训练过程复杂。
基于编码器解码器结构的分割网络一直是高分辨率遥感图像语义分割的主流网络。因为编码器能够很好地提取地物特征,解码器结构能够恢复特征图尺寸并精确地进行基于像素点的分类。本文提出的多尺度语义分割网络采用了主流的编码器解码器结构,网络由编码层、解码层、输出层组成,结构如图1所示。在本章将详细介绍多尺度语义分割网络的结构。
图1 多尺度语义分割网络模型
在高分辨率遥感图像中存在许多相似视觉特征的地物,例如草坪和树林,大多数分割网络在分辨相似的地物时往往会出现区域误判,研究发现误判的主要原因是对图像特征提取不充分。为解决此问题,需要选用提取特征优秀的网络作为编码层,充分提取图像特征。
在近几年的ImageNet 图像分类竞赛上,ResNet101网络[13]取得了95.4%正确率,是目前最优秀的卷积神经网络之一,其特有的残差结构可以更好地提取图像特征,在反向传播时避免梯度消失现象。对ResNet101进行了大量的实验,发现它非常适合提取遥感图像特征,使用它作为编码层分割精度高于使用其他网络。所以本文使用去除全连接层的ResNet101作为编码层,它内部的一个个残差块作为编码器,提取图像特征。
在高分辨率遥感图像中存在许多精细结构的地物,例如车、小段道路和单棵树木。大多数分割网络对精细结构地物分割时存在分割区域不准确现象,研究发现主要原因是图像中地物尺度差异过大,图像中既有小尺度的车,又有大尺度的树林和建筑物群,造成网络无法同时兼顾不同尺度的地物。为解决此问题,本文提出了一种全新的解码器结构,如图2 所示,它的输入由两部分组成,一部分是上一级解码器的输入,另一部分是跳跃连接层的输入。上一级解码器的输出首先经过反卷积结构,扩大特征图尺寸为原来的一倍,缩小通道数为原来的一半,然后合并经过空洞空间金字塔池化结构[8]提取的多尺度特征,最后经过两个加入挤压激活[14]的残差结构进行基于像素点的分类,并在末尾使用1×1的卷积调整通道数为64。
图2 MSSNet解码器
与图3的传统解码器相比,MSSNet的解码器在跳跃连接层后加入了空洞空间金字塔池化结构,并替换了传统解码器最后两个卷积层为加入挤压激活的残差结构。
图3 传统解码器
挤压激活结构如图2(b)所示,该结构是一种注意力机制,加入残差结构后会强化基于像素点的分类能力。加入挤压激活的残差结构相比传统解码器的单个卷积层,拥有更强的像素点分类能力,能够更好地对地物进行分类。
空洞空间金字塔池化结构如图2(d)所示,它能够通过不同空洞率的空洞卷积获取不同的感受视野,进而提取不同尺度的特征。为了使解码器更好地提取地物不同尺度的特征,在解码器中添加了该结构,并选择了6、12、18的空洞率和3×3的卷积核,获得了23×23、47×47、71×71的感受视野,感受视野的计算如公式(1)所示:
公式(1)中r为空洞率,ksize为卷积核尺寸。23×23 的感受视野接近车和树的大小,能够更好地提取这类小尺度地物的特征。47×47 的感受视野接近小片树林和植被的大小,能够更好地提取这类中尺度地物的特征。71×71的感受视野接近街道和建筑物的大小,能够更好地提取这类大尺度地物的特征。
传统语义分割网络的输出层只对最后一个解码块的输出使用Softmax 分类,而它的输出往往对语义(分类)信息比较敏感,在空间特征上比较粗糙,对位置、边界、光线等信息不敏感。
MSSNet的输出层结构如图1所示,它首先合并5个解码器的输出,然后通过1×1的卷积调整通道数为类型数,最后使用Softmax 进行分类。相比传统的输出层结构,它除了获取最后一个解码器输出的语义信息,还获取了其他解码器输出的位置和边界信息,使最终分割结果更加准确,边界更加清晰。
本文在ISPRS 发布的两个高分辨率遥感图像数据集中对多尺度语义分割网络进行了评估,数据集介绍如下。
Vaihingen数据集。数据集拍摄于德国的Vaihingen市,它包含3个通道的IRRG(Infrared、Red、Green)图像、DSM(Digital Surface Model)图像和NDSM(Normalized Digital Surface Model)图像,图像的平均大小为2 494×2 064,图像总数为33 张,其中17 张用作测试集。本文实验中使用16 张图像作为训练集,4 张图像作为验证集,17 张图像作为测试集。实验仅仅使用了IRRG 图像,没有使用DSM图像和NDSM图像。
Potsdam 数据集。数据集拍摄于德国的Potsdam市,它包含 IRRG 图像、IRGB 图像、DSM 图像和 NDSM图像。图像大小为6 000×6 000,图像总数为38张,其中14张用作测试集。本文实验中使用17张图像作为训练集,5 张图像作为验证集,14 张图像作为测试集。实验仅仅使用了IRRG 图像,并删除了训练集中两张标签错误的图像。
实验环境:硬件环境为NVIDIA TITAN X 显卡,128 GB运行内存,Intel E5-2678V3处理器。软件环境为Ubuntu16系统,Python3.6和Pytorch1.0开发环境。
数据预处理:首先使用512×512 的滑动窗口,按照128 的步长(块间覆盖率75%)进行图像切块,然后对切块后的图像进行归一化,最后进行随机镜像,倾斜度为15°的随机旋转。
训练策略:实验使用了SGD 优化器,动量为0.9,初始学习率为0.01,最小学习率为0.001。损失函数使用交叉熵,学习率衰减方式为余弦退火,如公式(2)所示,迭代次数为100次,每50次重置一次学习率。
公式(2)中lrmin为最小学习率,lrmax为最大学习率,Tcur为当前迭代次数和Tmax为最大迭代次数。分别设置lrmax=0.001,lrmin=0.000 1,Tmax=50。
评估标准:为了定量地评估性能,实验设置了三个评估量F1(F1 score)、MF1(Mean F1 score)、OA(Overall Accuracy)。单类型地物的评分标准使用F1,全局评分标准使用OA和MF1,公式如下所示:
公式(3)和公式(5)中tp为真正例,tn为假正例,fn为假负例,fp为假正例。公式(4)中n为地物类型数。
为验证本文提出的多尺度语义分割网络的性能,本文从深度学习网络对比和基准方法对比两个方面与现有的方法进行对比。
深度学习网络对比,将MSSNet 与以下通用深度学习网络进行对比。
(1)FCN[4]:FCN 是最经典的语义分割网络,它将传统CNN 中的全连接层转化成一个个卷积层,实现了端到端的训练与预测。
(2)SegNet[6]:首次提出使用对称的编码器解码器结构进行语义分割。
(3)PSPNet[15]:提出了金字塔池化结构,该结构能够聚集不同区域的上下文信息,进行场景理解。
(4)DeepLabV3+[8]:DeepLabV3+是目前最优秀的通用分割网络,它提出了空洞空间金字塔池化结构,该结构能够获取不同尺度的地物特征。
基准方法对比:将本文方法与相同数据集论文方法和数据集排行榜方法进行对比,方法如下。
(1)SVL_3[16]:该方法使用DNVI、饱和度和NDSM特征,训练了一个基于Adaboost 的分类器,应用CRF(Conditional Random Field)模型进行最终预测。
(2)UT_Mev[17]:该方法首先使用DNVI 对图像进行预处理,然后使用MeVisLab软件进行分割。
(3)HUST[18]:该方法使用随机森林对图像进行基于像素点的分类,再使用CRF处理预测结果。
(4)DLR_10[10]:该方法使用了FCN、SegNet和边缘检测相结合的方式进行分割。
(5)UZ_1[19]:该方法提出了一种新型的CNN-FPL网络分割高分辨率遥感图像。
(6)KLab_3[20]:该方法使用Shapmask网络和RefineNet网络进行分割。
(7)TreeNet[12]:该方法使用人工组网和自动组网相结合的方式组建了TreeNet网络,并使用TreeNet进行分割。
高分辨率遥感图像往往尺寸巨大,需要以滑动窗口的方式进行切块,才能进行训练和预测。在切块时裁剪尺寸过小会造成网络缺乏对全局场景信息的理解,过大会提高对GPU内存的占用,增加设备成本,不利于工业应用。相邻块间覆盖率过小会造成训练样本数量减小,分割精度过低,覆盖率过大会造成训练样本过多,训练速度缓慢。什么样的裁剪尺寸和块间覆盖率最适合进行分割是一个非常值得研究的问题。
为了研究切块时块间覆盖率和裁剪尺寸对分割精度的影响,本文在Vaihingen 数据集上进行了不同切块策略实验。首先固定裁剪尺寸为512×512,分别按照0%、25%、50%、75%的块间覆盖率(步长分别为:512、384、256、128)进行实验,实验结果如图4(a)所示,可以看出当覆盖率为75%时OA和MF1得分最高。然后固定块间覆盖率为75%,按照256×256、320×320、416×416、512×512 的尺寸进行裁剪,实验结果如图4(b)所示,在512尺寸下OA和MF1得分最高。
图4 不同切块策略
为评估MSSNet 的性能,本文将其与通用的语义分割网络进行对比,评估不同网络对于分割精度的影响。
(1)Vaihingen数据集对比
表1 显示了MSSNet 与其他通用网络在Vaihingen数据集上的定量对比,从最终得分来看,MSSNet在MF1评分标准上高于目前最先进的通用分割网络DeepLabV3+1.4个百分点,在OA评分标准上高于1个百分点。从不同分类上看,按照F1 评分标准,MSSNet 在所有分类上均取得第一名的成绩。图5显示了MSSNet与其他通用网络在Vaihingen 数据集上的定性对比,从第二行具有挑战性的高密度车场景中可以看出MSSNet 对每一个车的分割都非常精细,而其他网络多分现象明显,甚至把阴影处的灰色车分割为建筑物。从第一行和第三行树和植被较多的场景中可以看出MSSNet 分类错误情况较少,而其他通用网络分类时经常混淆相似地物。
表1 在Vaihingen测试集上定量对比深度学习方法%
MSSNet 能够取得如此好的成绩原因主要有两点:(1)MSSNet在解码层加入了空洞空间金字塔池化结构,强化了多尺度特征提取能力。(2)MSSNet在输出层合并了全部解码器的特征,得到了更多的语义、位置、边界信息,强化了分割能力。为了验证MSSNet的解码器在多尺度特征提取上的有效性,替换了MSSNet的解码器为图3所示的传统解码器,实验结果如表1中MSSNet-TD所示。从最终得分上看OA 降低了1.1 个百分点,MF1降低了1.6个百分点。从不同分类上来看所有得分都降低了,尤其是车的得分,降低了3.5个百分点。从图5中可以看出,精细结构的地物出现较为明显的多分现象。实验证明MSSNet 的解码器相比于传统解码器拥有更强的提取多尺度特征能力。为了验证MSSNet 输出层强化分割能力的有效性,在替换解码器为传统解码器的基础上又替换输出层为传统输出层,实验结果如表1中MSSNet-TD-TO所示。从最终得分上看,相比MSSNet-TD 网络 OA 降低了 1 个百分点,MF1 降低了 1.9 个百分点,从图5中可以明显看出地物边界不清晰。实验证明MSSNet的输出层相比传统网络的输出层能够得到更多的位置和边界信息,强化分割能力。MSSNet-TD-TO相比于 MSSNet,OA 降低了 2.1 个百分点,MF1 降低了 3.5个百分点,实验证明MSSNet的结构相比于传统分割网络的结构在遥感语义分割上更加优秀。
图5 在Vaihingen测试集上定性对比深度学习方法
(2)Potsdam数据集对比
表2 显示了MSSNet 与其他通用网络在的Potsdam数据集的定量对比。从最终得分来看,MSSNet 在MF1评分标准上高于第二名DeepLabV3+1.2 个百分点,在OA评分标准上高于1.1个百分点。从不同分类上看,按照F1评分标准,MSSNet在所有分类上均取得了第一名的成绩。图6 显示了MSSNet 与其他通用网络在Potsdam数据集上的定性对比,从第二行车较多并有单棵树木的场景中可以看出树和车的分割范围精细,多分现象不明显,而其他网络多分、误分现象严重。从第三行植被和树较多的场景中可以看出树林区域分割较为准确,植被和树混淆现象较少,而其他网络常常出现相似地物的误分现象。
表2 在Potsdam测试集上定量对比深度学习方法%
图6 在Potsdam测试集上定性对比深度学习方法
在Potsdam数据集的实验中可以看出MSSNet的分割不具有单数据集偶然性,它在其他遥感数据集上依然表现良好。
为了评估所提出方法的有效性,将其与相同数据集论文方法和数据集排行榜方法进行对比。
(1)Vaihingen数据集对比
定量对比如表3所示,本文提出的方法获得了87.0%的OA和85.3%的MF1,超过了大部分基准方法。从表3中可以看出DLR_10高于本文提出的方法,原因是它采用了FCN、SegNet 和边缘检测相结合的集成学习方法,减少了误差。但是这种方法有训练复杂、运行速度慢和对硬件要求高的缺点。在单网络模型对比上,如表1 所示,MSSNet 明显高于DLR_10 方法中的FCN和SegNet。
表3 在Vaihingen测试集上定量对比基准方法%
(2)Potsdam数据集对比
定量对比如表4所示,本文提出的方法获得了87.3%的OA和88.7%的MF1,超过了大部分基准方法。从表4中可以看出TreeNet 高于本文提出的方法,原因是它采用了手动组网和自动组网相结合的方式,通过自动组网让网络自己选择最优结构。但是这种方法训练过程复杂,在自动组网部分需要大量的GPU 进行长时间运算才能找到最优结构。
表4 在Potsdam测试集上定量对比基准方法%
高分辨率遥感图像的语义分割在国土规划、地理监测等领域有着广泛的应用,是遥感领域一个非常重要的研究课题。对高分辨率遥感图像进行语义分割时首先要考虑分割精确度,因为在较大比例尺下,图像分割错误1 cm就可能造成几十米的误差。
为了获得更高的分割精确度,MSSNet 采用了较大的网络架构,它由117 个卷积层构成,需要计算180 MB的网络参数。在预测时需要占用3.6 GB显卡内存,2 GB运行内存,在使用NVIDIA TITAN X 显卡的实验环境下一秒钟可以分割28 张512×512 的图像。在工程应用时为了流畅的运行,电脑配置应不低于Inter I5处理器,4 GB运行内存,6 GB显卡内存。
本文提出了一种新型的多尺度语义分割网络分割高分辨率遥感图像,它的编码层可以充分提取遥感图像的地物特征,解码层可以提取多尺度特征并进行基于像素点分类,输出层能够强化分割能力,输出最终的预测结果。在Vaihingen 和Potsdam 数据集的实验中可以看出MSSNet相比通用网络模型具有更高的分割精确度,在相似地物分割上混淆率低,在精细地物分割上范围准确。相比已发表方法,MSSNet 在相似地物和精细地物的分割上更为精确且训练过程简单、易于使用。
在未来,可以考虑使用更加适合提取高分辨率遥感图像特征的网络替换编码层的ResNet101网络,也可以在解码层加入更加优秀的分割结构强化基于像素点的分类能力。