面向道路场景语义分割的移动窗口变换神经网络设计

2024-04-01 07:02黄影平张栩瑞
光电工程 2024年1期
关键词:尺度语义卷积

杭 昊,黄影平,张栩瑞,罗 鑫

上海理工大学光电信息与计算机工程学院,上海 200093

1 引 言

图像语义分割[1]在计算机视觉领域扮演着至关重要的角色,它被视为模式识别领域的核心研究议题[2]。这一任务的实质在于进行密集的预测,要求对图像中的每个像素进行准确的类别预测,以确保系统能够深刻理解对象的轮廓、位置和具体类别等关键信息。随着深度学习技术在计算机视觉领域的飞速发展,语义分割技术获得了广泛的应用,自动驾驶[3]、精准农业[4]、医学影像分析[5]等领域都在积极应用这一技术。在自动驾驶领域尤为显著,对道路场景进行的语义分割为汽车提供了关键的技术支持。通过对车辆前方场景进行精准的语义分割,系统能够准确地识别和定位道路、车辆和行人,从而提高自动驾驶汽车在环境感知方面的准确性。

现有的图像语义分割主要分为传统方法和基于深度学习的方法。传统的语义分割算法依赖于手工标注特征,实施过程繁琐、效率低,在一些简单的场景下效果不错,但难以应付较为复杂的语义分割任务。基于深度学习的方法利用大量的数据对模型进行训练,自动提取数据特征,逐渐成为了语义分割的主流方法。目前,应用于图像语义分割的深度学习算法主要分为两类,分别是基于卷积神经网络(convolutional neural network,CNN)[6]和基于Transformer[7]。

2015 年,Long 等人基于编码器-解码器结构提出了全卷积神经网络(fully convolutional networks for semantic segmentation,FCN)[8],首次实现了端到端的像素级语义分割。Ronneberger 等提出UNet[9],在解码时使用编码阶段不同尺度的特征进行融合,获取丰富的上下文信息和空间位置信息。Zhao 等提出PSPNet[10](pyramid scene parsing network),通过金字塔池化模块融合不同池化尺度和不同子区域之间的上下文信息,提升相似物体的检测精度。Chen 等设计了DeepLab[11-14]算法,其中DeepLabV3[13]设计了空洞空间金字塔池化模块,采用不同膨胀速率的空洞卷积在多个尺度捕获目标信息及其上下文信息,解决图片多尺度问题的同时也提升了分割效果。

Transformer 最初应用于自然语言处理领域,是一种基于自注意力机制的神经网络模型。Vision in Transformer (ViT)[15]是第一个应用于图像分类的Transformer 算法,不同于CNN 的特征提取方式,Transformer 模型通过学习序列元素之间的相互依赖关系可以更有效地捕获全局交互信息。然而,ViT 存在输出单一尺度、低分辨率特征和高计算成本等缺点。为了应对这些挑战,研究者们提出了Swin Transformer[16]算法。Swin Transformer 的核心思想是将图像分割成一系列的非重叠的图块,在图块内进行自注意力计算,从而减少计算量。然后在这些图块之间引入跨窗口的注意力机制,实现全局的信息交互。正是这些特点,让Swin Transformer 在许多计算机视觉任务中表现出色。

道路场景的图像语义分割有2 个难点:1)道路场景的图像种类繁多,小目标物体不易识别。2)道路场景的图像复杂多样,相似物体与重叠物体容易出现误判,图像中的边缘细节难以有效分割出。针对以上难点,本文借鉴Swin Transformer 的思想提出了一个适用于道路场景语义分割的深度学习网络模型。该网络采用编码-解码结构,在编码部分中利用Swin Transformer 网络优良的全局交互能力进行特征提取工作。由于层级式提取需要进行下采样,但下采样过程中会存在许多细节和结构信息的丢失,因此提出一种全新的特征压缩模块(feature compression module,FCM)来进行下编码阶段的采样操作,从而避免上述问题。在解码器部分,借鉴了特征金字塔网络(feature pyramid network,FPN)[17]的思想,设计了一种多级特征融合的解码器结构。鉴于FPN 并没有考虑不同尺度特征图之间的关联性,只是在上采样后将相同尺度的特征图进行简单的叠加,设计一种独特的注意力融合模块(attention fusion module,AFM)来考虑不同尺度特征之间的关联性,进而提高模型的全局与局部识别能力。

