浙江大学学报(工学版), 2025, 59(4): 769-777 doi: 10.3785/j.issn.1008-973X.2025.04.012

计算机技术与控制工程

基于轴向注意力的多任务自动驾驶环境感知算法

李沈崇,, 曾新华,, 林传渠

1. 湖州师范学院 信息工程学院,浙江 湖州 313000

2. 复旦大学 工程与应用技术研究院,上海 200433

Multi-task environment perception algorithm for autonomous driving based on axial attention

LI Shenchong,, ZENG Xinhua,, LIN Chuanqu

1. School of Information Engineering, Huzhou University, Huzhou 313000, China

2. Academy for Engineering and Technology, Fudan University, Shanghai 200433, China

通讯作者: 曾新华,男,研究员. orcid.org/0000-0002-3903-0392. E-mail:zengxh@fudan.edu.cn

收稿日期: 2024-01-22  

基金资助: 国家自然科学基金资助项目(62373148).

Received: 2024-01-22  

Fund supported: 国家自然科学基金资助项目(62373148).

作者简介 About authors

李沈崇(1997—),男,硕士生,从事智能信息处理研究.orcid.org/0009-0004-3041-2636.E-mail:994930867@qq.com , E-mail:994930867@qq.com

摘要

为了满足自动驾驶要求并提升多模型间的协同效果,基于共享主干网络提出新的算法. 为了提升模型的位置表达能力,将轴向注意力机制加入主干网络,在保持轻量化特征提取的前提下建立全局关键点间的联系. 在多尺度信息提取阶段,引入自适应权重分配方法和三维注意力机制,降低不同尺度特征间的信息冲突. 根据难分样本区域优化损失函数,加强所提算法在难样本区域的细节识别能力. 在BDD100K数据集上的实验结果表明,相比YOLOP,所提算法在交通目标检测任务中的平均精度均值(在IoU=50%的情况下)提高了3.3个百分点,在道路可行驶区域分割任务中的mIoU提升了1.0个百分点,车道线检测准确率提升了6.7个百分点,推理速度为223.7帧/s. 所提算法在交通目标检测、可行驶区域分割和车道线检测任务上了均表现出良好的性能,能够较好平衡检测精度与推理速度.

关键词: 多任务学习 ; 目标检测 ; 语义分割 ; 自动驾驶 ; 特征融合 ; 轴向注意力

Abstract

A new algorithm was proposed based on a shared backbone network to meet the autonomous driving requirements and to improve the synergy effect among multiple models. An axial attention mechanism was added to the backbone network, and connections between global key points were established while maintaining lightweight feature extraction to enhance the location representation of the model. The adaptive weight allocation method, along with the implementation of a three-dimensional attention mechanism, was devised to mitigate the information conflict that emerges from the diverse scale features present in the multi-scale information extraction phase. The loss function was optimized based on the challenging sample region, and the capacity of the proposed algorithm to capture intricate details in the difficult sample region was strengthened. Experimental results in the BDD100K dataset showed that compared with YOLOP, the proposed algorithm improved the mean average accuracy in the traffic target detection task (at IoU=50%) by 3.3 percentage points, the mIoU in road drivable area segmentation task by 1.0 percentage points, the accuracy of lane line detection by 6.7 percentage points, and the reasoning speed was 223.7 frames per second. The proposed algorithm demonstrates excellent performance in traffic target detection, drivable area segmentation, and lane line detection, and achieves a good balance between detection accuracy and reasoning speed at the same time.

Keywords: multi-task learning ; object detection ; semantic segmentation ; automatic driving ; feature fusion ; axial attention

