基于SPUD-ResNet的遥感影像道路提取网络

2021-12-12 02:52李代栋赫晓慧李盼乐田智慧周广胜
计算机工程与应用 2021年23期
关键词:池化卷积损失

李代栋,赫晓慧,李盼乐,田智慧,周广胜,3

1.郑州大学 信息工程学院,郑州 450001

2.郑州大学 地球科学与技术学院,郑州 450052

3.中国气象科学研究院,北京 100081

近年来,从高分辨率遥感影像中提取道路已成功应用在众多领域,例如城市规划、实时地理信息系统和交通导航等[1]。在理想情况下,道路作为提取对象,应具有规则的形状、均匀分布、固定宽度以及相互连接的拓扑结构。然而从遥感图像提取道路存在如下困难:(1)多样性,道路类型包括高速公路、城市干线道路和乡村道路等,具有多尺度的特征;(2)狭长的结构,与建筑物之类的大型物体相比,道路是一段狭长的区域,很可能导致不连续的提取;(3)地物干扰较多,遥感图像中的道路容易被树木遮盖或与空地相混淆,从而导致模棱两可的提取结果。因此,从遥感影像中自动、准确地提取道路是一项艰巨的工作。

随着深度语义分割领域的快速发展,例如全卷积网络(FCN)[2]、编码器-解码器网络(U-net[3]、SegNet[4])、DeepLab[5-6]和金字塔场景解析网络(PSPNet)[7]等深度卷积神经网络(DCNN)展现了优异的性能。在复杂的遥感影像信息提取工作中,国内外研究人员也越来越关注DCNN在其中的应用。例如苏健民等人[8]提出一种基于U-Net改进的深度卷积神经网络,实现了端到端的遥感影像分割。祖宝开等人[9]基于分块低秩表示的方法,对城市遥感影像的不同区域进行划分。李森森等人[10]提出了一种改进的Mask R-CNN卷积神经网络,能够对遥感影像中多个目标进行检测与分割。而文献[11-15]和针对道路结构修正的RSRCNN[16]等,则针对Massachusetts航空影像数据集对道路分割进行了大量研究。

基于DCNN的道路提取方法,凭借其捕获高级语义的能力在道路分割方面取得了显著进展。但大多数DCNN方法利用性能优异的分类网络结构,去掉用于分类的全连接层来提取道路。这些方法通过堆栈卷积和池化操作,没有考虑道路的结构特点,因此很难较好地提取复杂的道路区域。对于细节信息丰富的道路结构,经过多个池化操作后尽管高级语义信息丰富,但低层位置信息等严重不足。贺浩等人[17]因此设计了较浅深度、分辨率较高的道路提取网络,减少了重复池化的影响,提高了网络的细节表示能力。其次,由于道路呈带状分布的特点,感受野的大小至关重要,而仅使用较大的正方形池化操作不能很好地解决此问题,因为其不可避免受到大量来自背景区域的信息干扰[18]。而Zhou等人[19]利用空洞卷积[20],在不引入额外参数的情况下扩大感受野范围,提高了道路提取能力。此外,改善感受野的研究是空间金字塔池化[7,18],其通过一组具有固定大小的方形内核进行并行池化操作,网络能够捕获大范围的上下文信息。例如宋延强等人[21]利用空间金字塔池化模块,改善了遥感图像中识别结果过度分割,以及小物体识别差的问题。上述方法在道路提取中应用广泛,但由于只应用了方形内核,限制了获取遥感影像中带状道路信息的灵活性,因此在道路提取任务中利用上下文信息的能力有限。最后,尽管已经提出众多基于DCNN方法的道路提取网络,但现有网络的训练大多采用交叉熵作为损失函数[2,8-11,18,21],在道路边界及背景中存在大量模糊预测,严重影响道路提取质量。

为解决上述问题,进一步提升道路提取效果,本文设计了SPUD-ResNet的道路提取网络:首先利用空洞卷积构建D-ResNet101网络作为编码器,增加低维特征向高维特征的跳跃连接,通过多级特征融合,能够聚合多尺度的上下文信息,并保留丰富的低维细节特征以及高维语义特征;其次根据带状分布的道路特点,利用条形池化模块,侧重沿水平或垂直空间维度获取道路区域的长距离依赖关系,同时区分局部细节信息;然后基于条形池化和金字塔池化,设计混合池化模块,通过融合条形内核和不同尺寸的方形内核来获取更加丰富的上下文信息;最后根据道路结构特点,设计混合损失函数,在网络训练过程中从像素级别到区域级别关注道路提取中的错误分类,进一步精细化道路目标边界与背景质量。为验证所提方法的有效性,本文通过实验测试了模型结构、池化模块与损失函数的性能。

