APP下载

基于高效深度瓶颈结构的实时语义分割方法

2023-09-14陈学颢李顺新

计算机技术与发展 2023年9期
关键词:瓶颈准确度语义

陈学颢,李顺新

(1.武汉科技大学 计算机科学与技术学院,湖北 武汉 430065;2.湖北智能信息处理与实时工业系统重点实验室,湖北 武汉 430065;3.武汉科技大学 大数据科学与工程研究院,湖北 武汉 430065)

0 引 言

语义分割是计算机视觉中较为基础的技术之一,目的是对图像中的每个像素根据特定的预定义类别来分配相应的标签,可以看作是像素级别的分类任务,但不同于图像分类和目标检测,语义分割最终输出的是带有标注的预测图像,具有识别和定位的功能。近年来,随着计算机视觉的快速发展,图像语义分割的准确度不断提高,然而盲人导向[1]、自动驾驶[2]、人物识别[3]、机器人视觉[4]以及其它一些现实领域的应用中,对语义分割的实时性提出了更高的要求,这些应用往往具有有限的计算成本和内存容量,并且还需要较高的准确度和实时性。因此,如何设计一个可以在准确度、推理速度和参数量之间达到相对平衡的实时语义分割方法,已成为当前研究的热点问题。

针对这个问题,目前已提出许多基于全卷积网络(Fully Convolution Networks,FCN)[5]的实时语义分割方法。这些方法大致分为三类:

(1)优化卷积:ENet[6]使用浅层ResNet[7]作为模型主干,并通过扩张卷积在不增加参数量的前提下增加感受野;MobileNet[8]采用深度卷积来代替传统卷积提高推理速度;ERFNet[9]、ShuffleNet[10]和DABNet[11]分别通过使用一维非瓶颈结构减少参数量、深度方向的扩张瓶颈结构和有效利用分离扩张卷积的不对称瓶颈结构来降低计算成本,加快推理速度;

(2)结合上下文信息:CBAM[12]将通道注意力和空间注意力相结合,以获得更准确的信息;Zhao等[13]、Chen等[14]分别提出金字塔池化模块(Pyramid Pooling Module,PPM)、空间金字塔池化模块(Spatial Pyramid Pooling,SPP)来提取多尺度上下文信息;

(3)构造轻量级架构:LEDNet[15]使用非对称编码结构,通过简化解码结构,减少计算量,提升分割效率;DFANet[16]构建轻量级架构,通过特征重用加强特征表达能力,提高推理速度;MJPU[17]使用多级特征图联合上采样的方式,有效降低网络计算的复杂度,以满足实时性需求。

上述方法在实时语义分割领域中已取得一定的进展,但在准确度、推理速度和参数量的平衡研究中仍具有很大的提升空间。在此基础上,该文提出了一种基于高效深度瓶颈结构的实时语义分割方法(Efficient Deep Bottleneck Structure Net,GDBNet)。通过优化卷积,在传统的瓶颈结构上增加深度方向的分解扩张卷积,设计出高效深度瓶颈结构(Efficient Deep Bottleneck Structure,EDB)。这种结构可以用较低的计算成本获得更深层的特征信息和上下文信息。为更好地结合上下文信息,提出注意力融合连接模块(Attention Fusion Connection Module,AFCM),在几乎不影响分割效率的前提下,有效融合深层特征信息和浅层特征信息,弥补深层特征信息关于空间细节特征的不足,优化分割结果。

主要工作如下:

(1)以构建实时语义分割方法为目的,深入研究了瓶颈结构、分解卷积、扩张卷积的应用潜力,提出一种高效深度瓶颈模块。它可以用较少的参数量和较低的计算成本获得多尺度特征信息和上下文信息。

(2)采用注意力融合连接模块,从深层特征和浅层特征中自适应选取有用的信息进行融合,优化分割结果。

(3)利用高效深度瓶颈模块和注意力融合连接模块构建一个高效的轻量级实时语义分割方法,并且在Cityscapes和Camvid测试集上进行一系列实验,并与其它现有方法进行对比分析,验证了该方法的有效性和泛化性。

1 模型方法

1.1 GDBNet整体结构

