邵一鸣,张志佳,徐佳锋,贺继昌,王士显
(1.沈阳工业大学a.信息科学与工程学院;b.人工智能学院,沈阳 110870;2.沈阳市信息感知与边缘计算重点实验室,沈阳 110870)
基于视觉的地面交通标志识别是现代驾驶辅助系统中重要的组成部分,地面交通标志信息约定了汽车的基本行驶规范。无人驾驶汽车通过实时检测的车道信息、斑马线区域、车道导航箭头信息,将当前路况的信息传入车载计算机,配合GPS 导航、高精度地图技术与路径决策模块进行相应的路径规划,为无人驾驶的自主导航系统提供控制依据[1]。因此,地面交通标志的识别对于无人驾驶技术的研究具有重要价值与意义。
近年来,深度学习技术在自动驾驶等许多场景中得到广泛应用[2-3]。地面交通标志识别多采用深度学习技术中的语义分割方法实现,目前的语义分割模型多是对道路场景中的行人、车辆和车道线等目标进行分割,缺少单一模型对多类别地面交通标志分割的研究[4-7]。并且一些模型都是基于传统的语义分割模型创建设计,缺少根据地面交通标志的形状特点改进设计的分割模型,存在目标分割不足,像素较少的远距离交通标志分割不完整,甚至误分割的问题。
针对上述问题,提出了一种基于深度学习的地面交通标志分割模型。模型的主干结构仅由四组卷积层构成,并利用多分支结构对其进行改进,构建重参数Vgg模块(Repvgg block)[8],增强主干结构的特征提取能力,获取更多的地面交通标志的边缘细节信息。针对地面交通标志的形状特点,根据DAB-Net中的DAB module[9]改进设计了具有倒残差结构的条形特征提取单元(IDAB module),并堆叠形成条形特征提取模块(IDAB block)。在获取不同特征图感受野的同时,提取更多的上下文信息,提高模型对远距离像素较少目标分割的准确性。为了进一步细化该模块,在结构末尾中添加了通道SE 注意力机制单元[10],监督引导上下文信息的获取,帮助模型更集中对地面交通标志特征的学习。实验结果表明,本文模型在地面交通标志数据集上测试精度mIoU 最高可达到79.7%,并且对像素较少的远距离交通标志分割不完整问题有所改善。
深度学习的发展促进了地面交通标志识别的研究,利用深度学习技术对地面交通标志的识别主要采用基于目标检测和语义分割方法。由于地面交通标志形状多为长条形,车道线等标志分布较长,目标检测方法并不适用于对连续目标的检测识别。语义分割方法是对图像像素级的分类,通过对每个像素赋予标签类别,从而分割出不同种类的地面交通标志,分割结果可以提供标志的轮廓信息。近年来的地面交通标志识别对象主要以车道线居多,其他地面交通标志的较少。文献[11]针对转弯车道箭头的检测和分类性能低的问题,提出了先利用FCN 全卷积网络模型,将所有转弯车道箭头按像素分割为同一类兴趣区域(ROI),再利用设计的级联分类器,对左转弯、右转弯和连续中央转弯车道(Continuous Central Turning Lane,CCTL)3 种导向箭头标志实现分类识别。文献[7]将传统的卷积连接层(layer-by-layer)转变为片连片的(slice-by-slice)的形式,使得图中像素行与列之间能够传递信息,设计实现了SCNN(Spatial CNN)模型完成了车道线的分割识别。文献[12]提出快速车道线检测模型UFSA(Ultra Fast Structure-aware),该模型将车道线检测任务作为在图像中某些行上寻找车道线位置的集合,把图像网格化,根据图像全局的特征在同一行上做分类处理,将车道线检测定义为寻找车道线在图像中某些行位置的集合,即基于行方向上的位置选择、分类。文献[13]提出了基于自注意力的车道线检测模型,作者通过给模型设计了ESA(Expanded Self
Attention)模块来增强全局信息,该模块使用车道线预测结果的置信度来表示对预测出来的车道线的确定程度,缓解了车道线遮挡、缺失、模糊等情况下识别精度低的问题。文献[14]提出了跨层细化车道线检测模型,使用一个FPN 网络去提取图像特征,之后在每个特征层上去优化车道线的回归结果,而当前特征层的回归结果会被下一阶段的细致优化所采用,从而实现车道线的级联优化。
如图1 所示为地面交通标志分割模型的整体结构,模型整体采用直筒型设计,由少量的重参数化Vgg模块(RepVgg Block)和条形特征提取模块(IDAB Block)组成。其中每组条形特征提取模块包含多个条形特征提取单元,用于捕获更多的地面交通标识的上下文特征信息。并且条形特征提取模块的输入特征与最后一组条形特征提取单元输出进行拼接,以此帮助模型融合高层特征和低层特征,加强地面交通标志特征的空间关系和特征传播。为了补偿下采样过程中的信息损失,将输入图像下采样至不同的尺度,与每个下采样模块以及最后一个条形特征提取模块的输出构建跨层拼接。最后对输出特征图进行上采样操作,恢复为输入图像尺寸,以此对图中的像素进行分类预测,最终构成地面交通标志分割模型。设输入图像大小为1 024 ×512,地面交通标志分割模型结构参数如表1所示。
表1 地面交通标志分割模型结构参数
图1 地面交通标志分割模型结构
地面交通标志分割模型的主干结构并没有基于如MobileNetv2[15]等针对分类任务的轻量化网络建立,仅由四层卷积构成,用于提取最初的地面标志特征,如图2(a)所示。其中第一层的卷积核大小7 ×7,步长为2,后3 层的卷积核为3 ×3,步长为1。为了进一步提高模型的特征表达能力,在3 组普通卷积层的基础上增加了1 ×1 卷积分支和残差分支,构建具有多分支结构的重参数化Vgg模块用于模型训练。
图2 地面交通标志分割模型主干结构
虽然多分支结构可以提高模型的性能精度,但无疑会增加整体的推理速度和内存占用率。因此,为了保证模型的性能,在推理测试时采用结构重参数方法[8],将多分支结构融合为如图2(b)所示的单路结构,以此节省内存,大大提高推理效率。
在进行多分支融合时,结构重参数化主要分为两步,第一步是将卷积层(Conv2d)和批归一化层(Batch Normalization,BN)转换为一个卷积层。在转换时,首先将卷积与BN层进行融合,然后把1 ×1 卷积和恒等映射分支分别变形为两种特殊卷积,前者变形为卷积核包含很多0 的3 ×3 卷积,后者变形为卷积核的中心为1,其余填充0 的3 ×3 卷积。
将图2 中紫色、黄色和蓝色框中的3 ×3 卷积分别记为K1、K2和K3,重参数化的多分支融合过程可如式(1)所示。其中,I表示输入特征图,O表示输出特征图,B1、B2和B3分别表示卷积的偏置。
由于重参数化Vgg 模块构成的主干结构简单,兼顾了多分支结构和单路结构模型各自的优势,减少了卷积过程中带来的信息损失,避免了梯度消失问题。推理时采用重参数化方法,在不降低推理效率的同时,帮助主干网络更好的提取地面交通标志的形状特征。
与其他道路交通标志牌相比,车道线、人行横道线标志等地面交通标志形状比较简单,多为长条形,在图像中分布较长,需要具有较大感受野的卷积进行特征提取,获取更多的上下文信息。因此,改进设计了具有倒残差结构的条形特征提取单元(IDAB module),并通过对其堆叠构建条形特征提取模块(IDAB block),帮助模型获取地面交通标志的全局特征。如图3 所示为条形特征提取单元的结构设计。
图3 条形特征提取单元结构
条形特征提取单元采用了轻量化卷积的设计方式,首先使用3 ×3 深度可分离卷积操作,并增加特征通道数。为了充分利用目标特征的上下文信息,帮助模型更好的提取地面交通标志长条类目标的特征[16],残差结构的中间卷积层由3 ×1 和1 ×3 非对称深度可分离卷积组成了两分支结构。其中的一条支路负责提取局部特征信息,另一条支路结合空洞卷积,增大卷积的感受野。然后对两条支路进行加和操作,并利用SE注意力机制单元赋予通道权重,使模型更加关注地面交通标志特征。最后通过1 ×1 卷积降维,恢复输入特征通道数,并与输入特征相加,构成具有倒残差结构的条形特征提取单元。
图3 中的d表示深度可分离卷积,D表示空洞卷积,c表示图像特征通道数。设输入特征图为xi∈Rc×h×w,输出特征图为yi∈Rc×h×w(c、h和w分别表示特征图的通道数,特征图映射的高和宽),则条形特征提取单元结构的操作过程如公式(2)所示。其中Fdp表示深度可分离卷积,Fasydp表示具有非对称的结构深度可分离卷积操作,Fasyddp表示具有非对称的结构空洞深度可分离卷积操作,F1×1表示1 ×1 卷积操作,Attse表示注意力机制操作。
如图1 所示,在多类别地面交通标志分割模型的整体结构中共有两个条形特征提取模块。其中,第1个模块由3 个条形特征提取单元堆叠组成,每个单元中空洞卷积的膨胀率为2,采用Concat 方式将浅层特征与深层特征进行融合。第2 个模块由5 个条形特征提取单元堆叠组成,每个单元中的空洞卷积膨胀率分别为{4,4,8,8,16},同样采用Concat方式融合了浅层与深层的语义特征信息。
由于训练集中地面交通标志类别较多,不同种类标志所占用的像素面积各异,因此,本文采用OHEM交叉熵损失(online hard example mining)[17]作为优化地面交通标志分割模型的损失函数,帮助模型在训练过程中更加关注困难样本的学习,并对其施加更高权重。交叉熵损失函数(BCE Loss)的计算公式如(3)式所示。其中ytrue表示真实标签的值取值为0 或1,ypred表示模型预测像素属于某一类别的概率值(ypred∈[0,1])。
本文利用文献[18]中增加了地面类别标签的百度地面交通标志数据集[19]用于模型的训练和测试。如表2 所示,地面交通标志数据集共有15 类地面交通标志,主要包含车道线、停止线、人行横道线、导航转向标志等其他地面交通标志。数据集经过清洗筛选,剔除过度曝光的图像,等间隔地选取982 张图像作为验证集,其余8 834 张图像作为训练集。由于原始图像大小为1 710 ×3 384,尺寸过大,且地面交通标志的区域集中在(700~1 300,500~2 800),所以在数据集图像中裁剪出(700~1 300,500~2 800)ROI 区域作为训练数据,输入图像的大小为600 ×2 300。
表2 地面交通标志数据集验证结果
实验的平台环境采用NVIDIA GeForce RTX 3090 GPU以及CUDA 11.4、CUDNN 8.2 和Pytorch1.8 组成的系统框架。实验中采用了随机下降梯度(SGD)的优化方法(batch size为8、动量为0.9、权重衰退为0.000 1)和二项式衰减策略(初始化学习率为0.045、动量为0.9、损失函数选用OHEM交叉熵损失)。在最大迭代次数设置为1 000 epochs 时,单次训练时间约为170 hours。
本文采用平均交并比(mean intersection over Union,mIoU)[20]作为地面交通标志分割模型精度的评价指标,其含义是计算真实值和预测值两个集合的交集与并集之比,计算公式如式(4)所示。其中,pii表示正确分类的像素个数,pij和pji分别表示假正和假负类像素个数,n为类别数。
3.4.1 模型性能对比
通过对地面交通标志分割模型的训练,得到了如表2 所示的各类别分割结果,验证集的平均mIoU 精度达到0.797。其中地面区域与车道线区域的mIoU
值较高,停车线与指示前方掉头标志的mIoU较低,原因是数据集中这两种类别的数据量较少,导致识别精度与其他类别相比较低。
为了验证地面交通标志分割模型的分割性能,本文在地面交通标志数据集进行实验,与其他轻量级语义分割模型进行了对比。
如表3 对比实验结果所示,本文提出的地面交通标志分割模型的mIoU 均优于其他分割模型。在512×1 024 尺寸的输入图片下,本文模型的mIoU 比STDC1-Seg50 和STDC2-Seg50 模型分别高出了7%和8.3%。在600 ×2 300 尺寸的输入图片下高于DABNet模型4.4%,参数量减少了10.6%。但由于模型中通道数的增加以及注意力机制的添加,导致模型的整体计算量上升,推理帧率FPS较慢。
表3 轻量级分割模型性能对比
通过实验发现,如模型STDC2-Seg50 对背景单类别的分割IoU指标平均可达到98.1%,高于本文提出的模型,但由于缺乏对于地面交通标志识别的模型设计,其他地面交通标志类别分割精度都较低,说明本文提出的模型更针对于地面交通标志的分割识别。
为了更直观的展示本文提出模型的优越性,将DABNet和本文模型的分割结果进行了可视化对比,如图4 和图5 所示分别为各类别标签的对应颜色和地面交通标志分割结果图。其中图5(a)、(b)、(c)和(d)分别为输入的原始图像、地面交通标志标签真值图、利用DABNet分割模型的分割结果以及本文模型对地面交通标志的分割识别结果图。
图4 各类别标签颜色
图5 地面交通标志分割结果
由图5(c)、(d)可见,如对于图5 中第一排远距离的黄色人行横道线和第4 排远距离横向的蓝色车道线DABNet对其均无法分割,结果图中误分割为地面类别。对于第2 排近距离的直行绿色箭头标志和指示直行或左转的紫色箭头标志,由于其形状类似,DABNet误将其分割为同一类别且分割不完整。
本文模型能够正确分割出这4 类地面交通标志,说明本文提出的改进设计有效缓解了像素较少的远距离标志分割不完整和误分割的问题,并且在不丢失细节信息的情况下,保证了近距离标志分割的完整性。
3.4.2 消融实验
为了验证不同模块对模型的有效性,以及对地面交通标志分割的优势,对模型中不同模块组合设计了消融实验,以DABNet为基准模型,表4 为消融实验的结果。
表4 模型中不同模块的消融实验对比
如表4 所示,在模型分割精度mIoU方面,由于重参数化Vgg模块具有多分支结构,能够增强模型的表征能力,在测试时,相对于基准模型上涨2.1%。在添加了条形特征提取单元后,由于通道数翻倍增加,丰富了地面交通标志的特征信息,进一步上涨1.4%。由于SE注意力机制单元可以自适应的校正通道特征,帮助模型保留有价值的特征,在添加该模块后,相对于基准模型最终mIoU增涨4.3%。
在模型推理速度FPS 方面,由于在条形特征提取模块中,特征图的通道数增多并添加了注意力机制,使得模型的整体计算量增加,mIoU虽然可到达79.7%,经过结构重参数话后的推理速度仅有16.7FPS。在不添加SE注意力机制的情况下,模型的分割精度mIoU仅减少0.9%,并保持了40.3FPS的推理性能。
由于在第2 个条形特征提取模块中采用膨胀率r为{4、4、8、8、16}的逐层扩大膨胀率的空洞卷积,为了验证这种设计的有效性,以及对地面交通标识分割的优势,本文设计了对比实验,研究空洞卷积扩张率对模型分割精度和的影响。
表5 为条形特征提取模块消融实验结果。在实验1 中,将条形特征提取模块中所有空洞卷积的膨胀率r都设置为4。实验2 仅采用普通的卷积,不设置膨胀率r。实验3 根据文献[27]提出的混合空洞卷积组合也有利于提取全局特征信息,设置了膨胀率r为{3、3、7、7、13}的膨胀速率组合实验。通过表5 可知,在模型分割精度mIoU方面,设置不同膨胀率r的实验1、3、4模型表现都要比实验2 没有设置膨胀率r的模型高,分别高出1.6%、8.7%和9.3%。实验3 比实验4 只降低0.6%,表明在设置空洞卷积参数时,不同膨胀率可以获得多尺度的感受野,膨胀率的组合对于模型精度的提升更加有效,膨胀率r 设置为{4、4、8、8、16}更有利于模型对地面交通标志的分割。
表5 条形特征提取模块消融实验结果
为了实现多类别地面交通标志的识别,解决目前基于语义分割方法实现地面交通标志分割不足的问题,本文提出了一种多类别地面交通标志的分割模型。通过对主干网络的重新设计,在普通卷积层中加入多分支结构用于训练,增强模型的低层特征提取能力。同时,针对地面交通标志形状特点,改进设计了具有倒残差结构的条形特征提取单元,在保留了模型具有多尺度感受野的同时,增加对上下文特征信息的获取能力,并在此基础上添加SE 通道注意力机制,赋予特征图通道不同权重,使模型更加关注于学习地面交通标志的特征。在推理时采用结构重参数化方法,将主干网络的多分支融合为单支结构,以此提高模型的推理速度。本文提出的模型在地面交通标志测试数据集上实现了15 类地面交通标志的分割识别,语义分割评价指标mIoU精度最高达到0.797,并通过设计对比实验和结构的消融实验,验证本文模型针对地面交通标志分割的有效性。