PDF (4344KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

李沈崇, 曾新华, 林传渠. 基于轴向注意力的多任务自动驾驶环境感知算法. 浙江大学学报(工学版)[J], 2025, 59(4): 769-777 doi:10.3785/j.issn.1008-973X.2025.04.012

LI Shenchong, ZENG Xinhua, LIN Chuanqu. Multi-task environment perception algorithm for autonomous driving based on axial attention. Journal of Zhejiang University(Engineering Science)[J], 2025, 59(4): 769-777 doi:10.3785/j.issn.1008-973X.2025.04.012

环境感知是自动驾驶的先决条件,摄像头获得的道路图像信息为车辆动作提供决策依据,保证车内人员在自动驾驶中的安全性和舒适性[1]. 在复杂的交通环境中,自动驾驶车辆如何快速准确识别道路信息以及行人、车辆和障碍物的位置和类别是亟待解决的问题.

在交通任务场景中,现有技术处理交通目标检测、可行驶区域分割和车道线检测等3种单独任务水平已达到较高水平. 目标检测模型根据处理流程的不同分为以SSD[2]、YOLO[3-7]系列为代表的单阶段模型与Fast R-CNN[8]、Faster R-CNN[9]为代表的双阶段模型. 单阶段目标检测模型是端到端的方法,直接在输入图像上生成目标的边界框和类别标签;双阶段目标检测方法须通过感兴趣区域的分类和回归得到最终的目标检测结果. 一般来说,单阶段目标检测检测速度较快,精度相较偏低,双阶段模型与之相反,因此单阶段模型往往更符合实际需求. 在语义分割研究方面,Chen等[10]提出DeepLab图像分割模型,对VGG网络(visual geometry group)进行改写,将该网络最后的2个池化层替换成空洞卷积以增加感受野,引入条件随机场以提高分割精度. 为了适应不同分辨率的目标,Lin等[11]提出RefineNet,以多路径的方式提取网络特征,利用多级抽象特征进行高分辨率的语义分割,以递归方式细化低分辨语义特征和细粒度低级语义特征,生成高分辨率特征;Zhao等[12]提出的PSPNet利用金字塔池提取多尺度特征以提升检测性能. 为了提高网络实时性能,BiSeNet[13]利用空间路径和上下文路径双支结构,解决空间信息丢失和感受野收缩问题. Fan等[14]提出短期密集级联网络(short-term dense concatenate network, STDC),使用较少的参数提取多尺度特征,改进BiSeNet中的多路径结构,在提取底层细节特征的同时减少网络计算量. 在车道检测中,LaneNet[15]使用语义分割与像素聚类方法,进一步提高小目标检测准确度.

单一任务模型独立训练如交通目标检测、可行驶区域分割以及车道线检测等任务费时费力,不能挖掘任务间的潜在关系. 采用多任务模型共享主干网络的编码信息,既能够提取不同任务之间的潜在关系,又能够降低计算开销. Teichmann等[16]提出的MultiNet统一了分割、检测和分类任务,实现端到端检测,但是不支持车道线检测. Qian等[17]提出DLT-Net,通过上下文张量共享可行驶区域、车道线检测和交通目标之间潜在关系,但是编码器不够轻便,不利于模型实时推理. Wu等[18]提出多任务网络YOLOP来同时执行3个检测任务. YOLOP由1个用于特征提取的共享编码器和3个用于处理特定任务的解码器组成,它虽然优化了编码器和解码器结构,节省了计算成本,提升了模型实时性,但是未考虑类别不均衡导致的性能下降. HybridNets[19]将主干网络替换为EfficientNet-B3,颈部网络由特征金字塔网络(feature pyramid networks, FPN)替换为BiFPN,分割任务损失修改为Focal损失+Tversky损失,改善了多任务中类别不平衡问题,但是未利用全局上下文信息,致使全局空间位置信息缺失,模型的精度下降.

本研究提出基于轴向注意力的,能够同时处理交通目标检测、可行驶区域分割、车道线检测的多任务自动驾驶环境感知算法T-YOLOP. 虽然Transformer框架在计算机视觉领域取得颇多先进成果 [20-22],但是高计算成本和高内存须限制该框架在实时性模型中的应用. 本研究以轴向注意力机制代替Transformer,分别从水平、垂直方向作注意力,将全局信息处理能力引入编码器. 为了降低融合过程中不同尺度之间的语义冲突,设计自适应权重融合模块(adaptive fusion module,AFM),通过空间注意力实现自适应不同尺度信息,使用三维注意力精准定位交通目标. 采用轻量检测头进一步提高模型的实时性. 针对真实交通场景中道路类别和背景类别不平衡的问题,重新设计加权损失函数.

1. 算法设计

图1所示,T-YOLOP主要由3个部分组成. 1)生成多尺度特征的主干网络. 模型的复杂度会影响实时性,为了以较低的计算量实现输入图片的长距离上下文提取,仅在主干网络的P2层加入轴向注意力. 2)可以有效融合不同分辨率特征图的特征融合层. 利用空间注意和三维注意力有效融合细节信息丰富的高分辨率特征图和语义信息丰富的低分辨率特征图. 3)用于3个特定任务检测头的检测层. 目标检测层负责交通目标的识别;分割检测层有2个,分别负责车道线分割和可驾驶区域分割. 分割检测层对特征融合层中的抽象特征进行重新理解,生成最终的预测结果.

图 1

图 1   基于轴向注意力的多任务自动驾驶环境感知算法的网络结构

Fig.1   Framework of multi-task environment perception algorithm for autonomous driving based on axial attention


1.1. 主干网络改进

为了节约计算资源、挖掘不同任务间的潜在关系,不同任务将共享主干网络,这要求主干网络根据不同任务需求提取不同目标、不同尺度的特征信息,并且保持网络的实时性. YOLO系列的检测性能出色,为此将CSPDarknet[5]作为所提算法的主干网络,为了提高主干网络的特征提取能力,在跨阶段局部(cross stage partial, CSP)层添加轴向注意力,借此引入全局信息,引导不同任务更好拟合.

在真实驾驶场景中,微小物体、狭长道路和细窄车道线难以提取足够的高级语义信息和空间细节信息,如何在高效提取特征的同时保持模型轻量化成为亟待解决的问题. Sea-Former[23]中的Sea-Attention模块用轴向注意力机制代替传统的自注意力机制,兼顾了全局信息处理能力和低计算开销. 如图2所示为Sea-Attention模块结构,输入特征X尺寸大小为C×H×W,经过3个1×1卷积分别生成查询矩阵Q、索引矩阵 K、内容矩阵V,其中QK的尺寸大小均为Cqk×H×WV大小为Cv×H×W. 分别沿着水平和垂直方向提取轴向压缩信息,压缩公式分别为

图 2

图 2   Sea-Attention模块的网络结构

Fig.2   Framework of Sea-Attention module


$ {{\boldsymbol{z}}^{\mathrm{h}}_i} = \frac{1}{W}\sum\limits_{j}^W {{{\boldsymbol{x}}_{i,j}}} , $
(1)

$ {{\boldsymbol{z}}_j^{\mathrm{v}}} = \frac{1}{H}\sum\limits_{ i}^H {{{\boldsymbol{x}}_{i,j}}} . $
(2)

