基于双注意力机制的街景语义分割

2021-10-19 01:45:36唐舒放王志胜
计算机与现代化 2021年10期
关键词:解码器编码器注意力

唐舒放,王志胜

(南京航空航天大学自动化学院,江苏 南京 211106)

0 引 言

在车载自动驾驶系统中,利用语义分割模块对视觉传感器采集的图像信息进行处理,可以检测前方路况信息,感知当前车辆所处环境,甚至判断道路上的交通标志,因此针对视觉信息的语义分割模块是自动驾驶系统中至关重要的一个环节。提高语义分割结果的精确度能够提升自动驾驶系统对道路场景的理解推断,更好地为自动驾驶中央决策单元提供信息支持;加快语义分割推理的速度能够保证实时地为自动驾驶系统提供环境信息,从而进一步确保自动驾驶系统的安全性。然而,基于深度学习的语义分割技术更多的是在学术界中快速发展,与工业界中的自动驾驶任务需求仍有较大不同[1-3]。

语义分割模块作为自动驾驶汽车感知周围环境的桥梁,实时地为系统提供环境信息是安全性能的有效保障。在卷积神经网络中,靠近图像输入部分的卷积层中的特征图具有丰富的空间位置、边缘形状等信息,而编码器输出的特征图具有更多的高级语义信息。在目标检测、分类等其它视觉任务中往往利用这种高级语义特征就可以达到目的,然而语义分割任务最终需要达到对所有像素的分类,除了需要高级语义信息来完成语义推断,还需要特征的原始空间位置信息来将低分辨率的深层特征图恢复到原始尺寸,因此导致语义分割网络中常见的编码器-解码器等结构具有较长的计算流程。设计轻量级语义分割网络的编码器需要采用快速下采样的策略,使用较少的卷积层有效快速地提取上下文语义信息,然后通过对早期的特征图使用注意力机制来获取更详细的全局空间信息。为此本文基于双路径语义分割网络,通过结合注意力机制来实现对街道场景图像进行实时语义分割。

本文的主要工作如下:

1)搭建一个轻量级语义分割网络,并部署于嵌入式平台TX1中以较高的分割准确度实时地对街道场景进行语义分割。

2)基于自注意力机制设计一个快速注意力模块。在轻量的空间信息提取网络分支中以极小的时间成本增强位置、边缘等空间信息。

3)基于通道注意力机制设计一个内嵌上下文模块,有效地突出特征空间维度较高的语义信息特征图中重要的特征通道。

1 相关工作

语义分割网络普遍采用编码器-解码器结构。编码器通常由卷积层和池化层组成,用来对图像的各种特征进行提取、融合;解码器通常由上采样池化层和卷积层组成,用来将特征图恢复到原始尺寸形成像素级分类结果。2015年,文献[4]使用深度卷积网络作为特征编码器,并将其全连接层神经网络替换为卷积层作为特征解码器,上采样得到与输入图片同尺寸的像素分类结果,是首个端到端的语义分割算法。作为语义分割网络的开山之作,其缺点也很明显,由于直接对1×1×4096的特征图进行上采样,得到的结果比较模糊和平滑,对图像中的细节不敏感,对各个像素分别进行分类,没有充分考虑像素之间的对应关系,缺乏空间一致性。早期解码器中的上采样操作通常使用双线性内插,这种算法并不像卷积层一样具有学习能力,很难将编码的空间、语义信息恢复出来,这对语义分割结果的准确性非常不利。文献[5]证明了使用反卷积层替换双线性内插作为解码器可有效提高语义分割结果。在此基础上,SegNet[6]增加了编码器输出的特征图分辨率,并在解码器中使用与编码器中相对应的池化索引将低分辨率特征图映射到与输入图片的分辨率相同的尺寸。

在此之后,更多的研究是以编码器-解码器结构为基础进行适当改进。RefineNet[7]的组件遵循残差连接的设计方式,使用残差模块[8]对解码器结构重新设计。一方面解决了深度神经网络在训练中存在的过拟合问题,另一方面有效利用编码器输出的低分辨率特征信息生成高分辨率的分割预测图。文献[9]提出了一种带大尺寸卷积核的编码器-解码器结构,通过消融实验表明在有效感受野和参数数量之间取得平衡的同时达到了良好的性能。文献[10]在编码阶段中加入一种语境分析模块,同时还改进损失函数对训练过程进行正则化以加速网络在上下文语义信息的学习。

近几年来,基于轻量级网络结构的设计成为了一个热门的研究方向,许多学者开始在神经网络模型的参数量、计算成本和结果精度之间寻找平衡,希望以较少的计算、存储成本获得较高的输出精度。被证明效果显著的快速性神经网络模块有MobileNet[11-13]和ShuffleNet[14-15]等,上述结构单元在图片归类问题中达到了不俗的成绩。解决分类问题与语义分割问题的关键之一均是获取准确的高级语义信息,因此其在语义分割任务当中同样能有效地提取语义特征信息,例如在轻量级语义分割网络DFANet[16]中就使用了深度可分离卷积这一概念。为降低计算成本,快速语义分割网络常采用的思路有:

