1. 引言
桥梁在现代社会中扮演着至关重要的角色,然而,随着桥梁的使用年限增长,桥梁可能出现裂纹等结构缺陷,这些缺陷对其安全性和可靠性构成了潜在威胁。因此,对桥梁结构进行实时的裂纹检测至关重要。近年来,基于深度学习的目标检测技术在图像处理领域取得了巨大的进展,然而,在桥梁裂纹的检测方面,仍然存在一定的挑战。
本文提出了一种基于YOLOv8实例分割的桥梁裂纹侦测方法。为了提高模型的准确性和效率,本文主要从两个方面进行了创新。首先,我们改进了数据增强方法,通过在训练集中引入更多的变化和多样性,增强了模型的泛化能力。其次,我们引入了Coordinate Attention注意力机制[1],通过对特征图中的位置信息进行建模,提升了模型对裂纹区域的关注度,从而改善了检测性能。
2. 相关研究
目前,在裂纹检测领域,深度学习算法已成为主导技术。目标检测模型主要分为两种类型:两阶段模型和一阶模型。两阶段模型以SPP-NET [2]、Faster-RCNN [3]等代表。在训练过程中,首先对区域建议网络进行训练,随后训练针对目标区域的检测网络。因此,虽然这类模型具有较高的精度,但处理速度较缓。以YOLO系列和SSD [4]为代表的二阶模型将目标检测视为一个回归问题。该模型利用初始锚点定位目标区域,直接预测类别,在不使用RPN的情况下完成整个检测过程,实现端到端目标检测。相应地,这种模型的速度比两级模型要快得多,但精度较低。在速度方面,单级模型比两级模型更适合工业应用。
Wang [5]将双目立体视觉测量技术应用于无人机桥式裂缝系统。Kim等[6]介绍了一种基于R-CNN的无人机平台的桥式裂纹识别算法。无人机正被越来越多地用于裂纹检测。然而,这些研究也有一定的局限性,特别是:1) 大多数研究集中在单调背景下的裂缝检测,如实验室中的混凝土构件或无杂物的桥面和路面。当无人机在某些结构的狭窄部分采集数据时,可能会出现GPS信号微弱的问题,这使得裂纹的位置难以复原。2) 大多数研究都在一些大型数据集上进行了迁移学习,这些数据集中的图像大小通常很小,如256 × 256或500 × 350像素,因此迁移学习后的模型对小图像有很好的检测结果,但在大图像上会带来特征的消失。
YOLO算法已广泛应用于无人驾驶汽车、机器人以及视频监控等领域,成为这些应用中的关键物体检测技术。Terven等[7]人全面分析了YOLO的发展历程,详细介绍了从YOLO到YOLOv8的创新。雷源毅等[8]提出一种改进YOLOv8n的RDCA-YOLO安全帽检测算法,为解决工地场景下安全帽检测因背景复杂、目标密集等导致YOLOv8n算法识别精度低、易出现漏检及误检等问题。曹士杰[9]提出了一种基于改进YOLOv5的实例分割网络模型Rock-YOLOv5,分别从通道注意力机制与空间注意力机制两方面对原始YOLOv5算法进行改进。通过对采集到的图像进行预处理,产生训练样本,构建出石块图像数据集。目标检测着重于识别物体的类别与位置,而实例分割则进一步对每个物体的实例进行区分,不仅识别类别和位置,还执行了分割,可以提供每个物体实例的精确轮廓,本文将基于改进YOLOv8s算法的实例分割实现对桥梁裂纹的识别。
3. 方法
3.1. 数据增强
为了获得更好的训练效果,Yolov4 [10]开始使用mosaic数据增强方法来达到丰富数据集特征的目的。yolov8的默认数据增强策略是在除最多10个epoch外的所有数据中使用马赛克数据增强,同时对一半数据进行左右反转,并在数据反转后立即对部分数据进行颜色调整等。本文针对火焰和烟雾的数据特征,对Yolov8的默认马赛克策略进行了修改,同时增加了图像曝光处理[11]和图像模糊处理[12]如图1所示。
Figure 1. Data augmentation effect diagram
图1. 数据增强效果图
图像曝光调整可以帮助模型适应不同的照明和摄像条件。它包括修改图像的伽玛曝光,使其更亮或更暗。对图像亮度或三基色值进行非线性运算或反运算的数学方法如下:
(1)
在方程中,A代表常数,输入值和输出值都属于非负实数集。通常,在A设为1的情况下,输入和输出值的范围为0至1。
为了增强模型对相机焦点变化的适应性,本文引入了随机高斯模糊技术。高斯模糊,作为一种图像模糊滤波器,通过对图像的每个像素点应用正态分布进行转换,其在N维空间的正态分布方程为:
(2)
其中,模糊半径用r表示,正态分布的标准偏差用σ表示。
3.2. 注意力机制
传统的卷积神经网络主要捕获局部特征,难以建模对视觉任务至关重要的长距离依赖。因此,本文采用了Coordinate Attention机制,这种机制通过融合位置信息到通道注意力中,为移动网络设计了一种创新的注意力机制。Coordinate Attention通过将通道注意力拆分为两个一维特征编码步骤,沿两个空间维度聚合特征,从而能够在一个方向上捕获长距离的依赖关系,同时在另一个方向上保持精确的位置信息。得到的特征图分别编码成一对具有方向感知和位置敏感的注意力图,这些图可以互补地用于增强输入特征图中感兴趣对象的表征。
YOLOv8中的C2f模块承担了一个关键任务:融合来自高层的语义特征和来自低层的细节特征。C2f模块采用Split进行特征分层,并在特征提取过程中使用跳层连接以确保轻量级并获得更丰富的梯度流信息。C2f的结构如图2所示。
Figure 2. Structure of the C2f Module
图2. C2f模块结构
本文将Coordinate Attention引入yolov8的c2f模块中,构建一个c2fca模块,结合c2f和Coordinate Attention的优点,增强远程依赖的特征提取,模块结构如图3。
Figure 3. The constructed C2fca Module
图3. 构建的C2fca模块
3.3. 改进后的网络模型
首先,在input阶段先进行exposed和blur的数据增长,再进行mosaic增强,在训练过程中后50 epoch不进行mosaic增强。图片处理阶段完成之后,在主干网络上进行特征提取,和原算法的主要区别是在P3、P4、P5部分进行模块替换,将原算法中的c2f模型替换为c2fca模块,改进后的算法如图4所示。
Figure 4. Improved network model
图4. 改进后的网络模型
4. 实验
4.1. 数据集准备
本文实验使用的数据集包含2400张桥梁裂纹的图像,部分来自网络公开数据集,部分来自现场采集。我们按8:1:1的比例将数据集分为训练集、验证集和测试集。其中,验证集加入了部分现场采集到桥梁裂纹图片,以便更好评估模型在生产环境中性能。在目标检测中,通常物体检测任务中需要为每个物体标注边界框及其对应的类别标签。相对地,在实例分割任务中,除了标注物体的类别外,还需对每个像素进行标注,明确其属于哪一个具体实例,实现对每个实例的像素级分割,裂纹标注如图5所示。
Figure 5. Annotation example
图5. 标注示例
4.2. 实验评估
在本文的物体检测任务中,我们使用三个主要评价指标来评估模型,分别是精度、召回率和平均精度(AP)。精度作为一个指标,量化了模型在预测过程中做出准确预测的比例。它的计算方法是,在全部样本中,预测正确的样本所占的比例。本文将精度作为评估模型准确性的重要性能指标。另一方面,召回率衡量的是模型正确检测到的正样本占正确检测正样本与错误检测负样本总和的比例,用以评估模型的检测能力和覆盖范围。
在本文中,我们特别关注召回率,因为在物体检测任务中,错误检测会导致严重后果。此外,平均精度(AP)也是评估物体检测模型整体性能的重要指标。平均精度通过两种方法确定:AP@0.5和AP@0.5:0.95。AP@0.5具体表现为0.5交集大于IOU时的平均精度,衡量预测边界框与实际边框之间的重叠程度。同时,AP@0.5:0.95考虑了IOU值从0.5到0.95之间的平均精度。这两种AP计算方法都能有效评估模型在不同IOU临界值下的性能。需要强调的是,我们只考虑真实IOU大于50%、小于95%的类与预测边界框之间的匹配。这种方法有助于排除低质量的预测,确保评估模型对目标对象的精确定位和识别能力。
(3)
(4)
(5)
(6)
4.3. 实验结果分析
基于制作的数据集,相较原始YOLOv8s,改进模型的精度(P)由0.865提升至0.900 (+3.5个百分点),召回率(R)由0.781提升至0.793,mAP@0.5由0.865提升至0.888,mAP@0.5:0.95由0.567提升至0.578;模型大小仅由11.1 MB增至12.2 MB,结果如表1所示。
Table 1. Comparison of experimental results
表1. 实验结果对比表
模型 |
P |
R |
mAP 0.5 |
mAP 0.5:0.95 |
大小 (MB) |
Yolov5s |
0.852 |
0.786 |
0.867 |
0.563 |
7.2 |
Yolov7 |
0.859 |
0.785 |
0.868 |
0.56 |
36.4 |
Yolov8s |
0.865 |
0.781 |
0.865 |
0.567 |
11.1 |
改进的Yolov8s |
0.90 |
0.793 |
0.888 |
0.578 |
12.2 |
为了验证我们算法的优越性,我们在相同的输入规模和相似的模型大小下进行了多次实验,并与当前物体检测中流行的YOLOv5s [13]、YOLOv7s [14]等算法进行了比较。在相同环境下,我们的算法表现更优。尽管改进算法模型的参数略有增加,但运行效率并未受到影响。这归功于改进后的方法降低了模型的计算复杂度,同时增强了模型理解输入数据的能力。
5. 结语
本文提出了一种基于YOLOv8实例分割的桥梁裂纹识别方法,旨在解决桥梁结构安全性的重要问题。针对传统方法在实时性和准确性上的不足,本文提出了一系列创新性的改进。首先,在数据增强方面,通过改进马赛克策略并引入图像曝光处理和图像模糊处理,增强了模型对裂纹图像的鲁棒性和泛化能力。其次,在C2F模块中加入Coordinate Attention注意力机制,提升了模型对关键信息的关注度,从而提高了裂纹检测的准确性。实验结果表明,改进后的算法在精度、召回率和mAP等指标上均取得了显著提升,尽管模型的大小略有增加,但运行效率并未受到影响。本文提出的基于YOLOv8实例分割的桥梁裂纹识别方法在解决桥梁结构安全性问题方面具有重要意义。
基金项目
2025年安顺市理论创新课题(联合课题)“基于大语言模型的开放教育学习辅助智能体研究”(ASLCLH-2025-15)。