本文主要贡献如下:1)借鉴了Swin Transformer 的特征提取模块的思想,提出了一种编码-解码结构的适合于道路场景语义分割的深度学习网络模型。2)提出了一种全新的特征压缩模块来进行编码阶段的特征提取操作,减少下采样过程中的特征信息损失,保留了尽可能多的边缘特征。3)由于Swin Transformer 没有固定的编码器,本文提出了一种多级特征融合解码器,使用注意力融合模块来充分利用编码器输出的多尺度特征信息,对不同尺度的信息进行选择性融合,再通过特征金字塔模块之后进行拼接,可以有效地恢复城市道路图像的细粒度细节。4)在Cityscapes 数据集上进行实验评估,与多种道路场景语义分割的经典算法对比,本文方法减少了特征细节的丢失,在分割精度方面具有一定优势。

2 相关工作

2.1 经典方法

传统的图像语义分割主要分为基于阈值、基于边缘和基于图论分割的方法。基于阈值的方法通过设定像素灰度值的阈值来将图像分割为不同的区域。灰度图的阈值差,图像的模糊程度,都会影响该方法的分割效果。基于边缘的方法则是对图像不同语义类别的边缘进行检测,根据这些边缘将图像分割成不同的区域[18]。其中,Canny 边缘检测和边缘链接算法是常用的技术。基于图论的图像分割方法利用图模型来表示图像中的像素,并通过对图模型分析来实现图像分割[19]。

2.2 基于卷积神经网络的语义分割

在语义分割的发展历程中,基于卷积神经网络的图像语义分割方法对该领域做出的贡献不容小觑[20]。2012 年Krizhevsky 等人提出的AlexNet[21]架构掀起了卷积神经网络在各个领域的研究热潮。2015 年微软研究院提出的ResNet[22]模型,解决网络深层架构的问题。同年,Long 等人提出全卷积神经网络FCN,标志着分割领域进入了全新的发展时期。与之前的所有图像语义分割算法最大的不同,FCN 使用卷积层代替了分类模型中全部的连接层,可以接受任意尺寸的图像输入,并实现了逐像素级的类别预测,极大地推动了分割方法的进展。2016 年,针对FCN 网络中由于感受野有限而无法充分捕捉上下文信息的问题,PSPNet[10]模型被提出了,该模型通过在网络中间添加金字塔池化操作,聚合不同尺度上的特征,进而提升网络的全局感知能力。Chen 等人提出的DeepLab V2[12]使用空洞卷积来增大感受野,同时保持图像分辨率不变,使用多个不同膨胀因子的空洞卷积构建空洞池化金字塔,以获取多尺度的特征信息。Ronneberger等人提出经典的对称编-解码结构U-Net 网络,该网络一开始用于医学图像分割,采用编解码特征图拼接,通过跳过连接来学习相应编码级的空间相关性。

2.3 基于Transformer 的语义分割

Transformer 最初应用在自然语言处理,后来被引入计算机视觉领域作为VIT (vision Transformer)[15]骨干网络。VIT 将图像划分成小块,并编码成令牌向量,然后进行全局自注意力计算。实验证明,VIT 在计算机视觉中有很大潜力,但需要大量训练样本和高算力支持。为了解决这些问题,Liu 等[16]提出Swin Transformer 这一种骨干网络,它借鉴了CNN 的多层级思想,并采用层级式结构输出多尺度特征,能够较好地处理图像的多尺度问题。其给patch 划分小窗口,在窗口内计算局部自注意力,并通过移位窗口操作实现窗口间的信息交互。此外,Swin Transformer 通过合并相邻的小块来缩小特征图的大小,适用于密集预测任务。这些改进使得Swin Transformer 在计算机视觉任务中表现出色,并具有更高的计算效率。

