
配套数据集管道监测目标检测数据集2 个类别leak(泄漏)、pipe(管道)共 8718 张图像YOLO 标准标注格式已划分 train/valid/test。数据集是面向工业管道巡检场景的目标检测数据集用于识别管道本体以及管道泄漏缺陷可训练 AI 模型自动定位管道位置、识别管道泄漏点适用于油气管道、市政输水管道、化工管线的视觉智能巡检任务。 数据集总图像数量8718 张目标检测类别共 2 类leak泄漏、pipe管道采用标准 YOLO 系列标注格式可直接用于 YOLOv5/v8 等主流目标检测模型训练。管道监测与控制计算机视觉数据集介绍一、环境准备1. 硬件推荐最低GPU 显存 ≥6G如 1660S/3060推荐显存 ≥8G训练速度更快CPU 仅可做推理训练速度极慢不推荐2. 软件环境安装Python 3.8 ~ 3.11# 安装 ultralytics YOLOv8库 pip install ultralytics # 可选依赖可视化、数据处理 pip install opencv-python matplotlib安装完成后可执行下面命令验证环境yolo --version二、数据集目录结构 yaml 配置1. 文件夹目录固定结构pipeline_dataset/ ├─ images/ │ ├─ train/ # 训练集图片 │ ├─ valid/ # 验证集图片 │ └─ test/ # 测试集图片 ├─ labels/ │ ├─ train/ # 训练集txt标注 │ ├─ valid/ # 验证集txt标注 │ └─ test/ # 测试集txt标注 └─ pipeline.yaml # 数据集配置文件2. pipeline.yaml 文件内容train: ../train/images val: ../valid/images test: ../test/images nc: 2 names: [leak, pipe]注意根据你实际存放位置修改 train/val/test 的路径使用相对路径或者绝对路径。 nc2 代表 2 个类别顺序必须和标注 txt 里面的类别 id 保持一致0leak1pipe。三、数据校验重要提前排查标注错误运行代码检查图片、标签是否一一对应排查空标注、损坏图片、类别 ID 越界问题from ultralytics import YOLO import os # 加载配置做数据集检查 model YOLO(yolov8n.yaml) model.val(datapipeline.yaml)或者用命令行快速校验yolo val datapipeline.yaml modelyolov8n.pt若出现警告存在空标签、图片损坏需要提前清理否则会影响训练效果。四、模型训练命令行训练推荐yolo train datapipeline.yaml modelyolov8n.pt epochs100 imgsz640 batch8 device0参数说明datapipeline.yaml数据集配置文件modelyolov8n.pt预训练权重n 轻量模型s/m/l 依次精度更高、显存占用更大。项目落地优先 yolov8sepochs100训练轮次管道检测场景一般 80~150 轮足够imgsz640输入图像分辨率batch8批次大小显存不够就调小为 4、2device0使用 0 号 GPUCPU 训练写devicecpuPython 代码方式训练from ultralytics import YOLO # 加载预训练权重 model YOLO(yolov8s.pt) # 启动训练 results model.train( datapipeline.yaml, epochs100, imgsz640, batch8, device0, patience15, # 早停连续15轮无提升自动停止训练 projectpipeline_leak_exp, nametrain_run1 )训练输出结果位置训练完成后结果自动保存在runs/detect/train/best.pt效果最优权重推荐用于后续测试推理last.pt最后一轮权重各类指标曲线、混淆矩阵、预测样例图片五、模型测试 评估在 test 测试集上验证使用训练得到的 best.pt 在独立测试集做评估输出 mAP、精确率、召回率等指标命令行yolo val datapipeline.yaml modelruns/detect/train/weights/best.pt splittestPython 代码from ultralytics import YOLO model YOLO(runs/detect/train/weights/best.pt) # 在test数据集评估 metrics model.val(datapipeline.yaml, splittest) print(fmAP0.5: {metrics.box.map50}) print(fPrecision: {metrics.box.p}) print(fRecall: {metrics.box.r})重点关注指标 mAP0.5整体检测精度leak泄漏属于小目标召回率会低于 pipe 管道本体。六、图片 / 视频实时推理模拟现场巡检单张图片检测yolo predict modelruns/detect/train/weights/best.pt sourcetest_img.jpg conf0.3视频推理无人机巡检视频yolo predict modelruns/detect/train/weights/best.pt sourcepipe_video.mp4 conf0.3 saveTrueconf0.3置信度阈值泄漏目标容易特征微弱可降低阈值减少漏检误报多时调高至 0.5推理结果默认保存至runs/detect/predict/Python 代码推理示例from ultralytics import YOLO model YOLO(runs/detect/train/weights/best.pt) res model(test_img.jpg, conf0.3) for r in res: boxes r.boxes print(boxes.cls, boxes.conf) # 输出类别与置信度七、模型导出用于边缘设备部署无人机 / 摄像头端导出 ONNX 格式可部署在工控机、边缘盒子、AI 摄像头yolo export modelruns/detect/train/weights/best.pt formatonnx imgsz640支持导出格式onnx /tflite/torchscript根据硬件平台选择。八、调优建议针对管道泄漏场景泄漏 leak 属于小目标容易漏检开启多尺度训练增加参数scale0.5imgsz 可提升至 800代价是显存占用翻倍背景杂草、泥土容易产生误检增加数据增强hsv_h0.015, hsv_s0.7, hsv_v0.4对泄漏样本做复制增强平衡样本很多数据集 pipe 样本远多于 leak 泄漏样本训练不收敛 / 指标低检查 yaml 类别顺序和标注 id 是否匹配清洗标注剔除模糊、错标图片九、常见问题OOM 显存溢出减小 batch 值如 batch2训练后泄漏识别效果差泄漏样本数量偏少可对 leak 类别做样本增强路径报错yaml 里面路径不要包含中文、空格