基于Deeplabv3+的街景语义分割算法优化研究
2022-07-01王俊,王静,曹旺
王 俊,王 静,曹 旺
(四川大学电子信息学院,成都 610065)
0 引言
语义分割是计算机视觉三大任务之一,也一直是科学界与工业界投入研究的重点。图像语义分割是语义分割的重要分支任务,语义指的是图像中物体所代表的含义,例如在街景图像中,车辆、行人、道路、建筑都有着不同的含义,而图像语义分割主要任务就是对图像的语义进行理解,并对不同语义的物体进行分割,其在新兴的自动驾驶领域有着广泛的应用,具体而言,自动驾驶需要对复杂的道路情况进行理解,高分辨率图像中的每个像素都被分类为一组语义标签。与其他场景不同,自动驾驶场景中的物体表现出非常大的尺度变化,这对多尺度信息必须正确编码的意义上的高级特征表示提出了巨大挑战,同时精度还会受外部光照和图片拍摄角度影响。
目前图像语义分割算法主要以全卷积神经网络FCN为基础,其在语义分割领域取得了不错的效果,但还存在一些问题:高级语义信息在提升分割性能方面至关重要,为了获得高级语义信息,FCN 使用了多个池化层,但后续需要上采样恢复图像大小,这样一是丢失了细节与局部信息,无法整合全局信息;二是参数和计算时间大大增加,无法满足设备算力资源有限的情况。
针对自动驾驶场景下图像分割问题,本文以现有的语义分割网络Deeplabv3+为基础提出了一种性能优秀的轻量级图像语义分割方法,骨干网络采用轻量级的MobilenetV2。首先对Deeplabv3+的编码阶段进行分析,针对聚合多尺度上下文信息的ASPP 模块运算量过大,且支路之间缺乏相关性的问题,提出一种新的密集连接结构的ASPP 模块,在解码阶段,为了整合全局信息,额外选择了下采样倍数为2、8、16的低级特征进行二次特征融合。
1 相关工作
目前在图像语义分割领域有很多深度学习方法提出,Long 等人在2015年提出的FCN,FCN 作为图像语义分割的奠基,解决了像素级别的图像分割问题,其将CNN 的全连接层替换为卷积层,使得分类网络能够输出热图,但下采样层的存在使得高级特征图的分辨率较低,使用双线性插值或反卷积实现分辨率重建,将低分辨率的特征图上采样至原图大小,最后在上采样后的特征图上完成像素分类。
FCN 在处理输入图像的过程中引入了噪声,对此Google 提出了著名的Deeplab 系列模型,为了解决池化所带来的信息损失,Deeplabv1引入了空洞卷积,同时利用条件随机场来提高分割性能;Deeplabv2相较Deeplabv1 采用了多尺度和ASPP 获得了更好的分割效果,将VGG-16替换成了ResNet;Deeplabv3则提出了一种通用框架,同时改进了ASPP。
Deeplabv3+则是本文研究的重点,本文在此基础上做了若干改进,Deeplabv3+最大的改进在于提出了一个编码器-解码器结构,编码器-解码器结构是目前语义分割领域非常流行的网络架构,一般编码器部分用来提取高级特征,而解码器部分通过处理编码器得到的特征图得到预测图。
Deeplabv3+模型作为经典的编解码结构,将Deeplabv3 模型作为编码层,在其后端级联一个简单有效的解码器,模型结构如图1 所示。
图1 Deeplabv3+结构
解码阶段(decoder)对编码阶段输出的特征张量采用双线性插值4 倍上采样后,与Backbone 上对应层级的特征图拼接,利用跨层连接捕捉浅层特征承载的细节信息,进一步丰富图像的语义信息和细节信息;经两个3×3 卷积细化特征后,使用双线性插值4 倍上采样将特征图尺寸逐步恢复到原始图像大小,缓解采样幅度过大导致部分特征信息丢失问题。
2 本文方法
2.1 Deeplabv3+模型结构
本文在Deeplabv3+模型的基础上进行了改进, 提出了一种新型语义分割模型UDeeplabv3+,U-Deeplabv3+的整体结构如图2所示。
图2 U-Deeplabv3+结构
编码阶段,针对原ASPP模块使用了多个空洞卷积对输入特征并行进行运算,导致网络运算量过大,并且不同空洞卷积支路之间缺乏联系的问题,本文创新性地提出了一种多支路串行ASPP 模块,将多个空洞卷积支路串行连接,使得每一个空洞卷积支路输入由原来的维度320降低到128,大大减小了模块的计算量,同时采用密集连接的思路,将前一支路的输出与现支路的输出进行相加,再送入后一支路,密集连接的优势在于增强了各支路的相关性,增大了感受野,充分地利用了有效信息,分割精度有所提高;同时本文舍弃了原ASPP 模块每个支路输出最后并行相加的做法,只选择了1x1卷积支路、空洞卷积串行支路、池化支路的输出进行合并相加,进一步减小了计算量,同时兼顾了精度。
解码阶段,原Deeplabv3+网络仅使用了下采样倍数为4的特征与高级特征进行融合,并没有充分利用所有的低级特征,而低级特征中包含更多的细节。本文提出了一种新的解码模块U-Decoder,灵感来自UNet,采用类似U 型的网络架构,下采样倍数不同的低级特征调整尺度后依次进行融合,相邻特征之间的融合使得特征之间的相关性增强,提高了低级信息利用率,最后再将融合的低级特征与高级特征进行融合,各级特征图都得到了利用,使得分割精度有所提高。
2.2 多支路串联ASPP模块
本文创新性地提出MSASPP 模块(multibranch series ASPP),保留了原ASPP 模块的全局平均池化支路和1x1卷积支路,将三条空洞卷积支路改为串行连接,详细结构见图3,多条空洞卷积支路串行连接带来了更大范围的感受野,串行连接的感受野计算公式如下:
图3 MSASPP感受野
其中和为两个串行的空洞卷积感受野,为串行后的感受野大小。各空洞卷积支路的感受野变化如图3,同时采用了密集连接的方式加强了各支路的相关性,因为膨胀率逐渐增加,上层的卷积可以利用下层的特征,使像素采样更加密集,高感受野的特征也能拥有低感受野的特征信息。MSASPP模块的输出可表示为:
2.3 U型解码结构
高级特征具有丰富的语义信息,低级特征具有更多的细节信息,而不同层级的低级特征的信息也不尽相同,所以相较于仅利用一种层级的低级特征,使用所有的低级特征是更好的选择。本文提出了一种U 型解码结构,从下采样倍数为2的低级特征支路开始,依次和相邻的低级特征进行融合,分辨率更低的低级特征融合前需要先进行上采样到与上一级的低级特征分辨率相同。这样的做法带来的好处是最大程度上利用了所有层级的信息,没有错过不同的细节,同时相邻的低级特征依次融合,其特征图所含的语义信息相近,融合的契合度较高。详细结构见图2。
3 实验与结果分析
3.1 数据集介绍
自动驾驶领域常用的数据集是Cityscapes 数据集,该数据集包含50 多个城市采集得来的街景图像,总共包含5000 张高质量标注图像,20000张粗略标注图,一般街道场景语义分割只采用5000 张精细标注图,其中2975 张图作为训练集,500张图作为验证集,1525张图作为测试集,但是测试机的标注没有公开,所以本文仅使用验证集评估模型改进后的效果。Cityscapes数据集有1024×2048 的高分辨率,由于机器的性能限制和模型要求,将输入图像分辨率由1024×2048 调整为513×513,并通过随机裁剪、色彩抖动、翻转来对图像进行数据增强。
3.2 实验细节
在语义分割任务中,像素精度、平均像素精度、频权交并比、均交并比都是评价算法性能优劣的指标。而均交并比(mean intersection over union,)是最常用的指标,本文也主要采用作为评价指标,将类别的预测值与真实值之间的交集和并集进行相除,求和之后再取平均值,表示为不同类别预测值和真实值的重合程度。
其中,代表图像中像素的总类别数量,X代表像素实际类别是类,预测结果是类的数量,X代表像素实际类别是类,预测结果是类的数量,X代表像素实际类别是类,预测结果是类的数量。
本文实验基于Pytorch 框架,语言为Python3.7,操作系统为Ubuntu18.04,芯片为Intel Xeon E5- 1650 v4 主频3.6 GHz,内存32 GB,显卡为一块NVIDIA GeForce GTX 1080Ti,初始学习率为0.05,weight decay 设置为1e-4,学习策略为poly,动量为0.9,损失函数为交叉熵函数。
3.3 实验结果分析
为了确定模型的有效性,将U-Deeplabv3+与其他语义分割算法在Cityscapes 验证集上进行了实验,实验结果如表1所示。
表1 不同模型在Cityscapes 上性能对比
由表1 可知,Deeplabv3+与其他的语义分割算法相比拥有较为先进的结果,本文提出的UDeeplabv3+在其基础上获得了更有竞争力的结果,mIoU 相较Deeplabv3+提高了2.1%,以较小的时间成本为代价,换得分割精度的提升,较好地权衡二者之间关系,一定程度上提升了工程实用性。
在Cityscapes 数据集上分割结果对比如图4所示。观察图4 可知,Deeplabv3+模型没能对图片中的红绿灯、交通标志等小物体进行清晰分割,细节丢失严重;而U-Deeplabv3+模型妥善处理了上述不足之处,由于拥有多分支串联MSASPP 模块和U 型解码结构,模型具有较大的感受野,对于小物体的感知也更加准确,同时也能够表征出图像细节信息,边缘预测更为清晰,综上,U-Deeplabv3+模型更好地保留图像细节信息,预测结果更加准确和全面。
图4 Cityscapes 验证集上分割结果对比
3.4 消融实验
为验证多分支串联MSASPP 模块、U 型解码结构等方案的有效性,故在Cityscapes 数据集上进行消融实验,以mIoU 为对比指标,实验结果如表2所示。
表2 不同改进方案在Cityscapes数据集上性能分析
4 结语
本文针对Deeplabv3+模型细节感知能力较弱,对于小物体存在误判漏判的问题,提出了改进方案。通过设计多分支串联MSASPP 模块,提供更大的感受野,同时采用密集连接设计,进一步增强了信息间交互,提升信息利用率;设计了U 型解码结构,目的是恢复更多的在降采样过程中损失的空间维度信息和像素位置信息,最大程度上利用了所有层级的信息,没有错过不同的细节,同时相邻的低级特征依次融合,其特征图所含的语义信息相近,融合的契合度较高。
本文模型在Cityscapes 数据集上的实验数据证明,改进后的模型结构拥有较好的分割性能,同时对小物体的感知能力较强。在后续工作中,将深入研究兼顾预测精度与实时性的高性能网络,进一步增强语义分割算法在工程应用中实用性。