式中:W为特征图的宽度,${{\boldsymbol{z}}^{\mathrm{h}}_i} $为沿水平(宽度)方向进行平均池化结果,xi,j为特征图中第i行第j列的特征,H为特征图的高度,${{\boldsymbol{z}}_j^{\mathrm{v}}} $为沿垂直(高度)方向进行水平池化结果. 压缩后的轴向信息丢失原始的空间位置信息,为此额外加入固定长度的可学习位置编码来学习像素间的空间位置关系. 对压缩后的轴向信息进行自注意力操作,计算式为

$ \begin{split} {{\boldsymbol{y}}_{{\text{row}}}} = \sum\limits_{i = 1}^H {{\text{softma}}{{\text{x}}_i}({{({{\boldsymbol{q}}_{{\mathrm{h}},i}}+{\boldsymbol{r}}_{{\mathrm{h}},i}^q)}^{\mathrm{T}}} \times } ({{\boldsymbol{k}}_{{\mathrm{h}},i}}+{\boldsymbol{r}}_{{\mathrm{h}},i}^k)){{\boldsymbol{v}}_{{\mathrm{h}},i}}. \end{split} $
(3)

式中:qhkhvh 分别为QKV在水平方向上提取的轴向信息,${\boldsymbol{r}}_{\mathrm{h}}^q $${\boldsymbol{r}}_{\mathrm{h}}^k $分别为qhkh上的位置编码,其中qhkh${\boldsymbol{r}}_{\mathrm{h}}^q $${\boldsymbol{r}}_{\mathrm{h}}^k $尺寸大小均为Cqk×H×1,vh尺寸大小为Cv×H×1. 自注意力操作可以学习像素之间的空间位置关系,并利用这些关系来计算新的轴向信息. 沿垂直方向的计算式为

$ \begin{split} {{\boldsymbol{y}}_{{\text{col}}}} = \sum\limits_{j = 1}^W {{\text{softma}}{{\text{x}}_j}({{({{\boldsymbol{q}}_{{\mathrm{v}},j}}+{\boldsymbol{r}}_{{\mathrm{v}},j}^q)}^{\mathrm{T}}} \times } ({{\boldsymbol{k}}_{{\mathrm{v}},j}}+{\boldsymbol{r}}_{{\mathrm{v}},j}^k)){{\boldsymbol{v}}_{{\mathrm{v}},j}}. \end{split} $
(4)

式中:qvkvvv 分别为QKV在垂直方向上提取的轴向信息,${\boldsymbol{r}}_{\mathrm{v}}^q $${\boldsymbol{r}}_{\mathrm{v}}^k $分别为qvkv上的位置编码,其中qvkv$ {\boldsymbol{r}}_{\mathrm{v}}^q$${\boldsymbol{r}}_{\mathrm{v}}^k $尺寸大小均为Cqk×1×Wvh尺寸大小为Cv×1×W.

$ {{\boldsymbol{y}}_{(i,j)}} = {{\boldsymbol{y}}_{{\text{row}}}}+{{\boldsymbol{y}}_{{\text{col}}}}. $
(5)

在自注意力中,每个像素都须对所有像素作二维注意力. 在轴向注意力中,每个像素分别沿着图像高度方向和宽度方向作一维注意力,通过组合2个方向的注意力在整个特征图上捕获全局上下文关系,同时将计算量由O((H×W)2)降到O(H×W). 为了保持特征图的空间细节,先将KQV在按通道维度上堆叠,再利用3×3卷积和批量归一化对空间信息进行编码,之后利用ReLU6激活函数、1×1卷积、批量归一化将通道数降至初始通道维度,最后将增强后的特征与轴向注意力获取的特征进行信息融合.

利用Sea-Attention模块对CSP结构进行改进,如图3所示. 图中,特征提取模块CBS由卷积层、批量归一化层以及SiLu激活函数组成. 特征进入CSP后分为2路,其中一路经由CBS层降维至原来的一半,为Sea-Attention模块减小计算压力;另一路经由CBS层在与前一路完成拼接后再经CBS输出.

图 3

图 3   改进的跨阶段局部模块结构

Fig.3   Structure of improved cross stage partial module


1.2. 多级特征融合模块

特征融合层对骨干网络提取的特征通常使用对尺度进行融合,PANet[24]为自顶向下和自底向上的双向融合结构,但是不同尺度的特征不相同,简单拼接不能够适应不同尺寸的特征差异. 进行PANet结构调整:在自顶向下特征融合过程中,采用自适应权重融合模块(adaptive-weight fusion module, AFM)代替原来的堆叠和卷积操作,利用类似空间注意力模块(spatial attention module, SAM)[25]的空间注意力机制寻找网络中最重要的部分. 通过低层细节信息与高层语义信息的交互,加强不同尺度特征图之间的信息交流,提高模型的检测能力. 如图4所示为基于空间注意力机制的AFM. 小尺度特征图经过双线性插值上采样到与大特征图同样的大小,分别对2个特征图进行最大池化和平均池化,获取图像空间特征. 接着通过1×1卷积降维生成权重矩阵,由Sigmoid函数将权重矩阵映射到0~1.0. 之后左分支输入特征乘以权重矩阵,右分支输入特征经上采样后乘以(1−权重均矩阵),将得到的2个加权后的特征相加的到融合后结果. AFM的主要作用是在特征解码生成特征图,融合来自不同来源的特征信息,通过自适应计算2个特征层权重得到较优的融合方式.

