随着桥梁服役时间的增加,内部损伤劣化使得结构的承载能力降低,而裂缝是损伤的直观反映,是桥梁表观检测的重要内容之一。同时,裂缝会加剧钢筋锈蚀,降低结构的服役寿命,直接影响混凝土结构的强度和稳定性,严重的贯穿性裂缝可直接导致结构严重损伤,对结构的安全性能造成极大的危害[1]。所以,准确识别裂缝对提高桥梁表观检测质量意义重大。目前,桥梁裂缝检测以人工目测为主,检测的效率和精度低,而且人工检测存在桥塔和高墩等高空位置无法检测、安全隐患大等问题。随着计算机技术的不断发展,很多学者提出了利用数字图像技术来检测桥梁裂缝的方法[2],其检测系统一般由相机搭载设备、高清相机、算法模块组成[3-6]。搭相机载设备方面,无人机灵活轻巧、适应性强,能够用于各类桥梁的裂缝检测,利用无人机代替人工进行高空检测等,大大提高了检测的安全性和经济效益。且已有学者利用无人机完成了桥梁等结构的裂缝检测及三维建模[7-8],所以本文选用无人机作为相机搭载设备。在检测算法方面,ZHANG等[9]提出了改进的YOLOv3桥梁裂缝识别方法,结合MobileNet和卷积块注意力模块,可以实时检测桥面裂缝。LI等[10]提出了基于Faster R-CNN与无人机的桥梁裂缝检测方法,并通过实验确定了无人机稳定成像的距离范围。周中等[11]基于YOLOX算法提出了一种新的YOLOX-G隧道衬砌裂缝图像检测算法,解决了隧道裂缝传统检测方法检测精度低、检测速度慢等问题。INAM等[12]提出了基于YOLOv5和U-Net相结合的二阶段算法。但目前而言,基于数字图像技术的裂缝检测方法在实用性方面还存在较多问题值得继续探究,如裂缝的发展监测、复杂背景下线性噪点去除等。除了裂缝检测方法之外,精确的裂缝长宽计算方法同样也值得研究。周颖等[13]提出了基于欧氏距离的裂缝长度计算方法。唐钱龙等[14]基于Freeman链码实现了对裂缝长度的计算。此外,还有很多研究利用对骨架线像素求和的方法来计算裂缝长度。裂缝宽度计算方面。韩晓健等[15]采用边缘像素点的梯度方向作为边缘法线方向,计算边缘各点处的裂缝宽度。王卫东等[16]基于正交投影法沿裂缝边界提取单像素骨架及轮廓,实现了裂缝连续宽度计算。余加勇等[17]提出了八方向搜索法,以裂缝骨架图的每个裂缝像素为起始点,从8个方向搜索裂缝边缘像素,然后取最小边缘距离作为裂缝宽度。上述研究表明,基于深度学习的裂缝分割和尺寸测量都能达到像素级,相比于人工检测,其结果更加准确,自动化程度更高。YOLOv7目标检测算法在YOLOv5的基础上进行了改进优化,使得检测速度和精度进一步提高。因为考虑后期要搭载在无人机上,所以本文选用YOLOv7的轻量化版本YOLOv7-ting并对其进行改进,使其在轻量化的同时保持高精度。同时,针对以往语义分割模型参数量大、复杂度较高,计算成本和内存要求使得这些算法不适用于无人机等移动端的检测,特别是对于高分辨率图像的分割。本文引入了基于Transformer的轻量化语义分割模型SeaFormer,该模型具有较低的延迟,优于主流轻量级CNN模型[18]。为了进一步提高检测效率,本文提出了先识别裂缝,再提取裂缝目标框将其进行分割映射的识别方案,结合改进的YOLOv7目标检测算法、图像处理技术,实现了桥梁裂缝的自动化识别与分割、几何特征计算,并在兰州市中山桥上进行了裂缝检测实验。结果表明,该模型在实际工程中具有可行性。
1 无人机桥梁裂缝检测方法
无人机桥梁裂缝检测方法主要步骤有像素标定、图像采集、基于YOLOv7和SeaFormer算法的裂缝自动识别与分割、基于内切圆的裂缝长度与宽度自动测量、宽度云图映射,整体流程如图1所示。

1.1 像素标定
相机成像模型可以简单地用透镜模型来表示,如图2所示。真实的相机成像过程要比理想的透镜模型更加复杂,要想准确获取相机成像过程中的几何关系,必须在透镜模型的基础上对透镜的非线性畸变进行修正计算,由于现在相机厂商都会对相机进行畸变校正,故不再进行二次校正。