1 SPUD-ResNet道路提取网络

1.1 SPUD-ResNet网络结构

本文对Resnet-101网络进行如下改进:

(1)取消Resnet-101分类网络的全连接层,利用空洞卷积减少下采样次数,保持更大尺寸的特征图,并增加基于跳跃连接的对应解码器。

(2)根据带状的道路结构特点,构建条形池化模块,沿水平或垂直空间维度获取长距离上下文信息。

(3)通过融合金字塔池化和条形池化,提出混合池化模块,对不同类型的上下文信息进行融合。

SPUD-ResNet道路提取网络的结构如图1所示,主要由适合道路提取的UD-ResNet101编码器-解码器网络、SPM模块和MPM模块组成。

1.1.1 UD-ResNet101网络结构

网络的深度对视觉识别任务至关重要[22]。CNN可以提取低、中、高层次的特征,网络层次越多,能够提取的特征“层次”就丰富。然而简单地增加深度会导致梯度分散或梯度爆炸,精度达到饱和后迅速下降。文献[23]通过引入残差网络解决了退化问题,且性能优异。但道路是线形且具有网状分布的特殊结构,其细节信息丰富,而语义信息较为简单。经典的语义分割网络面对的图像复杂多样,对于语义信息的提取要求更高,输入图像经过重复的池化和下采样导致分辨率大幅下降,位置信息容易丢失且难以恢复。如文献[16]采用FCN架构,最小的中间特征图被压缩了32倍,因而丢失了目标的部分细节信息。因此,针对道路提取问题的特殊性,本文设计了下采样次数较少,特征图尺寸较大且性能优异的D-ResNet101编码器网络。

D-ResNet101的网络结构如表1所示,该网络舍弃Resnet101分类网络的全连接层,构成全卷积网络,可以接受任意大小图像,并确保网络输出的空间维度。原始的ResNet101网络会对输入影像进行多次下采样,网络得到的最小特征图尺寸被压缩32倍。下采样虽然能够扩大感受野范围,提取主要信息,但由于图像分割需要将池化操作后较小的图像尺寸,再通过上采样的方式恢复至原始的图像尺寸进行预测。因此连续池化和下采样容易导致空间信息的丢失、小目标信息无法重建等问题,会严重影响网络性能。在卷积核不变的情况下,相比于常规卷积,空洞卷积保留的特征图周围像素信息更丰富,更有利于图像语义分割像素点分类的准确性。在网络中第Conv4和Conv5卷积块中采用空洞率为2的空洞卷积进行替代部分池化层,可以降低池化层对图像信息丢失的影响,并且能够有效地聚合多尺度上下文信息。除此之外,还可维持与原网络相同的感受野大小。经过改进后的编码器网络只经过三次下采样处理,可以减少信号下采样的程度,其最小特征图的尺寸仍有原图1/8,因而能够更多地保留道路的局部细节特征。

图1 SPUD-ResNet网络结构Fig.1 SPUD-ResNet network architecture

表1 D-ResNet101网络结构Table 1 D-ResNet101 Network Structure

UD-ResNet101网络则是在D-ResNet101网络基础上,构建相应解码器,通过逐步恢复物体的细节和空间维度的方式,将编码器输出的特征图恢复到原图大小。能够减少道路结构的细节信息的丢失,改善分割的边界粗糙的问题。并通过增加跳跃连接,将网络的低层局部特征与高层语义特征进行融合,有助于更加精确的定位道路边缘信息,提升对道路结构的语义信息和细节信息的获取能力。

1.1.2 条形池化模块

道路是呈带状分布的特殊结构,传统池化方式仅能够从固定的正方形区域内收集信息,如图2(a)所示,其利用上下文信息的能力有限。为了更有效地捕获道路结构的长距离依赖关系,SPUD-ResNet利用条形池化来扩大感受野范围并获取上下文信息。与普通池化方法相比,条形池化具有两个显著优点。首先,如图2(b)顶部所示,它沿水平或竖直空间维度设置了较长的内核形状,因此可以捕获孤立道路区域(矩形框)的长距离关系。其次,如图2(b)其余部分所示,通过该条状内核的设计,有助于捕获局部道路结构的上下文信息,并防止无关区域的干扰。通过集成这种长而窄的条形池化,SPUD-ResNet能够同时聚合全局和本地的上下文信息。