图 4

图 4   自适应权重融合模块结构

Fig.4   Structure of adaptive-weight fusion module


1.3. SimAM三维注意力机制

在真实交通场景中,交通目标样本分布极不平衡,在网络中加入注意力机制可以帮助模型过滤图片中大量无效信息,提取有用的关注对象,提升检测精度. 在网络中集成SimAM[26]三维注意力机制,可以提升检测头的抽象特征理解能力,进一步提高检测精度. 如图5所示,SimAM三维注意力机制根据输入特征中的参数推理出特征映射所需的三维注意力权重,再经过Sigmoid函数后与原始特征图逐元素相乘,实现特征的自适应细化. SimAM基于神经元间的重要性定义能量函数,用于推导三维注意力权重. 最小能量函数计算式为

图 5

图 5   SimAM三维注意力机制模块结构

Fig.5   Modular structure of SimAM 3D attention mechanism


$ e_t^* = \frac{{4({{\hat \sigma }^2}+\lambda )}}{{{{(t - \hat u)}^2}+2{{\hat \sigma }^2}+2\lambda }}. $
(6)

式中:t为输入特征,$ \hat u $$ {\hat \sigma ^2} $分别为特征输入单个通道上的均值和方差,常数$ \lambda $=1.0×10−4. 当神经元之间的联系越大,最小能量$e_t^* $越小,特征增强过程表达式为

$ {\boldsymbol{Y}} = {\text{sigmoid}}\left({1}/{{e_t^*}}\right) \odot {\boldsymbol{X}}. $
(7)

式中:Y为增强后的特征. 通过sigmoid函数限制$e_t^* $中可能出现的过大值来实现对输入的特征的限制.

1.4. 轻量检测头

为了实现快速推理,2个分割头均由3个卷积层组成,双线性插值上采样得到输入网络的图像大小. 考虑到车道线是较为细小的目标,在主干网络P2层引入补偿信息,以增强特征表达. 在检测头方面,采用无锚框的范式[27-28],结合如图6所示的解耦检测头方法在预测前解耦分类和定位的特征表达,降低两者在预测时的冲突,提升目标检测任务中识别准确率.

图 6

图 6   解耦检测头结构

Fig.6   Structure of decoupled detection head


1.5. 损失函数改进

采用端到端的训练方法和多任务联合损失函数. 本研究结合了3个任务,因此损失主要由3个部分组成,表达式为

$ {L_{{\text{all}}}} = {\lambda _{{\text{det}}}}{{{L}}_{\det }}+{\lambda _{{\text{da}}}}{{{L}}_{{\text{da}}}}+{\lambda _{{\text{ll}}}}{{{L}}_{{\text{ll}}}}. $
(8)

式中:$ {{{L}}_{\det }} $$ {{{L}}_{{\text{da}}}} $$ {{{L}}_{{\text{ll}}}} $分别为交通目标检测、可行驶区域分割、车道线检测的损失函数,权重$ {\lambda _{{\text{det}}}} $$ {\lambda _{{\text{da}}}} $$ {\lambda _{{\text{ll}}}} $分别设置为0.8、1.0、0.8. 目标检测任务的损失函数由3个部分组成:

$ {{{L}}_{\det }} = {\lambda _{{\text{box}}}}{{{L}}_{{\text{box}}}}+{\lambda _{{\text{dfl}}}}{{{L}}_{{\text{dfl}}}}+{\lambda _{{\text{cls}}}}{{{L}}_{{\text{cls}}}}. $
(9)

式中:$ {{{L}}_{{\text{box}}}} $$ {{{L}}_{{\text{dfl}}}} $为预测框损失函数,$ {{{L}}_{{\text{cls}}}} $为分类损失函数,权重$ {\lambda _{{\text{box}}}} $$ {\lambda _{{\text{dfl}}}} $$ {\lambda _{{\text{cls}}}} $分别设置为7.5、0.5、2.0. $ {{{L}}_{{\text{dfl}}}} $通过计算真实框与预测框的偏移量,使预测的边界框更接近实际边界框. 预测框回归$ {{{L}}_{{\text{box}}}} $使用完整交并比(complete intersection over union, CIoU),通过集成重叠、距离和纵横比一致性等来衡量预测边界框与地面实况边界框间的差异,使模型更精确地定位对象的形状、大小和方向. $ {{{L}}_{{\text{cls}}}} $使用二分类交叉熵损失(bin-ary crossentropy loss, BCEloss),$ {\lambda _{{\text{box}}}} $使用CIoU,为了加快无锚框方法训练速度,增加$ {\lambda _{{\text{dfl}}}} $,即分布焦点损失(distri-bution focal loss, DFLoss) [29].

$ {{{L}}_{{\text{cls}}}} = - ({y_n}\lg {x_n}+(1 - {y_n})\lg\; (1 - {x_n})), $
(10)

$ {{L}_{\text{dfl}}}({{S}_{i}},{{S}_{i+1}})=-(({{y}_{i+1}}-y)\lg ({{S}_{i}}\text{)+}(y-{{y}_{i}})\lg ({{S}_{i+1}})); $
(11)

$ {S_i} = \frac{{{y_{i+1}} - y}}{{{y_{i+1}} - {y_i}}},\;{S_{i+1}} = \frac{{y - {y_i}}}{{{y_{i+1}} - {y_i}}}. $
(12)

