1. 引言
无人驾驶汽车技术发展迅速,但无人驾驶汽车环境感知能力还有待提高。目前,对于汽车、行人、道路残留物等凸出型障碍物的检测相对成熟,但对道路凹陷型检测的研究略有不足。道路坑洞会影响乘坐舒适性,还会破坏轮胎、悬架和车轴,甚至导致故障抛锚。在中国,大量道路使用时间长,使用强度高,导致道路坑洞增加,而且在降雨[1]后也会容易产生坑洞。在传统汽车中,驾驶员可以用肉眼观察坑洞,而无人驾驶汽车必须采用先进的传感技术[2]来检测坑洞。
目前最广泛使用的检测方法是图像识别。一般来说,图像会受到光线、环境、形状和障碍物的影响,因此,目标检测任务一直都是极具挑战性的。目前,现有的坑洞检测技术主要有图像识别和3D雷达扫描等,激光扫描检测精度高,能精准判别前方坑洞,但是存在检测距离短,检测时间长等问题,无法满足行车过程中实时检测的要求,而传统的图像识别方法又存在检测精度低,容易漏检和误检的问题。因此,本文拟采集大量道路坑洞图片作为数据集,同时采用基于YOLOv5s深度学习算法的目标检测技术,对该算法进行优化。
2. 相关工作
2.1. 坑洞检测工作
在过去的几年里,人们提出了一些坑洞检测方法。She [3]提出了一种利用三维线激光数据全面精确测量坑洞特性的新方法,结果表明,坑洞特性测量的相对误差在3.66%至4.78%之间;Aparna [4]提出了一种基于卷积神经网络的热成像方法,在夜间和多雾天气条件下也有效,作者声称精度达到97.08%。上述方法具有较高的检测精度,但无法实现快速实时的多目标检测。Huidrom [5]提出了一种基于实时机器学习的方法,实现了一种用于自动检测和评估现实视频剪辑中的坑洼、裂缝和补丁的方法;Egaji [6]使用RFT (随机森林树)应用了一个2秒的非重叠移动窗口进行特征提取,超参数调整后的准确率、精确度、召回率分别为0.9444、1.0000、0.8889,但是检测速度较低。
2.2. 深度学习网络
Puliti [7]提出了一种基于YOLOv5的目标检测方法,可以自动识别树木并根据雪的损伤对其进行分类,达到了76%的准确率和78%的召回率,该研究适用于无人机图像采集。Li [8]介绍了基于光照校正和补偿的图像增强方法,并使用YOLOv5对模型进行检测,提高了应对外部光照变化的能力。He [9]简化了YOLOv5的网络结构并将其应用于野火检测模型,增加了注意力机制,改进的野火检测算法的平均准确率为71.5%,召回率为66.2%。Jubayer [10]为了识别生长在各种食物表面上的不同霉菌,使用YOLOv5算法对数据集进行训练,采用BiFPN特征提取网络,精确度、召回率和平均精确度(AP)分别为98.10%、100%和99.60%。Cao [11]提出了基于YOLOv5的重载铁路钢轨扣件检测方法,该方法修改了锚具尺寸,以提高对扣件小目标的关注度,结果表明改进后的YOLOv5具有良好的性能和良好的应用前景。上述文献中,YOLOv5算法的优化方向主要是图像增强、添加注意力机制、改善特征提取机制等,为本文的优化方向提供了思路。
3. 模型设计
3.1. 数据集
数据集中共有2500幅图像,其中1000幅是通过城市和农村道路的实地拍摄收集的,另外1500幅是通过网络搜索引擎获得的,所有图像都包括不同的环境,如照明、天气和路面(水泥、沥青和土路),还包括不同大小和形状的坑洞。在原始图像的基础上,我们通过旋转、缩放、对称、颜色去除甚至虚化来扩展数据集。此外,众所周知,同一物体在不同距离处呈现出不同的形状,因此,本文拍摄了不同距离处的坑洞照片,如图1所示。所有这些工作都旨在增加数据的多样性和检测的泛化性。所有标注都是通过Labelimg标注工具手动完成的,然后自动将数据集划分为训练集和验证集。至此,数据集的准备工作已经完成。
Figure 1. Pothole shapes in different distance
图1. 不同距离的坑洞形状
3.2. YOLOv5识别算法
在本文中,YOLOv5被提出用于凹坑检测,其网络框架融合了Mosaic数据增强和自适应锚帧方法,提高了小目标检测能力。另外,在Backbone和Neck部分部署了CSP结构,以增强网络特征的融合能力。
3.3. 评估指标
以下是关于YOLOv5的几个评估指标,真阳性(TP)表示被正确识别为阳性采样的数量,假阳性(FP)表示被错误识别为阳性的阴性样本数量,假阴性(FN)表示被不正确识别为阴性采样的数量、精确度(P)、召回率(R)、平均精确度(AP)、平均准确度(mAP)表示检测精确度,定义如下公式:
(1)
(2)
(3)
(4)
4. 优化
4.1. 注意力机制
在图像处理过程中,人类选择性地将注意力集中在视觉空间的一部分以获取信息,将计算资源集中在图像的一部分上以节省“带宽”,这大大降低了任务的复杂性,因为需要处理的像素更少。因此,我们将注意力机制嵌入到机器学习模型中,随着深度学习能力的增强,特征提取将更加具体。在本文中,引入了SE注意力机制[11],该机制为每个特征图提供不同的权重。本文采用的SE注意力机制为每个特征图提供不同的权重,并专注于更有用的图。SE的过程分为两个步骤:挤压和激励:
1) 挤压:通过对特征图进行全局池化,获得当前特征图的全局压缩特征;
2) 激励:通过两层全连接瓶颈结构获得特征图中每个通道的权重,将加权后的特征图作为下一层网络的输入。
SE构建块的结构如图2所示:
Figure 2. The structure of the SE building block
图2. SE构建块的结构
4.2. BiFPN特征融合机制
Figure 3. BiFPN feature network
图3. BiFPN网络结构
在融合不同分辨率的特征时,传统的方法是将它们调整到相同的分辨率并融合,但不同的特征具有不同的输入分辨率,对输出特征的贡献也不同,因此提出了一种加权双向特征金字塔网络(BiFPN),如图3所示,该网络建议为每个输入添加额外的权重,并使每个输入特征的重要性由网络学习得到。
BiFPN构建了一个自上而下和自下而上的双向通道。当在不同尺度之间融合来自Backbone网络不同尺度的信息时,使用相同的上采样和下采样特征分辨率尺度,并在相同特征的原始输入和输出节点之间添加水平连接,融合更多特征。
4.3. 结果
将应用了SE注意力机制和BiFPN特征融合机制的优化YOLOv5s模型标记为YOLOv5s-opt,将原始YOLOv5s标记为YOLOv5s-ori,我们使用已建立的训练参数对两个模型进行训练,并绘制评估指标图进行比较,如图4所示。
(a) (b)
(c) (d)
Figure 4. Comparison of YOLOv5s-opt and YOLOv5s-ori
图4. YOLOv5s-opt和YOLOv5s-ori对比
Table 1. Comparison of YOLOv5s-opt and YOLOv5s-ori
表1. YOLOv5s-opt和YOLOv5s-ori对比
|
YOLOv5s-ori |
YOLOv5s-opt |
P |
81.1% |
95.0% |
R |
90.9% |
90.5% |
mAP0.5 |
89.1% |
92.2% |
mAP0.5:0.95 |
48.2% |
49.5% |
Detection time (t) |
73.0 ms |
75.3 ms |
FPS |
13.7 |
13.3 |
从表1可以看出,YOLOv5s opt表现更好:收敛速度更快;精度由81.1%提高到95.0%;mAP0.5由89.1%提高到92.2%;mAP0.5:0.95由48.2%提高到49.5%,此三项为判断检测精度的核心指标,即优化后的算法具备了更高的检测精度。根据表1所示,优化前后,FPS分别为13.7和13.3,检测速度无明显放缓,仍能满足实时检测要求,这是由于上述优化措施并没有大幅增加YOLOv5原网络的复杂度。此外,如图5所示,优化前模型将路边树叶错误的识别为坑洞(篮圈内),而优化后模型成功地避免了此类错误,降低了错检率,这意味着模型的泛化能力和准确性也得到了提高。
Figure 5. Comparison of detection effect of YOLOv5s-ori and YOLOv5s-opt
图5. YOLOv5s-ori及YOLOv5s-opt检测效果对比
5. 结论
针对无人驾驶汽车的坑洞实时检测问题,本文提出了一种基于深度学习网络的坑洞检测模型。首先,建立了一个包含2500幅图像的数据集,包括在中国城乡道路上通过实地拍摄收集的1000幅图像(包含不同距离拍摄的照片)和通过网络搜索引擎获得的1500幅图像。其次,使用YOLOv5s模型对所获得的数据集进行训练。然后在YOLOv5s的基础上,增加注意力机制和BiFPN特征融合机制。实验结果表明,检测精度由81.1%提高到95.0%;mAP0.5由89.1%提高到92.2%;mAP0.5:0.95由48.2%提高到49.5%;而检测速度基本保持不变,可满足实时检测要求;同时错检率有所降低,意味着模型的泛化能力和准确性也得到了提高。
本文获得了一种可同时满足实时性和高检测精度的坑洞检测方法,为无人驾驶汽车实现路面坑洞检测提供了一种可行的方法。后续可继续进一步完善坑洞数据集,提升模型的检测性能。
基金项目
浙江省大学生科技创新活动计划暨新苗人才计划项目(2024R428A005)。
NOTES
*通讯作者。