为保证准确率、实时性和模型复杂度三者之间的有效平衡,基于高效深度瓶颈模块和注意力融合连接模块,该文构建了一个新型的浅层轻量级实时分割方法─基于高效深度瓶颈结构的实时语义分割方法(GDBNet),整体网络结构如图1所示。

图1 GDBNet网络模型整体结构

在Encoder部分,首先使用三个3×3的标准卷积来提取输入图像的初始特征,其中第一个3×3卷积的步长为2,用于完成第一次下采样。为了保留更多的空间细节信息,GDBNet一共只采用了三次下采样操作,随后的两次下采样使用与ENet初始块相同的下采样单元执行,即步长为2的3×3卷积和2×2最大池化进行通道拼接实现。在第二次和第三次下采样之后,将原图分辨率为1/4和1/8的特征图分别输入到EDB Block1和EDB Block2中提取稠密的特征信息。为充分获取全局信息,增加感受野,EDB Block1模块(如图2(a)),堆叠了3个扩张率为2的EDB特征提取单元,EDB Block2模块(如图2(b)),堆叠了6个扩张率分别为4,4,8,8,16,16的EDB特征提取单元,并且对堆叠模块引入残差连接,使提取的特征信息更加充分。为进一步细化特征,采用长连接捕捉全局特征信息,并与相应阶段的输出相连接,补偿分辨率降低造成的信息损失。

(a)EDB Block1 (b)EDB Block2

在Decoder部分,为避免引入过多参数,导致网络实时性的降低,该文没有使用复杂的解码器结构,而是参考BiSeNet[18]中特征融合的思想,保留了EDB Block1输出的浅层特征,并与两倍上采样后的深层特征经过AFCM模块进行指导融合,然后通过四倍双线性差值恢复至原始分辨率,得到最终的图像分割结果。

1.2 高效深度瓶颈模块

近年来,有许多实时语义分割方法为构建轻量级模型,将卷积结构的优化应用于瓶颈结构(图3(a))、一维非瓶颈结构(图3(b))和深度扩张瓶颈结构(图3(c))等轻量级残差结构的设计中。其中,瓶颈结构利用1×1卷积先降低通道数再恢复通道数的方法,能有效降低参数量,加快推理速度,而一维非瓶颈结构则通过1×3和3×1的分解卷积代替3×3的标准卷积来减少参数量,提升模型的效率,但固定的卷积核尺寸会导致以上两种方法在层数较浅的实时分割方法中无法获取足够的感受野,影响分割的准确度。深度扩张卷积结构采用深度扩张卷积来增加感受野,却增加了计算量,降低了推理速度。基于以上研究,该文构建高效深度瓶颈模块作为特征提取单元(图3(d)),其中DConv表示深度分离卷积操作,r为扩张率,“+”为特征向量的加法操作。

(a)瓶颈结构 (b)一维非瓶颈结构 (c)深度扩张瓶颈结构 (d)高效深度瓶颈结构

H×W为输入特征图的分辨率,卷积核的尺寸为K,输出通道数为M时,深度分解扩张卷积和深度扩张卷积的参数量之比,如式(1):

(1)

当卷积核的大小为3时,深度分解扩张卷积的参数量相较于深度扩张卷积减少了三分之一,可见深度分解卷积操作可以大幅降低计算量。同时EDB模块,还能通过修改扩张率的大小,以提取不同类型的特征,在模型浅层位置可以利用小扩张率, 关注一些局部信息,在模型深层位置可以通过大扩张率提取比较复杂的全局特征,相较于固定卷积核尺寸的结构,不仅弥补了无法获取足够感受野的问题而且还有效降低了参数量,更能体现出实时性,有助于模型实现参数量、推理速度和准确率的有效均衡。

1.3 注意力融合连接模块

在图像语义分割中,深层高级语义信息和浅层空间细节信息的融合,对分割准确度具有十分重要的影响。深层特征一般包含更多高度抽象的语义信息,而浅层特征一般是含有一些点、线、面等噪声的等边缘细节信息,因为两个特征之间存在较大的差异,使用简单的concat融合得到的效果并不理想。因此,提出了注意力融合连接模块。

如图4所示,深层特征用h表示,浅层特征用f表示。该模块首先将深层特征h通过平均全局池化和注意力向量提炼出深层高级语义特征A,如式(2):

图4 注意力融合连接模块