式中:y为边界框带小数的真实坐标, yi为真实坐标y向下取整,yi+1为真实坐标y向上取整. 在语义分割损失函数的设计上,原始损失函数BCELoss容易受类别不均衡影响,将它优化为在线难样本挖掘交叉熵损失函数(online hard example mining cross-entropy loss, OhemCELoss)[14]在线选择困难挖掘样本,其核心思想是在训练过程中选择损失值较大的难分样本进行模型的梯度更新,提高模型对难分样本的适应程度. OhemCELoss由交叉熵损失函数 (cross entropy loss,CELoss)改进而来:

$ {{{L}}_{{\text{CE}}}}(x,{\mathrm{cls}}) = - \lg \left( {{{{{\text{e}}^{x({\mathrm{cls}})}}}}\Big/{{\sum\nolimits_j {{{\text{e}}^{x(j)}}} }}} \right). $
(13)

式中:x、cls、j分别为是预测值、目标真实类别和所有真实类别. 若真实值与预测值越接近,则${{{L}}_{{\text{CE}}}} $越接近0. OhemCELoss在此之上额外加入2个超参数:最小训练阈值θ和最小训练个数α. OhemCELoss计算CELoss,计算结果排序取前α个像素,若当前α个结果都小于θ,则从最后一个小于θ和排在前面的结果进行梯度更新,否则训练前个α结果. 该操作保证了困难样本的训练,也保证了每次训练都有参数更新. 可行驶区域与车道线在图像中的占比不同,为此设置α分别为全图像素总数的1/2和1/16.

2. 实验结果

2.1. 数据准备

BDD100K为伯克利大学基于美国真实道路场景建立的自动驾驶领域的数据集,它包含不同地理位置、天气条件、环境背景的1.0×105张图像样本以及多样注释,数据集部分示例如图7所示. 该数据集共分为3个部分:包含7.0×104张图像样本的训练集,包含1.0×104图像样本张的验证集和包含2.0×104图像样本的测试集. 测试集的标签未对外公开,本研究将在该数据的训练集和验证集上对模型进行训练和评估.

图 7

图 7   BDD100K数据集中不同场景及天气图像示例

Fig.7   Examples of different scenarios and weather images in BDD100K dataset


2.2. 评价指标

在交通目标检测的子任务中,按照目标检测任务中广泛认可的召回率R和平均精度均值(在交并比IoU=50%的情况下)mAP50作为评估指标. 召回率衡量模型从总体中准确识别正例的能力;mAP50通过当IoU=50%时获取所有类别的平均精度来推导.

$ R = \frac{{{\text{TP}}}}{{{\text{TP}}+{\text{FN}}}}. $
(14)

式中:TP,FN分别为正确识别为真的数量和错误识别为假的数量. 在进行可行驶区域分割时,常使用的评估指标为mIoU. 在车道线检测任务中,前景和背景区域具有极大的不平衡性,本研究综合选择IoU和准确率Acc作为评估指标.

$ {\text{Acc}} = \frac{{{\text{TP}}+{\text{TN}}}}{{{\text{TP}}+{\text{TN}}+{\text{FP}}+{\text{FN}}}}, $
(15)

$ {\text{IoU}} = \frac{{{\text{TP}}}}{{{\text{TP}}+{\text{FP}}+{\text{FN}}}},\;\;{\text{MIoU}} = \frac{1}{k}\sum\limits_{i = 0}^k {{\text{Io}}{{\text{U}}_{{i}}}}. $
(16)

式中:TN,FP分别为错误识别为真的数量和错误识别为真的数量.

2.3. 实验环境与细节

实验环境为CPU英特尔i9-13900k,GPU为英伟达GeForce RTX 3090 24G,深度学习框架为Pytorch2.1.0,CUDA11.7,使用Aama 作为模型优化器,其中学习率为0.001,动量为0.937,权重衰减为0.000 5,β1=0.937、β2=0.999,批处理大小为48,训练迭代轮次epoch=240. 在模型训练阶段,数据集预处理在分辨率上由原始图像尺寸1 280×720×3 调整至 640×384×3,在数据增强方面加入随机缩放裁剪、平移旋转以及调整亮度、饱和度、色调. 在模型评估阶段,数据集预处理为由原始图像尺寸1 280×720×3 调整至 640×384×3,关闭所有图像增强方法,在目标检测子任务中将置信度阈值设置为0.001和非极大值抑制(non-maximum suppression, NMS)阈值设置为0.6.

2.4. 多任务网络实验与分析

为了验证T-YOLOP的实际性能,对端到端训练模型与相应任务中的其他代表性模型进行比较,分别通过消融实验和冻结训练来说明每个模块对网络的影响以及多任务网络学习的有效性.

2.4.1. 子任务对比实验

