2. 山西太重数智科技股份有限公司, 太原 030051
2. Tai Zhong Digital Technology Co. Ltd. of Shanxi, Taiyuan 030051, China
由于车辆反复荷载和恶劣环境因素的影响, 路面会出现各种不同程度的损伤, 路面病害对道路安全、服务质量和使用寿命有显著影响, 且路面病害发现越晚, 维护成本就越高. 因此, 路面病害识别对道路养护至关重要. 此外, 收集的数据中通常包含水渍、阴影、油渍及其他噪声干扰, 而传统的路面病害特征提取依赖人工, 且往往限制于所采用的数据集、路面情况的复杂程度, 存在检测效率低且鲁棒性差的缺陷[1]. 随着计算机技术的不断发展, 利用深度学习进行路面病害检测的方法准确率和速度显著提升, 具有较强的自适应性和鲁棒性[2].
目前, 基于深度学习的目标检测算法大致可以分为两种方式: Two-stage目标检测算法与One-stage目标检测算法[3,4]. Two-stage目标检测算法的思想是生成一系列的候选区域, 通过卷积神经网络进行分类, 代表性算法主要有R-CNN[5]、Fast R-CNN[6]、Faster R-CNN[7]. 孙朝云等[8]针对路面灌封裂缝提出一种基于改进Faster R-CNN的检测方法, 结果表明该模型能够明显提高对灌封裂缝的检测精度和定位精度. 此类算法将目标定位与目标识别分开处理, 具有较高的检测精度, 但由于训练过程较为复杂, 不可避免地降低了检测速度, 从而限制了其在实时检测中的应用[9]. One-stage目标检测算法的思想是在保证检测精度和实时性的同时把识别问题转换为回归问题, 常见的代表性算法是SSD[10]、YOLO[11]. 李中远等[12]将SSD目标检测算法应用于道路裂缝检测中, 有效地提高了检测精度与速度, 但SSD存在特征提取不足的缺陷, 对裂缝检测精度有待提高.
针对复杂道路检测中计算量大、识别率低且难以实时检测等问题, YOLO系列网络被广泛应用于路面病害检测中. 为进一步提高模型的检测性能, 研究者们提出了一系列基于YOLO系列的改进算法. 罗晖等[13]在YOLOv4的基础上引入可变形卷积与自适应空间特征融合结构, 满足对公路多类型病害检测的准确性与实时性. Chu等[14]提出一种改进的Ghost-YOLOv5s检测算法, 该方法在保持检测性能的同时, 有效降低了模型参数量, 满足实际工程需求. 高明星等[15]提出一种改进YOLOv5-DeepSORT的路面病害重识别检测方法, 与原模型相比, 具有轻量化、高精度的优点. 张用川等[16]提出一种改进YOLOv5的道路损伤检测模型, 能有效检测出多种天气状况下的道路病害. 综上所述, YOLOv5能一次性完成目标定位与目标分类任务, 具有检测速度快和模型轻量化的特点, 但在检测精度和鲁棒性上仍需进一步提升. 因此, 如何权衡YOLO系列检测模型的速度与精度是亟需解决的关键问题.
在实际应用场景中, 路面病害种类繁多, 包括裂缝、龟裂、坑洞等多种形式, 具有分布广、多尺度的特性. 通过研究发现, 路面病害与路面背景特征较为相似, 且具有一定的线性特征和空间连续性[17]. 因此, 如何在路面病害特征信息弱、病害尺度差异大、复杂背景下实现路面病害快速、准确的检测仍是一项具有挑战性的任务.
针对上述问题, 为了确保路面病害检测的高效性与准确性, 本文结合实际应用场景, 提出基于改进YOLOv5的路面病害检测模型PD-YOLOv5s (pavement disease-YOLOv5s). PD-YOLOv5s嵌入三维无参数注意力机制SimAM以提高模型在复杂环境下对路面病害的检测精度, 在此基础上引入残差块Res2NetBlock以增强网络在更细粒度层次上的病害特征信息融合能力, 通过空间换深度操作(space-to-depth)组合鬼影混洗卷积GSConv所构建的SPD-GSConv模块在有效捕捉不同尺度的路面病害特征的同时大幅减少所需参数量, 为实现路面病害快速、准确检测与分类提供新的思路.
1 PD-YOLOv5s路面病害检测模型 1.1 YOLOv5s网络模型本文结合路面病害自动化检测的工程应用需求, 选用YOLOv5系列中参数量最小的YOLOv5s作为路面病害检测的基础模型进行改进, 以实现在复杂路面环境下对病害的快速、准确检测.
YOLOv5s模型由4个模块组成: 输入端(Input)、主干特征提取网络(Backbone)、特征融合颈部(Neck)、输出预测端(Head), 其网络结构如图1所示. Input模块对图像进行Mosaic、旋转、平移等数据增强操作, 以增强模型泛化能力. Backbone模块由CBS、C3、SPPF模块组成, 其中CBS模块主要负责下采样; C3模块负责提取并融合特征; SPPF模块通过对特征图多次最大池化操作, 提取并融合深层特征. Neck模块由特征金字塔(FPN)和感知对抗网络(PAN)组成, 用于融合Backbone模块提取的浅层特征与原始深层特征, 并将特征传递到Head层. Head模块负责预测目标特征信息, 并且通过非极大值抑制(NMS)对预测框进行校正与筛选.
1.2 注意力机制SimAM
本文所使用的数据集均为实际环境下采集与处理的路面病害图片, 包含了环境背景、路面水渍等非重要特征的影响, 非重要特征易造成病害边缘和纹理信息模糊. 针对这一难点, 引入注意力机制可使模型更加关注路面病害识别中的重要特征信息, 削弱环境背景对检测效果的干扰. SimAM[18]是基于人脑注意力机制所提出的3-D无参数注意力模块, 其在不增加网络参数的条件下, 通过Energy函数计算注意力权重, 相比于现有1-D通道注意力和2-D空域注意力更具有轻量性与灵活性[19], SimAM注意力模块原理如图2所示.
SimAM注意力机制的计算过程如式(1)所示:
$ \tilde X = \mathit{Sigmoid}\left(\frac{1}{E}\right) \odot X $ | (1) |
其中,
$ e_t^ * = \frac{{4({{\hat \sigma }^2} + \lambda )}}{{{{(t - \hat \mu )}^2} + 2{{\hat \sigma }^2} + 2\lambda }} $ | (2) |
其中,
$ \hat \mu = \frac{1}{M}\sum\limits_{i = 1}^M {{X_i}} $ | (3) |
$ {\hat \sigma ^2} = \frac{1}{M}\sum\limits_{i = 1}^M ( {X_i} - \mu {)^2} $ | (4) |
其中,
在路面病害检测中, 为了提高小尺寸目标检测精度, 引入三维无参数注意力机制SimAM, 在不额外增加参数量的同时, 对带有关键信息的神经元赋予更高的权重, 从而增强网络在复杂环境下对路面病害的关注度.
1.3 Res2NetBlock残差结构为了增强网络在更细粒度层次上的特征融合能力, 并且有效降低信息梯度的重复性, 本文引入残差块Res2NetBlock[20]替代原YOLOv5s算法中的残差块Bottleneck. Res2NetBlock并未继续使用原结构中3×3的滤波器, 而是将其替换为一组更小的滤波器, 同时用梯度残差块连接不同的滤波器组, 网络结构对比如图3所示.
特征图通过1×1的卷积后, 被均匀分成S个特征映射子集
$ {y_i} = \left\{ {\begin{array}{*{20}{l}} {x_i},\qquad\qquad\;\; {i = 1} \\ {K_i}({x_i}),\qquad\;\;\;\; {i = 2} \\ {K_i}({x_i} + {y_{i - 1}}),\; {2 \lt i \leqslant s} \\ \end{array}} \right. $ | (5) |
在Res2NetBlock模块利用多尺度分割处理, 融合不同尺度信息以更有效地提取全局和局部特征. 将所有
1.4 SPD-GSConv
在小目标检测任务中, 卷积神经网络(CNN)易导致细粒度信息的丢失, 因此引入SPD (space-to-depth)模块, 如图4所示. 采用空间换深度操作, 将输入图像分割成多个块后按照一定的规则重新排列, 再通过卷积将通道维度信息融合, 有效地捕捉不同尺度的目标特征.
SPD虽将特征信息融合, 但会带来通道数与参数量的增加, 因此本文在部分SPD操作后加入鬼影混洗卷积GSConv[21]对通道维度信息进行融合, 以此减少参数量与计算量, GSConv结构图如图5所示.
GSConv主要由Conv模块、DWConv模块、Concat模块与通道混洗模块组成, 假设输入与输出通道数分别为C1与C2, 首先对输入特征图进行标准卷积操作后得到通道数为C2/2的特征图, 接着进行深度可分离卷积操作得到另一个通道数为C2/2的特征图, 将两者进行Concat拼接得到通道数为C的拼接特征图, 最后通过通道混洗操作输出目标通道数的特征图.
1.5 PD-YOLOv5s整体网络结构
引入三维无参数注意力机制SimAM、残差块Res2NetBlock、构建由鬼影混洗卷积GSConv与space-to-depth融合的SPD-GSConv模块, 调整后的网络结构如图6所示.
2 路面病害数据集及模型训练 2.1 数据集介绍为增加样本的多样性, 在提高模型泛化能力的同时减少计算资源, 本文选取包含不同来源、不同环境、不同拍摄角度的路面病害图片作为初始数据集. 初始数据集由GRDDC2020和GRDDC2022公开数据集中具有代表性的部分病害图片; 车载GoPro拍摄的路面病害图片; 手机摄像头拍摄的大学校园内不同时段的路面病害图片共同构成. 上述数据集的选择有助于提高模型在各种环境和拍摄角度下对路面病害的识别能力, 同时也有利于减少过拟合, 并在计算资源有限的情况下更好地应对实际工程应用中的各种情况.
将初始数据集经过透视变换、加入随机噪点、ISO曝光度处理后, 调整其尺寸为640×640、位深度为24, 最终构成本文所使用的数据集P_CRACK. 此数据集共
同时, 为进一步检验该模型的泛化性能, 本文选取GRDDC 2022数据集中新增的挪威、美国的路面数据作为对比验证集N_CRACK、U_CRACK, 各数据集路面病害情况如表2所示.
2.2 模型训练
本算法在Windows 10操作系统下, 采用Python作为开发语言, 使用PyTorch作为网络框架. 本模型的硬件测试环境处理器为Intel(R) Xeon(R) Gold 6226R CPU @ 2.90 GHz, 内存为128 GB, 显卡为NVIDIA RTX A4000.
实验训练参数设置如下: 输入图像尺寸为640×640, 优化器选择SGD, 初始学习率为0.01, 采用epoch为3、动量参数为0.8的warm-up训练预热, 预热结束后, 采用余弦退火算法将学习率进行更新. 批处理大小设置为16, 总迭代次数设置为300次.
3 实验结果与分析 3.1 性能指标为全面评估模型的性能, 实验相关指标包括精确率(Precision, P)、召回率(Recall, R)、多分类平均精确率(mean average precision, mAP)、F1值、平均精度(average precision, AP)、参数量(Parameters)、每秒检测图片的帧数(frame per second, FPS). 其中, P用于衡量模型检测路面病害的准确性; R用于评估模型检测路面病害的全面性; mAP用于评估模型在路面多类别病害检测任务中的整体性能; F1值通常用来评估检测模型的性能; AP用于衡量模型在不同路面病害的预测准确度; Parameters用来衡量模型的复杂度与大小; FPS用于衡量模型的处理速度, 具体公式如下所示:
$ P = \frac{{TP}}{{TP + FP}} $ | (6) |
$ R = \frac{{TP}}{{TP + FN}} $ | (7) |
$ F1 = \frac{{2 \times P \times R}}{{P + R}} $ | (8) |
$ AP = \int_0^1 {P{\mathrm{d}}R} $ | (9) |
$ mAP = \frac{{\displaystyle\sum\limits_{i = 1}^C {AP(i)} }}{C} $ | (10) |
其中, TP表示被网络检测并且正确分类的病害数量, FP表示被错误识别成病害的背景区域数量, FN表示未被正确检测出来的病害数量.
3.2 消融实验为验证模型每次改进对于路面病害检测网络性能的影响, 本文在YOLOv5s基础上进行消融实验, 选用上述5个性能指标以比较不同改进方案的整体性能, “√”表示添加此模块, 实验结果如表3所示.
由表3可知, 模型嵌入三维无参数注意力机制SimAM, 准确率、召回率、mAP分别提升0.3%、2.6%、1.9%, 说明SimAM模块在不额外增加参数量的同时能有效增强网络对目标区域的关注度; 使用残差块Res2NetBlock替代原YOLOv5s算法中的残差块Bottleneck, 准确率、召回率、mAP分别提升2.8%、1.4%、2.6%, 参数量下降6.25%, 说明残差块Res2NetBlock增加了感受野的范围, 有利于网络在更细粒度层次上提取全局和局部信息; 加入SPD-GSConv模块进行下采样, 提升了YOLOv5s在更细粒度上的融合能力, 减少了特征损耗, 准确率、召回率、mAP分别提升2.3%、2.4%、4.2%. 融合上述3个模块的PD-YOLOv5s模型, 准确率、召回率、mAP较原YOLOv5s模型分别提升2.5%、2.7%、4.7%, 且参数量减少3.56%. 通过消融实验结果分析可知, 所有模块均可以实现F1值的有效提升, 由此证明了本文所添加各模块的有效性.
PD-YOLOv5s与YOLOv5s检测模型在路面缺陷数据集中6类缺陷的检测结果如图7所示. 相较于原YOLOv5, 纵向裂缝、横向裂缝、龟裂、坑洞、白线模糊、井盖高差AP值分别提升9.4%、4.4%、7.3%、2.6%、7.8%、2.5%, 实验结果证明了本文所提出的PD-YOLOv5s模型相较于原YOLOV5s具有更强的特征提取能力, 在路面病害检测中具有良好性能.
3.3 不同数据集对比实验
不同路面数据集在路面病害分布、图像质量、场景变化等方面存在差异, 而在实际应用中路面病害的识别性能易受病害大小与形状、图像质量高低的影响. 为评估PD-YOLOv5s模型的泛化能力, 本文数据集U_CRACK、N_CRACK, 在相同的实验环境与测试设备下进行验证, 实验结果在表4中展示.
由表4可知, 相较于原始模型, 本文所提出的PD-YOLOv5s模型在不同病害数据集下对各类病害的检测能力都得到了明显提升, 数据集P_CRACK、U_CRACK、N_CRACK的mAP分别提升4.7%、7.4%、3.5%. 实验证明在不同的复杂路面环境下, PD-YOLOv5s模型均具有较好的检测性能.
3.4 不同检测模型对比实验
为进一步验证本文所提出的路面病害检测模型PD-YOLOv5s对目标的检测性能与优势, 在相同的实验环境与同一数据集下, 使用两阶段目标检测模型Faster R-CNN, 单阶段检测模型SSD、YOLOv4、YOLOv5s与本文所提模型PD-YOLOv5s进行模型训练与测试, 实验结果如表5所示.
由表5分析可知, 本文提出的道路病害检测模型PD-YOLOv5s检测精度优于其他主流检测模型, PD-YOLOv5s的mAP值与Faster R-CNN、SSD、YOLOv4、YOLOv5s相比, 分别提高19.9%、14.7%、12.4%、4.7%. 此外, Faster R-CNN、SSD、YOLOv4参数量大, 对硬件设备要求高, 不满足实时检测的需求, 而PD-YOLOv5s模型参数量仅为Faster R-CNN的1/20、SSD的1/3、YOLOv4的1/9. 由此可见, PD-YOLOv5s具有更小的模型参数量, 满足轻量化检测的需求. 通过对比实验结果分析表明, 本文所提出的PD-YOLOv5s模型具有优越的检测性能, 同时计算量和参数量较低, 且帧速率达到53.97 f/s, 满足工业实时检测需求.
3.5 目标检测可视化效果
为了更直观展示本文所提模型PD-YOLOv5s的检测效果, 选取4组图片对比YOLOv5s与PD-YOLOv5s对路面病害的检测效果, 检测对比效果如图8所示.
PD-YOLOv5s的优越性主要体现在以下几方面.
(1) PD-YOLOv5s具有较高的特征提取能力
路面裂缝病害具有一定的线性连续性, 如图8(a)所示, YOLOv5s忽略了病害特征, 其将同一横向裂缝错误识别为两条裂缝, 而PD-YOLOv5s有效提取到连续横向裂缝的特征信息, 保证了病害特征提取的完整性.
(2) PD-YOLOv5s具有较高的检测精度
路面病害形态多样、大小差异较大, 且分布在路面的各个区域. 如图8(b), 因车辆雨刷器前端器件呈现圆形形状, 且具有一定高度差, YOLOv5s误将圆形器件检测为坑槽, 存在误检现象. 此外, 由于路面阴影遮挡, YOLOv5s忽略了路面坑槽病害, 存在漏检现象. 如图8(c)所示, 纵向裂缝分布在路面较远处, 且病害尺寸较小, YOLOv5s无法检测出路面远处的病害. 相反, PD-YOLOv5s模型不仅能检测出路面中突出位置的病害, 而且可以检测出分布在道路远处的较小尺寸的病害, 减少了误检、漏检现象, 有效提升了路面病害检测精度.
(3) PD-YOLOv5s具有较高的检测置信度
在同一路面病害下, PD-YOLOv5s模型对路面病害检测的置信度明显提升, 如图8(d)所示, 相较于YOLOv5s、PD-YOLOv5s对白线模糊和横向裂缝的置信度分别提高了12.0%、13.0%, 可见, PD-YOLOv5s有效提升了道路病害的检测精度.
4 结论与展望针对路面病害检测精度较低的问题, 结合实际应用场景, 提出一种基于改进YOLOv5的轻量化路面病害检测模型PD-YOLOv5s. 通过三维无参数注意力机制SimAM以提高模型在复杂环境下对路面病害的检测精度. 同时, 引入残差块Res2NetBlock增强网络在更细粒度层次上的特征融合能力; 受轻量级卷积GSConv的启发, 引入空间换深度操作(space-to-depth)组合GSConv所构建的SPD-GSConv模块进行下采样, 有效捕捉不同尺度的目标特征, 同时大幅减少所需参数量. 实验结果表明, 与SSD、Faster R-CNN、YOLOv4等主流检测模型相比, 本文所提模型具有更高的准确率和更低的参数量. 同时, 经过不同路面数据集的验证, 本文所提模型具有较好的泛化性能, 对道路病害检测领域有实际工程意义.
[1] |
Dong JX, Li ZN, Wang ZB, et al. Pixel-level intelligent segmentation and measurement method for pavement multiple damages based on mobile deep learning. IEEE Access, 2021, 9: 143860-143876. DOI:10.1109/ACCESS.2021.3121413 |
[2] |
王程, 刘元盛, 刘圣杰. 基于改进YOLOv4的小目标行人检测算法. 计算机工程, 2023, 49(2): 296-302, 313. |
[3] |
高强, 唐福兴, 李栋, 等. 基于改进YOLOv5的密集场景行人检测方法研究. 国外电子测量技术, 2023, 42(4): 125-130. |
[4] |
古静, 朱志宇. 改进YOLOv5的红外船舶目标检测算法. 电光与控制, 2023, 30(10): 21-26. DOI:10.3969/j.issn.1671-637X.2023.10.004 |
[5] |
Zhao ZJ, Li XW, Liu HZ, et al. Improved target detection algorithm based on libra R-CNN. IEEE Access, 2020, 8: 114044-114056. DOI:10.1109/ACCESS.2020.3002860 |
[6] |
Xie QY, Zhou WQ, Tan H, et al. Surface defect recognition in steel plates based on impoved faster R-CNN. Proceedings of the 41st Chinese Control Conference (CCC). Hefei: IEEE, 2022. 6759–6764.
|
[7] |
伊欣同, 单亚峰. 基于改进Faster R-CNN的光伏电池内部缺陷检测. 电子测量与仪器学报, 2021, 35(1): 40-47. |
[8] |
孙朝云, 裴莉莉, 李伟, 等. 基于改进Faster R-CNN的路面灌封裂缝检测方法. 华南理工大学学报(自然科学版), 2020, 48(2): 84-93. |
[9] |
单慧琳, 吕宗奎, 付相为, 等. 改进YOLOv5s的交通多目标检测方法. 国外电子测量技术, 2023, 42(4): 8-15. |
[10] |
Andika F, Bandung Y. Road damage classification using SSD MobileNet with image enhancement. Proceedings of the 2023 International Conference on Computer Science, Information Technology and Engineering (ICCoSITE). Jakarta: IEEE, 2023. 540–545.
|
[11] |
Niu J, Li HY, Chen X, et al. An improved YOLOv5 network for detection of printed circuit board defects. Journal of Sensors, 2023, 2023: 7270093. |
[12] |
李中远. 基于深度学习的道路裂缝检测与识别 [硕士学位论文]. 青岛. 山东科技大学, 2020.
|
[13] |
罗晖, 余俊英, 涂所成. 基于深度学习的公路路面病害检测算法. 科学技术与工程, 2022, 22(13): 5299-5305. DOI:10.3969/j.issn.1671-1815.2022.13.027 |
[14] |
Chu YZ, Xiang XJ, Wang YL, et al. Pavement disease detection through improved YOLOv5s neural network. Computational Intelligence and Neuroscience, 2022, 1969511. |
[15] |
高明星, 关雪峰, 范井丽, 等. 基于改进YOLOv5-DeepSORT算法的公路路面病害智能识别. 森林工程, 2023, 39(5): 161-174. |
[16] |
张用川, 牟凤云, 陈建坤, 等. 基于改进YOLOv5算法的道路伤损检测. 电子测量技术, 2023, 46(4): 161-168. |
[17] |
何铁军, 李华恩. 基于改进YOLOv5的路面病害检测模型. 土木工程学报, 2024, 57(2): 96-106. |
[18] |
Yang LX, Zhang RY, Li LD, et al. SimAM: A simple, parameter-free attention module for convolutional neural networks. Proceedings of the 38th International Conference on Machine Learning. 2021. 11863–11874.
|
[19] |
高新阳, 魏晟, 温志庆, 等. 改进YOLOv5轻量级网络的柑橘检测方法. 计算机工程与应用, 2023, 59(11): 212-221. |
[20] |
Gao SH, Cheng MM, Zhao K, et al. Res2Net: A new multi-scale backbone architecture. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 43(2): 652-662. DOI:10.1109/TPAMI.2019.2938758 |
[21] |
张欣怡, 张飞, 郝斌, 等. 基于改进YOLOv5的口罩佩戴检测算法. 计算机工程, 2023, 49(8): 265-274. |