3 本文方法

3.1 网络结构

本文提出的道路场景语义分割网络模型如图1 所示,它由两部分构成:基于Swin Transformer 特征提取编码器和基于FPN 的多尺度特征融合的解码器。编码器利用Swin Transformer Block 对输入的图像进行序列建模以获取多尺度特征,下采样过程中通过特征压缩模块FCM 代替原来的图像块合并(patch merging)模块,减少下采样过程中的信息损失,保留更多细节特征。解码器使用空洞空间金字塔池化(atrous spatial pyramid pooling,ASPP)模块消除产生的噪声,进一步提取上下文信息。通过注意力融合模块AFM 对特征通道之间的依赖关系进行建模的同时缩小高低层语义差距,并利用FPN 融合低层细节特征和高层语义特征,将新融合生成的四层特征图分别进行上采样,进行拼接融合,得到分割特征映射图。

图1 网络架构Fig.1 Network architecture

3.2 编码器

编码器的设计借鉴了Swin Transformer 架构,其原始构架如图2 所示。它是一种层级式的Transformer结构,通过重复堆叠的Swin Transformer 模块和下采样模块,会生成四层不同尺度大小的特征图。

图2 Swin Transformer 架构Fig.2 Swin Transformer architecture

本文的特征提取模块也即编码器如图1 左侧所示。图片通过图像块分割层(patch partition)被转换成4×4固定大小的、互不重叠的图像块。然后在通过线性嵌入层(linear embedding)将图像块序列化,将处理后的图像块送入到Swin Transformer Block 中。Swin Transformer Block 如图3 所示。可以看出,Swin Transformer Block 包括了窗口多头注意力机制模块(window multi-head self attention,W-MSA),滑动窗口多头注意力机制模块(shifted-window multi-head selfattention,SW-MSA)。Swin Transformer Block 中的自注意力计算过程如式(1)~(4)所示:

图3 Swin Transformer 模块Fig.3 Swin Transformer block

其中:zl表示W-MSA 模块的输出特征,zl+1表示SW-MSA 模块的输出特征;LN 为归一化层;MLP 为多层感知机,目的是将序列映射到多维通道,经过卷积后再映射回序列值。

原始的Swin Transformer 采用Patch Merging 模块来进行窗口特征映射,具体操作如图4 所示。然而,这种方式进行下采样容易导致一些细节和上下文结构信息的丢失,不利于小尺度对象的语义分割。对此,我们提出了一种新的特征压缩模块FCM,如图5 所示。用特征压缩模块FCM 替换Patch Merging 模块,使网络在下采样过程中保留了尽可能多的详细特征。

图4 图像块合并模块Fig.4 Patch Merging module

图5 特征压缩模块Fig.5 FCM module

本文设计的FCM 模块的输入为Swin Transformer Block 提取的特征,该模块分为上下两个支路。上支路利用膨胀卷积的感受野来广泛收集小尺度物体的特征和结构信息。在这个支路中,首先通过一个1×1 的卷积层来调整通道数为2C,接着通过一个3×3 的膨胀卷积层,最后再通过一个1×1 的卷积层来减小特征尺度。使用膨胀卷积能够扩大卷积操作的感受野,在减少参数量和计算成本的同时,保持对大范围信息的有效感知。这个分支主要用来获取大范围上下文的信息,以便深层网络继续特征提取,这个分支的输出是(H/2)×(W/2)×2C。

