基于密集连接与特征增强的语义分割算法

2023-03-16 10:21马素刚陈期梅侯志强杨小宝张子贤
计算机工程 2023年3期
关键词:空洞尺度语义

马素刚,陈期梅,侯志强,杨小宝,3,张子贤

(1.西安邮电大学 计算机学院,西安 710121;2.西安邮电大学 陕西省网络数据分析与智能处理重点实验室,西安 710121;3.西安邮电大学 西安市大数据与智能计算重点实验室,西安 710121)

0 概述

在计算机视觉领域,基于语义分割对场景理解的研究起着关键性作用,是当前计算机视觉领域的重要研究方向和热点。语义分割是像素级别的分类,主要任务是为图像中每个像素分配其所属类别的标签并进行密集预测[1]。语义分割在许多实际应用中的需求快速增长,如交通标志识别[2]、场景识别[3]、点云分割[4]及医学影像分析[5]等。

随着计算机硬件技术的迅速发展和大量分割数据集的出现,基于深度学习的分割算法取得了令人瞩目的进展和效果。SHELHAMER 等[6]提出的全卷积网络(Fully Convolution Network,FCN)利用卷积层替换分类网络(VGGNet、AlexNet 等)中的全连接层,实现像素点到像素点的预测,同时使用跳跃结构结合不同深度的特征信息,从而实现精度的提升。BADRINARAYANAN 等[7]提出的SegNet 仅存储池化的最大权值索引,在解码阶段使用存储的索引进行上采样,该方法实现了精度与速度之间的权衡。RONNEBERGER 等[8]提出的U-Net 分割模型包括收缩路径和扩展路径。收缩路径通过下采样获得上下文信息,扩展路径获取精准的位置信息,使用跳跃结构拼接两条路径中对应大小的特征,定位边界信息。上述方法所设计的网路结构均采用连续的下采样和池化操作,降低了图像分辨率,且固定大小的感受野限制了对上下文信息的捕获,从而导致对目标边缘分割的不连续性。

DeepLabv1[9]引入空洞卷积替换网络后几层的降采样操作,保证了特征图的分辨率。LIU 等[10]在感受野模块中引入空洞卷积,增大了感受野,增强了网络的特征提取能力。受空间金字塔池化(Spatial Pyramid Pooling,SPP)[11]的启发,DeepLabv2[12]将空洞卷积与金字塔相结合,提出空洞空间金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模块,使用不同采样比例的空洞卷积,增强模型识别同一物体不同尺度的能力。DeepLabv3[13]设计级联或并行的空洞卷积模块,捕获更大的感受野并获取多尺度信息,同时将池化加入到ASPP 中获取全局信息。ZHAO等[14]设计的金字塔池化模块(Pyramid Pooling Module,PPM)通过聚合不同区域的上下文信息获取全局上下文信息。DeepLab 系列方法及其变体方法在一定程度上解决了多尺度问题。

为进一步改善目标边缘分割的连续性问题,研究人员提出了许多特征增 强方法。HOU 等[15]提出的协调注意力(Coordinate Attention,CA)模块考虑空间和通道两个维度的信息,强调有用的特征而抑制无用的特征,以增强特征的表达能力。Non-Local[16]通过计算任意位置之间的权重捕捉远距离的依赖关系。注意力的特征增强方法主要是通过增加重要通道的权重,相对强调语义信息,而没有考虑低层的细粒度信息和语义信息之间的关系。TAKIKAWA 等[17]提出的双流语义结构将低层细粒度信息作为一个独立的处理分支,通过融合语义特征与边界特征获得精确的分割结果。LIU 等[18]设计一个自下而上的增强路径,将低层的位置信息流传播到高层特征中,产生含有丰富语境信息的特征图。DeepLabv3+[19]设计一个简单的解码器模块,通过融合深层信息和浅层信息提升分割效果。综上所述,DeepLab 系列方法解决了多尺度问题,但该类方法仅能利用像素点周围稀疏的信息,高层语义信息之间缺乏相关性,导致分割错误。多路径增强方法通常仅使用低层的高分辨特征图,而忽略了主干网络中其他层的特征信息,造成部分可用信息的损失,不能较好地解决分割结果不连续和边界粗糙等问题。

针对上述算法存在的不足,本文结合DeepLabv3+算法,提出一种基于密集连接和特征增强的语义分割算法。该算法将空洞空间金字塔池化结构中并行分支的输出以密集的方式连接,增强信息流之间的交互,同时利用骨干网络产生的多阶段特征增强特征的表征能力。