1)通过修剪或插值来限制输入图片尺寸。虽然这种方法简单明了,但是舍弃部分空间信息必然让预测结果打折扣,尤其是在图片的边界部分。

2)通过降低卷积层特征图维度加快处理速度,尤其是在网络骨干的初始阶段[6],但是这同样会弱化图片局部信息的提取,一开始就被舍弃的信息在后续解码阶段难以恢复。

3)追求紧凑的网络结构而简化编码阶段。ENet[17]减少了下采样次数导致网络的感受野不足以覆盖大尺度物体,鲁棒性较差。

2 模型结构

2.1 总体结构

鉴于深度卷积网络普遍存在计算耗时的问题,本文综合考虑各种网络结构,最终采用双路径策略,分别对输入图像的空间信息和语义信息进行处理,如图1所示。

图1 网络总体结构图

在处理空间信息的细节分支中,为了避免牺牲低层粗糙的局部信息来加速网络运行速度,通过设计一种快速注意力机制来提高网络提取特征的效率;在获取高层语义信息的语义分支中,为了在保证该分支足够轻量的同时使网络具有足够的感受野,通过设计一种特征聚合扩展模块来增强网络对高级语义信息的感知。与同时提取空间位置边缘信息和高层语义信息的单通道编码器网络相比,双路径网络可以针对2种不同特征信息的特点分别设计网络结构,避免为了兼顾2种信息的提取而复杂化网络结构。除此之外,单通道网络中流动的特征图由于同时具有上述2种特征而普遍具有较大的空间尺寸和较宽的特征通道,从而导致较大的内存占用和运算成本,然而在本文设计的双路径网络中,每个分支中流动的特征图只关注于一种特征信息而具有较小的规模,因此本文采用的双路径结构可以保证总体网络的轻量性。

2.2 快速注意力模块

为了提高捕捉空间位置信息的能力,本文对自注意力机制的快速性进行改进。

对于特征维度为c,尺寸之积(h×w)为n的特征图,自注意力机制将捕获的每个像素非局部上下文信息表示为特征图中所有位置上的特征加权和。将上述特征图平铺,表示为X∈Rn×c,自注意力模型使用3个1×1的卷积核对其进行编码,输出的特征图分别称为Value Map(V∈Rn×c)、Query Map(Q∈Rn×c′,c′为降低计算量的过渡特征维度)和Key Map(K∈Rn×c′),其中特征图V包含了每个像素的语义信息而特征图Q和K被用来构建像素之间的相关性。softmax函数经常被用来作为相似性建模函数,因此被广泛使用的自注意力响应为:

Y=softmax(Q·KT)·V

(1)

(2)

由于在softmax函数中存在归一化项,在计算式(1)时需要首先计算矩阵Q和KT的内积,再计算它们的矩阵外积,计算复杂度为O(n2c)。

本文通过替换softmax函数来降低计算复杂度,实际上在文献[18]中指出有很多相似性函数可供选择,例如点积相似度:f(Q,K)=Q·KT。但是由于矩阵Q和K中的值大小不固定,应首先对其进行逐通道归一化,点积相似度函数也因此转变为余弦相似度函数:

(3)

考虑到矩阵的尺寸中n≫c,可以通过矩阵乘法的结合律改变式(3)中矩阵计算的顺序:

(4)

图2 快速注意力模块网络结构

不失一般性,经过上述改进后的快速注意力机制的计算复杂度降低到O(nc2)。

2.3 内嵌上下文模块

为了在语义特征图众多特征维度中突出对语义类别预测更具影响的通道,本文结合通道注意力机制对特征图进行优化,并将该网络结构称为内嵌语境模块。该模块主要由全局平均池化和一个残差连接组成,如图3所示。使用全局平均池化将每一维度的特征切片映射为一个值来构建特征通道间的相关性[19],完成由空间域到通道域的转变,使网络在更全面的角度对特征图各维度重要程度进行判断。最终将描述通道相关性的向量通过残差连接对原始输入特征图加权,起到抑制无用信息,突出有效信息的作用。

图3 基于通道注意力机制的内嵌上下文模块网络结构

2.4 损失函数

语义分割系统应当对每一类别采取同样的重视程度才能保证分割的准确性。为了应对类别不均衡的情况,本文在交叉熵损失函数中加入基于不同类别所占比重计算的权重模板ωc。每一类别的权重通常由类别关注度除以该类样本所占数据集比例的计算方式得到。

样本的类别属性除了由标签提供的语义类别外,还可以分为容易被分类样本和难以被分类样本[20]。可通过softmax分类器预测的所属类别概率区分难易样本。在损失函数中针对难易样本进一步加入权重因子。本文所使用的交叉熵损失函数最终形式如下:

(5)

3 实验结果与分析

实验环节中,硬件环境为Intel Core I7-8700、GTX1080Ti,软件环境为Python3.6、Pytorch1.6。对网络模型的训练验证均使用Cityscapes数据集。

3.1 网络模型训练过程