表1所示,在BDD100K数据集上比较不同算法处理交通目标检测子任务性能. 表中,带星号的算法为单任务模型,其他算法为多任务模型,FPS为推理速度. 由表可知,在召回率方面,所提算法相较Hybridnet下降了3.7个百分点,原因是所提算法没有单独对置信度损失进行训练. 在mAP50方面,所提方法处于领先,相较HybridNets高了2.5个百分点. 在处理帧率方面上,由于T-YOLO可以同时处理3个任务,在速度方面落后单个任务的YOLOv5s、YOLOv8s,但是在mAP50上是领先的,这说明T-YOLO在一定程度上学到了不同任务的潜在关系,提升了精度. T-YOLO虽然推理速度比不上单任务模型,但是领先了同为多任务模型的YOLOP和HybridNets. 同个数据集不同算法处理道路可行驶区域分割子任务的性能对比结果如表2所示. 由表可知, T-YOLOP的mIoU=92.5%,相比同为多任务模型的YOLOP、HybridNets,所提算法在精度与推理帧率上都更具优势. 对比单任务语义分割网络,T-YOLOP在精度上依然保持优势,在推理速度上逊色于轻量语义分割模型BiseNet和SDTC. 同个数据集不同算法处理车道线检测任务的性能结果对比如表3所示. 可以看出,HybirdNets在准确度和IoU上均达到最佳效果,对比表1中该算法的推理速度,HybirdNets提高检测精度是以推理速度下降为代价的;T-YOLOP在精度和准确率上均高于YOLOP,在准确度、IoU以及推理速度上达到了较好的平衡.

表 1   不同算法在BDD100K数据集上的交通目标检测结果

Tab.1  Traffic target detection results of different algorithms in BDD100K dataset