1 本文算法

本文提出一种基于密集连接和特征增强的语义分割算法,该算法充分利用主干网络中各阶段的特征信息,明显改善分割边界不连续及目标丢失等问题,提高语义分割精度。

1.1 算法结构

DeepLabv3+[19]是经典的编解码结构。在编码阶段,原始图像经过骨干网络进行特征信息的提取,将第4 层的特征输入到空洞空间金字塔池化模块中编码上下文信息,其由1×1 卷积、池化和空洞率为6、12、18 的空洞卷积组成。然后融合多尺度特征信息,使用1×1 卷积降低通道数。在解码阶段,首先对编码阶段的特征进行4 倍的上采样,与骨干网络第1 层特征经过1×1 卷积后得到特征拼接,拼接后的特征经过3×3 卷积细化特征,然后上采样恢复到原始图像的大小,输出最终的分割结果。

本文基于DeepLabv3+算法的改进结构如图1 所示(在图1 中,圆圈中的C 表示拼接)。编码器负责提取特征,将骨干网络第4 个Block 层输出的特征x4输入到共享空洞空间金字塔池化模块中,提取图像的多尺度局部密集信息,该结构由多个不同空洞率密集连接的空洞卷积和平均池化组成,空洞率分别为1、6、12 和18,融合提取到的多尺度信息使用1×1 卷积降低融合后特征的通道数,然后对其进行4 倍上采样。

图1 本文改进算法结构Fig.1 Structure of the improved algorithm in this paper

其中:conv 表示1×1 卷积、激活函数和归一化操作;up 表示4 倍的上采样;SS-ASPP表示共享空洞空间金字塔池化。

在解码阶段,重利用ResNet 中4 个Block 层的输出结果x1、x2、x3、x4,使用通道降低模块将每层特征的通道数减少到128,得到一个精简的特征金字塔Fr。

其中:CCR表示通道降低。利用特征金字塔增强模块(Feature Pyramid Enhancement Module,FPEM)对Fr级联多次达到特征增强的作用。

其中:output0表示对Fr级联一次后的结果;outputn表示对Fr级联多次(1 ≤n<4)的结果。通过逐元素相加的方式融合级联后的多个结果,对融合后的特征金字塔进行1×1 卷积,将通道数从512 减少到48,取得较好的分割结果。

其中:F表示融合操作;conv 表示1×1 卷积、激活函数和归一化操作。最后融合编码器所得特征,经过卷积和上采样细化分割结果。

1.2 共享空洞空间金字塔池化

共享空洞空间金字塔池化(Shared-Atrous Spatial Pyramid Pooling,S-ASPP)模块由级联多个不同空洞率的空洞卷积和池化组成。小空洞率捕捉近距离信息,大空洞率捕捉远距离信息。由于小物体具有的像素信息较少,在卷积过程中极易丢失或被误分类。为更好地分割小物体,本文将前一层空洞卷积的输出作为下一层输入的一部分,使小物体能在不同大小的空洞卷积中被检测到,增强局部信息流之间的传递。对于大空洞率的空洞卷积,通过连接前一层的输出可以捕获更多信息,如空洞率R=18,将空洞率R=12 的输入及输出均作为其输入,可以利用更多的采样像素来捕获特征信息,提高信息利用率。为防止网络过宽和信息冗余,在最后一个空洞卷积之前使用1×1 卷积降低维度。

密集连接增强了像素之间的相关性,上下文之间形成依赖关系。以一维空洞卷积为例,其运算如式(7)所示:

其中:x[i]为一维输入;r表示空洞率;w[k]表示卷积核的第k个参数(k为卷积核的长度);f[i]为一维空洞卷积的输出。

对于空洞率为R和卷积核大小为K的空洞卷积,感受野大小的计算如式(8)所示:

当空洞率R=12、卷积核K=3 时,一维空洞卷积的感受野为25。如图2(a)所示,每次只有3 个像素参与卷积运算,然而在二维卷积运算下效果更差,当空洞率越大时,卷积核的有效参数就越少。密集连接的S-ASPP模块随着空洞率的逐层增大,依次将前一层的输出作为下一层输入的一部分,通过采样密集的像素,提高像素的利用率。如图2(b)所示,在空洞率R=18 的空洞卷积上密集连接空洞率R=12 的输入及输出,空洞率R=12 的空洞卷积中有7 个像素参与运算,采样点密度高于直接进行空洞卷积的采样点密度。对于二维卷积而言,密集连接的空洞卷积的采样像素远多于一维卷积的采样像素,增加了参与运算的参数,使该空洞卷积能利用更多的信息。