无人机上搭设红外距离感知系统,与快门同步测距,测得物距为

式中:f为焦距;u为物距;v为像距。进一步由相机成像模型的数学关系可得:

式中:L为物体实际尺寸;M为成像尺寸。将式(1)中的v代入式(2)得:

则单个像素对应的尺度因子μ为:

式中:s为感光元件实际尺寸;S为感光元件对应像素个数。
1.2 图像采集与质量评定
在无人机采集图像的过程中,由于无人机自身的振动、自然风和相机自身的影响,采集的图像经常出现图3所示的像移、跑焦(对焦不准)、曝光异常等问题,严重影响后续裂缝的分割和测量,所以有必要对采集图像进行质量评估。图像质量评价通常包括清晰度、曝光和有无噪声等方面。以往的图像质量评价方法主要基于均方差、图像锐度等[19],评价指标单一,难以对背景复杂的混凝土裂缝图像进行质量评估。

因此,本文引入一种自适应超级网络架构来评估图像质量,如图4所示。该网络首先用基础模型ResNet50提取图像语义特征,然后将其传入超级网络,超级网络根据输入图像内容制定质量感知规则。质量预测目标网络接受来自图像的多尺度特征输入,根据图像的具体表现对质量预测目标网络生成权重,并感知全局和局部复杂失真。因模型可以根据图像输入自适应生成预测权重,所以其可以很好地应用于野外环境图像的评价。

经过大量桥梁裂缝真实图像测试,发生像移和跑焦的图像得分都小于50,得分大于50的图像裂缝清晰,满足像素级分割需求。所以设定阈值为50,得分大于50判定为高质量图像。具体图像采集流程如图5所示。

1.3 裂缝检测算法
目前,基于深度学习的裂缝检测算法主要分为裂缝识别算法、裂缝分类算法、裂缝分割算法。其中检测算法只能通过生成矩形框,实现裂缝的定位;分类算法能将包含裂缝的图像与不包含裂缝的图像进行分类;而裂缝分割算法可以将裂缝从图像中分割出来。需要注意的是,通常识别与分类算法需结合分割算法使用才能达到更好的效果。
1.3.1 改进YOLOv7目标检测算法
YOLOv7在5FPS到160FPS范围内的速度和准确度都超过了已知的绝大多数目标检测器[20]。在结构上,YOLOv7与以往YOLO模型相似,依然分为3个部分,分别是Backbone、FPN和YOLO Head。而YOLOv7在主干特征提取网络中使用了密集的残差结构和2个分支的堆叠,使得网络可以通过增加深度来提高准确度,缓解了网络深度增加带来梯度消失的问题,提取更丰富的特征。同时,SPP结构中引入了具有残差边辅助优化的CSP结构。在网络中引入了RepConv,使模型在保证性能的同时减少参数量。FPN部分利用特征提取网络提取3个特征层进行构建,将不同尺度的特征层进行特征融合,有利于提取更好的特征。YOLO Head负责预测输出,YOLOv7预测端整体结构与YOLOv5类似,依然采用3个尺度的特征图进行多尺度检测。
YOLOv7虽然兼顾了检测速度与精度,但模型相对较大,为了满足搭载在无人机上的要求,本文选用其轻量化衍生版本YOLOv7-ting模型。然而,YOLOv7-ting在检测精度方面低于YOLOv7。为了弥补精度损失,结合裂缝细长的特征,在原结构中加入了能提取长距离语义信息和局部特征的EVC模块[21](改进后结构图如图6所示),提高了原模型针对裂缝的检测精度,具体EVC模块结构如图7所示。


EVC模块由轻型多层感知模块和可学习的视觉中心模块并行连接组成。其中轻型多层感知模块由2个残差模块组成,后面紧接通道缩放和DropPath操作,用于提取全局长距离依赖关系,提高模型泛化能力和鲁棒性。可学习的视觉中心可以学习并聚合输入图像中的局部特征,从而提高对目标的检测能力。
1.3.2 SeaFormer语义分割算法
Transformer架构因为其自注意力机制在序列长度方面具有时间和空间复杂度,所以计算成本和内存需求较大,使得其不适用于无人机等移动设备。为了解决这一问题,本文引入了SeaFormer模型,该模型增加了基于位置信息的轴向压缩注意力增强模块,一方面将QKV特征进行轴向压缩后再用注意力模块增强,另一方面将QKV特征使用卷积网络提升局部信息,最后将二者融合,输出增强特征。
如图8所示,该网络先对图像进行1/2、1/4和1/8的下采样,再分别用2个分支进行处理,红色的是上下文分支,蓝色的是空间分支。上下文分支交替使用了MobileNetV2 Block(MV2)和SeaFormer layers,中间使用融合模块对2个分支进行融合,使用卷积和Sigmoid提取权重信息,再将权重信息与空间分支相乘,连续迭代3次后使用分割模块进行处理。

