一种改进DeepLabV3+网络的高分辨率遥感影像道路提取方法
2022-04-20葛小三曹伟
葛小三,曹伟
(1.河南理工大学 自然资源部矿山时空信息与生态修复重点实验室,河南 焦作 454000;2.河南理工大学 测绘与国土信息工程学院,河南 焦作 454000)
0 引言
道路提取一直是高分辨率遥感数据应用领域的研究热点之一,在多个领域有着广泛的应用,如智慧交通网络建设、无人驾驶自动导航、城市道路规划等。当前,随着出行方式的多样化,人们对基础地理信息的更新速度和准确性提出了更高的要求[1]。
对于遥感影像上的道路提取,由于道路材料多样、光照差异、建筑物遮挡等因素干扰,道路自动提取与路网的构建研究仍具有很大的挑战性。目前道路提取的方法可以分为传统道路提取方法和基于深度学习的道路提取方法[2]。传统的方法通常利用手工设计的特征进行道路提取,又可以进一步分为基于像元的道路提取和面向对象的方法。基于像元的方法主要通过分析像素的光谱信息来提取道路,如光谱分析法[3]、阈值分割法[4]和边缘检测法[5]。这一类方法对图像清晰、背景简单的遥感影像中提取简单的路网有一定作用,但缺乏特征的空间背景和纹理结构等信息,并伴随着大量的椒盐噪声,需要大量的后处理工作来修整提取的道路[6]。面向对象的提取方法中,则以道路为对象,建立信息模型,具有很好的抗噪性和适用性,对比基于像元的方法,精度有所提高,如分水岭分割算法[7]、区域增长算法[8]、基于支持向量机[9]的算法。虽然这些方法的提取性能有所提高,但容易对空间上相邻、结构特征相似的像素进行误分类。同时,分类规则设计较为复杂,提取的准确性有待提高[10]。总之,传统的方法在泛化能力上往往受到限制。
与传统方法不同的是,深度学习能够从深层的特征中学习更加复杂抽象多层次的特征来分析与处理数据[11]。2013年,Li等[12]将深度学习方法首先应用到道路提取,并建立了相应的大规模数据集——Massachusetts roads 数据集。自此之后,多位学者针对道路的提取进行了研究,如刘笑等[13]提出的基于全卷积神经网络的方法;Cheng等[14]提出一种级联的端到端的卷积神经网络;Xin等[15]结合密集连接方式和U-Net,提出一种DenseUNet模型;Panboonyuen等[16]提出一种结合ELU(exponential linear unit)激活单元的SegNet网络模型。上述方法一般可以提取出较为完整的道路区域,但提取的道路边界模糊且道路断裂现象严重。
针对现有的道路提取方法普遍注重区域精度而边界质量缺失考虑的问题,本文提出一种基于DeepLabV3+网络的高分辨率遥感影像道路自动提取方法。该方法结合编解码器与多孔空间金字塔池,能够准确实现道路的边界提取并有效缓解道路断裂现象。为了验证该方法的有效性,在Massachusetts roads 数据集上进行实验,并与其他常见语义分割模型进行对比分析。
1 DeepLabV3+网络提取道路的方法
1.1 DeepLabV3+网络结构
DeepLabV3+采用基于全卷积神经网络的编解码器结构,将DeepLabV3模型作为编码器。在道路提取过程中,先由深度卷积层初步提取道路特征,结合空间金字塔池化后的道路特征,最后进行上采样实现道路分割。用于道路提取的DeepLabV3+模型如图1所示。
图1 用于道路提取的DeepLabV3+模型结构
为了解决池化带来的道路结构信息丢失问题,DeepLabV3+模型采用了一种有效的多孔空间金字塔池化,该结构包含三个平行的空洞卷积,扩张率分别为6、12、18,提供了一个更大的感受野,有助于捕获道路结构的上下文信息。空洞卷积原理如图2所示。空洞卷积可以在不增加参数的情况下扩大接受野,保证速度的情况下提高了道路提取精度,并且可以控制神经网络特征响应的空间分辨率。为了减弱道路不规则性对网络结构性能的影响,本文通过调整空洞卷积的扩张率和采取可形变卷积核的方法设计改进了ASPP结构。
图2 空洞卷积示意图
DeepLabV3+在编码部分引入了深度可分离卷积的思想,减少了参数的数量,同时提高了运行速度与分类性能。使用Concat方法对ASPP输出的多尺度空间信息进行特征拼接,并使用1×1大小的卷积增加编码结构的非线性,最后编码器输出一个总特征图,比输入图像小16倍。解码器部分主要是对特征图进行上采样,恢复道路的细节与边界信息。首先对编码器输出的特征图进行双线性上采样4倍,然后与编码器中具有相同空间分辨率的低级特征进行Concat连接,接着用3×3的卷积核融合组合后的特征信息,最后用4倍双线性上采样操作对融合后的特征图进行逐层细化,实现道路的语义分割。编解码器结构如图3所示。
1.2 样本制作
本文使用的数据集为Massachusetts roads数据集,是目前为止最大的遥感影像道路数据集,数据集涵盖1 108张24位真彩色tiff图像,大小为1 500像素×1 500像素,空间分辨率为1 m。标签影像中每个像素被划分为道路或背景,道路像素值为1,背景值为0。因标签影像中存在不同程度的缺失,本文选取500张较为准确的标签影像及其对应的地面影像用于实验。将每张影像及其标签影像裁剪成406像素×406像素,将其按照7∶2∶1的比例划分为训练集、测试机和验证集。为了增强模型的鲁棒性,将样本训练集通过随机水平或垂直旋转进行数据增强。
1.3 损失函数
道路提取是区分道路与背景的二值分类问题,数据集中只包含道路与背景信息。除此之外,这两类数据在数据集中所占比例也不同。标注后的图像中道路像素远远少于背景像素,因此在分类任务中正样本与负样本存在不平衡的现象[17]。
损失函数的作用是估量预测值与真实值之间的差异程度,可以减少或避免正类和负类数目不平衡的问题。二元交叉熵损失函数(binary cross entropy,BCE)在构建深度学习模型中得到了广泛的应用,但二元交叉熵损失函数对每个像素进行类预测时,对每个像素的损失赋予了相同的权重,因此,当正负样本数差距过大时,损失函数的效果会变差。使用DICE(dice coefficient)可以避免这一问题。DICE本质上度量了预测值与真实值的重叠程度,索引范围从0到1,其中“1”表示完全重叠区域,“0”表示没有重叠区域。DICE损失函数侧重于标签与预测的一致性,与侧重于所有像素的拟合水平的交叉熵损失函数相比,这对于正负不平衡样本表现更好。然而,DICE损失函数对噪声仍然很敏感,可能会忽略边界信息,导致边界分割不佳。因此,本文将BCE与DICE结合作为损失函数,不仅解决样本分布不平衡的问题,也提高了道路边界提取效果。损失函数如式(1)所示。
Loss=αL1+βL2
(1)
式中:L1和L2分别表示BCE和DICE;α、β为BCE和DICE所占的权重。由于DICE的损失梯度大于BCE的损失梯度,在β>α的前提下,可通过实验得到最佳权重比[18]。
1.4 主干网络
DeepLabV3+模型可以用于改进的Xception或者用于移动设备计算高效的MobileNetV2。
Szegedy等[19]在2014年提出Inception新型网络模块,核心思想是将一个规则卷积分解成独立的顺序操作块(先通道卷积,再空间卷积),使其拥有更少的可训练参数和更快的计算速度,而对学习深层特征的能力几乎没有影响。Chollet[20]将Inception的风格发挥到极致,提出了完全建立在深层可分离卷积的Xception架构。为了解决DeepLabV3+模型中的分割任务,Chen等[21]使用改进的Xception模型作为主干网络特征提取器。该模型使用一个更深的异常模块,其中所有最大池化操作都由深度可分离卷积代替;在每个深度卷积之后,进行批归一化处理与ReLU操作。Xception网络模型如图4所示。
图4 Xception模型结构
MobileNetV2的提出是为了解决网络模型训练过程中参数量过于庞大、硬件训练不足等问题。它的核心是使用深度可分离卷积来减少计算量。特别地,引入了反向残差与线性瓶颈概念,在标准残差块中,先利用1×1卷积层压缩特征图通道,然后在低维通道应用3×3卷积层提取特征,最后使用1×1卷积层扩张特征通道。在反向残差中,则发生相反的情况,先利用1×1卷积层扩张特征通道,然后在高维通道应用3×3卷积层提取特征,最后利用1×1卷积层压缩通道,将所得特征映射到新的通道空间。在这两种情况下,反向残差的存储效率会显著提高[22]。MobileNetV2的网络结构如表1所示,残差结构如图5所示。
表1 MobileNetV2网络结构
图5 MobileNetV2 残差结构
1.5 评价指标
在道路分类任务中,使用精确率(precision)、召回率(recall)和F1分数(F1-score)来评估DeepLabV3+模型与其他主流语义分割模型。特征计算示意表如表2所示。
表2 特征计算示意表
表2中,TP(true positive)表示成功预测为道路的像素数量;TN(true negative)表示成功预测为背景的像素数量;FN(false negative)表示被分类为背景的道路像素数量;FP(false positive)表示被预测为道路的背景像素数量。
2 实验结果与分析
2.1 损失函数超参数实验
将不同权重比的Loss进行对比实验。固定β=1调整α的取值,L2和L1权重比分别按照1∶1、1∶2、1∶3、1∶4、1∶5五种比例设定,在100张测试集上进行实验,以F1分数作为性能评价指标。实验结果如图6所示。
图6 损失函数在不同权重下的道路提取结果
从图中可以看出,当L2和L1的权重比为1∶3时,道路分割结果最佳;当比值为1∶1时,道路分割断裂明显,道路边界提取模糊。五种超参数权重比的性能对比如表3所示。
表3 损失函数在不同权重下的性能对比
2.2 不同网络主干实验对比
将改进的Xception和MobileNetV2分别作为DeepLabV3+模型的主干网络进行道路提取,图7直观地比较了两个主干网络的道路分割结果。这两种结构在道路提取中都取得了较好的结果,如表4所示。在精确度、召回率和F1分数方面,使用Xception的DeepLabV3+模型分别达到82.22%、81.61%、81.91%;MobileNetV2则表现得更好,精确度为83.56%,召回率为86.76%,F1分数为85.12%。实际上,Xception涉及的参数大约是MobileNetV2的20倍,当用于训练的标记数据的数量与待估计参数的数量不匹配时,网络的泛化效果较差。因此,如果有更多的影像数据参与网络训练,道路提取的结果可以得到显著的改善。
图7 不同主干网络提取道路结果
表4 不同主干网络提取道路实验精度评价 %
除了质量评估,本文还对两种主干网络训练参数、训练时间、预测时间进行对比。实验所用硬件配置为:i7-7700k CPU、32 G RAM、GTX1080Ti GPU。实验结果如表5所示,可以看出,MobileNetV2需要的训练和预测时间更少,几乎是Xception的一半。由于其深度以及更多的参数数量,Xception主干的计算要求更高。
表5 不同主干网络计算复杂性
2.3 不同网络模型对比
为了验证本文提出的道路提取模型的有效性,选取U-Net、PSPNet、SegNet、FCN四种常见的语义分割模型与基于MobileNetV2主干网络的DeepLabV3+模型进行对比验证。各方法的道路分割结果如图8所示,总体分割精度如表6所示。
如图8所示,FCN模型表现较差,其忽略了高分辨率的特征图导致边缘信息的丢失,使得道路提取完整性较差且存在部分噪声点。PSPNet是基于FCN的多尺度网络,使用带有空洞卷积的残差网络ResNet作为特征提取,能获得丰富的道路特征信息,虽然道路漏提取较少,但道路断裂现象明显。U-Net 网络采用编解码器结构,提高了网络分类精度,但其主要用于医学影像的处理,并不适合于复杂遥感影像道路提取,提取结果存在少量噪声点且道路断裂现象明显。SegNet特征提取部分采用VGG16模型,用池化过程的位置信息替代反卷积操作,并移除了全连接层,大幅降低模型体量,但SegNet对于小尺寸目标提取的准确度较低,使得道路漏提取较多。本文使用的基于MobileNetV2主干网络的DeepLabV3+,将编解码器与多孔金字塔池化相结合,不仅模型体量小,且能提取多尺度信息,细化分割结果,保持道路提取的完整性与连通性,在道路边界上的提取结果优于其他网络模型。
表6 不同网络提取道路实验精度评价 %
实验结果表明,四种常见语义分割模型的F1分数比较接近,而基于MobileNetV2主干网络的DeepLabV3+模型的F1分数优于其他四种网络模型,充分表明了本文方法的有效性。
3 结束语
针对现有方法在提取道路时存在道路边界模糊问题,本文提出了一种基于MobileNetV2主干网络的DeepLabV3+网络道路提取模型,旨在更高效、快速、完整地从高分辨率遥感图像中提取道路。该网络以MobileNetV2网络为主干,利用多孔金字塔池化提取多尺度信息,对丰富的上下文信息进行编码;采用简单有效的解码器模块恢复道路边界;将深度可分离卷积应用到金字塔池化与解码模块,使模型更快更稳定。本文将BCE与DICE结合作为损失函数,并选择最佳权重比对网络的训练进行实时地监督。实验结果表明,该模型具有更好的性能,所提取的道路结构更加完整,道路边界更加清晰,在综合评价指标F1分数上较其他语义分割模型有所改进。因此,本文所提出的方法在高分辨率遥感影像道路提取任务中有着广泛的应用前景。