APP下载

融合注意力机制的端到端的街道场景语义分割

2023-07-15瞿绍军

小型微型计算机系统 2023年7期
关键词:池化条形注意力

吴 琼,瞿绍军,2

1(湖南师范大学 信息科学与工程学院,长沙 410081) 2(湖南师范大学 湖南湘江人工智能学院,长沙 410081)

1 引 言

图像语义分割作为计算机视觉领域的重要研究任务,在众多领域具有非常重要的应用价值.例如医学影像、无人驾驶、虚拟现实、目标追踪、机器人等.图像语义分割是像素级分类任务,其目的是为图像中每一个像素分配所属的类别标签[1-5].

从传统的图像语义分割方法到基于深度学习的图像语义分割方法,语义分割方法发生了历史性的变化.传统的分割算法从视觉层来提取图像的特征信息,例如颜色、纹理、轮廓等低层次特征,常用的方法包括阈值方法[6]、聚类方法[7]、图划分[8]等.这些传统算法计算复杂度低、速度快,但需要大量的人工提取特征,且只能提取低级特征,分割复杂场景时准确率低.基于深度学习的图像语义分割算法不同于传统算法,其通过深层网络的训练过程自动学习图像的特征信息[9,10].获取的特征为图像的深层语义特征,同时减少了人工提取特征的工作量,在语义分割任务上取得了不错的成绩.然而,由于街道场景的复杂性,街道场景下的语义分割仍然是一个具有挑战性的问题.例如同一类别在不同距离和视角情况下,图像会明显不同,使得同类别之间相异差别过大,容易造成分类错误[11];捕获特征时复杂类别容易被背景或其它邻接像素点干扰,所以,复杂类别比简单类别更难分割.例如人行道比马路难分割、火车比公交车难分割.因此,不同类别的像素点需要神经网络给予不同重要程度的关注.近年来,人们不再局限于网络层次的改进,把人类独有的视觉注意力思想融入到深度学习方法之中,有效提升了语义分割的准确率.注意力机制[12-20]可以通过给不同空间区域、不同通道、不同历史时刻的特征图上添加不同的注意力权重来提升网络的分割效果.Wang等人[12]提出的NLNet算法,每个像素点的加权为其他所有位置的特征信息.该算法需要考虑每个像素之间的关系,生成的注意力图的时间和空间复杂度均为O((H(W)( (H(W)),计算复杂度和内存占用率极高.其它采用注意力的改进算法[21-23]接踵而至,通过空间、通道等不同注意力角度获取特征图的注意力权重.这些注意力模块会增加模型的复杂度,而且获取图像信息的能力不足,未能有效挖掘重要特征信息,效果提升具有局限性.

本文旨在高效学习注意力的基础上,提出了一种基于注意力机制的图像语义分割方法.注意力机制包括两个创新性的注意力模块:空间-条形注意力模块(Pooling Attention module,PAM)和通道注意力模块(Channel Attention Module,CAM).其中空间条形注意力模块利用对象在空间局部区域上的相关性,采用一种新的条形池化核计算不同空间区域的局部信息,从而捕获富含不同空间区域特征信息的注意力权重.同时,采用通道注意力模块来提取特定类别的语义信息,辨别重要通道和冗余通道.

本文主要贡献如下:

1)提出一种融合注意力机制的端到端的语义分割网络模型,用来解决街道场景下的语义分割问题.

2)提出了空间-条形注意力模块和通道注意力模块,使用两者协同优化语义分割效果.

实验证明,本文提出的注意力机制能准确处理复杂场景下的城市街道图像,在Cityscapes数据集上取得了优于其它方法的语义分割效果.

2 相关工作

在图像语义分割的像素级任务中,通常采用空洞卷积、空洞金字塔池化、特征融合、注意力机制等方法来获取图像更丰富的特征图.本节将介绍目前提出的相关研究方法.

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

随着基于深度学习的图像语义分割算法不断发展,语义分割在分割精度上有了新的飞跃.Long等人[24]在2015年提出了全卷积网络(Fully Convolutional Networks,FCN),FCN是深度学习处理语义分割任务的开山之作[3],其将全连接层替换为卷积层,使得可以指定输出图片为任意尺寸,实现了端到端的网络训练.FCN使用反卷积和跳跃连接解决了位置信息丢失,但仍存在分割图粗糙问题.Ronneberger等人对FCN进行改进,提出了一种对称的编码器-解码器结构U-Net[25],该结构的独特之处是使用跳跃连接将编码网络的特征图逐层拼接到解码网络的特征图.Badrinarayanan等人提出了SegNet[26],与U-Net相似,采用编码器-解码器结构,其在编码器结构存储最大池化索引,在解码器结构使用对应的索引来上采样,增强了图像位置信息的准确度[3].上述的编-解码器网络在FCN基础上,加入解码器,有效融合底层和深层特征,恢复图像的空间维度和边界信息.但网络结构复杂、参数量多,导致物体边界分割效果不佳.Chen等人[27]创新性的提出DeepLab v1网络,将卷积神经网络中的卷积层替换为空洞卷积,在不增加参数量的情况下扩大了网络的感受野.2017年,Chen等人[28]在DeepLab v1的基础上提出了空洞金字塔池化模块(Atrous Spatial Pyramid Pooling,ASPP),将空洞卷积和金字塔池化相结合,使用多个不同尺寸卷积核的空洞卷积来获取不同尺度的特征,最后使用全连接条件随机场优化边界分割效果,大幅度提高了网络的分类精度[2].Chen等人通过增加批正则化改进了空洞金字塔池化模块,提出了DeepLab v3[29],并以并行或串行方式连接将空洞卷积和改进的空洞金字塔池化模块进行结合.随后,针对空洞卷积造成的边界信息丢失等问题,chen等人提出了DeepLab v3+[30],其在DeepLab v3的基础上引入解码网络来恢复丢失的边界信息,提高了物体边界分割的准确度.DeepLab系列网络结构扩大了网络的感受野,但计算成本较高,以及丢失像素位置信息,导致特征图的局部一致性受到影响[3].

2.2 基于注意力机制的语义分割

近年来,注意力机制被广泛应用于计算机视觉等领域.注意力机制是根据使用者需要关注的信息方向,学习特征间的相关性,并将其作为权重来捕获全局信息.注意力机制是一种没有严格数学定义的、根据具体任务目标来加权模型的方法.Wang等人受非局部均值算法的启发,提出NLNet算法[12],算法通过计算所有位置特征的加权和作为一个特征位置的响应,以此来捕获长距离依赖,获得全局信息,但计算复杂度高.Hu等人[13]最早研究通道注意力,提出了压缩激励网络(Squeeze-and-Excitation Networks,SENet),通过使用压缩和激励网络来建模通道间关系并加权到通道特征图上,增强了网络的表征能力.CBAM网络[14]结合了空间和通道注意力机制,相比只使用通道注意力机制的SENet[13],取得了更好的效果.GCNet[15]算法通过简化NLNet[12]来减小计算量,并且改进SENet[13],融合改进的NLNet和SENet两个结构,使得网络进一步改善.Fu等人[16]提出双注意力网络(Dual Attention Network,DANet),利用自注意力机制挖掘图像的局部特征,捕获上下文依赖关系.Huang等人[17]提出了一种交叉注意力模块(Criss-Cross Attention Networks,CCNet),通过对每个像素的水平和垂直交叉路径上的特征进行加权求和,以此建模像素间的远距离依赖关系.从水平和垂直方向上捕获图像的全局上下文信息,相比NLNet[12]算法,CCNet[17]减少了巨大GPU内存使用量.SANet[18]分别通过逐像素预测和像素分组两个独立维度,考虑了空间和通道的相互依赖性,提升了网络的分割效果.CABiNet[19]设计了一个轻量级的双分支网络,使用空间分支和基于注意力的上下文分支,获取丰富的空间信息,并提供足够大的感受野来捕获全局和局部上下文信息.SPNet[20]引入了一种新的池化策略,采用条形池化核来进行池化操作,增大网络的感受野,从而获得全局信息.为改进目前施加注意力方式,本文提出一个端到端的融合注意力机制的全卷积网络来训练图像语义分割算法.使用提出的空间-条形注意力机制和通道注意力机制,分别计算特征图的空间信息和通道信息,协同提升语义分割效果.

3 本文方法

本文提出的语义分割整体网络结构图如图1所示,处理过程分为特征提取和特征融合两个阶段.特征融合是提高分割性能的一个重要手段,许多网络采用特征融合方法融合高低层特征.本文采用特征融合方式整合不同注意力模块信息.首先,将原始图像输入到一个带监督训练的全卷积网络,得到粗糙的语义特征图.然后,将得到的图像特征分别送入本文提出的两个并行注意力模块中,最后采用简单而有效的拼接方式,将两个注意力模块得到的特征图和输入的粗分割特征图进行融合,合并成一个比输入特征图更具有判别能力的特征图.

图1 网络整体结构图Fig.1 Overall network structure diagram

图1中,实线框内为特征编码阶段,对图像进行特征编码和粗糙语义特征提取.虚线框内为特征融合阶段,对特征图进行强化学习.

3.1 全卷积网络结构

本文第1阶段如图1实线框内所示,目的是对原始图像进行特征编码,提取初级粗糙的语义特征图.采用DGCNet[31]使用的ResNet50深度网络获取输入图片的语义特征图.ResNet50分为50层,前49层提取图片初始特征,最后一层是用于分类的全连接层.ResNet50的输入图片大小为832×832,bathsize为2.如图2所示,图片输入stage前依次使用卷积层、BN层、激活层和池化层,减小输入RGB原始图像的尺寸.conv模块中卷积层使用3个3×3的卷积层代替原模型中7×7的卷积层,减少了参数量.池化层使用MaxPooling函数,避免AvgPooling函数带来的模糊化.

图2 主干网络结构图Fig.2 Backbone network structure diagram

ResNet50网络共有4个stage,每个stage由bottleneck结构组成.如图3所示,bottleneck结构包含卷积层、BN层和ReLU激活层.ResNet50的bottleneck结构不同于ResNet18/34的building block结构.首先,通过1×1大小的卷积核对输入的特征图降维.然后,使用3×3大小的卷积核提取特征后再使用1×1大小的卷积核还原特征图输入时的通道数.相比ResNet18/34使用2个3×3大小的卷积核,减少了大量的参数量和计算量,提升模型的计算速度.当网络低层参数发生微弱变化时,这些变化会随着网络层数的增加而放大,意味着深层网络要不断更新参数以适应低层网络参数的变化.Bottleneck结构使用跳跃连接,并在卷积层后面加上BN批归一化处理和ReLU激活操作,使得每一层的输入数据分布一致,避免梯度爆炸和梯度消失等问题的出现.

图3 building block和bottleneck结构图Fig.3 Building block and bottleneck structure diagram

3.2 空间-条形注意力模块

空间注意力是针对图像中不同局部区域分配对整幅图像不同的贡献度,即注意力权重.通常情况下,对图像感兴趣的区域只是图像中的小部分,且每幅图像需重点关注的区域都不一样.如何高效获取不同图像不同区域有效的注意力权重,已成为所面临的重要瓶颈之一.大多空间注意力的研究工作[12-18,20],通过计算像素与其它像素之间的相关性来得到注意力权重,增加了额外的计算量,降低了网络计算效率.因此,本文采用池化操作计算特征图局部区域的权值.池化操作不对特征图进行额外的学习,在提取信息方面有着增大感受野、降低网络参数以及平移不变性的优点.

常见的池化操作采用不同尺寸大小的N×N正方形池化核提取特征信息.受人类视觉注意力特点的启发,提出的空间-条形注意力模块(Spatial-Bar Attention module,SBAM),采用1×N和N×1的条形池化核提取特征.

如图4所示,展示了街道场景中条形池化核和方形池化核所获得的视觉信息的分割效果.分别采用这两种不同形状池化核,视觉信息具有非常大的差别.空间-条形池化可以有效捕获局部区域的长距离依赖关系,对街道场景独有的交通信号灯、交通标志等物体的识别和提取的准确率有极大的影响.如图4(c)所示,采用方形池化核时“杆(pole)”、“自行车(bicycle)”类别容易被背景信息或邻接信息干扰,使得分割效果不好.图4(d)采用条形池化核可以捕获离散分布区域之间的长距离依赖关系,有利于捕捉到局部上下文.同时还可以避免传统N×N池化核带来的无关信息的引入和增加过多的额外参数.本文提出的方法针对街道场景特有的环境,能更有效获取交通信号灯、人、交通工具(“火车(train)”、“公交车(bus)”)等重要类别信息,使得街道场景的分割准确率有较好的提升.

图4 方形池化和条形池化对比图Fig.4 Square pooling versus bar pooling

本文提出的空间-条形注意力模型结构图如图5所示,空间-条形注意力模块对输入特征图分别推导出横向注意力和纵向注意力.首先,将由主干网络得到H×W×C的特征图X输入到带有1×1卷积核的卷积层进行降维,通道数减少到原输入特征图X的1/4.然后,使用AdaptiveAvgPool2d()和AdaptiveMaxPool2d()函数来聚合特征图中所有行的全局信息,生成两个不同的特征图{Fc,avg和Fc,max}(105×1×128)、{Fl,avg和Fl,max}(105×1×128),avg和max分别表示自适应平均池化和自适应最大池化的特征图.其中,特征图F(X)∈R(105×1×128)中的每个像素代表一整行中最具有代表性的特征.再将两个105×1×128特征图进行逐像素点求和,输入到1维卷积层进行特征提取,并将得到的注意力特征图上采样还原到原来特征图的大小.

图5 空间-条形注意力结构图Fig.5 Spatial-Bar attention structure diagram

最后,将横向注意力和纵向注意力得到的特征图拼接,通过卷积操作将特征图通道扩大到输入特征图通道数.采用跳跃连接方式,融合输入特征图X和空间-条形池化注意力特征图,输出结果为条形池化加权后的特征图.

本文采用AdaptiveAvgPool2d()和AdaptiveMaxPool2d()来实现提出的空间-条形注意力.AdaptivePooling相比标准的MaxPooling和AvgPooling区别在于AdaptivePooling可以根据指定尺寸输出特征值大小.平均池化是针对池化区域作出整体评估,具有宏观性,能更好保留背景特征.最大池化强调突出特征,更加关注图片的纹理信息.本文采用AdaptiveAvgPool2d()和AdaptiveMaxPool2d()相结合,以捕获图像精细特征.

空间-条形注意力机制的过程可以概述为:

F(X)=σ(concat(up(FC(X)+up(F1(X)))))

(1)

其中F(X)表示横向注意力特征图Fc(X)和纵向注意力特征图Fl(X)合并后的精细特征,符号“+”表示逐像素求和,符号“σ”表示relu激活函数,“up”表示上采样,“concat”表示通道拼接.

ReLU激活函数公式为:

(2)

空间-条形注意力由横向注意力和纵向注意力组成,横向注意力公式可以写成:

利用EXCEL 2016对数据进行整理和分析,并做出相应的曲线图。然后用SPSS 16.0进行逐步回归分析,并对回归模型和回归系数进行显著性检验,从而建立酶制剂组成中每克饲料各NSP酶添加量X(mg/g)与酶解液还原糖含量Y(mg/g)间的回归方程。使用Design Expert 8.0对响应面的实验结果进行回归分析,得到NSP酶谱的最佳组合。

(3)

其中,下标“c”表示横向注意力,“i”表示特征图中的行,“j”表示特征图中的列,∑0≤j

(4)

其中,下标“l”表示纵向注意力,“i”表示特征图中的行,“j”表示特征图中的列,∑0≤j

本文提出的空间-条形注意力机制,特征图X经过条形池化、卷积、上采样、Relu激活处理,得到与特征图X尺寸相对应的权重矩阵,然后与输入特征图X相加.该模块以一种简单的方式加权特征图,使其能关注更加重要的特征信息,在目标对象与背景之间得到权衡.

3.3 通道注意力模块

不同通道特征对应不同类别的语义属性,给不同通道添加不同的权重,表示该通道与相关语义信息的关联程度.对于街道场景图像,有些特征通道属于重要的语义信息,而有些通道属于冗余信息.因此,语义特征图的通道特征对语义分割的准确率有很大影响.SENet[13]是最早提出的通道注意力模块,采用的是一种降维的通道间学习策略.本文基于SENet,提出一种改进的降维通道注意力模块(Channel Attention Module,CAM),通过自适应池化、卷积、激活等操作提取相应通道的权重系数,再通过简单的加权,得到有效语义信息.

如图6所示,本文提出的通道注意力由池化层、卷积层、激活层组成.池化层采用最大池化操作对特征图降维,以减少计算参数量、降低计算复杂度,保留语义特征图的显著信息.卷积层用来对降维后的特征图再次提取特征信息.激活函数将特征图的值限制在0~1范围内,使得网络表达能力更加强大.

图6 通道注意力结构图Fig.6 Channel attention structure diagram

通道注意力模块的过程概括如下.首先,对输入特征图X(H×W×C)进行AdaptiveMaxPooling()自适应最大池化操作,生成一个1×1×512的通道注意力图.接着,将它们进行1×1的卷积操作,将得到的特征信息进行调和,再经过一个Sigmoid激活函数得到最后的通道权重系数.最后,将权重系数与原来的特征 X 相乘,得到即为通道加权后的新特征.通道注意力CAM公式为:

CAM=σ(conv2d(AdaptiveMaxPooling(F(X))))

(5)

(6)

4 实验结果与分析

本节首先介绍实验使用的数据集、评估指标和网络参数设置,然后与经典分割算法、现有的基于注意力的语义分割算法进行对比,最后对网络模型内不同模块的有效性进行消融实验分析.

4.1 数据集

本文实验使用大规模城市街道场景语义分割数据集Cityscapes,主要用于自动驾驶领域,共有50个城市街道场景.Cityscapes数据集包含5000幅精确标注和20000幅粗略标注的街道场景图像.数据集总共包括34个街景类别,实际用于实验检测评估的有19个类别.在实验评估中仅使用精确标注的5000幅图像,其中2975幅图像用于训练,500幅图像用于验证,1525幅图像用于测试.每幅图像分辨率为1024×2048.

4.2 评估指标

本文实验采用平均交并比(Mean Intersection over union,mIoU)作为算法的评估指标,mIoU是图像语义分割的标准度量.单个类别的交并比(Intersection over union,IoU)是该类的真实标签和预测值的交集与并集之比,mIoU指所有类别IoU的平均值.

(7)

其中i表示真实值,j表示预测值,pij表示将i预测为j.

4.3 网络参数设置

表1 软硬件环境配置实验数据表Table 1 Software and hardware environment configuration experimental data sheet

4.4 实验对比

为了验证本文算法的有效性,实验将本文算法与PSPNet、OCNet、DANet、DGCNet、CABiNet在Cityscapes数据集上进行分割精度的对比.采用平均交并比(mIoU%)作为实验评价指标.在测试集上的对比结果如表2所示,本文算法以ResNet-50作为编码器网络在测试集和验证集上分别达到了76.89%、77.8%的准确率,比其它方法均高出1%~16%.CABiNet注重网络运行速度,其参数量和计算量较小,但mIoU不如ATTNet1.在计算量和参数量方面,ATTNet1和DGCNet的参数量相差不大,但是在mIoU上,ATTNet1比DGCNet高出2%.本文算法与现有的分割算法相比有较好的表现.

表2 与其它先进网络的对比实验Table 2 Comparative experiments with other advanced networks

其中,“ATTNet1”表示本文模型在Cityscapes测试集上的实验结果;“ATTNet”表示本文模型在Cityscapes验证集上的实验结果.

为了更详细地对比本文方法与其他方法,下面比较了几种方法在19个语义类别上的像素精度,如表3所示,本文方法在7个类别上超过了DGCNet方法和CABiNet方法,其它类别结果相当.实验证明,本文网络进一步提升了条形物体类别的分割准确率,例如“马路(road)”、“火车(train)”、“公交车(bus)”等分别达到了98.43%、71.7%、78.61%.而对于其它的类别,本文算法也得到了较好的分割精度,例如“人行道(sidewalk)”、“建筑物(building)”、“植物(vegetation)”等分别达到了84.97%、92.65%、93.26%.主要归因于以下两点:空间-条形注意力模块有效挖掘到街道场景空间中离散分布区域的长距离依赖关系,更加精细的权衡重要特征信息和非重要特征信息之间的注意力权重;通道注意力模块有效利用各通道间关系获取重要通道信息;以此得到更精细的分割结果.因此,本文算法在多数类别上取得了较好的效果.

表3 几种方法在各个类别的准确率结果Table 3 Accuracy results of several methods in each category

如图7所示,展示了本文算法与ResNet50基础网络、DGCNet网络分割效果对比,对应的实验数据如表2、表3所示.从图7中可以看出本文算法在分割效果方面优于ResNet50基础网络、DGCNet网络.

图7 DGCNet、ResNet50、本文方法预测结果可视化Fig.7 Visualization of prediction results of the DGCNet,ResNet50,proposed method

4.5 消融实验分析

本节讨论提出的空间-条形注意力模块(SBAM)和通道注意力模块(CAM)在网络模型中的有效性.首先,使用CBAM、SENet中提出的通道注意力替换本文提出的通道注意力模块CAM,进行实验对比分析,分别记为CAM-ATTNet、CAM-CBAM、CAM-SENet,实验结果如表4所示.其次,替换网络模型中的两个注意力模块SBAM和CAM来验证其对最终分割性能的影响.实验结果如表5,其中对ResNet50基础网络、CAM、SBAM、SBAM+CAM模型进行评估,分别记为ResNet50、ResNet50-CAM、ResNet50-SBAM、ResNet50-SBAM-CAM,结果表6所示.

表4 通道注意力模块和其它网络模块的对比Table 4 Comparison between channel attention module and other network modules

表5 两个注意力模块对本文网络模型的有效性实验结果Table 5 Experimental results of effectiveness of two attention modules on network model

表6 消融实验在各个类别的准确率Table 6 Accuracy of ablation experiments in various categories

为了证明本文改进的通道注意力模块比CBAM、SENet模块中的通道注意力模块效果更好,更具鲁棒性.本文通过将CAM模块进行消融实验来对比分析.表4实验结果表明,在本文网络模型中使用CAM-SENet,参数量为212.83MB,准确率达到了76.73%;在网络模型中使用CAM-CBAM,参数量为212.82MB,准确率达到了76.47%;最后,在网络模型中使用本文改进的通道注意力模块CAM-ATTNet,参数量为220.15MB,使得准确率达到了76.89%,相比CAM-CBAM、CAM-SENet,参数量相差不大,但准确率分别提升了0.42%、0.16%,进一步说几个本文提出的CAM,使得网络模型的准确率更高.

从表5实验结果表明,在ResNet50中加入CAM模型之后,相比于原始的ResNet50模型,参数量增加了15.15MB,mIoU提升1.48%,准确率达到了74.56%.在ResNet50中加入SBAM模型之后,网络模型的参数量增加了6.14MB,准确率达到76.48%,相比ResNet50模型提升了3.4%,相比ResNet50-CAM模型提升了1.92%.最后同时在ResNet50模型中加入CAM模型和SBAM模型,网络模型的参数量增加了30.6MB,准确率达到了76.89%,相比Baseline提升3.81%.在各个类别测试中,wall、truck、bus、train、trafficsign等类别得到明显的提升.进一步的说明本文提出的空间-条形注意力和通道注意力机制提升了最终的语义分割准确率.

5 结 语

本文提出一种融合注意力机制的端到端的街道场景语义分割方法.在采用全卷积网络解决街道场景语义分割问题的基础上,利用注意力机制提取图片中重要的特征信息,对粗分割结果进行细化.相比之前基于注意力机制的研究方法,该算法的创新:提出了空间-条形注意力机制和通道注意力机制.空间-条形注意力机制通过获取离散分布区域之间的长距离依赖关系,挖掘局部上下文信息和全局信息.通道注意力机制则通过辨别重要通道赋予重要通道和冗余通道不同权重.最后,利用两种注意力机制的互补特征信息,将它们集成到一个带有跳跃连接的双分支的特征融合网络中,有效地获取全局上下文信息,增强了街道场景语义信息的有效性.文章在公开的数据集Cityscapes上进行测试,实验结果证明提出的算法在分割准确率上有明显的提升.

猜你喜欢

池化条形注意力
基于Sobel算子的池化算法设计
让注意力“飞”回来
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
各式各样的复式条形统计图
条形铁皮自动折边机构设计
基于卷积神经网络和池化算法的表情识别研究
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
某沿海电厂全封闭条形煤场和圆形煤场的技术和经济性比较