下支路首先通过通道注意力机制模块获取通道之间的联系,再通过软池化[23]的操作来获取更精细的下采样,最后通过1×1 的卷积层来调整通道数为2C。软池化在这个分支中起到了至关重要的作用,其核心功能是通过降低数据的空间维度,保留了更多的细节特征,使得输出更为紧凑。这个分支主要用来保持通道之间的联系并且在一定程度上减少细节特征的丢失,这个分支的输出也是(H/2)×(W/2)×2C。最后将这两个等维度的分支对应位置逐元素相加得到输出特征。

3.3 解码器

本文设计的解码器如图1 右侧所示,解码器将经过编码器处理所得到的四层特征图进一步优化和融合,得到分割结果图。本文的解码器借鉴了FPN 思想,并加入了AFM 模块和ASPP 模块。传统的金字塔架构虽然在处理多尺度信息和实现特征融合方面取得了一定的成功,但也存在一些问题:不同层次的特征图具有不同的感受野,这可能导致融合后的特征在全局和局部信息的平衡上存在困难,浅层网络中无用信息带来的冗余等问题[24]。

针对上述问题,本文提出了AFM 模块来聚合不同尺度特征,如图6 所示,该模块将深层和浅层网络的信息进行结合,缩小不同尺度特征之间的语义差距,进而达到提高网络精度的目的。具体来说,首先使用1×1 卷积来改变浅层网络输出的通道,接着在保持通道数目不变的情况下,采用双线性上采样改变特征尺度,使得通道和尺度大小都与通过横向连接提取的下级输出相匹配。然后我们将浅层特征和深层特征分别计算通道注意力机制再加权,这样做,可以调整原始特征图中每一个特征通道的重要程度,达到增强目标的特征、抑郁背景噪声的目的。最后将添加通道注意力机制的浅层网络和深层网络按照通道拼接的方式进行融合,获取含有丰富上下文语义信息的特征。

图6 注意力融合模块Fig.6 AFM module

解码器的输入为编码器输出4 个阶段的特征图F={F1,F2,F3,F4},其分辨率分别为原输入图像的(1/4,1/8,1/16,1/32}。首先让最深层特征图F4通过ASPP 模块,进一步提取上下文信息,得到本层特征图F4';让特征图F3 通过AFM 模块融合特征图F2 得到本层特征图F3';让特征图F2 通过AFM 模块融合特征图F1 得到本层特征图F2'。其次,构建自下而上的特征融合通道,让高层次的特征经过2 倍上采样并调整通道数再与低层级特征进行逐像素相加,得到FPN 四层特征图F"={F1",F2",F3",F4"},最后将FPN 各级输出分别调整通道数并按上采样率为{1,2,4,8}进行上采样,并按照通道维度进行拼接,再通过线性层调整通道数为分类类别数,最后得到分割预测图。

4 实验结果与分析

4.1 数据集

实验采用广泛使用的语义分割数据集Cityscapes[25]数据集。Cityscapes 数据集包含了来自50 个德国不同城市的街道景观图像。这些图像经过了像素级别的高质量标注,总共有5000 张。其中,训练集包含了2795 张图片,验证集包含了500 张图片,测试集包含了1525 张图片。数据集包含了8 个类别,涵盖了19 个子类别。

4.2 实验环境

实验环境如表1 所示,实验所用的操作系统为Ubuntu18.04,CPU 型号为AMD5600Xd,GPU 型号为NVIDIA RTX3070。网络是基于MMSegmentation(Pytorch 1.10.0、Python 3.7) 开发框架下实现的,编译环境采用 Python3.7 编译环境。模型使用 AdamW优化器,其中初始学习率设置为0.00006,权重衰减率为0.01,损失函数使用交叉熵损失,进行16 万次迭代。

表1 实验环境Table 1 Experimental environment

4.3 评价标准

为了评价所提出的语义分割算法的性能,本文选取交并比(intersection over union,IoU)、平均交并比(mean intersection over union,MIoU)、像素准确率(pixel accuracy,PA)、平均像素准确率(mean pixel accuracy,MPA)评估网络的分割性能[26],其计算方式分别如式(5)~(8):