A=h×∂1(Conv1(AvgPool(h)))

(2)

其中,∂1表示Sigmoid激活函数,Conv1表示卷积核为1×1的卷积操作,AvgPool表示平均池化操作。

通过高级语义特征A与浅层特征f进行concat融合,然后利用批标准化平衡融合后的特征得到F0,如式(3):

F0=CoBnRelu((Concat(A,f)))

(3)

其中,CoBnRelu表示先经过1×1卷积,然后进行批量归一化处理,最后通过Relu修正线性单元激活函数的操作,Concat表示在维度方向的融合。

将平衡后的特征F0池化为特征向量并计算权重向量F1,如式(4):

F1=∂1(CRC((AvgPool(F0))))

(4)

其中,CRC表示先进行1×1卷积,然后通过Relu激活函数,最后再次经过1×1卷积的操作。

利用权重向量F1对特征F0进行重新加权,得到最后的输出结果M,如式(5):

M=F0+F0×F1

(5)

注意力融合连接模块相当于对特征进行重新选择组合,可以有效过滤掉浅层噪声,弥补深层缺少的空间细节信息,优化分割结果,并且该模块整个过程中仅用到1×1的卷积操作,不会带来过多的额外参数。

2 实 验

2.1 数据集

Cityscapes是目前用于语义分割的大规模数据集之一,包含了来自多个国家不同城市街道场景的5 000张精细标注图像并含有19个语义类别,其中训练集2 975张,验证集500张,测试集1 525张,图像的分辨率均为1 024×2 048,另外还有20 000张粗略标注的图像。在该实验中,只使用精细标注的图像。

Camvid是一个从视频序列中提取城市道路场景的数据集,并由剑桥大学公开发布。它包含了701张精细标注的图像并含有11个语义类别,其中训练集367张,验证集101张,测试集233张,图像的分辨率均为720×960。

2.2 指标说明

实验采用平均交并比(mean Intersection Over Union,mIOU)和帧速率(Frames Per Second,FPS)对模型的分割性能和推理速度进行评估。

平均交并比:计算所有类别预测值和真实值的交集和并集之比的平均值,因其计算方便、代表性强等特点,成为语义分割中表示分割准确度的标准指标。假设某数据集一共有k个类别(不包括背景色),其中i表示真实值,j表示预测值,Pij表示将i类像素预测为j类像素的总数,Pji表示将j类像素预测为i类像素的总数,Pii表示预测正确的像素总数,平均交并比的计算公式如式(6):

(6)

帧速率:帧速率指的是画面每秒传输的速率,FPS越高说明模型处理图像的速度越快,是衡量模型推理速度的重要指标。假设一共有N张图像,第i张图像处理的时间是Ti(单位:秒),帧速率的计算公式如式(7):

(7)

2.3 实施细节

GDBNet是基于pytorch框架实现,实验平台为NVIDIA GeForce RTX 3090、CUDA 11.0、pytorch1.7。在训练模型时,采用批量大小为8,动量为0.9,衰减权重为1e-4的小批量随机梯度下降(SDG)算法对模型进行优化,并使用“ploy”学习策略(如式(8)),对学习率进行动态调整,初始学习率为4.5e-2,最大epoch为1 000,训练时长约为40小时。

(8)

其中,lrrt为当前学习率,lrinit为初始学习率,epoch 为当前迭代次数,max_epoch为最大迭代次数,power默认为0.9,并且该文没有采用任何预训练参数,即从头开始训练网络。

为减少过度拟合的风险,提升模型的泛化性,在数据处理中使用了随机水平反转、随机裁剪和随机缩放等数据增强策略,且随机因子为{0.75,1.0,1.25,1.5,1.75,2.0}。最后,实验将Cityscapes数据集随机裁剪为512×1 024分辨率用于训练,Camvid数据集随机裁剪为360×480分辨率用于训练。

3 实验结果与分析

3.1 消融实验分析

通过一系列实验对GDBNet设计的有效性进行验证,所有实验均在Cityscapes训练集上进行,并在其验证集上进行评估。为保证实验结果的准确性,所有的模型都在相同的环境中进行训练和测试。

3.1.1 瓶颈结构