算法R/%mAP50/%FPS(帧·s−1
YOLOv5s*86.877.2458.5
YOLOv8s*82.275.1420.4
HybridNets92.877.369.6
YOLOP89.276.5214.5
T-YOLOP89.179.8223.7

新窗口打开| 下载CSV


表 2   不同算法在BDD100K数据集上的可行驶区域分割结果

Tab.2  Drivable area segmentation results of different algorithms in BDD100K dataset

算法mIoU/%FPS(帧·s−1
DeeplabV3(ResNet18)*88.23191.0
BiseNet(ResNet18)*89.67349.3
STDC(STDC1446)*91.06274.5
HybridNets90.569.6
YOLOP91.5214.5
T-YOLOP92.5223.7

新窗口打开| 下载CSV


表 3   不同算法在BDD100K数据集上的车道线检测结果

Tab.3  Lane line detection results of different algorithms in BDD100K dataset

算法Acc/%IoU/%
ENet*34.1214.6
SCNN*35.7915.8
ENet-SAD*36.5616.0
STDC*65.0523.8
HybridNets85.431.6
YOLOP70.526.2
T-YOLOP77.226.8

新窗口打开| 下载CSV


为了直观比较不同多任务算法在BDD100K数据集上任务检测效果,在同一张图片中可视化展示不同算法对不同任务的检测结果. 如图8所示为不同算法在白天道路场景的识别结果. 可以看出,相较YOLOP和HybridNets,T-YOLOP的可行驶区域分割结果更可靠,可以更好地识别出对向车道和可转弯的车道. 这说明所提算法对道路位置信息的理解能力高,原因是该算法加入的轴向注意力使得模型能够灵活地处理位置信息和全局信息. 观察最后一行图片可以看出,T-YOLOP有比YOLOP更好的远处小目标检测能力,HybridNet在目标检测任务中使用5个分支进行目标检测,因此该算法对小目标过于敏感,导致检测框冗余,综合来说T-YOLOP在检测车辆方面的准确性更高.

图 8

图 8   不同算法在白天道路场景中的交通环境感知对比

Fig.8   Comparison of different algorithms for traffic environment perception in daytime road scenes


图9所示为不同算法在夜晚城市道路场景的识别结果. 夜晚光线不足和城市灯光干扰给模型的准确识别带来很大的挑战,但是T-YOLOP得到了准确的可行驶区域分割结果. T-YOLOP准确识别了大货车后面的区域(首行图片),完整识别了中间行图片的整个车道. 相比YOLOP,T-YOLOP的准确识别性能得益于无锚框方法,如在首行图片中的大货车,T-YOLOP可以更好适应大目标检测. 最后一行图片的对比结果体现了算法在夜晚场景中的车道线检测结果的完整性.

图 9

图 9   不同算法在夜晚道路场景中的交通环境感知对比

Fig.9   Comparison of different algorithms for traffic environment perception in night road scenes


2.4.2. 消融实验

为了验证不同模块对网络性能的影响,对所提算法进行消融实验. 测试基准为CSPDarkNet骨干网络加上2个轻量分割头和1个基于锚框的检测头,损失函数与YOLOP设置一致,消融实验结果如表4所示. 在模型1(基线模型)上加入AFM后,模型2在车道线检测的准确率相比模型1的提升了1.8%,除模型推理速度有些许下降外,其他的指标均略有提升. 这说明引入AFM融合特征可以在不增加过多计算量的情况下,有效融合来自不同分辨率的特征图,以适应不同尺度的目标. 模型3在模型2的基础上改进了损失函数,车辆可行驶区域的mIoU提升0.7个百分点,车道线检测的准确率和IoU分别提升了2.1和1.2个百分点,表明将2个分割头损失函数换成OhemCELoss后,可以通过挖掘难样本来缓解道路区域与背景区域之间类别不均衡冲突,有效提升道路特征的提取能力. 相较模型 3,模型 4未启用AFM模块但采用改进的损失函数以及Sea-Attention模块,实现交通目标检测 mAP50提升0.4个百分点,车辆可行驶区域mIoU率提升0.1个百分点,车道线检测IoU提升0.9个百分点,二者在不依赖 AFM 多尺度特征融合前提下,仍实现特征表达能力的显著提升,验证了损失函数优化与 Sea-Attention 模块结合对多任务性能的协同增益. 模型5在模型3的基础上加入Sea-Attention模块,虽然推理花费时间略有增加,但是其他指标均有提升,其中交通目标检测中的mAP50提升1.5个百分点,道线分割准确率提高了2.2个百分点. 这表明主干网络中增加Sea-Attention模块后为模型注入全局信息,利用轴向注意力获取长距离依赖能够进一步提升模型检测能力. 模型6在模型5的基础上将损失函数换为原始损失函数,并引入无锚框检测头,除了推理速度有所提升,其他指标皆有下降,原因是恢复原始损失函数后,对样本的过度拟合使得道路边缘细节特征丢失,导致2个分割头性能下降,而无锚框检测头对中心点特征的强依赖,迫使特征提取网络更关注局部目标区域. 模型7在模型5的基础上将目标检测头由锚框换为无锚框,2个分割头在更换前后性能变化不大,在交通目标检测中召回率下降了1.6个百分点,换来的是mAP50提升1.6个百分点,模型推理速度上升. 分析原因:无锚框方法只在真实框的中心点附近预测,不在预设框中预测,导致单个真实框附近的预测框不如锚框的多,召回率下降. 为了改善使用无锚框方法带来的召回率下降,模型8在模型7的基础上加入SimAM注意力机制后,在目标检测任务中召回率提升了0.3个百分点,说明三维注意力集中于重点关注对象引导特征定位到准确的位置. 消融实验结果印证了本研究使用方法的有效性,在实现算法快速推理目的的同时保证了较高的精度.

表 4   所提算法的模块消融实验结果

Tab.4  Experimental results of modular ablation for proposed algorithm

模型编号AFMLossSea-AttentionHeadSimAMR/%mAP50/%mIoU/%Acc/%IoU/%FPS/(帧·s−1
189.676.291.169.824.1283.4
289.776.491.271.624.3260.9
390.177.091.973.725.5260.9
490.177.492.074.426.4239.9
590.478.592.375.926.5200.1
686.678.191.973.826.0228.7
788.880.192.577.326.8228.7
889.179.892.577.226.8223.7

新窗口打开| 下载CSV


利用可视化技术梯度加权类激活映射(gradient weighted class activation mapping, Grad-CAM)[30]对各子任务重点区域进行可视化操作,注意力关注区域细节如图10所示. Grad-CAM的优点是可以对训练好的权重中任意一层进行可视化,为了展示在主干网络中加入Sea-Attention模块前后各子任务的效果差异,将对3个子任务的检测层的第一层进行可视化操作. 由图10(b)可以看出,加入Sea-Attention后算法对交通目标的关注更加集中,交通目标检测中的前后景的区别能力得到改善. 由图10(c)可以看出,加入Sea-Attention后算法在可驾驶区域的关注更加重视当前行驶车道,说明Sea-Attention加入提高了算法提取车道高级语义信息的能力. 由图10(d)可以看出,加入Sea-Attention后,注意力更加重视车道线位置,提高算法对车道线的识别准确度.

图 10

图 10   加入Sea-Attention模块前后的热力图

Fig.10   Visualizations before and after adding Sea-Attention module


3. 结 语

针对YOLOP在处理交通场景中的微小、狭长目标时缺乏全局空间位置信息的问题,本研究以真实驾驶场景为基础,提出端到端的共享主干网络多任务检测算法. 通过在骨干网络中引入轴向注意力机制,分别从水平和竖直方向执行注意力操作,结合可学习的位置编码以获取位置信息,有效增强了全局空间信息的提取能力. 为了进一步提升模型的检测能力,加入自适应权重融合模块,根据不同尺度特征的重要程度自动调整不同尺度特征的融合权重,加入三维注意力机制改善模型检测召回率. 优化各子任务差异的损失函数,给予图像中难样本更高的权重,增强模型对图像细节的识别能力. 实验结果表明,在BDD100K数据集上,T-YOLOP有比其他多分任务算法更好的检测精度和推理速度,平衡性更强. 在未来的研究工作中,计划借助多模态融合技术,进一步提高算法的可靠性,优化边缘设备的性能.

参考文献

LIANG X, NIU M, HAN J, et al. Visual exemplar driven task-prompting for unified perception in autonomous driving [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Vancouver: IEEE, 2023: 9611–9621.

[本文引用: 1]

LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector [C]// Computer Vision – ECCV 2016 . [S. l.]: Springer, 2016: 21–37.

[本文引用: 1]

REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Las Vegas: IEEE, 2016: 779–788.

[本文引用: 1]

REDMON J, FARHADI A. YOLOv3: an incremental improvement [EB/OL]. (2018–04–08)[2024–03–08]. https://www.arxiv.org/pdf/1804.02767.

BOCHKOVSKIY A, WANG C Y, LIAO H M, et al. YOLOv4: optimal speed and accuracy of object detection [EB/OL]. (2020–4–23)[2024–01–22]. https://arxiv.org/pdf/2004.10934.

[本文引用: 1]

蒋超, 张豪, 章恩泽, 等

基于改进YOLOv5s的行人车辆目标检测算法

[J]. 扬州大学学报: 自然科学版, 2022, 25 (6): 45- 49

JIANG Chao, ZHANG Hao, ZHANG Enze, et al

Pedestrian and vehicle target detection algorithm based on the improved YOLOv5s

[J]. Journal of Yangzhou University: Natural Science Edition, 2022, 25 (6): 45- 49

韩俊, 袁小平, 王准, 等

基于YOLOv5s的无人机密集小目标检测算法

[J]. 浙江大学学报: 工学版, 2023, 57 (6): 1224- 1233

[本文引用: 1]

HAN Jun, YUAN Xiaoping, WANG Zhun, et al

UAV dense small target detection algorithm based on YOLOv5s

[J]. Journal of Zhejiang University: Engineering Science, 2023, 57 (6): 1224- 1233

[本文引用: 1]

GIRSHICK R. Fast R-CNN [C]// Proceedings of the IEEE International Conference on Computer Vision . Santiago: IEEE, 2015: 1440–1448.

[本文引用: 1]

REN S, HE K, GIRSHICK R, et al

Faster R-CNN: towards real-time object detection with region proposal networks

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39 (6): 1137- 1149

DOI:10.1109/TPAMI.2016.2577031      [本文引用: 1]

CHEN L C, PAPANDREOU G, KOKKINOS I, et al

DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40 (4): 834- 848

[本文引用: 1]

LIN G, MILAN A, SHEN C, et al. RefineNet: multi-path refinement networks for high-resolution semantic segmentation [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Honolulu: IEEE, 2017: 5168–5177.

[本文引用: 1]

ZHAO H, SHI J, QI X, et al. Pyramid scene parsing network [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Honolulu. IEEE, 2017: 6230–6239.

[本文引用: 1]

YU C, WANG J, PENG C, et al. BiSeNet: bilateral segmentation network for real-time semantic segmentation [C]// Computer Vision – ECCV 2018 . [S.l.]: Springe, 2018: 334–349.

[本文引用: 1]

FAN M, LAI S, HUANG J, et al. Rethinking BiSeNet for real-time semantic segmentation [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Nashville: IEEE, 2021: 9711–9720.

[本文引用: 2]

WANG Z, REN W, QIU Q. LaneNet: real-time lane detection networks for autonomous driving [EB/OL]. (2018–07–04)[2024–03–08]. https://arxiv.org/pdf/1807.01726.

[本文引用: 1]

TEICHMANN M, WEBER M, ZOELLNER M, et al. MultiNet: real-time joint semantic reasoning for autonomous driving [EB/OL]. (2016–12–22)[2024–03–08]. https://arxiv.org/pdf/1612.07695.

[本文引用: 1]

QIAN Y, DOLAN J M, YANG M

DLT-Net: joint detection of drivable areas, lane lines, and traffic objects

[J]. IEEE Transactions on Intelligent Transportation Systems, 2020, 21 (11): 4670- 4679

[本文引用: 1]

WU D, LIAO M W, ZHANG W T, et al

YOLOP: you only look once for panoptic driving perception

[J]. Machine Intelligence Research, 2022, 19 (6): 550- 562

[本文引用: 1]

VU D, NGO B, PHAN H. HybridNets: end-to-end perception network [EB/OL]. (2022–03–17)[2024–03–08]. https://arxiv.org/pdf/2203.09035.

[本文引用: 1]

DOSOVITSKIY A, BEYER L, KOLESNIKOV A, et al. An image is worth 16x16 words: transformers for image recognition at scale [EB/OL]. (2021–06–03)[2024–03–08]. https://arxiv.org/pdf/2010.11929.

[本文引用: 1]

CARION N, MASSA F, SYNNAEVE G, et al. End-to-end object detection with transformers [C]// Computer Vision – ECCV 2020 . [S.l.]: Springer, 2020: 213–229.

LIU Z, LIN Y, CAO Y, et al. Swin Transformer: hierarchical vision transformer using shifted windows [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Montreal: IEEE, 2021: 9992–10002.

[本文引用: 1]

WAN Q, HUANG Z, LU J, et al. SeaFormer++: squeeze-enhanced axial transformer for mobile semantic segmentation [EB/OL]. (2023–06–09)[2024–03–08]. https://arxiv.org/pdf/2301.13156.

[本文引用: 1]

LIU S, QI L, QIN H, et al. Path aggregation network for instance segmentation [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Salt Lake City: IEEE, 2018: 8759–8768.

[本文引用: 1]

WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module [C]// Computer Vision – ECCV 2018 . [S.l.]: Springer, 2018: 3–19.

[本文引用: 1]

YANG L, ZHANG R Y, LI L, et al. SimAM: a simple, parameter-free attention module for convolutional neural networks [C]// Proceeding of the 38th International Conference on Machine Learning . Vienna: ACM, 2021: 11863-11874.

[本文引用: 1]

DUAN K, BAI S, XIE L, et al. CenterNet: keypoint triplets for object detection [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 6569–6578.

[本文引用: 1]

ZHANG Y, ZHANG W, YU J, et al

Complete and accurate holly fruits counting using YOLOX object detection

[J]. Computers and Electronics in Agriculture, 2022, 198: 107062

[本文引用: 1]

LI X, WANG W, WU L, et al

Generalized focal loss: Learning qualified and distributed bounding boxes for dense object detection

[J]. Advances in Neural Information Processing Systems, 2020, 33: 21002- 21012

[本文引用: 1]

SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-CAM: visual explanations from deep networks via gradient-based localization [C]// Proceedings of the IEEE International Conference on Computer Vision . Venice: IEEE, 2017: 618–626.

[本文引用: 1]

/