1. 引言
现代轻量级语义分割是以深度学习 [1] 为理论基础,对图像逐像素预测其所属类别的一门技术,场景应用广泛。轻量级语义分割始于FCN [2] ,其基于图像分类,提出U型编码器–解码器结构,在当时取得领先效果。随着移动设备的普及应用,我们对分割模型有更严格的轻量与精确性要求,以嵌入到载体中发挥实际作用。如何兼顾轻量性与准确率,发挥分割网络最大效用,是我们要研究的课题。
主流轻量级语义分割网络常以ResNet [3] 、MobileNet [4] 、DeepLab [5] 等作为主体基础,以创新分支结构、增强特征提取、增强特征融合等手段提高模型准确率,同时注重采用轻量结构增强模型可内嵌性。在分支结构方面,有双路径互补结构的BiSeNet [6] ,三路径级联汇合特征的ICNet [7] ,以及多分支特征再利用结构的DFFNet [8] 等。在增强特征提取方面,常用注意力机制来筛选重要特征,加强信息利用,张铮等 [9] 将双空间注意力门分别安插在Fast-SCNN双路径末端,在像素颗粒上监督细小裂缝分割,增强鲁棒性;方家吉等 [10] 以瓶颈注意力模块(BAM)来同时加强通道与空间方向的注意,去除电力线分割噪点。增强特征融合方面,多尺度多层次是切入口,肖哲璇等 [11] 以双侧金字塔结构分别富集双分支对应的空间、语义信息;谢刚等 [12] 设计多尺度条形特征提取模块,加强对纤细条状物的分割识别。模型轻量化方面,1 × 1卷积、深度可分离卷积(DSC)等都是常见的轻量化手段。
虽然现代轻量级语义分割模型在平衡速度与精度的问题上取得较大进展,但没有任何一个模型同时达到最小内存与计算、最快速度与最大精度。轻量级语义分割仍有很大的优化提升空间,在轻量级与拟合性两个互斥性能中寻求平衡,实现优中取优,是本文的研究目的。本文基于双路径BiSeNet结构,以空洞卷积和轻量SAM模块增强特征提取,以轻量ASPP模块增强特征融合,实现对BiSeNet的优化。
本文内容安排为:第一章引言描述本文研究背景与目的,第二章介绍BiSeNet模型结构,第三章描述优化BiSeNet结构,第四章对比分析结果,最后得出结论。
2. BiSeNet模型结构
2.1. ResNet50主体
本文研究的BiSeNet模型骨干主体选用ResNet50网络,ResNet50模型由不同Bottleneck瓶颈结构残差块有序搭建。Bottleneck以恒等映射形式减小深层传播产生的信息偏离损失,以瓶颈结构轻量化模型。如图1所示,以输入输出维度划分,Bottleneck残差块分为两种结构,第一种Bottleneck结构先以1 × 1卷积减半输入通道数,然后以3 × 3等大卷积做特征提取,再以1 × 1卷积恢复输入通道数得到残差,最后将残差与输入直接进行Add操作完成恒等映射连接,输出高宽维度与通道深度均无变化;第二种Bottleneck结构先以1 × 1卷积保持输入通道,然后以步长为2的3 × 3卷积完成特征2倍数下采样,再以1 × 1卷积将通道数扩大2倍得到残差,最后将残差与2步长1 × 1卷积调整后输入恒等连接,输出2倍通道数的2倍下采样尺度特征图。
Figure 1. Bottleneck residual block structural diagram
图1. Bottleneck残差块结构图
ResNet50有50个可训练层,本文采用的全连接层之前的ResNet50结构如表1所示,其中步骤1中的7 × 7卷积的填充数为3且步长为2,步骤2中的3 × 3最大池化操作填充数为1且步长为2。
Table 1. Structured date of ResNet50
表1. ResNet50结构数据
2.2. 两分支结构
BiSeNet网络在传统单路线编码器–解码器结构基础上,提出了两分支结构优化其性能。BiSeNet模型结构如图2所示。
BiSeNet将ResNet50作为主体分支,图中上下文分支中1/4特征图、1/8特征图、1/16特征图、1/32特征图、1 × 1特征图分别对应ResNet50网络结构中步骤3、步骤5、步骤7、步骤9、步骤10的输出。考虑到ResNet50模型流程中特征尺度逐渐缩小至1 × 1维度,若将其直接作为编码器连接解码器上采样,必然无法还原编码过程中的过滤信息;若将1/8特征图作为最终编码结果,则上下文提取度不达标。基于以上内容,BiSeNet模型引出第二条空间保留分支辅助编码,第二条分支只有3层卷积,以表层处理结构辅助编码保留原特征图1/8空间尺度,同时减小解码上采样计算量,空间保留分支结构如表2所示。
Table 2. Structured date of space reserved branch
表2. 空间保留分支结构数据
2.3. ARM模块与FFM模块
本节讲解BiSeNet模型结构中的相关模块,包括ARM注意力模块和FFM分支融合模块。ARM模块结构如图3所示,为通道注意力模块,其以1 × 1卷积核提取GAP特征图通道特征,再将通道特征标准化处理,经Sigmoid函数激活输出各通道概率权重,最后以Multiply操作作用于输入图,完成通道加权,输出三个维度信息与输入无异。在上下文分支的1/16特征图、1/32特征图、1 × 1特征图级联融合编码输出1/8特征图过程中,ARM模块直接作用级联融合前的1/16特征图和1/32特征图,以通道加权形式加强其特征编码有效性。ARM模块和FFM模块结构分别如图3和图4所示。
Figure 3. ARM module structure diagram
图3. ARM模块结构图
FFM模块结构如图4所示,将上下文分支中级联输出1/8特征图作为输入1,将空间保留分支卷积层3输出的1/8特征图作为输入2,目的为融合两分支特征。融合过程中,首先以1 × 1卷积降噪二输入叠加数据,然后以连续两个1 × 1卷积核交互GAP特征图通道特征,激活后加权于降噪后叠加特征,最后将通道加权前后降噪叠加图相加,得到最终二分支融合输出,至此完成BiSeNet编码。
Figure 4. FFM module structure diagram
图4. FFM模块结构图
3. 改进BiSeNet模型结构
本章主要讲述基于BiSeNet模型的优化结构,包括倾向信息全局化提取的空洞卷积、仿照金字塔形状搭建提取尺度塔形成的ASPP二分支融合模块、以及增强空间特征质量的SAM注意力模块。
3.1. 空洞卷积
Figure 5. Atrous convolutional sketch map
图5. 膨胀卷积示意图
空洞卷积将普通卷积稍做修改,便可得到相当可观的感受野,支撑全局化方向信息提取。空洞卷积的关键内容是其对卷积核的填充扩张操作,其余步骤与普通卷积无异。对卷积核的填充扩张操作均匀作用在其内部,以数字0填充卷积核扩张空位,以膨胀系数r来调控卷积核的扩张程度,膨胀系数为卷积核扩张后非零元素间的距离,普通卷积膨胀系数为1。以3 × 3卷积为例,图5显示了当膨胀系数分别为1、2、3时的空洞卷积示意图,对应感受野分别为3、5、7,膨胀系数越大,卷积核空洞越明显,信息提取区域越广。
假设特征高宽相同,不考虑通道深度,记输出维度、输入维度、卷积大小、步长、填充数、膨胀系数分别为N、n、k、s、p、r,则维度关系式见公式(1):
(1)
本文将空洞卷积方法安排在BiSeNet模型的空间保留分支,以弥补该路径表层卷积带来的感受野局限。遵照膨胀锯齿形设置经验,本文以空洞卷积修改的空洞空间保留分支结构如表3所示。
Table 3. Structured date of atrous space reserved branch
表3. 空洞空间保留分支结构数据
3.2. SAM模块
BiSeNet空间保留辅助分支输出1/8特征图具有较多空间像素特征,若将密集的空间信息无差别重视,一定程度会降低分割效率,易混淆不同语义像素。为增强模型的空间专注度,将特征按重要程度予以注意力,增强特征质量,提高分割效率,对照上下文分支中ARM模块,本文采用基于空间注意力机制的SAM模块来强化高分辨率特征,作用于空间保留分支的1/8特征图,输出空间加权的1/8特征图。SAM模块结构如图6所示。
Figure 6. SAM module structural diagram
图6. SAM模块结构
SAM模块结构如图所示,SAM模块首先将并联的纵向GAP特征和纵向GMP特征图叠加,得到空间尺度不变、通道数为2的初步空间整合特征,然后以大的7 × 7卷积核平移运算得到空间相关性信息特征图,将其标准化后的Sigmoid激活值作为空间像素点权重,最后与原输入相乘完成空间加权。SAM模块中GMP、GAP操作都具轻量性能,以大卷积核代替矩阵相关系数等密集运算操作,提取空间信息,同样是轻量化的体现。
3.3. ASPP模块
原BiSeNet模型FFM模块是一种通道注意力结构的残差融合模块,融合复杂度一般。本文以ASPP模块代替FFM模块,ASPP模块在多尺度范围上挖掘信息,以增强对不同大小事物的分割能力。ASPP模块结构如图7所示。
Figure 7. ASPP module structural diagram
图7. ASPP模块结构图
之所以说ASPP模块为金字塔形状,是因为其特征提取过程中,并行的卷积操作依次提取递增的尺度特征,递增尺度叠加为金字塔形状,图中三角虚线框住内容即为特征提取金字塔示意。特征提取金字塔共有5层,塔最顶层为提取单个像素尺度信息的1 × 1卷积,塔的第2、3、4层均为3 × 3卷积,以不同膨胀系数将对应层提取尺度边长分别控制为13、25、37,塔最底层则以上采样GAP操作获取全局尺度信息。注意实际操作中,金字塔2、3、4层中的3 × 3卷积为两步骤分解形式,目的是发挥卷积分解的轻量化优势。
ASPP模块首先将BiSeNet网络主分支和辅助分支输出叠加操作,然后将叠加图输送入特征提取金字塔,再叠加金字塔每层并行输出的1/8特征图,得到5通道1/8特征图,最后逐点卷积调整通道数,至此完成分支融合与网络编码。
4. 实验结果对比分析
4.1. 数据集
本文选取开源VOC2012文件夹中trainval.txt文本文档所列出的2913张对应图片为训练测试集,设置865张数据用于测试,其余图片用于训练,同时采用在Segmentation Class子文件夹中顺序排列的对应png格式分割标签。该数据集有21个分割类,涉及室内、交通、动物、人类等丰富场景。
4.2. 性能评价指标
性能评价指标大多数是对多分类混淆矩阵的描述性统计,本文以像素准确率(PA)、交并比(IOU)、F1值作为分割效果指标,此外以分割速度衡量模型是否具有轻量化特性。多分类混淆矩阵中,某元素值为真实行类别预测为列类别的像素个数。本文结果对应21 × 21混淆矩阵,以nij代表将i类别预测为j类别的像素个数。选定评价指标中,像素准确率代表总体类别上的简单正确率,如公式(2)所示:
(2)
交并比是某单一类别上,预测正确的像素数在真实值或预测值涉及到该类别的像素总数比值,mIOU则为各类交并比平均。第c类别的交并比如公式(3)所示:
(3)
F1分数为某单一类别上的二次整合指标,均衡反方向的精确率P与召回率R,mF1则为F1的类别平均。第c类别的F1指标如公式(4)所示:
(4)
4.3. 结果分析
本文在pytorch框架下,以SGD算法训练优化前后BiSeNet网络,采用交叉熵相似度结合的损失函数,并结合上下文分支中的1/32特征图和1 × 1特征图,分别增加两个等比重的辅助损失。训练中,将辅助损失系数设为1,批量设为512,训练轮数设为230轮,最初学习率与其衰减率分别设为2.5e−2和0.97,动量为0.9。
4.3.1. 整体指标对比分析
优化前后BiSeNet模型整体指标对比如表4所示。
Table 4. Overall indicator comparison
表4. 整体指标对比
表中将单张分割时长(Time)作为模型的整体轻量级指标,将像素准确率(PA)、平均交并比(mIOU)、平均F1分数(mF1)作为整体性拟合指标。首先,改进后BiSeNet模型单张分割用由52 ms增加至78 ms,虽然增加了26 ms,但其仍在轻量级范围内,说明改进后BiSeNet模型具有良好轻量内嵌性能。其次,PA值、mIOU值及mF1值分别达到了87.42%、63.30%、75.81%,均超过50%,其整体拟合指标均达到到置信要求,优化结构将PA值、mIOU值及mF1值分别提升提升了2.06%、9.07%、8.16%,说明优化后BiSeNet模型具有更强的整体拟合性。伴随训练过程,优化前后BiSeNet模型PA、mIOU、mF1走势图如图8所示,绿色曲线描述优化BiSeNet指标走势,红色曲线描述原BiSeNet指标走势,绿线均高于红线,可直观观察到改进后BiSeNet模型整体拟合性更强。
Figure 8. Overall fitting index trend chart
图8. 整体拟合指标走势图
4.3.2. 各类别指标对比分析
优化前后BiSeNet模型在VOC2012的21个具体类别上得出结果,各类别指标对比如表5所示。
Table 5. System resulting data of standard experiment
表5. 各类别结果指标数据
表中IOU和F1对应原BiSeNet交并比与F1指标,IOU’和F1’对应优化后模型指标。由表可知,不考虑背景类,对20个实物类别的分割结果中,单独考虑优化BiSeNet模型,其对飞机、鸟类、公交车、汽车、猫、人物、火车等7个类别分割结果优秀,其交并比和F1指标均达到70%以上,其中对公交车类指标最高,交并比和F1指标分别达到了80.95%、89.47%;对船、牛、餐车、狗、马、自行车、绵羊、显示器等8个类别分割良好,双指标均达到50%以上,说明优化BiSeNet模型具有可信性。对比结果显示,优化后BiSeNet模型增强了大多数像素类别的预测准确性,优化后BiSeNet模型对飞机、鸟类、公交车、汽车、猫、牛、餐桌、狗、马、盆栽、绵羊、火车等12个类别提升效果显著,双指标均提升5%以上,对应交并比指标分别提升7.36%、24.9%、13.64%、11.37%、11.18%、17.51%、10.8%、7.94%、15.45%、12.46%、9.69%、14.36%,对应F1分数指标分别提升6.21%、22.23%、11.54%、9.68%、9.16%、11.35%、15.09%、8.85%、12.45%、18.09%、7.82%、9.43%,其中鸟类分割优化最显著,双指标均提升了20%以上,验证了优化结构的合理性。
4.3.3. 分割效果对比分析
在测试集中随机选取两张图片,优化前后BiSeNet模型对比效果图如图9所示。
Figure 9. Comparison of segmentation effect
图9. 分割效果对比图
分析图例举的效果对比图,可观察到原BiSeNet模型将图例中的自行车类别像素大面积归类为背景,且将羊内部分像素错误预测为狗类;优化后BiSeNet模型则解决了原模型中出现的问题,还原了大面积的自行车区域,矫正了对羊内部像素的错误分类,可直观对比出优化后BiSeNet模型分割结果更加贴合真实值标签,优化模型具有增强效果。
5. 总结
本文基于原BiSeNet模型,提出优化结构,并验证其合理性。优化改进包括:(1) 在原BiSeNet辅助分支表层化卷积中,以空洞卷积升级普通卷积,提高图片像素整体相关特征提取。(2) 对BiSeNet辅助分支表层卷积输出,进行轻量SAM空间加权操作,增强辅助分支数据质量。(3) 以金字塔结构完成BiSeNet上下文主分支及辅助空间保留分支的输出融合,提高融合复杂度。VOC2012验证结果为:(1) 79 ms的分割速度验证了优化后BiSeNet模型的轻量性。(2) 优化后BiSeNet模型绝大多数单类别、类平均指标及整体分割评价指标均优于原模型,优化后BiSeNet分割图直观上比原模型更贴合标签,验证了优化结构的合理性。