为验证高效深度瓶颈(EDB)模块的有效性,分别使用一维非瓶颈结构和深度扩张瓶颈结构替换GDBNet中的EDB模块。结果如表1所示,当使用EDB模块时,推理速度比深度扩张瓶颈结构高8.7 FPS,准确度却几乎不受影响,而一维非瓶颈结构由于无法获取足够的感受野,分割准确度低于EDB模块4.31百分点,推理速度和参数量也没有明显提升,充分证明了EDB模块的高效性。

表1 消融实验结果

3.1.2 上下文特征连接融合

为探究AFCM模块对模型方法的影响,采用直接concat连接和利用AFCM模块对上下文信息进行融合的对比实验。结果如表1所示,使用AFCM模块在分割准确度方面提高2.35百分点,而对模型的推理速度和参数量几乎没有负面影响,由此看来AFCM模块有利于模型性能的提升。

3.1.3 编-解码结构

为保证网络的推理速度,该文放弃了复杂的解码器结构。为验证其对分割结果的影响,在上采样部分利用ERFNet的解码器代替AFCM模块进行验证。结果如表1所示,由于ERFNet解码器复杂的结构,推理速度下降了42.5 FPS,并且参数量增加了0.25 M,但准确度仅提升了0.32百分点,而该文更注重方法的推理速度和参数量,由此看来不使用编-解码结构,更有利于性能的提升,证明了GDBNet结构设计的合理性。

3.2 公开数据集实验对比与分析

为进一步验证文中方法的有效性和泛化性,采用Cityscapes数据集和Camvid数据集,在参数量、准确度和推理速度三个方面与其它现有优秀方法进行比较,结果如表2、表3所示。

表2 Cityscapes数据集分割性能对比

表3 Camvid数据集分割性能对比

由表2可知,GDBNet在Cityscapes测试集上以140 FPS的推理速度取得了72.91%平均交并比的准确度且参数量为0.66 M。该方法与ESPNet相比,准确度和推理速度分别提高了12.61百分点和28 FPS,具有显著提升,而参数量仅多了0.3 M;与增强非对称卷积网络EACNet相比,推理速度上升了27 FPS,参数量减少了0.44 M,虽然准确度降低了1.29百分点,但综合来看,GDBNet表现更为出色;与近年来提出的CGPANet相比,在参数量、准确度和推理速度上均表现出色。综合对比实验结果可知,GDBNet在推理速度上具有明显优势,优于上述所有方法,由此可见,GDBNet相对于同类型先进方法,在参数量、准确度和推理速度之间取得了更好的平衡,具有一定的优越性。

为证明GDBNet的泛化性,还在Camvid数据集上对GDBNet进行性能测试,实验结果如表3所示。GDBNet在测试集上获得了68.84%平均交并比的准确度和143.7 FPS的推理速度,并且与其它先进方法相比,在参数量和推理速度上取得了较大的提升,优于表中所有方法,有力证明了该方法具有良好的泛化能力。

4 结束语

该文设计并提出了一种基于高效深度瓶颈结构的实时语义分割方法,编码器中采用高效深度瓶颈模块,以较少的参数和较低的计算成本获取本地和上下文信息,在解码器中采用注意力融合连接模块,有效引导浅层空间特征信息和深层语义特征信息的融合,进一步优化分割效果,并且无需消耗较多的计算量。为了验证方法的有效性,在Cityscapes和Camvid数据集上进行了验证,并与其它先进的实时语义分割方法进行比较。

实验结果表明,GDBNet能够在准确度、推理速度和参数量之间取得较好平衡。在未来的工作中,将进一步优化高效深度瓶颈模块和更为精细的注意力融合连接模块,加深对小目标和边缘信息的提取和关注,并在不同的语义分割数据集(Mapillary Vistas、NYUv2、ADE20K等)上测试性能,从而使GDBNet更加通用和有效。

猜你喜欢

瓶颈准确度语义
语言与语义
幕墙用挂件安装准确度控制技术
突破雾霾治理的瓶颈
动态汽车衡准确度等级的现实意义
“上”与“下”语义的不对称性及其认知阐释
突破瓶颈 实现多赢
认知范畴模糊与语义模糊
如何渡过初创瓶颈期
高炉重量布料准确度的提高
对电子天平的误差及保证其称量准确度的探讨