假设数据一共包括k+1 个类别,对于一个像素点,假设该像素点的真实标签值为类别i,模型对该像素点的预测结果为类别j。Pij表示将i类像素点预测成j类,Pii表示将i类像素正确预测,Pji表示将j类像素点预测成i类。IoU 通过计算标签真实值集合和模型预测值集合之间的交并集来评估预测结果与真实标签的重合程度;MIoU 表示对所有类的IoU 按类计算后取平均值;PA 通过计算模型正确分类的像素点总数在所有像素点中所占的比例来评估模型的分类精度;MPA 表示图像中所有物体类别像素准确率的平均值。

除了以上几个评价指标之外,本文还选取参数量(params)、浮点数 运算次 数 (floating-point operations,FLOPs)、画面每秒传输帧数(frames per second,FPS)来评估网络的计算效率。

4.4 性能评估及与其他方法的比较

将现有的几种语义分割模型和本文模型在Cityscapes 数据集上进行对比,具体的比较结果见表2、表3 和表4 所示。表2 展示的是各个网络在Cityscapes 数据集上不同类别的交并比和平均交并比,表3 展示的是各个网络在Cityscapes 数据集上不同类别的像素准确率和平均像素准确度,表4 综合展示了各类语义分割网络的性能。

表2 各类模型在Cityscapes 数据集上的IoU 和MIoUTable 2 IoU and MIoU of various models on the Cityscapes dataset

表3 各类模型在Cityscapes 数据集上的PA 和MPATable 3 PA and MPA of various models on the Cityscapes dataset

表4 各类语义分割算法性能比较Table 4 Performance comparison of various semantic segmentation algorithms

从表2 和表3 参数结果来看,本文网络比FCN网络、PSPNet 网络、UNet 网络、DeepLabv3 网络,Swin Transformer 网络在MIoU 方面分别提高了10.2%、5.9%、4.7%、1.4%、2.0%,在MPA 方面分别提升了10.2%、4.9%、4.8%、2.5%、3.2%。从具体类别上来看,本文网络相比其他网络,在人行道、栏杆、柱子、植被、摩托车这几个类尺度较小且形状较不规则的目标类别上更胜一筹,在建筑物、汽车、火车这几类大型且形状比较规则的类别上不是很突出。分析其原因可能如下:首先,传统的池化操作会导致目标的特征在网络的不断加深中逐渐消失,而本文方法采用特征压缩模块尽可能多地保留特征细节和上下文信息;其次,本文在解码器器中引入ASPP 模块,使得模型更关注于道路图像中目标所在区域,有效抑制复杂背景信息的干扰;最后,其他方法只利用网络最深层的特征捕获目标的多尺度特性,而本文方法基于 FPN 设计多尺度特征融合解码器融合网络所有输出层中目标的特征,可以有效补充目标的细节信息。因此本文方法可以更好地提取和利用目标的特征,模型分割性能更优。

尽管我们的模型分割效果较为优秀,但表4 也表明了我们的模型参数量较大,推理时间也更久,实时性一般,也需要消耗更多的内存。在实际应用中,仍需进行轻量化处理,降低参数量。

4.5 典型场景下可视化结果分析

为了更清楚地看到我们提出的方法与其他网络的优势,我们可视化了不同算法在Cityscapes 场景中的结果。如图7 所示,从第一行到第七行分别是场景图原图、FCN 网络分割结果图、PSPNet 网络分割结果图、UNet 网络分割结果图、DeepLabv3 网络分割结果图、Swin Transformer 网络分割结果图以及本文改进的基于Swin Transformer 的模型分割结果图。

图7 Cityscapes 场景中多种方法分割效果对比图Fig.7 Comparison of segmentation effects of multiple methods in Cityscapes scenes

