钢管X射线 焊缝缺陷检测数据集,3408张x射线焊缝缺陷图像,也有更多的图像数据集,可以进行扩充 目标检测任务。可制作上位机软件。
B lowhole
Undercut
Broken arc
Crack
Overlap
Slag inclusion
L ack of fusion
Hollow bead
钢管X射线焊缝缺陷检测数据集 (Steel Pipe X-ray Weld Defect Detection Dataset)
描述: 本数据集旨在支持对钢管X射线焊缝缺陷的自动检测,特别适用于工业无损检测、质量控制和生产管理等领域。通过使用该数据集训练的模型可以帮助及时发现并分类焊缝中的各种缺陷,提高产品质量和安全性。
类别:
blowhole
(气孔)undercut
(咬边)broken_arc
(断弧)crack
(裂纹)overlap
(重叠)slag_inclusion
(夹渣)lack_of_fusion
(未熔合)hollow_bead
(空珠)
数据量:
- 总图片数: 3,408张
- 标注格式: YOLO 格式
文件格式:
- 图像采用常见的JPEG或PNG格式。
- 标注文件采用YOLO格式,即每个图像对应一个文本文件,其中包含边界框坐标及类别标签。例如,对于
blowhole
类别的标注,文本文件中的每一行将按照以下格式表示:<class_id> <x_center> <y_center> <width> <height>
,其中<class_id>
为0到7(代表不同的缺陷类别),其余参数均为归一化后的浮点数值。
数据集结构
确保您的数据集目录结构如下所示(这只是一个示例结构,您可以根据实际情况调整)
steel_pipe_weld_defect_dataset/
├── images/
│ ├── train/
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ └── ...
│ ├── val/
│ │ ├── img2500.jpg
│ │ ├── img2501.jpg
│ │ └── ...
├── labels/
│ ├── train/
│ │ ├── img1.txt
│ │ ├── img2.txt
│ │ └── ...
│ ├── val/
│ │ ├── img2500.txt
│ │ ├── img2501.txt
│ │ └── ...
└── data.yaml
data.yaml
配置文件
创建一个名为 data.yaml
的配置文件,内容如下:
train: ./steel_pipe_weld_defect_dataset/images/train
val: ./steel_pipe_weld_defect_dataset/images/val
nc: 8 # 类别数量
names: ['blowhole', 'undercut', 'broken_arc', 'crack', 'overlap', 'slag_inclusion', 'lack_of_fusion', 'hollow_bead'] # 类别名称
使用方法
1. 准备环境
确保安装了必要的Python库,如ultralytics
(用于YOLOv8)和其他相关依赖:
pip install ultralytics
2. 修改配置文件
根据实际路径修改 data.yaml
文件中的路径。
3. 训练脚本
以下是一个使用YOLOv8进行训练的Python脚本示例:
from ultralytics import YOLO
import torch
# 设置设备
device = 'cuda' if torch.cuda.is_available() else 'cpu'
# 加载预训练模型或从头开始训练
model = YOLO('yolov8n.pt') # 使用预训练的YOLOv8n模型
# model = YOLO() # 从头开始训练
# 开始训练
results = model.train(
data='path/to/data.yaml', # 指定数据集配置文件路径
epochs=100, # 训练轮次
batch=16, # 批处理大小
imgsz=640, # 输入图像尺寸
workers=8, # 数据加载线程数
device=device, # 使用GPU设备编号,默认为0
project='steel_pipe_weld_defect_detection', # 保存结果的项目名称
name='exp', # 实验名称
exist_ok=True # 如果存在相同实验名,覆盖旧的结果
)
# 可视化训练结果
results.plot()
# 保存模型
model.save('steel_pipe_weld_defect_detection_model.pt')
训练结果
模型: YOLOv8
性能指标:
- 准确率 (Accuracy): [根据实际结果填写]
- 精确度 (Precision): [根据实际结果填写]
- 召回率 (Recall): [根据实际结果填写]
- F1分数 (F1 Score): [根据实际结果填写]
- 平均精度均值 (mAP@0.5:0.95): [根据实际结果填写]
模型文件:
- 提供了YOLOv8的预训练模型文件,可以直接用于推理或进一步微调。
总结
这个钢管X射线焊缝缺陷检测数据集提供了3,408张高质量的真实场景X射线图像,并且已经使用YOLO格式进行了标注。数据集涵盖了八种不同的焊缝缺陷类别,包括气孔、咬边、断弧、裂纹等常见缺陷。通过使用YOLOv8框架,可以有效地识别和分类这些焊缝缺陷。提供的预训练模型可以在实际应用中提供可靠的检测结果。
特点
-
多样性:
- 包含多种不同类型的焊缝缺陷,覆盖了常见的焊缝质量问题。
- 图像采集自真实的X射线检测过程,具有较高的多样性和实用性。
-
标注质量:
- 图像采用高质量的标注,包括边界框和类别标签。
- 提供YOLO格式的标注文件,方便在深度学习框架中使用。
-
规模适中:
- 3,408张图像的数据集规模适中,既足够训练模型,又不会导致过长的训练时间。
-
可扩展性:
- 数据集可以进行扩充,以增加更多图像数据,提高模型的泛化能力。
上位机软件
基于该数据集训练的模型,可以开发上位机软件来进行实时的焊缝缺陷检测。上位机软件通常包括以下几个主要功能模块:
-
图像采集:
- 从X射线成像设备获取实时图像数据。
-
图像预处理:
- 对图像进行预处理,如灰度转换、噪声去除、对比度增强等。
-
缺陷检测:
- 使用训练好的YOLOv8模型对图像进行推理,检测并分类焊缝缺陷。
-
结果显示:
- 在界面上显示检测结果,包括缺陷的位置、类型和置信度等信息。
-
日志记录:
- 记录检测结果,生成报告,便于后续分析和存档。
-
用户界面:
- 提供友好的用户界面,方便操作和监控。