SeaFormer采用了轴向注意力机制,先对Q,K,V分别进行池化,再转换维度,分别使用横向压缩和纵向压缩得到

1.4 裂缝长度与宽度计算
裂缝图像经过识别与分割模型被分割出来后,先采用数字图像技术进行二值化、去噪等操作,然后提取裂缝边缘线,通过边缘线内切圆计算裂缝长度与宽度。具体步骤及流程如图10所示。

1) 初步识别。YOLOv7改进算法识别裂缝区域,如图10(a)。
2) 提取裂缝区域,如图10(b)。将其输入SeaFormer模型,对裂缝进行分割,如图10(c)。
3) 二值化分割图像,方便后续计算,如图10(d)。
4) 去噪。计算二值化图像中各个裂缝的长度,剔除长度小于阈值的裂缝区域。
5) 提取裂缝中轴线。寻找裂缝各处内切圆的圆心,所有圆心组成一个集合,该集合内的点形成一条线,即为该裂缝的中轴线,如图11所示。

6) 裂缝长度计算。裂缝长度为中轴线像素点的和,设裂缝长度为L,则有:

式中:N为单个像素点的长度;n为内切圆个数,i=0, 1, 2, 3, …, n。
7) 裂缝宽度计算。裂缝宽度等于内切圆直径,设内切圆的半径为R,则裂缝平均宽度

式中:n为内切圆个数,i=0, 1, 2, 3, …, n。
需要注意的是,以上算法求出来的都是像素尺寸,需要乘前面的尺度因子才能计算真实尺寸。
2 裂缝检测模型训练
模型训练前先设置好超参数,然后准备好训练所需数据集,均按7∶2∶1的比例划分训练集、验证集和测试集,再使用GPU为3090(24G),CPU为Intel Xeon E5-2680 v4的设备进行训练,当模型精度与损失达到理想状态且趋于稳定时停止训练。
2.1 YOLOv7-ting-EVC模型训练
用上述图像质量评价模型对网上公开的混凝土桥梁裂缝数据集进行筛选,构建了包含3 272张混凝土桥梁表面裂缝图像的数据集,其中包括1 872张来自Aft_Original_Crack_DataSet_Second数据集[22](均是在光线良好的条件下近距离采集的混凝土桥梁腹板、底板及桥墩的较宽裂缝)的1 024×1 024像素的图像,1 400张来自SDNET2018数据集[23](在光线良好的条件下采集自混凝土桥梁腹板、底板和桥墩的窄裂缝图像)的256×256像素的图像。使用标注工具Labelimg进行了标注,为了加快模型收敛速度和更好训练效果,本研究采用迁移学习方法,将在COCO数据集上训练得到的权重作为YOLOv7初始权重,通过Pytorch框架进行训练,Python版本3.7,Pytorch版本1.8.2,采用默认参数,训练轮数为300次,使用最佳的训练权重来构建预测模型。


2.2 SeaFormer模型训练
对于SeaFormer分割模型的训练,使用上述筛选出来的1 872张来自Aft_Original_Crack_DataSet_ Second数据集和400张来自SDNET2018数据集的裂缝图像构成裂缝分割数据集。用标注工具Labelme进行标注,将在ADE20K数据集上训练得到的权重作为SeaFormer模型的初始权重,通过mmSegmentation语义分割框架进行训练,采用默认参数,训练轮次为400次,同样使用最佳的训练权重来构建分割模型。


