当前位置: 首页 > news >正文

下水道内缺陷识别检测数据集 yolo数据集 共2300张

 

下水道内缺陷识别检测数据集 yolo数据集 共2300张

下水道内部缺陷识别数据集(Sewer Interior Defect Recognition Dataset, SIDRD)

摘要

SIDRD 是一个专门针对下水道内部缺陷识别的数据集,旨在为城市基础设施维护和管理提供一个标准化的训练和评估平台。该数据集包含了2300张高清的下水道内部图像,这些图像来自于多个城市的下水道系统。每张图像都被详细地标注了裂缝和断裂两种主要类型的缺陷。数据集的设计目标是帮助城市管理者和工程师更好地了解下水道内部缺陷的特征和规律,以便及时发现并修复潜在的问题,保障城市排水系统的正常运行。

数据集特点

  • 多样化的下水道环境:数据集包含了多个城市的下水道内部图像,适应于不同的地理条件和建设标准。
  • 明确的缺陷分类:数据集将下水道内部的缺陷分为裂缝和断裂两个类别,便于进行针对性的维修和维护工作。
  • 高质量的图像:所有的图像都是由专业的地下管道检查机器人拍摄,具有高分辨率和清晰度,能够准确反映下水道内部的真实状况。
  • 详细的标注信息:每张图像都经过专业人员的仔细标注,包括缺陷的位置、形状、大小等关键信息。
  • 易于使用:数据集已经按照YOLO格式整理,可以直接用于训练和评估YOLO系列的目标检测模型。
  • 广泛的适用性:适用于城市基础设施维护、排水系统规划和改进等多个领域。
数据集构成

  • 图像数量:总共有2300张下水道内部图像。
  • 类别数:2类
  • 类别名称及对应数量
    • Crack: 裂缝 (2007张)
    • Fracture: 断裂 (633张)
示例代码

以下是一个简单的Python脚本示例,用于加载数据集中的一对图像-标签对,并可视化其中的标注信息:

import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle# 数据集目录路径
data_dir = 'path/to/sidrd_dataset'
train_image_dir = os.path.join(data_dir, 'images/train')
train_label_dir = os.path.join(data_dir, 'labels/train')# 选取一张训练图像及其对应标签
image_files = os.listdir(train_image_dir)
image_file = image_files[0]  # 假设取第一张图
label_file = os.path.splitext(image_file)[0] + '.txt'image_path = os.path.join(train_image_dir, image_file)
label_path = os.path.join(train_label_dir, label_file)# 加载图像
image = cv2.imread(image_path, cv2.IMREAD_COLOR)
height, width, _ = image.shape# 解析YOLO格式标签
def parse_yolo_label(label_path, image_width, image_height):bboxes = []with open(label_path, 'r') as f:lines = f.readlines()for line in lines:class_id, x_center, y_center, box_width, box_height = map(float, line.strip().split())x_min = int((x_center - box_width / 2) * image_width)y_min = int((y_center - box_height / 2) * image_height)box_width = int(box_width * image_width)box_height = int(box_height * image_width)bboxes.append((class_id, x_min, y_min, box_width, box_height))return bboxes# 解析标签
bboxes = parse_yolo_label(label_path, width, height)# 可视化标注
fig, ax = plt.subplots(figsize=(10, 10))
ax.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
colors = ['red', 'blue']
names = ['Crack', 'Fracture']
for bbox, color_name in zip(bboxes, colors):class_id, x, y, w, h = bboxrect = Rectangle((x, y), w, h, linewidth=2, edgecolor=color_name, facecolor='none')ax.add_patch(rect)ax.text(x, y - 10, names[int(class_id)], color=color_name, fontsize=8)plt.title('Sewer Interior Defect Recognition Dataset')
plt.axis('off')
plt.show()
数据集使用指南
  1. 数据准备

    • 确认数据集路径是否正确,并且图像和标签文件均存在指定的目录下。
    • 检查数据集是否有损坏或缺失的文件,确保所有图像和对应的标注文件都是完整的。
  2. 数据集划分

    • 数据集已经划分为训练集、验证集和测试集,可以直接使用。
  3. 配置文件

    • 根据所使用的深度学习框架创建相应的配置文件。对于YOLOv5等模型,通常需要一个data.yaml文件来描述数据集路径和类别信息。

    • data.yaml示例内容如下:

      train: path/to/sidrd_dataset/images/train
      val: path/to/sidrd_dataset/images/validation
      test: path/to/sidrd_dataset/images/testnc: 2
      names: ['Crack', 'Fracture']
  4. 模型训练

    • 选择适合任务的深度学习框架(如YOLOv5, YOLOv7, Detectron2等)。
    • 配置训练参数,包括学习率、批次大小、迭代次数等。
    • 使用提供的数据集开始训练模型。确保在训练过程中监控模型的收敛情况和损失函数的变化。
  5. 模型评估

    • 训练完成后,使用验证集或测试集评估模型的表现,根据实际情况调整模型参数。
  6. 应用实践

    • 将训练好的模型应用于实际的城市基础设施维护中,实现自动化下水道缺陷识别和定位。

 

http://www.lryc.cn/news/445580.html

相关文章:

  • 年轻用户对Facebook的使用趋势分析
  • EasyCVR全方位安全守护智慧电厂:构建高效视频监控系统优势分析
  • 基于深度学习的情感生成与交互
  • JavaScript匿名函数
  • 线性判别分析(LDA)中计算两个类的中心点在投影方向w上的投影示例
  • 前端知识——标签知识
  • 使用Docker和cpolar在Linux服务器上搭建DashDot监控面板
  • 解决docker拉取镜像报错
  • C++之STL—deque容器
  • leveldb前缀匹配查找Seek
  • 【自动驾驶】ros如何隔绝局域网内其他电脑播包
  • MySQL程序
  • 吉林省自闭症寄宿学校:提供个性化培养方案
  • Java基础 — Java 虚拟机(上篇)
  • C++ | Leetcode C++题解之第435题无重叠区间
  • AI编辑器CURSOR_CURSOR安装教程_使用AI进行编码的最佳方式。
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) -- 10 推送实况窗消息
  • 探索 Go 语言程序实体:揭开神秘面纱
  • 深入理解端口、端口号及FTP的基本工作原理
  • 9.3 Linux_文件I/O_相关函数
  • 点亮一个LED灯
  • 分布式框架 - ZooKeeper
  • 8月份,AI图像生成领域web端产品排行榜及产品是做什么的
  • Sqlite_Datetime列选择三月的行
  • spring里面内置的非常实用的工具
  • 计算机毕业设计 基于Python内蒙古旅游景点数据分析系统 Django+Vue 前后端分离 附源码 讲解 文档
  • centos7 docker部署nacos
  • 短视频矩阵源码/短视频矩阵系统搭建/源码开发知识分享
  • Git使用教程-将idea本地文件配置到gitte上的保姆级别教程
  • 论文 | Reframing Instructional Prompts to GPTk’s Language