Research and Application of Bridge Disease Detection Based on Deep Learning
-
摘要: 本文研发基于YOLOv5算法的桥梁病害检测系统,用于无人机桥梁病害检测。首先,通过无人机巡航系统进行病害采集;其次,通过K-means聚类算法对YOLOv5算法中的先验框比例进行改进,获取桥梁病害的尺寸;再次,利用图像切割算法将无人机输入图像切割为640*640尺寸大小,减小模型训练与推理难度,同时利用APAP算法对切割图像识别结果进行拼接,达到完整无人机图像识别结果;最后,采用Python Flask搭建开放式桥梁病害检测Web前端,可根据实际需求调用不同桥梁部位病害权重,实现13种桥梁病害实时检测。结果表明,该模型可有效地降低硬件需求,可直接对无人机图像进行识别处理,实现快速病害检测,有望为桥梁病害检测提供一个高效、安全且具有前景的检测方法。
-
关键词:
- 桥梁工程 /
- 桥梁检测 /
- 无人机 /
- YOLOv5 /
- Python Flask
Abstract: In this paper, a bridge disease detection system based on YOLOv5 algorithm is proposed for UAV bridge disease detection. Firstly, diseases are collected through UAV cruise system. Secondly, K-means clustering algorithm is applied to improve the prior box proportion in YOLOv5 algorithm to obtain the size of bridge disease. Thirdly, the UAV input image is cut to 640 * 640 size by using the image cutting algorithm to reduce the difficulty of model training and reasoning. What's more, this paper uses APAP algorithm to splice the recognition results of cutting images to achieve a complete UAV image recognition result. Finally, the paper employs Python Flask to build an open bridge disease detection Web front-end, which can call the disease weights of different bridge parts according to actual needs, and further realize real-time detection of 13 bridge diseases. The results show that the model can effectively reduce the hardware requirements, directly identify and process UAV images, and achieve rapid disease detection, which is expected to provide an efficient, safe and promising detection method for bridge disease detection.-
Keywords:
- Bridge Engineering /
- Bridge Detection /
- UAV /
- YOLOv5 /
- Python Flask
-
引言
桥梁建成投入使用后存在大量如混凝土剥落、露筋、蜂窝麻面和锈蚀等病害,因此需对桥梁进行定期巡检。无人机等非接触式仪器因安全、便捷等优势已经被广泛应用至结构健康监测中[1],且无人机搭载高清摄像头对桥梁表观进行检测,可有效地获取桥梁表观病害特征图像,并为后续桥梁病害分析起到了至关重要的作用。随着计算机视觉领域的不断发展,基于深度学习的智能识别技术也相应成熟。
近年来,国内外学者开展了大量基于深度学习的目标检测的研究[2-5],其中以Fast-RCNN(Fast region-based eonvolutiona neural networks)、Faster-RCNN(Faster region-based eonvolutiona neural networks)与Mask-RCNN(Mask region convolution neural network)的双阶段目标检测算法和YOLO(You Only Look Once)系列的单阶段目标检测算法为主。深度学习在桥梁病害检测中已成为近年来桥梁智慧检测的研究热点。为实现结构病害智能识别检测,研究者们把卷积神经网络(CNN)[6-8]引入到实际混凝土表观病害识别中,实现了混凝土表观病害分类的目的并取得了较高的精确度。但在混凝土表观病害检测中,研究组更关心病害所处位置及其类别,因此简单的卷积神经网络不能满足当前的需求。随着目标检测的不断发展,以YOLOv3[9]等目标检测算法不仅能够输出目标病害类别,同时还可以预测目标病害所处位置,进一步推动了混凝土表观病害检测智能化的发展。Cha等[10]使用快速卷积神经网络(Faster-RCNN)对结构损伤进行目标检测, 其中包括混凝土裂缝和两级钢腐蚀等5种损伤类型, 取得了87.8%的平均分类准确度。Shen等[11]基于YOLOv4-FPM算法,利用焦点损失函数(focal loss)及剪枝算法(Pruning Algorithm)对原有算法进行随机剪枝,从而减小网络模型的复杂程度,分析了改进后的YOLOv4-FPM对裂缝的识别效果。Zhang等[12]基于YOLOv3算法结合迁移学习算法以改善训练样本不足的问题,成功实现了裂缝、露筋、剥落、保护层脱落4种病害的识别以及定位,其平均分类准确率达80%。
在实用性方面,研究者们探讨了通过无人机进行桥梁病号检测,包括混凝土结构裂缝检测[13, 14],裸露钢筋的检测[15, 16],基础设施的健康评估[17],桥梁病害的3D重建[18]等。
虽然深度学习被广泛应用至桥梁病害检测当中,但一方面需要大量算力,对设备要求较高,处理结果传输至前端花费时间较长,无法做到快速实时检测;另一方面,其识别病害种类较少,未能整合病害检测模型,应用性有待提高。
针对上述问题,本研究基于YOLOv5算法进行改进。首先,通过K-means聚类算法选取合适的桥梁病害比例,以便有效地获取建议区域;其次,利用图像切割与拼接算法对输入和输出图像分别进行切割与拼接,从而减小模型训练难度。通过上述方法对桥梁分别按照桥面系(伸缩缝堵塞、排水孔堵塞、龟裂)、混凝土结构(剥落、蜂窝麻面、裂缝)、下部结构(渗水、白皙、防尘罩脱落)以及钢结构(螺栓锈蚀、松动、缺失,油漆脱落)进行病害识别,共计13种桥梁病害;最后,基于Python Flask框架设计桥梁病害检测系统管理平台公开接口API,提供了一体化的桥梁结构病害的智能检测方法,并将其应用至Web端。
1. 桥梁病害识别检测系统与实现
桥梁病害识别检测系统主要有无人机巡航系统、病害识别定位系统、实时目标检示。
1.1 无人机巡航系统
无人机巡航系统是由无人机机身、相机和测前端三部分组成,技术路线图如图 1所示。模块和机载计算机控制软件组成,如图 2所示。首先,作业人员对桥梁病害通过无人机进行采集,并上传至桥梁病害检测系统;其次,通过目标检测算法对图像是否包含病害进行识别定位,获取相关病害信息;最后,输出结果展示至桥梁病害检测系统前端。
在本研究中,无人机采用大疆经纬M300RPK无人机,具有六向定位避障系统和40m探测距离,为飞行提供了安全、稳定的飞行能力,可有效地避免在桥梁检测过程中发生无人机碰撞,减少对行车的安全风险。
相机模块选用大疆禅思H20,该相机模块集成了1 200万像素广角、2 000万像素、23倍混合光学变焦、640×512热成像和1 200米激光测距于一身,可满足不同桥梁位置的拍摄需求。相机模块具有将世界坐标下的物体转换到图像像素下坐标的功能,以便对病害进行精确定位。为保证图像病害具有较高辨识度,相机模块尽量采用平行于桥面进行拍摄,拍摄距离偏差不超过±3m,角度偏差不超过±15°,搭配大疆经纬M300RTK无人机,可实现精准定位、精准复拍等功能,避免了在作业中产生漏拍,减少了作业的人员的重复性工作。
机载计算机控制软件满足无人机飞行策略设定,自动巡航、自动拍摄等功能,可有效地减少作业人员的工作量。为得到有效的拍摄图像与高效作业,无人机的拍摄距离与焦距具有至关重要的作用。因此,针对桥梁不同位置需进行合适的拍摄距离与焦距选择。
1.2 基于YOLOv5算法的桥梁病害识别
YOLOv5是YOLO(You only look once)系列网络模型的最新版本,是基于YOLOv4的网络模型进行改进。该结构采用GIou_Loss作为Bounding box的损失函数进行改进,同时引入YOLOv4的马赛克数据增强方法(Mosaic),随机挑选4张图像进行随机缩放、裁剪等方式进行拼接,丰富了数据集样本形式,尤其是增加了许多小目标,增强了卷积神经网络的学习能力,降低了模型的计算量,极大地提高了模型的运算速度,具有高效、易部署到移动端等优点,已被广泛应用至各个领域中的目标检测、跟踪与分割。
基于以上优点,本研究针对桥梁病害搭建了YOLOv5病害识别与定位模型,YOLOv5桥梁病害识别与定位模型由骨干网络(Backbone)、颈部网络(Neck)和预测端(YOLO Head)组成,图 3描绘了YOLOv5模型的整体结构。
2. 改进YOLOv5目标检测算法
2.1 模型改进
由于无人机拍摄图像像素值较大,但部分病害目标较小,若直接输入无人机拍摄图像进行病害检测,将存在大量漏检行为,且对模型训练与推理存在较大难度。基于对病害检测任务的分析,提出改进的YOLOv5网络模型对输入图像切割成若干个小图进行训练,减小计算成本。这有助于检测大面积图像中的病害,减少漏检与误检的情况,提高桥梁病害检测效率,符合实际工程中获取桥梁病害图像的特点。
禅思H20相机模块所拍摄的单张图像分辨率为5 888×3 888,若直接将该图像输入至YOLOv5模型中,将严重导致模型训练慢,推理困难。因此,对无人机图像进行切割,切片尺寸像素为640×640,切片步长为512像素,最后一张切割图像像素大小不足640×640,则进行填充,以满足输入图像要求。
坐标在滑动窗口内的切割图像作为有效训练图像,并重新计算当前目标坐标信息。在研究中发现,由于切片尺寸像素为640×640,切片步长为512像素,若将切割图像结果直接进行拼接,则完整图像将产生重叠部分。为更好的获取无差别图像,本文采用AP算法利用多个局部单应性进行精准对齐匹配,并对图像重叠区域进行切割,得到拼接缝;采用Multi-band Bleing算法对拼接图像进行加权平均,得到重叠图像融合结果,最终反向进行重建图像,得到完整的拼接图像结果。
切割图像分别进行训练与预测,最终将所有切割图像识别结果进行拼接,得到完整病害图像识别结果,实际病害图像切割与拼接效果如图 4(a)~(c)所示。
为了更好地使模型学习病害特征,具有优秀性能,研究组分析了模型中所需训练的数据集的真实框,研究中发现预选框框比例为固定参数(0.5∶1∶2),不满足实际病害尺寸要求。
因此,本研究采用K-means聚类算法对实际病害进行先验框比例调整,对象边界框和聚类中心框之间的距离参数如公式(1)所示。其中 cj代表第 j个聚类中心框,Oij代表第 j个聚类中心的第 i个对象边界框。
通过不断地调整相关参数,研究中发现随着聚类中心数量地不断增加,模型的精确度也相应提高,直至聚类数量达到9簇。如图 5所示,模型准确度达到最优值,此时聚类先验框比例为(0.36∶1.14∶2.8),该预选框比例均匀地分布在各个病害尺寸上,满足实际病害尺寸特点,可有效地提升模型性能,提高病害识别精确度。
2.2 桥梁病害检测模型训练
首先,基于无人机巡航系统收集桥梁相关病害,该系统提供了3 294张桥梁病害图像。数据集图像使用LabelImg标注工具进行分类标注,采用VOC数据集格式,将图像目标信息转化为.xml格式的坐标文档,可随时进行修改。
采用旋转、翻转、加噪声等图像处理技术进行数据集扩充,将3 294张图像扩充为9 882张;然后将桥梁病害进行分类,分为桥面系(伸缩缝堵塞、排水孔堵塞、龟裂)、混凝土结构(剥落、蜂窝麻面、裂缝)、下部结构(渗水、白皙、防尘罩脱落)、钢结构(螺栓锈蚀、松动、缺失,油漆脱落)分别构建成不同数据集进行模型训练。扩充后的数据集取882张作为测试集,其余图像按照8∶2的比例随机划分,分别得到训练集图像7 200张,验证集图像1 800张。
在训练过程中,采用迁移学习方法,通过在COCO数据集上的预训练权重,优化网络模型。初始学习率设置为1×10-5,训练批次大小为8张,世代数(Epoch)根据实际数据集进行相关设定,每个训练周期步长为1 000步,输入图像大小为640×640像素。与此同时,为防止训练模型产生过拟合,将根据上节所划分的桥梁病害位置,分别将各部位病害数据集分别放入模型进行训练。模型采用随机梯度下降算法,使得网络模型不断收敛至最优解,以此保证模型具有较优性能。
图 6(a)~(d)分别显示了各个部位数据集在训练过程中的损失函数收敛状况,随着世代数地不断增加,模型在验证集上的性能表现也不断提升,最终趋于收敛状态,具有一定的稳定性和有效性。
为评估桥梁病害识别模型的检测性能,将测试集作为输入图像测试模型性能。本文引入准确率(Precision)、回召率(Recall)和 F1分数(F1 score)作为该模型的评价指标。准确率为正确识别病害数量占所有识别出该类病害数量的比例,回召率为正确识别出该病害数量占实际病害数量的比例,F1分数为评价该模型综合性能的评价指标。
TP表示为图像中所对应病害被正确识别成相应病害;FP表示图像中非病害种类被识别成正确病害;FN表示将非病害种类被错误识别;P、R分别表示为精确率与回召率。评价指标计算公式(1)~(3)所示:
$ p=\frac{T P}{T P+F P} $
(1) $ R=\frac{T P}{T P+F N} $
(2) $ F_1=\frac{2 \times P \times R}{P+R} $
(3) 由表 1可知:模型对于下部结构的病害识别的准确率、回召率和F1分数均在90%以上,桥面系病害的准确率、回召率F1分数分别为94.4%、84.3%和89.1%;混凝土结构的病害的准确率、回召率F1分数分别为89.1%、90.7%和89.9%;钢结构的病害的准确率、回召率F1分数分别为93.9%、87.0%和90.3%。研究中发现,该三个桥梁部位的病害由于其中的某类病害的训练样本不足,导致该模型的准确率或回召率较低。YOLOv5桥梁病害识别模型总体的准确率、回召率和F1分数分别为92.9%、89.0%和90.9%,因此该模型对于各个桥梁部位结构的病害识别具有较高的准确率与回召率,可实现对于13种桥梁病害的高精度的病害识别与定位。
表 1 网络结构表评估参数 桥梁部位 总体 桥面系 混凝土结构 下部结构 钢结构 TP 2 98 113 107 420 FP 6 12 7 7 32 FN 19 10 9 14 52 准确率/% 94.4% 89.1% 94.2% 93.9% 92.9% 回召率/% 84.3% 90.7% 92.6% 87.0% 89.0% F1分数/% 89.1% 89.9% 93.4% 90.3% 90.9% 3. 实时检测前端
桥梁病害识别系统主要便于作业人员能够进行实时病害识别,为此,本研究设计并实现了一套完善的Web端桥梁病害检测系统。
Web端基于Python Flask框架并采用前后端分离的架构进行开发,Flask是一种轻量级Web端构成框架,可同时实现多个Python环境并行,为多部位桥梁病害检测提供了有力帮助。首先对YOLOv5网络模型进行封装,其次利用Flask框架搭建桥梁病害识别系统平台的公开接口API,对YOLOv5相关病害权重进行调用,实现在Web端上传病害图像并进行相关病害识别,系统整体框架如图 7所示。
4. 试验测试与评估
为测试桥梁病害检测系统的检测性能,本文随机采用未训练样本作为测试集对各个部位病害进行测试。由图 9(a)~(l)可知,该桥梁病害识别与定位系统对桥梁病害具有较高精确度,满足实际工程应用。
5. 结语
本文研发了桥梁桥梁病害检测系统,可实现13种桥梁病害识别,集后台识别与前端展示一体化,有效地提高了桥梁巡检效率。具体来讲,首先结合K-means聚类算法对桥梁病害尺寸进行调整,引入图像切割与拼接算法对YOLOv5网络模型进行改进,训练并重建桥梁病害识别模型;其次集桥面系、混凝土结构、下部结构、钢结构相关病害检测模型,利用Python Flask搭建桥梁病害检测系统,可分别调用相关权重文件对各个部位进行精确病害检测与定位;最后通过无人机拍摄的图像对桥面系、混凝土结构、下部结构、钢结构相关病害进行实验,总体的准确率、回召率和F1分数分别为92.9%、89.0%和90.9%,具有较高的准确率和回召率,对于桥梁病害检测,尤其对特大桥梁检测具有较高的借鉴价值与实践意义。
-
表 1 网络结构表
评估参数 桥梁部位 总体 桥面系 混凝土结构 下部结构 钢结构 TP 2 98 113 107 420 FP 6 12 7 7 32 FN 19 10 9 14 52 准确率/% 94.4% 89.1% 94.2% 93.9% 92.9% 回召率/% 84.3% 90.7% 92.6% 87.0% 89.0% F1分数/% 89.1% 89.9% 93.4% 90.3% 90.9% -
[1] Yongding Tian, Chao Chen, Kwesi Sagoe-Crentsil, et al. Intelligent robotic systems for structural health monitoring: Applications and future trends[J]. Automation in Construction, 2022, 139(7): 104273.
[2] Tangbo Bai, Jianwei Yang, Guiyang Xu, et al. An optimized railway fastener detection method based on modified Faster R-CNN[J]. Measurement, 2021, 182(9): 109742.
[3] Yongqing Jiang, Dandan Pang, Chengdong Li. A deep learning approach for fast detection and classification of concrete damage[J]. Automation in Construction, 2021, 128(8): 103785.
[4] Chong Wei, Shurong Li, Kai Wu, et al. Damage inspection for road markings based on images with hierarchical semantic segmentation strategy and dynamic homography estimation[J]. Automation in Construction, 2021, 131(11): 103876.
[5] Srinath S. Kumar, Dulcy M. Abraham, Mohammad R. Jahanshahi, et al. Automated defect classification in sewer closed circuit television inspections using deep convolutional neural networks[J]. Automation in Construction, 2018, 91(7): 273-283.
[6] 杨扬, 王连发, 张宇峰, 等. 基于多特征融合的混凝土结构表面病害图像分类算法[J]. 长安大学学报: 自然科学版, 2021, 41(3): 64-74. https://www.cnki.com.cn/Article/CJFDTOTAL-XAGL202103007.htm [7] Xiaojian Han, Zhicheng Zhao, Lingkun Chen, et al. Structural damage-causing concrete cracking detection based on a deep-learning method[J]. Construction and Building Materials, 2022, 337(24): 127562
[8] 陈飞飞, 张宇峰, 韩晓健. 基于图像特征值的混凝土桥梁表面病害图像分类[J]. 结构工程师, 2018, 34(1): 59-63. https://www.cnki.com.cn/Article/CJFDTOTAL-JGGC201801009.htm [9] 杨魁, 王丹妮, 唐双, 等. 基于改进YOLO算法的混凝土表观病害识别方法[J]. 公路工程, 2021, 46(5): 81-86. https://www.cnki.com.cn/Article/CJFDTOTAL-ZNGL202105012.htm [10] Cha Y J, Choi W, Suh G, et al. Autonomous Structural Visual Inspection Using Region-Based Deep Learning for Detecting Multiple Damage Types[J]. Computer-Aided Civil and Infrastructure Engineering, 2018, 33(9): 731-747. DOI: 10.1111/mice.12334
[11] Yu Z, Shen Y, Shen C. A real-time detection approach for bridge cracks based on YOLOv4-FPM[J]. Automation in Construction, 2021, 122(2): 103514.
[12] Zhang, C, Chang, C-C, Jamshidi, M. Concrete bridge surface damage detection using a single – stage detector[J]. Computer -Aided Civil and Infrastructure Engineering, 2020, 122(2): 103514.
[13] 丁威, 俞珂, 舒江鹏. 基于深度学习和无人机的混凝土结构裂缝检测方法[J]. 土木工程学报, 2021, 54(S01): 1-12. https://www.cnki.com.cn/Article/CJFDTOTAL-TMGC2021S1001.htm [14] 阮小丽, 王波, 荆国强, 等. 桥梁混凝土结构表面裂缝自动识别技术研究[J]. 世界桥梁, 2017, 45(6): 55-59. https://www.cnki.com.cn/Article/CJFDTOTAL-GWQL201706011.htm [15] R. Santos, D. Ribeiro, P. Lopes et al. Detection of exposed steel rebars based on deep-learning techniques and unmanned aerial vehicles[J]. Automation in Construction, 2022, 139(7): 104324.
[16] 阮小丽, 王波, 吴巨峰, 等. 基于深度学习的钢筋混凝土桥梁掉块露筋病害识别[J]. 世界桥梁, 2020, 48(6): 88-92. https://www.cnki.com.cn/Article/CJFDTOTAL-GWQL202006019.htm [17] Isaac Osei Agyemang, Xiaoling Zhang, Daniel Acheampong, et al. Agbley, Autonomous health assessment of civil infrastructure using deep learning and smart devices[J]. Automation in Construction, 2022, 141(9): 104396.
[18] Yan Xu, Jian Zhang. UAV-based bridge geometric shape measurement using automatic bridge component detection and distributed multi-view reconstruction[J]. Automation in Construction, 2022, 140(8): 104376.
-
期刊类型引用(2)
1. 董子琦,刘帆,蒋子舟. 人工智能在桥梁健康监测中的应用研究综述. 山西交通科技. 2024(04): 108-112 . 百度学术
2. 王凯. 基于PCA-PSO-RBF神经网络模型的干寒地区中小跨径桥梁智能养护评价. 中国公路. 2024(23): 118-120 . 百度学术
其他类型引用(1)