3 精度对比与验证
3.1 算法对比
以下参数均在输入图像大小为1 024×1 024像素,显卡为RTX3090(24G),CPU为Intel Xeon E5-2680 v4的设备上计算获得。通过在本文构建数据集上进行训练,将YOLOv7、YOLOv7-ting和本文改进模型进行对比,结果如表1所示。
算法 | Params/M | FLOPs/G | AP/% | FPS |
---|---|---|---|---|
YOLOv7 | 146 | 103 | 92 | 139 |
YOLOv7-ting | 24 | 13 | 86 | 333 |
YOLOv7-ting-EVC | 46 | 23 | 91 | 208 |
由表1和图14可知,本文所构建模型既继承了YOLOv7-ting轻量化的优势,又达到了YOLOv7的精度,以较小的参数量和复杂度获得了精度较大的提升。
然后通过本文构建的裂缝分割数据集训练主流语义分割模型,与本文所构建模型进行精度对比,证明了本文所构建模型的IOU(交并比)和PA(准确率)都优于主流语义分割模型。如表2所示。
算法 | 主干网络 | IOU | PA |
---|---|---|---|
Pspnet | Resnet50 | 77.96 | 80.94 |
Deeplabv3+ | Xception | 83.38 | 89.40 |
改进U-net | Resnet50 | 86.42 | 92.01 |
SeaFormer | SeaFormer | 90.21 | 94.16 |
将本文分割模型与其他主流分割模型的FLOPs(复杂度)和Params(参数量)进行对比,如表3所示。
算法 | FLOPs/G | Params/M |
---|---|---|
改进Unet | 810.23 | 29.06 |
FCN | 792.00 | 49.60 |
Psanet | 778.62 | 54.07 |
Deeplabv3+ | 705.50 | 43.59 |
Pspnet | 715.04 | 49.09 |
Mobilenetv2 | 158.55 | 9.82 |
Mobilenetv3 | 34.36 | 3.28 |
SeaFormer | 6.68 | 8.59 |
3.2 实验验证
以上介绍了整个桥梁裂缝检测所用模型及流程,对所用方法的可行性和优势进行了研究说明,为进一步验证合理性及有效性,开展如下试验研究。
试验采用大疆精灵4pro-v2.0无人机,其内置距离感知系统,可实时测量无人机与待测面的距离。搭载焦距8.8 mm,最大拍摄分辨率为5 472×3 648像素的云台相机。试验对象为某大学教学楼带裂缝墙壁(图16),无人机在距离墙面3 m处悬停拍摄,为了达到更好的检测效果,试验采用滑动窗口先识别裂缝,再将目标框图像送入分割模型进行分割的方法,对该墙面7处裂缝的长度与宽度进行计算,并与人工测量结果进行了对比,如表4所示。

编号 | 长度测量 | 宽度测量 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
像素长度/px | 无人机测量/px | 人工测量/mm | 绝对误差/mm | 相对误差/% | 像素宽度/px | 无人机测量/px | 人工测量/mm | 绝对误差/mm | 相对误差/% | |
① | 722 | 693.12 | 701.30 | 8.18 | 1.17 | 2.48 | 2.38 | 2.54 | 0.16 | 6.30 |
② | 397 | 381.12 | 436.60 | 55.48 | 12.71 | 1.38 | 1.32 | 1.13 | -0.19 | -16.81 |
③ | 3 348 | 3 214.08 | 3 294.10 | 80.02 | 2.43 | 3.14 | 3.01 | 3.12 | 0.11 | 3.53 |
④ | 343 | 329.28 | 351.40 | 22.12 | 6.29 | 1.23 | 1.18 | 1.05 | -0.13 | -12.38 |
⑤ | 319 | 306.24 | 338.90 | 32.66 | 9.64 | 1.28 | 1.23 | 1.08 | -0.15 | -13.89 |
⑥ | 627 | 601.92 | 605.10 | 3.18 | 0.53 | 1.91 | 1.83 | 1.55 | -0.28 | -18.06 |
⑦ | 604 | 579.84 | 592.30 | 12.46 | 2.10 | 1.66 | 1.59 | 1.42 | -0.17 | -11.97 |

宽度测量方面,人工测量设备采用读数精度为0.005 mm的裂缝宽度测量仪,每条裂缝测量多点取平均值,无人机算法测量同样也取平均值。长度测量方面,人工测量方法选取低弹性细绳,沿裂缝轨迹布设,然后再用卷尺量出绳长,进而得出裂缝长度。
由于裂缝本身断面不齐及裂缝边界雨渍等影响,导致算法分割出来的裂缝宽度往往比原图裂缝宽度偏大。所以,将裂缝宽度像素值减去2个像素(试验所得偏大值)作为最终计算结果。经过测试,宽度测量整体相对误差在20%以内。而长度计算较为准确,其相对误差基本控制在10%以内。个别样本误差较大,原因是该裂缝末端存在被雨水冲刷形成的雨渍,导致部分非裂缝区域被误识别为裂缝。且部分裂缝末端非常细小,难以识别,导致无人机测量长度比实际长度普遍偏短。此外,试验中无人机距离待测面为3 m,在此距离下像素解析度为0.96(单个像素等于0.96 mm),这意味着最小能检测到的尺寸为0.96 mm。在实际工程中,可以对无人机装配防撞圈抵近待测面或者搭载长焦镜头进行图像采集,一方面可以缩小测量误差,另一方面对细微裂缝有更好的识别效果。
4 实际应用
4.1 概况
兰州市中山桥长234 m,宽7.5 m,6墩5跨,中间4个墩位于河水之中,主梁采用弧形钢架拱梁,建成于1907年,如今已经服役一百多年。运用上述方法对该桥中间4个桥墩进行了裂缝检测,在靠近北边2个桥墩上识别到了较明显的裂缝。
4.2 模型评估检验
本文引入Precision(精准度)、Recall(召回率)、F1分数3个标准对裂缝识别定位模型进行评价。其中,Precision表示模型预测为裂缝的所有样本中,预测正确样本的占比;Recall表示所有真实标签为裂缝的样本,有多大概率被成功预测出来;F1分数为Precision与Recall的调和平均数,是模型好坏的综合评价指标。