图2 普通池化、条形池化和对应标签Fig.2 General pooling,strip pooling,and corresponding labels

本文构建的条形池化模块(SPM)由两条路径组成,分别侧重于沿水平或垂直空间维度获取长距离上下文信息,能够有效扩大网络的接收范围。对于影像中的每个空间位置,对其水平和垂直信息进行编码,然后通过平衡其自身的权重以进行特征细化。如图3所示,在条形池化模块中,输入的特征图尺寸为H×W,通道数为C。对任一通道的特征图,x∈RH×W经过水平和垂直条形池化的处理后尺寸为H×1和1×W,再对其特征值分别进行平均。其中水平池化的输出结果yh∈RH如式(1)所示:

垂直池化的输出结果yv∈RW如式(2)所示:

两个输出结果分别沿着垂直和水平方向进行扩容,并将尺寸相同的特征图通过对应位置求和的方式进行融合。在维度不变的情况下,融合两个特征图信息,得到与输入尺寸相同的特征图。融合结果如式(3)所示:

最后,对融合结果依次通过1×1卷积和sigmoid操作,再与原特征图通过对应位置相乘的方式进行结合,得到SPM模块的最终输出结果。

特征图在经过SPM模块后,输出特征图中的每个位置都与水平或垂直方向建立了联系。通过多次重复该模块的聚合过程,能够对所有特征信息构建长距离依赖关系。与普通池化操作相比,本文改进方法中条形池化考虑的是较长但较窄的范围,更加侧重沿水平或垂直方向获取道路特征信息,避免了与相距较远的背景之间建立不必要的关系。

1.1.3 混合池化模块

金字塔池化模块(PPM)是增强语义分割网络的有效方法[7]。本文利用标准空间池化和条形池化的优点,设计了混合池模块(MPM)。该模块利用不同内核形状和尺寸的池化操作来探测复杂的遥感影像,获取更加全面和丰富的特征信息,进一步在高语义级别上对长距离上下文信息进行建模,使道路和背景的特征表示更具区分性。

MPM模块由金字塔池化和条形池化组成,可同时捕获不同位置之间的长距离和短距离依赖关系,对于提高道路分割网络的性能有极大帮助。对于长距离依赖关系,与全局平均池化层不同,同时使用水平和垂直条状池化操作来收集此类信息。条形池化不仅在离散分布的道路区域之间构建联系,而且能够对条形道路区域进行编码。但对于部分区域道路分布较为紧密的特点,采用金字塔池化模块提高捕获本地上下文信息的能力。该模块结构如图4所示,在MPM模块之前,首先需要通过1×1卷积层用于channel缩减,其输出结果经过融合并由另一个1×1卷积层进行channel扩展。

图3 SPM模块Fig.3 Strip pooling module

图4 MPM模块Fig.4 Mixed pooling module

1.2 损失函数

道路提取是区分道路及背景的二分类问题,通常利用二分类交叉熵损失函数对道路提取网络进行训练,其定义如式(4)所示:

在式(4)中,yi为第i个像素对应二值化标签的值,该值等于0时为背景,等于1时则为道路;而ai为网络对于第i个像素的预测值,其值在0到1之间,网络预测为道路的概率越高,其值越趋近于1。但传统二分类交叉熵损失函数对所有像素的损失分配了相同的权重,忽略了像素所处位置与其分类的联系。基于此观点,RSRCNN[16]将损失函数改进为如式(5)所示:

在式(5)中,di表示第i个像素根据标签计算出与道路区域的最小欧氏距离,T是判断该像素距离道路是否足够远的阈值,RSRCNN[16]将其设置为。当di的值为0时,f(di)为0;当0<di<T时,其值为;当di>T时,其值为。该损失函数的设计对道路附近的像素施加了更大的负样本惩罚,使得道路结构的连续性能够对损失函数产生影响。Ld损失函数能够改善提取任务中道路结构的表现效果,但其仅考虑了单个像素的位置关系,未考虑相邻区域的标签,因此在道路分割中经常遇到提取结果模糊的问题。为改善此问题,本文引入用于评估图像质量结构相似性(SSIM)[24]指标,其定义如式(6)所示:

