用于场景分割的改进DeepLabV3+算法
2022-03-16桑永龙
桑永龙,韩 军
(1.上海大学通信与信息工程学院,上海 200000;2.上海先进通信与数据科学研究院,上海 200000)
0 引言
随着深度学习的广泛应用,语义分割作为图像处理中的重要算法,已经成为近年来研究的热点。传统的图像分割算法主要分析低阶语义来分割不同目标,常用的语义信息包括形状、颜色、纹理等。但是这些低阶信息不仅缺失像素的对比度、方向度等中级语义,而且缺少像素之间的实体类别之间的高级语义,从而给聚类分析带来一定挑战。
为了改善传统图像分割的不足,语义分割研究者们提出一种以卷积神经网络为核心的像素分类方法,解析图像的深层次语义信息。文献[1]提出了基于全卷积网络(Fully Convolutional Networks,FCN)的语义分割算法,该方法的优点在于,输入图像的尺寸不再固定,可以为不同大小,同时不再局限于块级别输入,使计算复杂度大大降低,但是图像下采样操作也直接导致特征的分辨率降低,目标的边界变得非常模糊,使分割不够精确。基于FCN的思路,文献[2]提出SegNet网络,首先使用same卷积从编码端提取分辨率较低的语义特征,然后根据编码器中最大池化层得到的提示信息定位目标位置,最后在解码端同样使用same卷积,将在池化过程中丢失的信息重新学习到,从而生成高分辨率预测图。在此基础上,文献[3]提出U-Net网络模型,该模型主要采用U型的“编解码”结构,此结构的反卷积层同时整合了前一层的输出特征和对应下采层捕捉到的语义信息,从而对目标进行精确定位,此方法可以较好地处理大分辨率图像,但不能很好地解决尺度变化的问题。2016年,谷歌提出的DeepLab网络模型以其优越的分割效果成为语义分割领域经典的算法之一。DeepLabV1[4]采用深度卷积网络和全连接条件随机场完成语义分割,但是最大池化和下采样操作压缩了图像分辨率,降低了图像的分辨率,同时空间不变性也限制了此模型的精度,使获得的概率图变模糊。在此基础上,DeepLabV2[5]结合空洞卷积实现语义分割,允许有效地扩大卷积核的视场来整合更多的上下文信息,从而确保了训练阶段能够学习到多尺度目标的信息,且不需要增加额外的参数或者计算量。DeepLabV3[6]将空洞卷积改进为空洞空间金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)结构模型,ASPP使用多个采样率和有效视场的卷积核来检测传入的卷积特征,能够在多个尺度上捕获目标和图像的上下文内容。CHEN等[7]提出了DeepLabV3+网络,该网络采用编解码器模型,将V3版本的网络作为网络编码器,输出不同尺度的高层特征,设置解码器将低层特征与编码器高层特征相结合,并通过双线性插值进行上采样恢复物体细节和空间信息。近年来,ZHONG等[8]提出的SANet(Squeeze and Attention Networks)通过引入“注意力”卷积通道将像素组注意力强加于常规卷积上,从而考虑了空间通道的相互依赖性,最终合并来自SANet的4个不同层次阶段的信息输出预测结果,然而注意力机制对于目标的位置捕获能力较差,很难学习序列中的顺序关系。ZHANG等[9]提出了一种跨空间和尺度的特征交互网络FPT(Feature Pyramid Transformer),该网络通过使用了3个自上而下和自下而上transformer将特征金字塔转换为具有更丰富上下文信息的特征金字塔,但使网络的局部信息获取不足,造成位置编码不准确。
本文提出的改进的DeepLabV3+网络模型算法不仅优化主干残差单元,同时重新设计了ASPP结构,并在解码端融合多个尺度的编码信息,提高了网络的识别准确度与分割精度。
1 改进的DeepLabV3+网络
DeepLabV3+网络主要由主干网络(特征提取网络)、ASPP模块[10-12]和上采样模块组成。在此网络的基础上,本文首先用ResNest网络[13]替换了主干网络中的ResNet网络[14],使得各训练目标的权重比值不同,同时使用密集连接的空洞卷积金字塔模块重构ASPP,增大感受野,提高对特征信息的复用效率。最后在解码端引入了编码端不同降采样层输出的特征信息,增加网络对细粒度特征的感知。改进后的网络结构如图1所示。
图1 改进DeepLabV3+网络原理图Fig.1 Schematic diagram of improved DeepLabV3+ network
1.1 主干网络优化
DeepLabV3+网络中的主干网络,包括ResNet和其他基础的残差网络,是针对于图像分类而设计的,由于有限的感受野大小以及缺乏跨通道之间的相互作用,这些网络并不适合于目标检测、图像分割等领域。因此,为改善ResNet网络对目标特征提取的限制,本文受分组卷积[15]的启发,采用了可分组的ResNest网络替换ResNet。首先将特征图按照网络超参数K分成几个固定的分组,并将由此得到的特征图组称之为基数组,如图2(c)所示,则对应的变换公式为
(1)
式中:y表示分组网络的输出特征;x表示输入特征;Τi(x)表示第i个分组对应的变换关系。对于一个未分组的网络来说,若输入特征图尺寸为C×W×H,卷积核数量为N,每个卷积核尺寸为C×M×M,输出特征图数量也为N,如图2(a)所示,则需要学习的参数个数为N×C×M×M。若分成K个分组,如图2(b)所示,则对应需要学习的参数个数为N×(1/K)×M×M,由此可见,需要学习到的参数为原来的1/K,降低了网络学习参数。
图2 分组网络原理图Fig.2 Schematic diagram of grouped network
ResNest的另一个改进之处在于对基数组的二次分割。将基数组划分成R组,则总的特征组数量为G=KR,则对于每个基数组输出的特征信息可以表示为
(2)
(3)
由式(3)可知,分组后的网络在训练时每个分组可以得到不同的权重,因此对于输入图像,不同分组学习到的特征不同,从而提高了学习效率和特征提取的准确性。最终ResNest模块的设计方式为V=Concat{V1,V2,…,VK},表示将所有的基数组沿着通道维度连接起来构成一个整体。
1.2 密集连接ASPP
在卷积神经网络中,为了保留图像卷积的细节特征,同时增大感受野,DeepLabV3+采用空洞卷积和空洞空间金字塔池化模块来融合图像的多尺度特征。当空洞卷积的卷积核大小为k,扩张率为r′时,其能够提供的感受野大小为
R=(r′-1)×(k-1)+k。
(4)
由式(4)可知,感受野大小与扩张率成正比。虽然较大的扩张率可以带来更大的感受野,并捕获更多的全局特征,但是这并不意味着,扩张率越大越好。因为扩张率会使得局部特征的提取难度增加,如图3(a)所示,对于一个一维的图像空洞卷积来说,若其扩张率为6,则在此次卷积过程中只有3个像素被用来计算,导致边缘细节信息提取不足,这种现象若被拓展到二维,则情况会变得更糟。
为解决ASPP模型中增大感受野导致信息丢失问题,本文根据DenseNet网络[16]设计了重构后的密集连接ASPP结构(见图1)。在密集连接的ASPP中,随着扩张率的逐层增加,下层的特征会被上层卷积所利用,使得像素的采样更加密集,与并联ASPP相比可以利用更多的图像像素。图3(b)说明,对于一个扩张率为6的卷积层,在其卷积层之下设置一个扩张率为3的卷积层可以使得其参与计算的像素从原来的3个像素增加到7个。如图3(c)所示,拓展到二维的效果更加明显,参与计算的像素由9个增加到49个。这种扩张率卷积层密集连接的方式不仅提高了像素的利用,也将目标细节特征传递到更深的网络层,提高了目标的分割能力。
图3 空洞卷积采样图Fig.3 Astrous convolution sampling
在感受野计算方面,密集连接的ASPP得到的感受野大小是各层卷积网络输出感受野大小的累加,而并联ASPP只是各层输出感受野的最大值。传统的Deep-LabV3+网络中ASPP使用的扩张率大小分别为6,12和18,则最大感受野表示为:Rmax=max(R3,6,R3,12,R3,18)=R3,18=37。
本文使用的密集连接ASPP的扩张率分别为6,12,18和24,则最大感受野表示为:Rmax=R3,6+R3,12+R3,18+R3,24-3=122。其中:Rk,r表示当卷积核大小为k的情况下,空洞扩张率为r时,卷积核所能提供的感受野大小。因此在特征卷积过程中,可以利用式(5)衡量感受野和信息利用率β之间的关系,即
(5)
密集连接前后空洞卷积在特征图中表现如表1所示。
表1 ASPP连接方式对空洞卷积的影响Table 1 Effect of ASPP connection methods on astrous convolution
从表1中可知,并联方式的ASPP感受野大小取决于最大扩张率的空洞卷积,但是随着空洞卷积的增加,有效利用的像素个数并没有增加,所以像素利用率下降。相比而言,密集连接的ASPP不仅在感受野方面有着较大提升,而且像素利用率也有明显提高。
1.3 解码端设计
图像细节特征的丢失和图像的下采样有直接的关系,为了获得更多的细节特征,本文在DeepLabV3+网络的基础上引入更多的低层语义特征,此处主要融合了采样系数为1/4,1/8 和1/16的低层语义特征,同时为了不影响编码端输出的高阶语义特征,将输出的3种低层语义特征降维成64,32和16,降维操作的主要作用是防止低层语义信息过多,影响高层语义信息的表达,造成目标分割不准确。
2 实验结果与分析
2.1 实验配置
实验的硬件配置为:Intel Xeon E5-2620处理器,16 GiB内存,NVIDIA GTX1080Ti显卡,系统配置主要基于Ubuntu16.04操作系统,采用Pytorch1.3框架,Python版本是3.6。训练的基本网络是DeepLabV3+,其主干部分采用ResNest网络,采用密集连接的ASPP,解码端采用多尺度语义特征融合方法。
2.2 实验流程和评价指标
实验流程可以分成3个部分:数据集准备、数据训练和数据验证。实验主要采用公开的CityScape数据集[17],该数据集提供了5000 张精细标注的图像,被划分为训练集2975张、验证集500张、测试集1525张,有19个类别用于语义分割验证,根据类别属性将其分为天空、人物、车辆等7大类。训练网络参数如下:学习率为0.012 5、输出步长为16、batch_size设置为4,共训练500次。
本文采用语义分割的评价标准有2种,平均像素精度 (MPA)和平均交并比 (MIoU)。若数据集含有k+1个类别,pi j表示真值为第i类的像素被预测为第j类像素的数目,则pi i表示为真正的像素数量(TP),pj j为假负的像素数量(FN),pj i为假正的像素数量(FP)。
MPA是计算每类被正确分类的像素比例,再取平均,即
(6)
MIoU是真实标签与预测标签的交集与其并集之比,计算每个类的 IoU,再取平均,即
(7)
2.3 实验结果分析
2.3.1 不同主干对比实验与分析
本节基于DeepLabV3+网络,对比了3种不同主干网络在CityScape数据集上测试的数据结果,如表2所示。
表2 不同主干网络对实验的影响对比Table 2 Comparison of the influence of different backbone networks on the experiment
由表2可以看出,在只改变主干残差单元的情况下,不同的主干网络对于CityScape数据集检测结果不同,其中以ResNest为主干的网络,在MIoU和MPA两个性能上的表现要优于其他两种网络,但是由于改进的DeepLabV3+网络更为复杂,所以单帧图像预测时间有了一定增加。
2.3.2 改进ASPP对比实验与分析
本节实验主要验证ASPP连接方式和不同扩张率对实验结果的影响。其中,表3记录了主干为ResNest情况下,不同的ASPP连接方式和扩张率组对网络性能的影响。
表3 不同的ASPP连接方式和扩张率对实验结果影响对比Table 3 Influence of different ASPP connection methods and expansion rates on experimental results
由表3可以看出,在连接方式相同的情况下,随着感受野的增大,网络的MIoU也越高,其中,并联方式提升了0.8%,密集连接的方式提升了1.2%,但是扩张率组的增加会导致网络越复杂,单帧预测时间越增大。在相同扩张率的情况下,密集连接的方式相比于并联方式在MIoU方面提升较大,最高可以提升3.3%,但是单帧预测时间基本相同,此结果不仅说明具有更大感受野的密集连接ASPP在CityScape数据集上分割更加准确,而且证实增加的1×1卷积层能够降低网络参数,从而有效防止单帧检测时间升高。
2.3.3 改进网络和原网络对各类目标检测结果对比
本节实验主要对比以不同主干的原DeepLabV3+网络和改进后的网络,在测试集中对每一类对象的检测结果的影响,结果如表4所示。
表4 不同网络在CityScape数据集上每一类别的MIoU统计结果Table 4 The MIoU statistical results of each category on the CityScape dataset of different networks
从表4统计结果可知,本文模型对除天空之外的其他类别都有不同程度的提升,其中对于行人和交通标识等较小目标的识别能力提升较大。为了验证改进和未改进的DeepLabV3+网络在目标识别准确度和边界优化上的效果,图4记录了各种网络出在CityScape数据集上的检测结果图。
图4 不同网络预测结果对比图Fig.4 Comparison of different network prediction results
从图4中可以看出,以ResNet101为主干的网络对大目标(如植物)和小目标(如行人和交通标识)的分割效果相对较差。以ResNet152系列为主干的网络在对大目标分割时效果有所提升,但是对于目标细节的分割仍然没有明显的提高,例如部分骑手被错误地识别成为行人。改进DeepLabV3+网络既保证了大目标的分割准确度,同时也能达到对小目标的精确分割,例如图4中白框表示部分,交通标识和车辆的轮廓细节更加清晰,人物分割更加准确。
3 结束语
本文主要针对室外道路场景,提出了一种改进DeepLabV3+语义分割网络。此网络主要通过替换主干网络为ResNest,在单个网络中结合了分组卷积结构,使网络能够保留大部分的空间信息,同时设计密集连接ASPP模块,实现不牺牲特征空间分辨率的同时扩大感受野和提高信息复用率。解码端融合3种不同低层语义特征,增加了目标细粒度特征信息的感知。相比于DeepLabV3+网络,本文提出的算法在CityScape数据集上的MIoU和MPA两种指标上都有较大的提升,同时较好地解决了小目标分割不准确和边界模糊问题。