从(a)组图可以看出,本文方法在电线杆、路灯杆子、警示杆这种柱类图形上有更优秀的分割效果。从(b)组图可以看出,本文方法相比于其他的网络在人行道和车辆轮廓细节上效果更好,可以将较为完整的车道线的部分分割出来。在左下角人物和车辆重叠的部分,也可以将人与车辆的边缘分割清晰。但对于图片右下角处汽车阴影遮挡住了人行道,仍然存在漏检的现象。从(c)组图可以看出,对比关注右下角的花坛处,本文方法可以较为清晰地将地势高出的部分展示出来,在边界处的分割效果更优。从(d)组图可以看出,本文方法可以将花坛护边分割出来,对于边缘的分割也更加平滑、整齐。其他网络并未将道路两侧隐约的路人分割出来,本文方法可以没有遗漏地把道路两侧的行人分割出来。

4.6 消融实验

消融实验如表5 所示,在实验1 中,编码器中没有使用AFM 模块而是直接使用原论文中的Patch Merging 模块进行降采样和调整通道数,解码器中也不使用FCM 模块和ASPP 模块,让编码器得到的四层特征输入图直接传入到特征金字塔模块中。在实验2 中,编码器中使用AFM 模块代替原来的Patch Merging 模块。在实验3 中,在使用AFM 模块的同时,在特征融合的时候加入FCM 模块。在实验4 中,在实验3 的基础上再加上ASPP 模块。

表5 消融实验Table 5 Ablation experiment

在图8 消融实验对比图中可以看出,在图8(a)分割结果图中,使用AFM 模块的实验2 结果图中的人行道分割边界比实验1 更好,加入FCM 模块的实验3,更是进一步优化了整体的分割精度,边缘的分割效果也进一步提高了。实验4 相比实验3,虽然提升的精度不大,但是对分割的鲁棒性有良好的增强效果。在图8(b)分割结果图中,随着实验模块的增加,右下角的人行道边界区域越发清晰,中间的马路的边界区域的清晰程度也是越来越好。在图8(c)实验分割结果图中,相比实验1,实验2 中可以分割出更多的细节物体,例如远处的指示牌。结合表3 中的数据,可以看出相比原来的模块,AFM 模块巧妙地结合了细节特征和语义特征,有助于保留网络中小目标的细节,显著优化对于小目标的分割效果,MIoU 增长了0.7%。实验3 相比实验2 在物体轮廓方面效果更好一些,FCM 模块相比不加此模块MIoU 增长了1.1%,优化了边缘分割效果。实验4 相比实验3,加入了ASPP模块进行捕获不同感受野尺度的信息,获得丰富的上下文信息,可以在图中看出在柱子和其他物品重叠的情况下,柱子的分割的连续性也是较好的,由此可以看出ASPP 模块的作用。

图8 消融实验效果对比图Fig.8 Comparison of ablation experiment effects

5 总 结

本文提出一种多尺度特征融合的道路场景语义分割模型。模型采用编码-解码结构。编码器部分设计了一种全新的特征压缩模块FCM 来优化编码阶段的下采样操作。实验表明该模块可以减少下采样过程中的特征信息损失,保留尽可能多的边缘特征信息。在解码器部分,本文设计出一种注意力融合模块AFM来充分利用不同尺度的特征信息,缩小高低层语义差距,充分联系上下文特征信息,再使用特征金字塔网络自下而上对特征融合的结果进一步叠加融合,这种解码方式有助于优化整体的边缘分割效果和分类精度。在Cityscapes 城市道路场景数据集上进行定量和定性实验,实验结果表明,与多种语义分割算法相比,本文方法在分割精度方面有明显的优势。

猜你喜欢
尺度语义卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
语言与语义
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度
“上”与“下”语义的不对称性及其认知阐释
认知范畴模糊与语义模糊
9
一种基于卷积神经网络的性别识别方法