1. 引言
随着我国公路交通系统的大规模建成使用,对公路的养护任务成为当下公路交通系统建设的重中之重[1],然而,近年来,车辆急剧增多、货车超限超载、恶劣天气以及路面的自然退化等因素均对路面结构造成不同程度的损害[2],导致基础设施的承载能力和使用寿命降低。柔性路面的表面在其使用寿命的前3/4期间会退化约40%,如果及时发现损伤,几乎可以完全恢复路面的功能[3]。因此,快速、准确地发现路面异常有利于道路的及时维护,对提升道路使用效率、保障道路使用寿命、减少行车安全隐患有着重要意义[4]。
路面缺陷检测技术主要分为两种方式,一种是早期传统的路面缺陷检测,主要包括基于图像阈值的分割方法、基于边缘检测的方法和基于区域生长特征的路面裂缝检测方法等。另一种检测方法是近年来被使用得越来越广泛的基于深度学习的路面缺陷检测方法,包括两阶段算法和单阶段算法。两阶段目标检测算法以Fast R-CNN、Mask R-CNN、U-Net为代表。Kulam B [5]等人提出了一种基于Mask R-CNN的检测模型,可以有效检测多种类型的裂缝特征。Fang J [6]等人提出一种提出了一个加权交叉熵损失项和一种数据增强策略,并使用基于U-Net的架构进行最终确定。单阶段目标检测算法以You Only Look Once (YOLO)系列和Single Shot MultiBox Detector (SSD)为代表。张在岩[7]等人提出了一种基于改进YOLOv5的路面病害检测算法,通过融合以IoU度量的K-Means聚类算法和遗传算法获取模型训练的先验锚框,引入轻量级上采样模块和多维协同注意力模块,提高了检测精度和效率。周建新[8]引入C2f-Dysnake模块、RDFPN颈部网络和MPCA注意力机制,提升了对路面缺陷的检测精度和小目标检测能力。李军[4]提出了一种轻量化的路面异常检测算法ATFL-YOLOv8,结合ADown卷积模块、Triplet注意力机制、C2f-Faster模块和LSCD-Head检测头,提升了对坑洞、井盖和减速带等路面异常的检测精度与效率。Sadra Naddaf-Sh等人[9]通过采用EfficientDet模型及其创新的特征提取和数据增强策略,提高了检测的准确性和实时性。Kai Li等人[10]提出的CarNet模型通过建立新的裂缝数据库,设计轻量级的编码器–解码器架构,有效提升了道路裂缝的检测性能和效率。Fan Yang [11]提出的特征金字塔和层次增强网络(FPHBN)通过整合上下文信息和关注困难样本,也提升了道路裂缝检测的性能。
然而当前路面缺陷检测仍存在一些问题,如精度不高、小缺陷漏检。因此,本文基于YOLO11框架针对这些问题提出了一种改进的路面缺陷检测方法,主要工作如下:
(1) 设计了EIEStem模块替换YOLO11骨干网络的前两个卷积层,通过融合边缘特征和空间信息,提升模型对小缺陷的检测能力。
(2) 在实验中对改进模型的性能进行了评估,包括检测精度、推理速度和计算效率。
(3) 与主流方法进行了对比实验,结果表明,改进方法在保持高效的同时显著提高了检测性能。
2. 算法概述
2.1. YOLO11概述
YOLO11是YOLO系列算法的最新版本,在YOLOv8的基础上引入了两个全新模块:C3k2和C2PSA,实现了进一步的性能提升。YOLO11的网络架构主要分为三个部分:主干网络(Backbone)、特征增强网络(Neck)和检测头(Head)。
在主干网络(Backbone)部分,YOLO11对YOLOv8的结构进行了优化,将原先的C2f模块替换为新设计的C3k2模块。C3k2模块结合了C2f和C3的优势,外层采用C2f结构,内层嵌入C3的框架。具体来说,C3k2模块基于C2f结构,将其特征提取层(BottleNeck)替换为新设计的C3k层。C3k层与传统C3层类似,但将卷积核的大小调整为两个核大小为3的卷积层。通过超参数配置,C3k可根据需求灵活调整卷积块的结构:当C3k = True时,启用C3k层;否则保留原始C2f结构。相比于C3,C3k模块提供了更高的灵活性,允许用户根据具体应用场景自定义卷积块大小。
C2PSA模块是在C2f的基础上进行的改进,借鉴了YOLOv10中通过部分自注意力机制提升模型性能的经验。C2PSA将改进后的多头注意力机制引入到C2f结构中,替代了原有的BottleNeck层,并丢弃了中间层的输出,仅保留最后一层特征提取的结果,与另一分支进行拼接。改进的多头注意力机制在设计上保留了多头结构,同时进行了简化和优化:将原有的LayerNorm层替换为一个无激活函数的卷积层,并用两个卷积层代替传统MLP层,形成新设计的PSABlock。这样的设计进一步提高了模型对特征的表达能力。
Figure 1. YOLO11 network structure
图1. YOLO11网络结构
在检测头(Head)部分,YOLO11引入了YOLOv10的设计思想,采用深度可分离卷积以减少冗余计算,从而提高计算效率。这种方法不仅显著简化了计算过程,还减少了模型的参数量和计算量,进一步提升了模型的运行速度和性能。
整体而言,YOLO11的改进在多层次提升了模型的灵活性、特征提取能力和计算效率,具体的网络结构如图1所示。
2.2. 改进的YOLO11-EIEStem
为了提高道路缺陷识别的准确性,本文在YOLO11骨干网络(Backbone)的基础上提出了一种EIEStem模块,用来替换前两个卷积层。EIEStem模块的设计旨在通过有效提取图像中的边缘特征和空间信息,来提高模型对复杂场景和小目标的检测能力。传统的卷积神经网络在处理细小缺陷时,往往会因为特征提取不足而导致漏检。为了解决这一问题,EIEStem模块结合了Sobel Conv分支和池化分支与特征融合模块,旨在全面捕捉图像的细节信息。EIEStem模块主要组成如下:
Figure 2. Improved YOLOv8 network
图2. 改进的YOLO11网络
(1) Sobel Conv分支。采用Sobel滤波器进行边缘检测,通过卷积实现快速计算,以提取图像中的边缘特征。这些边缘特征对于路面裂缝、坑洞等细小缺陷的检测至关重要。Sobel Conv分支通过对输入图像进行卷积操作,生成边缘特征图。该特征图能够突出显示图像中强度变化剧烈的区域,从而增强模型对细节特征的敏感性。
(2) 池化分支。采用最大池化操作以提取图像的空间信息。通过减少冗余特征并保留重要的空间细节,池化分支能够在计算效率和特征表达之间实现良好的平衡,帮助模型更好地理解图像内容。池化分支通过选择特征图中的最大值,保留最显著的特征,降低特征图的维度,确保模型能够更好地理解图像的整体结构。
(3) 特征融合模块。将Sobel Conv分支和池化分支的特征进行融合,以形成一个包含丰富信息的综合特征图。特征融合模块采用3D组卷积技术,能够高效地整合来自两个分支的特征。通过这种方式,模型能够同时利用边缘特征和空间信息,从而提升对路面缺陷的检测能力。
通过引入EIEStem模块,模型能够在初始阶段就充分提取图像的边缘和空间信息,为后续的特征提取和目标检测奠定坚实的基础。EIEStem模块的工作流程如下:
(1) 输入图像处理。输入图像首先经过Sobel Conv分支,提取边缘特征。Sobel滤波器通过检测图像中强度的急剧变化,生成边缘特征图。同时,输入图像还会经过池化分支,提取空间信息。池化操作通过最大池化,保留了图像中最显著的特征。
(2) 特征融合。经过Sobel Conv分支和池化分支处理后,生成的特征图将在特征融合模块中进行整合。该模块通过3D组卷积技术,将两个分支的特征进行有效融合,形成一个包含边缘和空间信息的综合特征图。
(3) 后续处理。生成的综合特征图将作为输入传递给YOLO11的后续网络结构,进行检测。该特征图不仅包含了丰富的边缘信息,还结合了空间上下文,为后续的检测提供了全面的特征支持。
改进后的网络架构如图2所示。
3. 实验
3.1. 数据集
数据集来自个人收集整理,共计3064张图片,包含5223个标签。采用7:2:1划分训练集、验证集和测试集,以支撑模型的有效训练与性能评估。针对道路缺陷的识别,本数据集聚焦于四种典型损坏类型:Crack-alligator (代表鳄鱼裂缝)、Crack-long (纵向裂缝)、Crack-trans (横向裂缝)以及pothole (坑洞),旨在通过模型训练实现对这些常见道路缺陷的高精度检测。经过检测可知其中Crack-trans (横向裂缝)在四种缺陷类型中训练样本最少。各类型标签的个数如表1所示。
Table 1. Dataset composition
表1. 数据集构成
类型标签 |
类型名称 |
标签个数 |
Crack-alligator |
鳄鱼裂缝 |
1375 |
Crack-long |
纵向裂缝 |
1607 |
Crack-trans |
横向裂缝 |
464 |
pothole |
坑洞 |
1777 |
3.2. 实验环境与模型训练
训练权重为YOLO11n.pt,图像尺寸为640 × 640,epoch为300轮,batch为16,优化器为SGD,其余参数默认,实验环境配置如表2所示。
Table 2. Experimental environment
表2. 实验环境
配置 |
参数 |
系统环境 |
Windows11 |
CPU |
AMD Ryzen9 7945HX |
GPU |
NVIDIA GeForce RTX 4060 Laptop |
GPU驱动版本 |
546.30 |
GPU加速 |
CUDA 12.3 |
语言 |
Python 3.10.15 |
训练框架 |
PyTorch 2.2.1 |
3.3. 评价指标
本文选用检测精度(Precision)、召回率(Recall)、平均精度均值(mean average precision, mAP)、参数量(Parameters)、每秒十亿次浮点运算数GFLOPs和每秒传输帧数(frames per second, FPS)具体公式如式(1)~式(4)所示:
(1)
(2)
(3)
(4)
Recall表示模型正确识别有目标判例占所有正确判例的比例,其中,TP代表模型正确预测的正样本数目,FP代表模型错误预测的负样本数目。Precision表示模型正确识别有目标判例占所有模型认为有目标判例的比例,其中FN表示正确目标中缺失目标的个数。AP是对P-R曲线的积分,即曲线与横纵坐标所围成的面积。mAP为各类预测对象精度的均值,n表示缺陷类别的数量,本文取n = 4,mAP0.5是指IoU阈值为0.5时的mAP,主要用于衡量模型的目标识别能力。
3.4. 结果分析
经过验证,改进后的模型在计算量增加极少(GFLOPs从6.3增至6.4)的情况下,推理速度显著提升(FPS从97.8增至113.3),这表明,通过引入EIEStem模块,模型在计算效率和推理速度上均得到了显著优化。Precision从0.840提升至0.850,Recall从0.796提升至0.838,mAP0.5从0.839提升至0.854,体现了模型对目标检测能力的整体增强。具体来看,Crack-alligator类别的各项指标均有小幅提升,Precision、Recall分别增加0.1%,mAP0.5从0.912提升至0.913,说明该类别性能已接近上限;Crack-long类别的各项指标也有小幅提升,mAP0.5增长0.8%,模型对该类别特征的表达能力进一步优化;Crack-trans类别表现显著改进,Precision从0.705提升至0.741,Recall从0.638提升至0.745,mAP0.5从0.721提升至0.766,召回率提升幅度高达16.8%,表明改进后的EIEStem模块在提取该类别的边缘和空间信息方面更加高效;Pothole类别的Precision略微下降(从0.888降至0.884),但Recall显著提升(从0.829增至0.878),最终mAP0.5从0.857提升至0.864,表现出模型更倾向于捕获更多目标。总体而言,改进后的模型不仅提高了性能均衡性,尤其在Crack-trans类别上解决了召回率不足的问题,同时在推理速度和检测性能之间实现了优异的平衡。实验结果如表3所示。
Table 3. Analysis of the model before and after improvement
表3. 模型改进前后分析
类别 |
Precision (改进前→改进后) |
Recall (改进前→改进后) |
mAP0.5 (改进前→改进后) |
Crack-alligator |
0.913→0.915 |
0.867→0.868 |
0.912→0.913 |
Crack-long |
0.856→0.861 |
0.848→0.859 |
0.864→0.872 |
Crack-trans |
0.705→0.741 |
0.638→0.745 |
0.721→0.766 |
Pothole |
0.888→0.884 |
0.829→0.878 |
0.857→0.864 |
平均值 |
0.840→0.850 |
0.796→0.838 |
0.839→0.854 |
为深入验证本文改进算法在路面缺陷检测领域的优越性,本文将改进后的YOLO11算法与传统的目标检测算法Faster-RCNN及单阶段YOLO系列多个版本(YOLOv7tiny、YOLOv8与YOLO11)进行了系统性比较。结果如表4所示。
Table 4. Comparative experiment analysis
表4. 对比实验分析
方法 |
mAP0.5 |
Parameters/106 |
FPS |
GFLOPs |
Faster R-CNN |
0.727 |
137.1 |
21 |
370 |
YOLOv7tiny |
0.826 |
6.0 |
109 |
13.2 |
YOLOv8 |
0.831 |
3.0 |
103 |
8.2 |
YOLO11 |
0.839 |
2.58 |
97.8 |
6.3 |
改进YOLO11 |
0.854 |
2.53 |
113.3 |
6.4 |
实验结果表明,改进后的YOLO11在mAP0.5和FPS两项关键指标上均展现出显著优势,相较于所比较的算法,分别实现了不同程度的提升,特别是在mAP0.5上,相较于两阶段算法Faster-RCNN提高了12.7个百分点,且FPS亦有显著提升。与YOLO系列算法相比,本文所提出的算法在mAP0.5分别提高了2.8、2.3、1.5个百分点,尽管其计算量相较YOLO11略有增加,但平均精度有1.5个百分点的提升,表明该算法在精度与效率间取得了良好平衡。综上所述,改进后的YOLO11算法在精度、模型复杂度及检测速度方面,展现出了优于其他对比算法的性能,在路面缺陷检测任务中,能够高效且精准地识别缺陷,具有良好的实际应用潜力和价值。
为更直观地评价本文改进算法的性能,对YOLO11与本文改进后的算法在测试集上的检测结果进行对比。检测效果对比分析如图3所示:(a) 组图片的基线模型出现坑洞误检;(b) 组图片的基线模型出现纵向裂缝漏检;(c) 组图片的基线模型出现横向裂缝漏检。相较于基线模型,改进后的YOLO11拥有较好的性能,进一步证明了改进模型的有效性。
Figure 3. Road surface defect detection results
图3. 路面缺陷检测效果图
4. 结语
本文提出了一种基于YOLO11改进的路面缺陷检测方法,通过设计EIEStem模块融合边缘特征与空间信息,显著提升了检测精度和速度。实验结果显示,改进后的算法在mAP0.5上达到0.854,比原YOLO11提高1.5%,相较于Faster-RCNN和YOLOv7tiny分别提升了12.7%和2.8%;推理速度达到113.3FPS,相较YOLO11提高约15.8%,计算量仅增加0.1GFLOPs,实现了检测性能和计算效率之间的优异平衡。对Crack-trans类别的小缺陷检测,改进算法的Precision和Recall分别提高3.6%和16.8%,表现出对小目标检测能力的显著增强。与Faster-RCNN和YOLO系列算法的对比验证了改进方法的有效性和优越性,尤其在精度和实时性方面具备明显优势,具有一定的理论意义与实际应用价值。
未来将进一步优化模型结构,以提升对复杂场景和极小缺陷的检测性能,扩展数据集规模和多样性,增强模型的泛化能力,研究在资源受限环境(如移动设备)中的部署优化,以满足实际应用需求。
NOTES
*通讯作者。