SSIM是区域级别的度量,其考虑了每个像素局部邻域的影响,并通过比较亮度,对比度和结构来评估两个图像之间的相似性,较高的SSIM意味着更清晰的结果[25]。因此,将SSIM作为损失函数训练本文所提网络,能够有效减少提取结果模糊的问题,进一步提升道路分割质量。本文将遥感影像划分为N个区域,x和y则分别表示某个区域的道路预测概率图与对应标签,LSSIM损失函数如式(7)所示:

在式(7)中,C1=0.012,C2=0.032,μx和μy分别表示x和y的平均值,σx和σy分别表示x和y的标准差,σxy表示x和y的协方差。LSSIM损失函数在训练开始时给边界区域分配较高的权重,沿边界的损失最大,它有助于专注优化道路边界。LSSIM损失函数则随着训练的进行,道路区域的SSIM损失减少,背景损失成为主导,仍然有足够的梯度来推动模型的学习。并且直到背景的预测非常接近标签时,其损失值才迅速下降为0,对于模型的训练十分有帮助。因此能够消除背景中模糊的预测,整体背景的预测更加清晰。

由于道路边界和背景质量对道路提取结果至关重要,因此本文在Ld损失函数的基础上,利用LSSIM损失函数改善其模糊预测的问题。本文设计的混合损失函数Lds,能够从像素级别和区域级别对道路边界进行优化,并在训练后期优化背景部分,其定义如式(8)所示:

2 实验分析

为验证算法对遥感影像道路提取的有效性,利用遥感影像数据对网络进行训练、测试与验证。实验基于Tensorflow深度学习框架设计,运行环境中CPU为InterCorei7-8700 4.6 GHz,GPU为NVIDIA TeslaP100 16 GB。

2.1 实验数据

实验采用Massachusetts道路数据集作为实验数据。该数据集共涵盖1 171张3通道影像及对应的2通道分割标签,其影像空间分辨率为1 m,每张影像的尺寸为1 500像素×1 500像素。标签为二值化图像,其道路像素值为1,背景像素值为0。首先通过人工筛选方式去除数据集中误差较大的影像和标签,将每张影像及其对应标签分别裁剪为128像素×128像素大小的影像,并将道路数据集划分为训练集、测试集和验证集。此外,为有效扩增训练数据,本文对原始影像及标签随机进行旋转或水平、垂直的镜像映射,将训练数据量扩充为原来的8倍。

2.2 评价指标

本文采用评估遥感影像道路提取方法质量的普遍评价指标,即精确度(precision)、召回率(recall)和F1-score,其定义分别如式(9)~(11)所示:

在式(9)~(11)的定义中,TP(True-Positive)代表标签为道路,预测像素也为道路;FP(False-Positive)代表标签为背景,预测为道路;FN(False-Negative)代表标签为道路,预测为背景。

2.3 实验结果与分析

2.3.1 不同网络结构实验对比

为了验证本文所提出网络结构的有效性,本文选取RSRCNN、U-net、U-Resnet101、UD-ResNet101和SPUDResNet101,在Massachusetts Roads数据集上进行验证测试,各项性能指标如表2所示。

表2 各模型提取结果对比Table 2 Comparison of extraction results of each model

从表2中可知,RSRCNN的设计是基于FCN网络框架,其特征提取部分采用了预训练的VGG16模型,由于网络结构的限制和过低的特征图尺寸,其F1-score仅为66.2%。U-net则采用了更加先进的Encoder-Decoder网络结构,能够有效提升分割精度;但其主要运用于医学影像的处理,其模型设计并不能完全适应复杂的遥感影像道路提取任务。而U-Resnet101则利用强大的残差网络和Encoder-Decoder网络结构,有效提升了特征编码能力,能够获取更加丰富的道路特征信息,与U-net相比各项指标都有所进步。而本文在U-Resnet101网络的基础上设计的UD-ResNet101,利用空洞卷积减少下采样次数,在扩大感受野的同时保证特征图尺寸,提升了道路提取性能。同时,根据遥感影像中道路结构特点,融合条形池化模块和混合池化模块的SPUD-ResNet101,更加适合获取条形的道路特征,在细节辨识能力上明显优于其他方法,与UD-ResNet101相比,Recall值提升1.2%,道路提取结果更加完整。各方法的道路分割结果如图5所示,其中图5(a)~(g)分别是原始影像、对应标签、RSRCNN、U-net、U-Resnet101、UD-ResNet101和SPUD-ResNet101的道路提取结果。