网络模型训练环节中,训练批量大小为8,初始学习率设置为0.005,在学习过程中动态调整学习率。使用普通交叉熵损失函数和抑制性权重交叉熵损失函数(式(5)中常量γ为0.6)分别对网络模型进行训练,模型收敛情况如图4所示。可以看出使用改进后的权重交叉熵损失函数可以加快网络模型的收敛速度并收敛在更小的数值上,在学习过程中产生的震荡现象也有所缓解,表明改进后的损失函数能够更有效地引导网络学习过程,提高了网络对不同语义对象的分辨能力,同时对网络中各神经元权重在梯度下降环节中避开局部极小值点也有所帮助。

图4 不同损失函数下模型训练过程对比

3.2 消融实验

图5对比了经过快速注意力模块优化前后特征图的可视化结果。图中重要对象的区域被赋予更高的关注度,因此可视化后亮度也较大,而部分纹理区域则显示较暗,对应于注意力机制突出有效信息而抑制无用信息的特点,充分说明了本文设计的快速注意力模块具有重要的作用。

图5 特征图可视化对比

图6展示了内嵌上下文模块对网络分割结果的影响。经过注意力机制增强后的特征图分割结果中,各个对象的边界分割更为准确,同一语义对象内部出现歧义的现象也较为改善。由于一般图像中的远处物体尺寸较小,编码阶段其特征响应往往不够明显。经过自注意力机制的优化调整,图像语义分割网络对尺寸较小的语义对象敏感度提升,侧面提高了网络模型的泛化性。因此本文设计的快速注意力模块可以有效地提高网络模型输出结果的准确度。

图6 内嵌上下文模块有效性对比

3.3 对比实验

为了验证本文设计的轻量级网络结构的快速性,对不同语义分割网络的参数量、推理速度进行统计,如表1所示。经典的语义分割网络DeepLab[21]、PSPNet[22]与实时语义分割网络相比,它们在分割准确度上具有明显的优势,但是这些执行算法都需要硬件平台具有足够的浮点计算能力并占用较大内存空间,很难被实际部署在各种硬件资源极其受限的移动开发平台上。在近些年来众多轻量级语义分割网络中,本文设计的网络以很低的计算成本为代价取得了较高的分割准确度,同时拥有较小的内存占用和浮点计算力要求,在GTX1080Ti显卡上的推理速度可以达到每秒25帧图像以上。

在所选数据集中对19种语义对象进行分割,本文设计的网络对大部分类别的分割都具有较高的精度,表明针对类别不均衡现象采取的损失函数策略较为有效。与基于单路径编码器-解码器结构的网络ENet和SegNet相比,本文网络对所有类别的交并比(Intersection over Union, IoU)均有较大提升。与同为双路径编码器结构的BiSeNet[23]相比,本文网络在部分重要类别中进一步提升了IoU,如信号灯、交通标志、骑手、摩托车等。

表1 提出的网络与其他语义分割网络在Cityscapes验证集上的性能对比统计

4 实物验证

当前对语义分割算法的研究大部分是通过高性能的计算机来完成对网络模型的训练及网络推理性能的评估,而语义分割技术的实际应用中需要将网络模型迁移到不同的任务平台中。本文选取英伟达公司推出的Jetson TX1嵌入式开发平台完成语义分割模型在实际场景中的性能验证。借助半浮点精度技术(fp16)和TensorRT引擎的加速,本文搭建的语义分割网络在嵌入式环境下对512×1024分辨率图像的处理速度达到了10 fps,对真实场景的分割效果如图7所示。

图7 校园道路场景语义分割结果展示

对于未出现在Cityscapes数据集中的国内路况场景,本文搭建的图像语义分割网络能够准确地分割汽车、摩托车及行人等自动驾驶任务中较为敏感的对象,且对相同对象多尺度、多角度情况具有自适应能力。对于道路与人行道之间的界限也能准确地区分,同时还具备分辨较远目标的能力。此外,观察涵洞内的分割结果可以看出,网络对亮度变化具有一定的鲁棒性。同时,网络对不同光照条件下产生的阴影不敏感,能够准确分割车道线。总体上,本文设计的网络模型具有较强的泛化性能,在复杂场景下的语义分割能力具有较高的准确度。

5 结束语

为了确保自动驾驶汽车的安全行驶,车载自动驾驶系统需要同时处理多种子任务来控制车辆的行驶,分配到处理语义分割任务的硬件资源将极其有限,因此语义分割算法的空间与时间复杂度不宜太高。在车载计算平台中,考虑到空间、能耗等成本因素而无法携带高性能的电脑,小巧便携的嵌入式计算平台凭借其自身轻便低功耗的特点被广泛应用在各种移动开发场景中。针对上述情况,本文搭建了一个轻量级语义分割网络,在Cityscapes验证集上达到了73.9%的分割准确度,在TX1嵌入式开发平台中的处理速度达到了10 fps,满足了自动驾驶系统对语义分割任务的准确性和实时性要求。

猜你喜欢
解码器编码器注意力
让注意力“飞”回来
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于FPGA的同步机轴角编码器
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
基于PRBS检测的8B/IOB编码器设计
A Beautiful Way Of Looking At Things
JESD204B接口协议中的8B10B编码器设计
电子器件(2015年5期)2015-12-29 08:42:24