裂缝分割模型评估的目的是检验模型对图像中每个像素的准确分类能力,本文引入PA(像素分割精确率)和IOU(交并比)进行评估。PA表示预测正确的像素值占总像素值的百分比;IOU表示裂缝预测结果与真实标签交集与并集之间的比值。


式中:TP(True Positive)表示真阳性,模型预测有裂缝,实际有裂缝;FP(False Positive)表示假阳性,模型预测有裂缝,实际无裂缝;FN(False Negative)表示真阴性,模型预测无裂缝,实际有裂缝;TN(True Negative)表示假阴性,模型预测无裂缝,实际无裂缝。
4.3 中山桥裂缝检测
实验采用大疆精灵4pro-v2.0无人机环绕目标桥墩进行拍摄,在图像采集过程中,始终保持无人机距离桥墩3 m左右,保持云台相机光轴基本垂直于待测面进行采集。共采集到6张分辨率为5 472×3 648像素的带裂缝图像。由于裂缝作为小目标,只占图像中很少的一部分像素,如果直接分割原图会使得大量背景像素参与运算,且难免将类似裂缝的非裂缝区域分割为裂缝。所以,本文采用滑动窗口对原图扫描识别,通过YOLOv7改进模型检测裂缝,将所识别目标框图像作为SeaFormer模型的输入进行分割。相比于直接分割原图,其极大减少了参与分割的像素数量与检测时间,同时剔除了绝大多数噪点。然后根据上述裂缝宽度检测算法,输出裂缝宽度云图,提取目标框位置信息,将宽度云图按目标框位置信息映射到原图,如图18、图19所示。将采集到的图像经过裁剪和标注加入原先测试集,组成混合测试集。经过测试,裂缝识别定位精准度达91.38%,F1分数为88.94%,召回率为86.62%;裂缝分割准确度93.66%,交并比为89.17%。


5 结论
1) 通过无人机搭载云台相机,构建了基于改进的YOLOv7与SeaFormer模型的一体化桥梁裂缝检测算法,包括图像质量评价、图像去噪、裂缝尺寸计算和可视化展示等方面,并且提出了基于内切圆的裂缝长度、宽度计算方法,实现了桥梁裂缝的非接触、半自动化、高精度检测。
2) 采用先识别裂缝,再将目标框图像送入分割模型并映射到原图的检测方案,大大减少了参与分割的像素数量,使得整体检测速度有较大提升。利用本文所构建模型与其他主流模型进行训练测试,证明了其兼具轻量化和高精度,更适合搭载在无人机等算力有限的移动设备上进行作业。
3) 在距离待测面3 m处进行试验,发现裂缝长度测量相对误差基本在10%以内,宽度测量相对误差在18%以内。并用此模型成功检测了兰州市中山桥桥墩裂缝,将结果进行了可视化展示,在混合测试集上,识别精度达91.38%,F1分数88.94%,召回率86.62%;裂缝分割准确度93.66%,交并比90.17%。
4) 本文主要用无人机对混凝土桥梁裂缝进行自动化检测,后续可加入其他损伤数据集进行训练,进而用于多类型建筑结构的表观损伤识别。另外,可以结合三维建模方法及激光雷达等设备,实现裂缝三维可视化展示。
SeaFormer: squeeze-enhanced axial transformer for mobile semantic segmentation
[EB/OL]. 2023: arXiv: 2301.13156. http://arxiv.org/abs/2301.13156.杨国俊,齐亚辉,杜永峰等.改进YOLOv7和SeaFormer的桥梁裂缝识别与测量[J].铁道科学与工程学报,2025,22(01):429-442.
YANG Guojun,QI Yahui,DU Yongfeng,et al.Improved YOLOv7 and SeaFormer bridge cracks identification and measurement[J].Journal of Railway Science and Engineering,2025,22(01):429-442.