如图5所示,RSRCNN方法受限于网络结构缺陷,导致其细节提取能力较差,存在较多误检测区域,对于并行的双车道无法有效分离。U-net及U-Resnet101凭借更先进的结构,提升了道路提取效果,但仍不能准确地提取部分道路区域,其道路形状和结构均存在不同程度的问题。由于上述方法都直接利用了针对分类任务进行设计的VGG、Resnet分类网络,对输入影像进行了4次下采样,最小特征图尺寸仅为输入图像的1/32,导致道路细节表达存在缺陷。UD-ResNet101则利用空洞卷积保持了较高的分辨率,较好地保存了道路结构细节信息,改善了网络的细节表达能力。而增加SPM模块和MPM模块后,更加适合条形道路结构提取,整体的提取结果更加完整,进一步提升了道路提取质量。但上述两种方法所提取的道路边缘较为粗糙,并且背景中存在部分模糊不清的道路,严重影响了道路提取效果。

2.3.2 不同损失函数实验对比

在本文所提SPUD-ResNet101网络结构的基础上,分别利用Ld损失函数、LSSIM损失函数和混合损失函数Lds对网络进行训练,其测试结果如表3。

表3 不同损失函数提取结果对比Table 3 Comparison of extraction results of different loss functions

从表3中可知,本文所提网络结构在训练过程中,Ld损失函数在提升道路提取完整度方面效果明显。而LSSIM损失函数则通过对比局部区域的亮度,对比度和结构,得到了更为准确清晰的结果。最后,在对网络进行改进的基础上,引入本文所提混合损失函数,约束道路边缘并优化整体效果;与上述两种损失函数相比,Precision和F1-score达到了84.5%和83.9%,进一步提升了道路提取质量。本文所提损失函数除了在各项性能指标上表现更好,其优势更在于能够保留道路细节信息,得到更加精确清晰的道路提取结果。利用各损失函数训练的道路提取结果如图6所示,其中图6(a)~(e)分别是利用Ld损失函数、LSSIM损失函数和本文方法的提取结果。

图5 各模型提取结果Fig.5 Extraction results of each model

图6 各损失函数提取结果Fig.6 Extraction results of each loss function

如图6所示,利用Ld损失函数对道路附近的像素施加了更大的负样本惩罚,能够获取更完整的道路结构。但由于Ld损失函数只关注道路附近的像素,当两个道路结构较近时容易造成误判,且对于距道路结构较远位置的噪声无法有效消除。而LSSIM损失函数通过对比图像区域级别结构的相似性,优化道路结构边缘及背景的模糊预测,提取结果更加准确。但同时也存在将部分正确预测消除的现象,影响了整体提取结果。本文所提方法在混合损失函数的帮助下,能够明显减少道路结构缺损,同时消除大部分模糊预测的干扰,提取结果与标签图像达到更高的相似度,整体的道路提取效果更加精准。

3 结束语

针对遥感影像中道路目标特点,本文提出基于SPUDResNet的遥感影像道路提取网络。该网络以残差深度神经网络为基础,采用Encoder-Decoder网络框架,并由SPM模块和MPM模块组成。其中D-ResNet101作为编码器的主要部分,利用空洞卷积扩大感受野范围并保证特征图尺寸;解码器则通过跳跃连接,同时获取高等级的全局信息和低等级的细节信息。SPM模块相比传统池化方式,能够获取更加丰富的上下文信息,更适合于对带状的道路结构进行提取。而MPM模块则采用多种内核形状进行池化操作,更加充分地利用全局信息。最后,不同于以往的道路提取算法,本文提出利用道路结构几何信息和结构相似性构成混合损失函数,对网络的训练进行实时监督。在Massachusetts道路数据集上的实验结果表明,本文所提方法的各项性能指标表现优异,其召回率、精确度和F值分别达到了83.4%、84.5%和83.9%,在道路提取任务中具有广泛的应用前景。下一步工作和研究的重点是提升SPUD-ResNet的适用范围,使其能够更加广泛地应用在各种目标提取任务中。

猜你喜欢
池化卷积损失
基于Sobel算子的池化算法设计
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
一般自由碰撞的最大动能损失