图2 空洞卷积采样点Fig.2 Atrous convolution sampling point

密集连接的空洞卷积不仅能利用更多的像素信息,而且可以获得更大的感受野,如式(9)所示:

其中:RRFi+1和RRFi分别表示当前层的感受野和前一层的感受野;K'表示卷积核;Stri表示之前所有卷积层的步长乘积。

Stri计算公式如式(10)所示:

如将空洞率R=12 的空洞卷积密集连接到空洞率R=18 的空洞卷积上,感受野由原来的37 增加到61,参与运算的有效元素也随之增加。利用S-ASPP模块能在较大的感受野中获得更密集的采样点像素,更加准确地判断每一像素所属类别,有效降低信息损失。

1.3 特征金字塔增强融合模块

特征金字塔增强融合模块(Feature Pyramid Enhancement Fusion Module,FPEFM)包括特征金字塔增强模块(FPEM)[20]和特征融合模块(Feature Fusion Module,FFM)。FPEM 由上尺度增强和下尺度增强两部分组成。

上尺度增强作用于精简的特征金字塔Fr,首先将输入特征中第4 层的特征进行2 倍上采样后与第3 层特征的元素对应相加,将相加后的特征经过3×3 深度可分离卷积加深网络深度,同时利用归一化处理和激活函数增强网络的非线性表达能力,得到融合后的特征,以此类推,直到精简特征金字塔的第1 层特征。下尺度增强的输入是上尺度增强后的结果,将上尺度增强中输出的第3 层特征进行2 倍上采样操作与第4 层特征的元素对应相加,将相加后的特征经过3×3、步长为2 的深度可分离卷积加深网络深度,同时利用归一化和激活函数增强网络的非线性表达能力得到融合后的特征,以此类推,直到上尺度增强输出中的第1 层特征,最终输出增强后的整体特征图。

就分割而言,深层信息便于提取像素的类别,浅层信息有利于提取边缘和纹理信息,每一种信息都有不可替代的作用。FFM 用于融合不同深度和尺度的特征,连接和上采样是常用的融合方法,然而上述方法导致融合后的特征通道数变多,影响算法的运算速度。为此,使用一种新的融合方法,以逐像素相加的方式融合同尺度特征,然后将相加后特征中低分辨率上采样到高分辨率,拼接为512 个通道的特征图,再利用1×1 卷积将通道数减少到48,得到更好的分割结果。

2 实验

在实验过程中,本文算法使用Python 3.6 进行数据处理,操作系统为Ubuntu 18.04,GPU 为NVIDIA TITANV,CUDA 10.2 加速运算,CPU 为Intel®Xeon®Gold 6136。

2.1 实验参数

本文算法在PASCAL VOC 2012 增强数据集和Cityscapes 数据集上进行验证。使用Poly 学习策略,优化器为随机梯度下降(SGD),权重衰减为0.000 6。PASCAL VOC 2012 数据集的学习率为0.002,批量处理大小为8,训练46 个epochs,将输入图像随机剪裁到512×512 像素。为验证本文算法的鲁棒性,在Cityscapes 数据集上进行验证,其中,学习率为0.000 1,批量处理大小为2,最大迭代次数为60 000次,将输入图像随机剪裁到769×769 像素。在训练过程中使用数据增强避免过拟合现象的产生,包括随机翻转(p=0.5),在[0.5,2.0]的比例范围内做随机缩放。为进一步提高算法性能,在验证过程中使用多尺度输入,计算多尺度的平均结果作为最终结果。实验结果表明了多尺度测试的效果优于单尺度测试。

2.2 数据集及评价指标

PASCAL VOC 2012 是语义分割的基准数据集,该数据集包含20 个前景类和1 个背景类。本文采用PASCAL VOC 2012的扩充数据集,将原始数据集和SBD数据集融合扩充训练集图片到10 582 张。扩充后的数据集有更多的数据量,使模型表现出更强的泛化能力。

Cityscapes 是包括多个城市的街道场景数据集。该数据集包含5 000 张精细标注图像和20 000 张粗标注图像,但在本文中仅使用精细标注图像,其中,2 975 张图像用于训练,500 张图像用于验证,1 525 张图像用于测试。

本文采用平均交并比(mean Intersection over Union,mIoU)和每秒检测帧数(Frames Per Second,FPS)作为评估指标。mIoU 是计算真实值和预测值两个集合的交并集之比,衡量语义分割结果的质量。计算公式如式(11)所示:

其中:N为像素类别数量;pij表示实际类别为i类预测为j类的像素总数;pii表示实际类别为i类预测类别也为i类的像素总数。

FPS 评估算法的检测速度,其计算公式如式(12)所示:

其中:N为图片的数量;Tj为处理第j张图片的时间。

2.3 实验结果分析

2.3.1 PASCAL VOC 2012 数据集实验结果

图3 所示为本文算法与基础算法在PASCAL VOC 2012 数据集上的对比。

图3 PASCAL VOC 2012 验证集的可视化结果Fig.3 Visual results of PASCAL VOC 2012 validation set

从第1 行的分割结果可看出,DeepLabv3+算法对船的整体轮廓分割的较粗糙,而本文算法的分割结果更加清晰和精细,边缘更加平滑。在第2 行的可视化结果中,DeepLabv3+算法将左边第1 个人的腿部像素误分割为第2 个人腿部像素的一部分,且轮廓不精细,同时缺失对马头部信息的预测,本文算分的分割算法能较好地将腿部像素区分开,并成功预测出原算法中未识别出的像素信息。在第3 行中,原算法对沙发和人的轮廓分割的较为模糊且粗糙,而本文算法能较好地分割出沙发和人之间的边缘,且沙发的边缘较为精细和平滑。从第4 行的可视化结果中看出,原算法网络结构无法预测桌子的整体轮廓,且预测出的一部分边缘模糊和不连续,而本文算法成功地预测出桌子的整体轮廓信息并清楚地呈现出左边桌架。综上所述,本文提出的分割算法能使分割结果更加精细,相对于原算法,本文算法对边缘的分割更加清晰和平滑。

为进一步验证本文算法的分割优势及有效性,基于PASCAL VOC 2012 数据集将本文算法与其他分割算法相比较,结果如表1 所示。本文算法的mIoU比DUpsampling[21]、DANet[22]、PANet[23]和HyperSeg[24]分别提高1.46、0.19、0.36 和0.53 个百分点。从表1可看出本文算法取得了较好的结果。

表1 不同算法在PASCL VOC 2012 数据集上的对比结果Table 1 Comparison results of different algorithms on PASCL VOC 2012 dataset

2.3.2 Cityscapes 数据集实验结果

图4 所示为本文算法与基准算法在Cityscapes数据集上的对比。例如,从第1 行的每张图像中对路边栏杆、路灯杆等小目标像素的预测结果可以发现,本文算法的分割结果更加连续与平滑。在第3 行的分割结果中,原算法对车轮廓的分割结果非常粗糙,但本文算法较好地呈现了车的轮廓信息,边缘更加平滑,带来了更好的可视化结果。在最后一行中,原算法将不同的道路像素信息分割为同一种像素信息,出现误分割的现象,同时对行人的分割较为粗糙,而本文算法能够较好地区分道路像素,对行人的分割更加精细,带来了更好的可视化结果。此外,对于其他类别,如交通标志、墙壁、建筑物以及植物等像素,本文算法利用FPEFM 对多阶段信息进行重利用,提高了对物体边缘的分割效果。

图4 Cityscapes 验证集的可视化结果Fig.4 Visual results of Cityscapes validation set

为进一步验证本文算法的有效性,将本文算法与近年来的分割算法进行比较,对比结果如表2 所示,可以看出本文算法取得了较好的结果。

表2 不同算法在Cityscapes 数据集上的对比结果Table 2 Comparison results of different algorithms on Cityscapes dataset %

2.4 消融实验

2.4.1 各模块的性能比较

为进一步验证本文所提出的S-ASPP 模块和引入的FPEFM 模块对性能的影响,本文在PASCAL VOC 2012 增强数据集上逐层做消融实验,以mIoU为对比指标,实验结果如表3 所示。

表3 各模块性能比较Table 3 Performance comparison of each modules %

本文以DeepLabv3+为基准,所有消融实验的结果均来自PASCAL VOC 2012 增强训练集,并在验证集上进行评估。由对比实验1 和实验2 可知,将本文设计的S-ASPP 模块取代原算法中的ASPP 模块,获得79.75%的分割精度,该模块主要提高各分支之间的语义交互,充分利用深层信息,获取丰富的语义信息。由实验1 和实验3 可知,将引入的FPEFM 作为本文算法的解码器,mIoU 相对原算法提升1.65 个百分点,该模块增强骨干网络中不同尺度特征的表达能力,并促进不同深度特征信息的融合。对比实验1 和实验4 可知:将S-ASPP和FPEFM 模块同时加入原算法中,最终精度达到了81.13%,相比于基础算法提升2.28 个百分点。

