智慧桥梁巡检-桥梁裂缝锈蚀剥落智能检测系统
1.数据集:桥梁表面病害检测数据集,包含裂缝、钢筋锈蚀、混凝土剥落、露筋、渗水等类别,适合桥梁安全巡检。支持YOLO、XML、TXT、JSON格式。
2.数据集+桥梁病害监测系统软件部署,支持目标检测、病害分类、置信度显示、检测记录管理和报告生成。
3.数据集+无人机或巡检机器人硬件部署,实现桥墩、桥面和桥梁侧面的自动化巡检。
桥梁裂缝锈蚀剥落智能检测系统
数据集信息表
| 项目 | 详情 |
|---|---|
| 数据集名称 | 桥梁表面病害检测数据集 |
| 缺陷类别 | 裂缝、混凝土剥落、钢筋锈蚀、露筋、渗水 |
| 标注格式 | YOLO(txt)、VOC(xml)、JSON |
| 适用场景 | 桥梁安全巡检、无人机/机器人桥梁外观检测 |
yolo配置文件 bridge_defect.yaml
nc:5names:0:crack# 裂缝1:spallation# 剥落2:rust# 锈蚀3:rebar_exposed# 露筋4:water_seepage# 渗水关键词
桥梁病害检测、桥梁裂缝识别、混凝土剥落、钢筋锈蚀检测、桥梁智能巡检、无人机桥梁检测、桥梁病害报告生成、目标检测、基建结构健康监测
一、YOLOv11训练代码
fromultralyticsimportYOLOif__name__=="__main__":model=YOLO("yolo11n.pt")results=model.train(data="bridge_defect.yaml",epochs=50,imgsz=640,batch=8,device=0,workers=2,conf=0.25)# 模型评估model.val()# 推理model.predict("bridge_test.jpg",save=True)二、推理函数(返回病害信息,用于后端生成报告)
fromultralyticsimportYOLO model=YOLO("runs/detect/train/weights/best.pt")defbridge_detect(image_path):output=[]res=model.predict(image_path,conf=0.4)forresultinres:forboxinresult.boxes:cls_id=int(box.cls)conf=float(box.conf)xyxy=box.xyxy.tolist()[0]cls_name=model.names[cls_id]# 风险等级简单映射ifcls_namein["crack","spallation"]:risk="高风险"elifcls_namein["rust","rebar_exposed"]:risk="中风险"else:risk="低风险"output.append({"defect_type":cls_name,"confidence":round(conf*100,1),"box":xyxy,"risk_level":risk})returnoutput三、PyQt5简易GUI系统代码(桥智视界界面核心功能:图片检测、缺陷列表、报告导出)
importsysimportjsonfromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QFileDialog,QLabel,QTableWidget,QTableWidgetItem,QVBoxLayout,QWidget)fromPyQt5.QtGuiimportQPixmapfromultralyticsimportYOLOclassBridgeDetectSys(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("桥梁病害智能检测系统")self.resize(1200,800)self.model=YOLO("best.pt")self.defect_result=[]# 控件self.btn_upload=QPushButton("上传桥梁图片并检测")self.btn_upload.clicked.connect(self.detect_image)self.btn_export=QPushButton("导出检测报告json")self.btn_export.clicked.connect(self.export_report)self.img_label=QLabel()self.table=QTableWidget()self.table.setColumnCount(4)self.table.setHorizontalHeaderLabels(["病害类型","置信度","风险等级","坐标"])w=QWidget()lay=QVBoxLayout(w)lay.addWidget(self.btn_upload)lay.addWidget(self.img_label)lay.addWidget(self.table)lay.addWidget(self.btn_export)self.setCentralWidget(w)defdetect_image(self):filepath,_=QFileDialog.getOpenFileName()ifnotfilepath:returnres=self.model.predict(filepath,save=True,conf=0.4)self.img_label.setPixmap(QPixmap(res[0].save_dir+"/"+filepath.split("/")[-1]))self.defect_result=bridge_detect(filepath)#填充表格self.table.setRowCount(len(self.defect_result))foridx,iteminenumerate(self.defect_result):self.table.setItem(idx,0,QTableWidgetItem(item["defect_type"]))self.table.setItem(idx,1,QTableWidgetItem(str(item["confidence"])+"%"))self.table.setItem(idx,2,QTableWidgetItem(item["risk_level"]))self.table.setItem(idx,3,QTableWidgetItem(str(item["box"])))defexport_report(self):save_path,_=QFileDialog.getSaveFileName(filter="*.json")ifsave_path:withopen(save_path,"w",encoding="utf-8")asf:json.dump(self.defect_result,f,ensure_ascii=False,indent=2)if__name__=="__main__":app=QApplication(sys.argv)win=BridgeDetectSys()win.show()sys.exit(app.exec_())四、系统部署说明
- 数据集+软件部署:运行上述PyQt程序,可完成图片上传、病害检测、风险分级、表格展示、JSON报告导出、检测记录本地存储。
- 对接无人机/巡检机器人:
- 无人机/机器人回传图片流,调用
bridge_detect()推理接口; - 结合GPS坐标,把病害位置、图像、置信度一并存入数据库,完成桥梁自动化巡检。
- 无人机/机器人回传图片流,调用
应用场景
- 无人机远距离桥墩、桥梁侧面病害巡检;
- 桥梁巡检机器人自动识别混凝土各类缺陷;
- 市政交通部门桥梁定期安全评估,自动生成病害检测报告;
- 科研方向:基建结构健康检测算法研究。