1. 引言
近年来,随着地面交通网的不断完善与社会发展带来的出行里程激增,尽管车辆为出行提供了便利,但它们也引发了许多社会问题,比如交通拥堵和频繁的交通事故,这对人们的生命财产安全造成了巨大损失。同时,自动驾驶技术的发展可以显著提高交通系统效率,解决拥堵问题,增强驾驶安全,并解放用户的通勤时间[1],具有良好的发展前景。对道路场景进行准确检测,这对车辆能够安全正常行驶是非常重要的。
语义分割是一项核心的环境感知技术,能够实现对场景的深入理解[2],它可以对道路场景图像中的每个像素进行分类,将其归入相应的类别,从而实现像素级的分类,它能够为自动驾驶汽车提供关键的道路情况信息,来确保车辆安全行驶。
实例分割则进一步细化,它不但要实现像素级别的分割,还必须识别并预测各个实例的具体位置。这项任务具有较高的复杂性,涉及到智慧城市建设、医学图像分析以及自动驾驶等多个领域,且在这些应用场景中扮演着关键角色[3]。尽管实例分割技术取得了一定的进展,但仍面临若干挑战。因为在实际应用中,分割对象通常具有多层次的特征,光线和拍摄角度的变化可能导致目标形状的不同。此外,复杂和杂乱的背景也会给图像实例分割带来困难,所有这些因素都使得实例分割问题更加复杂。因此对道路场景下的实例分割算法进行研究,对于促进智能驾驶的快速发展以及减少交通问题具有重要的理论和实践意义[4]。
图像分割算法主要分为传统方法和深度学习方法两类。传统的图像分割算法基于图像的灰度[5]、彩色[6]、空间纹理[7]和几何形状[8]等特征,将图像划分为多个独立区域,在这些区域中,像素点的特征大体相似,而不同区域之间的像素特征存在明显差异。特征提取的方法可分为基于阈值、边缘和区域等分割方法。传统的分割方法通常基于图像的视觉特征,如灰度或颜色,然而这些方法在分割时容易受到光照和噪声的影响,在复杂场景中性能较差,难以满足所需的分割精度,因此适用性不强。随着大型图像检测数据集的公开和计算机性能的提升,基于深度学习的检测方法逐渐被研究者们所青睐。深度学习驱动的实例分割算法主要分为单阶段(one-stage)方法(如YOLACT [9] (you only look at coefficients)、SOLO [10] (Segmenting Objects by Locations)、YOLO [11]系列)和两阶段(two-stage)方法(如Mask-RCNN [12] (Region Convolutional Neural Networks)),这些方法在实例分割任务中表现出色,有效提升了分割精度。针对上述问题,本文基于YOLOv5网络进行改进,主要研究工作如下:
(1) 针对目前空间注意机制不能强调每个特征在接受域的重要性,不能完全解决大卷积核的参数共享问题,提出RFAConv [13]卷积结构并替换YOLOv5中FPN [14] (Feature Pyramid Network)和PAN [15] (Path Aggregation Network)特征融合模块中的部分卷积。RFAConv卷积不仅考虑了接受域中每个特征的重要性,而且提供了几乎可以忽略不计的计算成本和参数增量,帮助模型更好地处理不同大小、形状和复杂度的对象,提高模型在不同场景下的鲁棒性和泛化能力。
(2) 提出ShapeIOU [16]损失函数来优化边界框回归。本文使用ShapeIOU损失函数来替代原模型中CioU [17]作为边界框损失函数,通过聚焦边框自身形状与自身尺度计算损失,考虑边框其自身的形状与尺度等固有属性对边框回归的影响,使边框回归更为精确,有效提升检测效果。
(3) 本文在Cityscapes数据集上进行实验。设计消融实验来验证各个模块的有效性,并与其他分割模型进行对比,验证了本文所改进算法的高效性。
2. 相关工作
2.1. 基于深度学习的实例分割方法
实例分割按照算法实现框架可分为:两阶段实例分割算法和单阶段实例分割算法[18]。何凯明等人设计提出的Mask-RCNN的两阶段方法遵循先检测后分割的理念,它基于Faster-RCNN [19]另加入了一个分支网络,以输出目标对象的掩码,目的是在进行目标检测的同时,分割实例对象,比起类别标签或者检测框,掩码更加细粒度地提取实例对象的空间信息[20]。
YOLACT是首个达成实例分割的单阶段模型,它将实例分割划分为预测原型掩膜和掩膜系数这两个并行的子任务,提升了模型推理效率。后续WANG等提出的SOLO按中心位置和对象尺寸来区分并分割不同实例。SOLOv2 [21]在SOLO的基础上引入动态掩膜头和非极大抑制,减少了运算量,分割速度进一步提高。Poly-YOLO [22]采用类似极坐标变换的方式,获得不是mask的掩码输出来进行分割,不占用太大显存,让整个网络更快、更轻量。YOLOv5后的YOLO系列算法的分割思想均参照自YOLACT,其中YOLOv5s在工程中应用最广。以上实例分割方法的实时性符合需求,但在不同特征对目标的敏感性存在不足,导致分割精度方面仍存在局限[23]。
2.2. YOLOv5实例分割算法
YOLOv5属于单阶段网络,有四种型号:YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,主要取决于模型的深度、宽度[24],其中YOLOv5s模型的参数量最小,检测速度最快,可以最大程度地满足各种边缘设备的部署条件,综合考虑各模型的检测速度、模型大小及检测精度,本文选择YOLOv5s的7.0版本,其网络模型包括输入端(Input)、骨干网络(Backbone)、颈部网络(Neck)和输出端(Head)四部分。
YOLOv5s模型的输入端将输入图像调整为统一的640 * 640像素的网络输入,在训练过程中,YOLOv5s使用Mosaic数据增强[25]、自适应锚框计算和自适应图片缩放操作。骨干网络由CBS模块、C3模块和SPPF (Spatial Pyramid Pooling Fast)模块组成。其中CBS模块结构如图1所示,是骨干网络的基础性模块,包括对输入的特征图进行卷积、批标准化和SiLU激活函数操作;C3模块结构如图2所示,由3个CBS模块和1个BottleNeck_N层组成,主要学习残差特征,其中CBS模块是卷积层,Bottle Neck_N层用于压缩并恢复通道数;SPPF模块结构如图3所示,通过池化层融合多尺度特征。
Figure 1. CBS structure chart
图1. CBS结构图
Figure 2. C3 structure chart
图2. C3结构图
Figure 3. SPPF structure chart
图3. SPPF结构图
比起骨干网络,颈部网络的结构较为简单,主要包括C3模块、CBS模块、上采样(Upsample)模块和拼接层(Concat),构成了FPN + PAN结构,其中FPN层从顶部向下传达强语义特征,而PAN层从底部向上传达定位特征,以改善经过多层网络后的底层信息丢失的问题[26]。输出端有3个分支,从Neck模块输出的20 * 20、40 * 40和80 * 80大小的特征图去预测实例对象的类别概率、置信度和预测框坐标。ShapeIOU_Loss被用于边界框的损失计算,同时使用非极大值抑制(NMS)找出最佳的目标检测框,消除冗余的边界框。
3. 改进YOLOv5道路场景实例分割模型
本文基于YOLOv5算法,引入实例分割思想,加入RFAConv卷积,创新空间注意力机制,将空间注意力机制的焦点从空间特征转移到感受野空间特征上,从而有效理解处理图像中的局部特征信息,提高特征提取和融合精确性,能够更有效地处理图像中的细节和复杂模式,在识别和定位目标时更加精准,提升处理速度和效率,同时将原网络中的CIOU损失函数替换为ShapeIOU损失函数,优化边界框回归,有效处理细小目标和复杂边界的细节,提高模型在分割任务中的准确度。
3.1. RFAConv
注意机制使模型能够集中于显著特征上,增强了特征提取的效益和卷积神经网络捕获详细特征信息的能力,但是它也有一定的局限性,目前的空间注意机制不能强调每个特征在接受域的重要性,不能完全解决大卷积核的参数共享问题。而接受场注意(RFA),它全面地解决了卷积核的参数共享问题,并考虑了接受域中每个特征的重要性,有效地融合多尺度特征。同时,RFA设计的卷积运算(RFAConv)是一种开创性的方法,可以取代目前神经网络中的标准卷积运算。它提供了几乎可以忽略不计的计算成本和参数增量,同时显著提高了网络性能,本文使用RFAConv卷积替换Head模块中部分卷积。
RFAConv卷积的接收域空间特征可以根据核大小动态生成,以3 * 3卷积核为例,RFAConv整体结构如图4所示。其中“Spatial Feature”指的是原始的Feature map,“接受域空间特征”是空间特征变换后的特征图,由不重叠的滑动窗口组成。当使用3 * 3卷积内核提取特征时,接收域空间特征中的每个3 * 3大小窗口代表一个接收域滑块。通过RFA得到的feature map是接受域空间特征,在“Adjust Shape”后没有重叠,如图5所示。该方法不仅强调了接收域滑块内不同特征的重要性,而且对接收域空间特征进行了优先排序。因此,学习到的注意图将每个接受域滑块的特征信息聚合起来,即注意力地图不再共享在每个接受域滑块。
Figure 4. RFAConv structure chart
图4. RFAConv结构图
同时RFAConv利用相应大小的分组卷积来动态生成基于接受域大小的展开特征,以快速提取接受域特征,为了最小化与每个接收域特征交互时额外产生的计算开销和参数的数量,使用AvgPool来聚合每个接收域特征的全局信息。然后,使用1 × 1组卷积操作进行信息交互,最后使用softmax来强调每个特征在接受域特征中的重要性。RFA的计算可以表示为:
(1)
式中:
表示一个大小为
的分组卷积,
表示卷积核的大小,Softmax是归一化指数函数,AvgPool表示平均池化,ReLU是一种激活函数,Norm表示归一化,
表示输入特征图,
是通过将注意力图
与变换后的感受野空间特征
相乘得到的。
Figure 5. Adjust shape
图5. Adjust shape
3.2. ShapeIOU
在目标检测和实例分割任务中,边界框损失函数是一种用来衡量模型预测的边界框与真实目标边界框之间差异的指标。其主要作用是帮助优化模型,使其能够准确地定位目标,并且提高目标检测的准确性。边界框损失函数会根据预测边界框和真实边界框之间的位置偏差,计算出一个损失值。模型在训练过程中,会通过最小化损失值来调整自身的参数,以使得预测的边界框更加接近真实的边界框[27]。
在YOLOv5原模型中使用CIoU作为边界框损失函数,CIoU具体公式如下:
(2)
(3)
(4)
式中,IoU表示交并比,用于衡量预测框与真实框的重叠程度;
和
分别为锚框和GT框的中心点;
是包围预测框和真实框的最小外接框的对角线长度;
是一个正的权衡参数,而
用于衡量宽高比的一致性;
和
分别表示GT框的宽度和高度,
和
分别表示锚框的宽度和高度。
CIOU综合考虑了预测框与真实目标框之间的位置、大小和形状等因素,以衡量二者之间的相似度。这种方法不仅惩罚边界框坐标的偏差,还包括长宽比和中心点距离,从而提升了预测精度和收敛速度。然而,CIoU忽略了边框其自身的形状与尺度等固有属性对边框回归的影响。为弥补这方面的不足,本文使用ShapeIOU方法来替代CIOU作为边界框损失函数,ShapeIOU能够通过聚焦边框自身形状与自身尺度计算损失,从而使得边框回归更为精确,能够有效处理不平衡数据、细小目标和复杂边界的细节,提升分割精度且优于现有方法。如图6所示,
和
分别为锚框和GT框的中心点,
、
是其坐标,
和
分别表示GT框的宽度和高度,
和
分别表示锚框的宽度和高度。边界框的计算公式如下所示:
Figure 6. The graph of ShapeIOU calculated
图6. ShapeIOU计算图
(5)
(6)
(7)
(8)
(9)
(10)
式中,
和
分别表示预测框和GT框;scale为尺度因子,与数据集中目标的尺度有关,ww与hh分别为水平方向与竖直方向的权重系数,其取值与GT框的形状有关;
表示形状点
距离的平方,
是形状成本的定义,其对应的边框回归损失如下:
(11)
3.3. 改进后的YOLOv5模型
YOLOv5是YOLO系列网络中最具代表性的网络,本文使用YOLOv5系列中兼顾精度和速度的YOLOv5s-seg (7.0版本)进行改进。改进后的网络结构图如图7所示。
Figure 7. YOLOv5 network diagram
图7. YOLOv5网络图
4. 实验结果与分析
4.1. 实验环境
实验采用的深度学习框架为Pytorch 1.9,参数环境为CUDA 11.3,系统配置为CPU i7 12代3080ti显卡,编译语言为Python 3.9。训练轮次为200,训练批次大小为8,学习率设定为0.01,输入图片大小为640 * 640像素。
4.2. 实验数据集与评估指标
4.2.1. 数据集
Cityscapes数据集是由德国三家单位联合创建的道路场景下进行目标分割任务的数据集,该数据集以大规模图像数据、精确标注标签、高分辨率等特点被研究者广泛应用。它由50个不同城市、不同季节的20,000张粗略标注图像和5000张精细标注的街道场景图像组成。本文考虑到道路场景下的实例分割任务要求较高的精度,选取了5000张标注精细的目标图像进行实验,其中训练数据2975张,验证数据500张,还有未标注的1525张测试数据[28]。
4.2.2. 评价指标
本文选取了实例分割方法常用的评估指标——精准率(Precision, P)、召回率(Recall, R)、平均精度均值(mean Average Precision, mAP) [29]来评估模型的性能。其中精确率表示在所有被识别出的部位中,识别正确的部位所占的比例,体现了模型的分类准确性;召回率则是被正确识别的部位数量与测试集中所有部位数量的比值,反映了模型的目标检测全面性。平均精度值是通过预测掩码与实际目标部位的交并比(Intersection over Union, IoU)计算得到的,设置不同的IoU阈值会得到不同的mAP值,具体计算方法如下所示。当IoU阈值分别设为0.50、0.75和0.50~0.95时,对应的mAP分别表示为mAP@0.50、mAP@0.75和mAP@0.50:0.95。本文选择mAP@0.50来衡量模型对所有类别部位的分割精度。
(12)
(13)
(14)
式中:TP表示预测正确实际为正的样本,FP表示预测为正实际为负的样本,FN表示预测为负实际为正的样本,N为标签类别数量,AP (Average Precision)表示PR曲线下的面积。
4.3. 实验结果分析
4.3.1. 消融实验
为了验证各种改进策略对于模型精度提升的有效性,增强模型鲁棒性,以YOLOv5s为基准模型,采用消融实验来测试不同改进措施所取得的效果。结果如表1所示。
Table 1. Ablation results
表1. 消融实验结果
模型 |
P/% |
R/% |
mAP@0.50/% |
YOLOv5s |
56.20% |
30.37% |
32.65% |
YOLOv5s + RFAConv |
56.86% |
30.98% |
32.78% |
YOLOv5s + ShapeIOU |
60.05% |
29.61% |
32.76% |
YOLOv5s + RFAConv + ShapeIOU |
56.86% |
30.98% |
33.82% |
由表1可以看出,分别引入RFAConv卷积、ShapeIOU损失函数均对分割精度有提升效果。RFAConv 旨在增强感受野的自适应性,使网络能够更有效地捕捉不同尺度和形状的目标特征。在实验中,我们分别使用标准卷积和RFAConv卷积进行对比,发现采用RFAConv后,模型在小目标检测和边界细节刻画方面表现更优,mAP@0.50提升了0.13%。而ShapeIOU作为改进的IoU计算方法,引入了对小目标和复杂边界的细节处理,通过对比标准IoU和ShapeIOU在不同目标类别上的表现,可以看到mAP@0.50精度提升了0.11%。从消融实验结果来看,RFAConv主要提升了模型的特征表达能力,使得目标边界更加清晰,而ShapeIOU则优化了IoU计算,提高了分割结果的匹配度。二者相结合后,通过在Cityscapes数据集上进行验证,可以看到模型的精确度P提升了0.66%、召回率R提升了0.61%、mAP@0.50提升了1.2%,使得改进后的YOLOv5在道路场景实例分割任务中取得了更优的性能,证明了两者结合后对提高道路场景实例分割任务有更好的效果。
4.3.2. 不同算法对比实验
为进一步验证本文算法的优越性,设计对比试验,与YOLOv5s在相同数据集和实验环境下进行实验研究,以Mask-RCNN、YOLACT和SOLOv2这3种常见的实例分割算法作为对照组,其中ours表示本文提出的基于YOLOv5的改进模型。实验结果的评价指标对比如表2所示。Mask R-CNN作为基于区域的分割方法,在分割精度上表现较好(map@0.50 = 32.70%),但由于采用RPN (Region Proposal Network)进行候选框生成,计算复杂度较高。YOLACT采用一阶段方法,速度较快,但map@0.50仅为21.54%,较难在小目标检测任务中保持高精度。SOLOv2作为基于像素的分割方法,具有较好的分割效果(map@0.50 = 30.60%),但其采用密集预测结构,而本文的改进YOLOv5s算法取得了最高的map@0.50精度,表2数据表明,本文所提出的YOLOv5s算法map@0.50精度达到了33.82%,均优于3种对照算法,精度值达到了56.86%,召回率达到了30.98%,其精确率值虽然低于Mask R-CNN,但总体上看,还是有优势的,主要归因于:RFAConv考虑了接受域中每个特征的重要性,使网络能有效地融合多尺度特征,提升了IoU和边界分割精度;ShapeIOU通过优化边界框回归,可以有效处理细小目标和复杂边界的细节,尤其对复杂形态物体(如行人、骑行者)有明显改进。通过对比试验,可知本文算法具有良好的分割性能。
Table 2. Comparison of experimental results among models in the CityScapes dataset
表2. CityScapes数据集上各模型对比实验结果
模型 |
P/% |
R/% |
mAP@0.50/% |
YOLOv5s |
56.20% |
30.37% |
32.65% |
Mask R-CNN |
59.90% |
29.60% |
32.70% |
YOLACT |
- |
- |
21.54% |
SOLOv2 |
52.10% |
30.30% |
30.60% |
ours |
56.86% |
30.98% |
33.82% |
4.3.3. 可视化结果
正文为了更直观地展示改进后的算法在Cityscapes数据集中的分割效果,体现指标优势,节选部分原图与分割效果图对比如图8所示。由图8可以看出,面对遮挡、形态接近、密集以及目标尺寸过小等道路场景下的诸多问题,本文改进后的算法均做出了准确识别,得到了较好的实例分割效果,验证了改进算法具有更高的检测精度。
Figure 8. (a) Original test drawing; (b) segmentation effect drawing
图8. (a) 原始测试图;(b) 分割效果图
5. 结论
本研究针对道路场景实例分割任务,提出了一种基于改进YOLOv5s的方法,并引入了RFAConv卷积和ShapeIOU损失函数以提升分割精度和模型的泛化能力。通过在Cityscapes数据集上的实验,并与Mask R-CNN、YOLACT和SOLOv2模型进行对比分析,验证了所提方法的有效性,并得出了以下主要结论:
(1) 通过引入RFAConv卷积,考虑到接受域中每个特征的重要性,全面解决了大卷积核的参数共享问题,在几乎不增加计算成本和参数量的情况下,同时显著提高了网络性能。
(2) 同时采用ShapeIOU代替YOLOv5中原损失函数CIOU,考虑到边框自身的形状与尺度等固有属性对边框回归的影响,通过聚焦边框自身形状与自身尺度计算损失,使得边框回归更为精确。
实验证明,改进后的模型的分割精度mAP@0.50达到了33.8%,相较于原始YOLOv5s模型,优化后的模型在分割精度上提高了1.2%,能够更加高效地完成道路场景的图像分割任务,具有更好的准确性和鲁棒性,该方法可应用于自动驾驶、智能交通监控等领域,满足精度、实时性要求的道路场景实例分割任务。下一步将着重研究提升算法的实时性能,进一步改善模型性能,以更好地运用到实际中。