下水道排水管道缺陷实例分割数据集 基于YOLOv11下水管道排水管缺陷实例分割系统 变形 沉积错口破裂树根障碍物
2026/9/14 2:54:29 网站建设 项目流程

下水道排水管道缺陷实例分割数据集 基于YOLOv11下水管道排水管缺陷实例分割系统 变形 沉积错口破裂树根障碍物
下水道排水管道缺陷实例分割数据集,1925张,yolo,voc,coco三种标注方式

数据集统计信息

图像尺寸:1024*1024
类别数量: 7 类
训练集图像:1636; 验证集图像:269; 测试集图像:20
总图像数: 1925

类别分布:

类别名称 | 包含该类别的图像数 | 总标注数
----------------------------------------

BX 变形 | 455 | 620
CJ 沉积| 365 | 426
CK 错口| 35 | 38
OBB | 92 | 115
PL 破裂| 210 | 318
SG 树根| 438 | 671
ZW 障碍物| 392 | 603

模型代码:模型训练使用yolov11n-seg训练,80个epoch训练结果,map如描述图所示。

qt界面:运行界面采用pyqt5编写,本项目已经训练好模型,配置好环境后可直接使用,运行效果见描述图像

4.支持windows和linux系统)

基于YOLOv11 下水道缺陷实例分割系统完整工程代码

环境安装

pipinstallultralytics opencv-python pyqt5 numpy pillow

1、数据集配置文件 sewer.yaml

# 下水道缺陷分割数据集path:./sewer_datasettrain:images/trainval:images/valtest:images/testnames:0:BX#变形1:CJ#沉积/淤积2:CK#穿孔3:OBB#障碍物4:PL#破裂5:SG#树根6:ZW#杂物

2、模型训练代码 train_sewer.py

fromultralyticsimportYOLOif__name__=="__main__":# 加载yolov11分割模型model=YOLO("yolo11n-seg.yaml").load("yolo11n-seg.pt")results=model.train(data="sewer.yaml",epochs=80,imgsz=640,batch=8,device=0,workers=2,project="sewer_defect_seg",name="yolo11n_sewer",amp=True,mosaic=1.0)

3、推理预测代码 predict.py

fromultralyticsimportYOLOimportcv2 model=YOLO("./sewer_defect_seg/yolo11n_seg/weights/best.pt")defpredict_img(img_path):res=model(img_path,conf=0.3)forrinres:img=r.plot()cv2.imwrite("result.jpg",img)returnimgif__name__=="__main__":predict_img("test.jpg")

4、PyQt5可视化界面代码 gui_sewer.py(对应你截图里的系统)

importsysimportcv2fromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QLabel,QFileDialog)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQtfromultralyticsimportYOLOclassSewerSegWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("基于YOLO11的下水道缺陷实例分割系统")self.setGeometry(100,100,1400,800)self.model=YOLO("./sewer_defect_seg/yolo11n_seg/weights/best.pt")#按钮self.btn_img=QPushButton("选择图片",self)self.btn_img.move(20,20)self.btn_img.clicked.connect(self.load_image)#图像显示labelself.label_ori=QLabel("原始图像",self)self.label_ori.setGeometry(20,80,650,600)self.label_res=QLabel("分割结果",self)self.label_res.setGeometry(700,80,650,600)defload_image(self):fname,_=QFileDialog.getOpenFileName(self,"选择图片",".","*.jpg;*.png")ifnotfname:returnimg=cv2.imread(fname)#推理pred=self.model(fname,conf=0.3)[0]res_img=pred.plot()#展示原图self.show_cvimg(img,self.label_ori)#展示结果self.show_cvimg(res_img,self.label_res)defshow_cvimg(self,cvimg,label):rgb=cv2.cvtColor(cvimg,cv2.COLOR_BGR2RGB)h,w,c=rgb.shape qimg=QImage(rgb.data,w,h,w*c,QImage.Format_RGB888)label.setPixmap(QPixmap.fromImage(qimg).scaled(label.width(),label.height(),Qt.KeepAspectRatio))if__name__=="__main__":app=QApplication(sys.argv)win=SewerSegWindow()win.show()sys.exit(app.exec_())

应用场景

  1. 城市市政排水管道CCTV内窥检测,自动识别管道内部7类缺陷:变形BX、淤积CJ、穿孔CK、障碍物OBB、破裂PL、树根SG、杂物ZW
  2. 替代人工回看管道视频,自动标注缺陷位置、类别,输出分割掩码与缺陷报表
  3. 管网健康评估、管道病害等级判定、管道修复工程量统计

数据集说明(配套)

下水道管道CCTV内窥缺陷实例分割数据集,包含7类管道病害,YOLO/VOC/COCO三种标注,图片来自管道机器人内窥视频分帧,覆盖不同管径、积水、暗光场景。
类别对照:
| 缩写 | 中文名称 |
| ---- | ---- |
| BX | 管道变形 |
| CJ | 管内淤积 |
| CK | 管壁穿孔 |
| OBB | 管内障碍物 |
| PL | 管道破裂 |
| SG | 树根侵入 |
| ZW | 管内杂物 |

运行:python gui_sewer.py即可启动你截图中的可视化分割系统,支持图片检测,可扩展视频、摄像头实时检测。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询