图5 所示为加入各模块后的分割图像,更加直观地表示了每个模块的有效性。其中,第1 列为原始图像,第2 列为原算法的分割图像,第3 列是S-ASPP 替换原算法中ASPP 结构的分割结果,第4 列是引入FPEFM 作为解码器的分割结果,第5 列是同时加入S-ASPP 和FPEFM 的最终分割图像。由可视化结果可看出:同时加入S-ASPP 和FPEFM 模块后,能更好识别出物体边缘的像素点,改善物体边缘的分割效果。

图5 加入各模块后的可视化结果Fig.5 Visual results after adding each modules

2.4.2 FPEM 模块的数量

表4 所示为在原算法中加入不同数量的FPEM对PASCAL VOC 2012 验证集性能的影响。由表4的结果可以看出:将FPEM 的数量N从2 增加到4时,性能得到不同程度的提升,但FPEM 数量从4 增加到5 时,性能呈现下降趋势,这表明适合的FPEM数量有利用增强特征的表征能力,但超过一定数量时,可能会捕获到大量的干扰信息,影响最终的分割效果。同时,随着数量的不断增加,相应地也增加了参数量,进而影响运行速度。为了取得更好的性能,在后续的实验中将FPEM 数量设置为4。

表4 不同数量的FPEM 的结果Table 4 Results with different numbers of FPEM

2.4.3 通道数对FFM 的影响

FFM 融合FPEM 中不同深度的特征,FFM 输出的通道数为528。该模块的输出通道数对性能的影响如表5 所示,当输出通道数为48 时,可以得到更好的分割结果。因此,采用[1×1,48]进行通道缩减。

表5 通道数对FFM 模块的影响Table 5 Influence of channel number on FFM module

2.4.4 S-ASPP 中参数设定

采用控制变量方法验证共享空洞空间金字塔池化模块对算法性能的影响,主要考虑空洞率组合的选取以及密集连接方式两个方面。选择适当的空洞率对S-ASPP 模块较为重要,在相同卷积层的情况下能扩大感受野。空洞率较大会遗漏对小物体的分割,空洞率较小会影响大物体获取上下文信息,造成分割不连续和误分割问题。本文选择了3 组空洞率作为比较,如表6 所示,通过对比实验1(原算法)与实验2、4、6 可知,实验2、4、6 的空洞率组合结果均优于原算法的空洞率组合结果,其中最适合的空洞率为4、8、12 和16,mIoU 提高0.53 个百分点,速度也易于接受。比较实验2、4、6 和实验3、5、7 可知,密集连接方式较无密集连接分别提高0.2、0.4 和0.5 个百分点,这表明密集连接有效地建立了不同空洞卷积之间的依赖关系,降低了信息损失。其中空洞率为1、6、12 和18 的密集连接实现了更佳的分割结果,但速度比无密集连接有所下降。由于改进后的算法变得越来越复杂,算法的参数、速度等方面都会受到影响,很难在精度、速度和参数等因素之间保持平衡,但所增加的参数量和速度在可接受范围内,因此该算法以牺牲客观因素为代价,换取mIoU 的提高。综上所述,S-ASPP 模块选择空洞率为1、6、12 和18 的密集连接。

表6 S-ASPP 中参数设定的对比Table 6 Comparison of parameter settings in S-ASPP

3 结束语

本文提出一种基于密集连接和特征增强的语义分割算法,整个网络采用编解码结构。编码器通过提取图像信息,利用S-ASPP 模块提取特定分辨率特征的多尺度信息捕获密集的采样点像素,从而获取更加全面的局部信息。解码器恢复图像的分辨率,从重利用骨干网络的多层特征出发对其进行特征增强,提高特征的表征能力,并融合编码器和解码器得到特征信息。实验结果表明,该算法有效地解决了分割边缘不连续和误分割等问题,取得了理想的分割结果。本文算法侧重于精度的提升,但忽略了速度等因素,后续研究将从局部、全局以及上下文信息的角度出发,设计一种有效的结合方式,满足语义分割算法对准确性和实时性的要求。

猜你喜欢
空洞尺度语义
财产的五大尺度和五重应对
语言与语义
空洞的眼神
宇宙的尺度
“上”与“下”语义的不对称性及其认知阐释
用事实说话胜过空洞的说教——以教育类报道为例
认知范畴模糊与语义模糊
9
臭氧层空洞也是帮凶
语义分析与汉俄副名组合