带标注的焊缝缺陷识别,可识别裂纹,气孔,烧痕数据集,识别率91.8%,5993张图,支持yolo,coco json,voc xml,文末有模型训练代码

📅 2026/7/8 9:55:04
带标注的焊缝缺陷识别,可识别裂纹,气孔,烧痕数据集,识别率91.8%,5993张图,支持yolo,coco json,voc xml,文末有模型训练代码
​本文介绍一个高质量的焊缝缺陷识别数据集专门用于训练和评估目标检测模型。该数据集包含5993张精心标注的工业焊缝图像涵盖三种常见缺陷类型裂纹Grieta、气孔Poro、烧痕Quemadura。经测试基于该数据集训练的YOLO模型识别率可达91.8%。数据集提供多种标注格式支持主流目标检测框架YOLO格式适用于YOLOv5/v6/v7/v8/v9/v10/v11/v12等版本COCO JSON格式适用于MMDetection、Detectron2等框架Pascal VOC XML格式适用于传统目标检测算法数据集已按标准比例划分为训练集、验证集和测试集并提供了完整的模型训练代码和验证脚本方便研究者快速上手。模型训练指标参数模型训练图数据集拆分总图数5993 张图数训练集4195 张图验证集1199 张图测试集599 张图预处理自动定向应用调整大小拉伸到640x640增强无数据集标签[‘Grieta’, ‘Poro’, ‘Quemadura’]标签音标中文释义西语例句 中文翻译Grieta[ˈgɾjeta]裂缝、裂痕、缝隙墙体/石材/路面裂纹La roca tiene una grieta profunda.这块岩石有一道很深的裂缝。Poro[ˈpoɾo]微孔、孔隙El aceite tapa los poros de la piel.油脂会堵塞皮肤毛孔。Quemadura[kemaˈðuɾa]灼伤烧灼痕迹Me hice una quemadura con la sartén.我被平底锅烫伤了。数据集图片和标注信息示例数据集获取与使用数据集已上传至CSDN资源平台包含完整的图像文件和三种格式的标注文件。下载后解压即可使用。下载地址焊缝缺陷识别数据集下载文件结构说明焊缝缺陷数据集/ ├── images/ # 所有图像文件 │ ├── train/ # 训练集图像 │ ├── val/ # 验证集图像 │ └── test/ # 测试集图像 ├── labels/ # YOLO格式标注文件 ├── annotations/ # COCO JSON和VOC XML标注文件 └── README.txt # 数据集说明文档支持格式YOLO格式适用于所有YOLO系列模型COCO JSON格式适用于MMDetection、Detectron2等框架Pascal VOC XML格式适用于传统目标检测算法数据集已按标准比例划分可直接用于模型训练。YOLO模型训练实践环境准备与数据准备下载数据集从上述链接下载数据集并解压到项目目录获取训练代码克隆或下载训练脚本仓库gitclone https://gitcode.com/pbymw8iwm/YOLOProject.git或直接下载仓库中的训练脚本文件训练步骤配置训练环境确保已安装PyTorch和Ultralytics库pipinstalltorch torchvision pipinstallultralytics准备数据配置文件创建data.yaml文件配置数据集路径和类别信息path:./焊缝缺陷数据集# 数据集根目录train:images/train# 训练集路径val:images/val# 验证集路径test:images/test# 测试集路径nc:3# 类别数量names:[Grieta,Poro,Quemadura]# 类别名称执行训练根据使用的YOLO版本选择对应的训练脚本# 使用YOLOv8训练python train_yolov8.py训练过程监控训练过程中Ultralytics会自动记录各项指标包括损失函数变化、精度、召回率等。训练完成后会在runs/train/目录下生成以下文件最佳模型权重文件best.pt训练过程可视化图表验证结果和混淆矩阵模型性能评估报告图YOLO模型训练过程中的损失函数和精度变化曲线模糊图片在模型训练中的优势分析该数据集中包含了如果包含了一些模糊图片这并非数据缺陷而是一种精心设计的数据增强策略能为模型训练带来以下显著优势提升模型鲁棒性现实场景中可能发生在运动模糊对焦不准或光线不足的情况下。在训练集中引入模糊样本可以迫使模型学习更本质的特征而不是过度依赖清晰的边缘或纹理细节从而提升模型在复杂、非理想成像条件下的识别能力。模拟真实世界噪声监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前“见识”并适应这种噪声减少在实际部署时因图像质量下降而导致的性能骤降。防止模型过拟合如果训练集全是高清、摆拍的完美图片模型容易记住这些特定场景下的“干净”特征而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段可以增加数据分布的多样性防止模型过拟合到有限的清晰样本上。总结因此数据集中包含的模糊图片与你看到的“水平翻转”、“剪切形变”、“随机遮挡”等增强操作一样都是为了构建一个更接近真实世界复杂分布的数据环境从而训练出更健壮、更泛化、更实用的模型。模型验证测试情况验证测试代码#需要安装pip install ultralyticsfromultralyticsimportYOLOimportcv2# 1. 加载YOLO模型 # 自动下载预训练模型(yolov8n最轻量快速)也可换 yolov8s/m/l/xmodelYOLO(best.pt)# 2. 推理配置 image_path326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg# 你的图片路径save_resultTrue# 是否保存标注后的图# 3. 执行推理 resultsmodel.predict(sourceimage_path,conf0.01,# 置信度阈值低于该值忽略saveFalse,# 关闭默认保存自定义保存verboseFalse# 关闭冗余日志)# 4. 解析结果目标区域 标注信息 print(*50)print(YOLO 推理结果目标区域 标注信息)print(*50)# 获取图片用于绘制框imgcv2.imread(image_path)# 遍历所有检测目标foridx,resultinenumerate(results):boxesresult.boxes# 所有检测框forboxinboxes:# 提取目标区域坐标 # xyxy: 左上角x, 左上角y, 右下角x, 右下角yx1,y1,x2,y2box.xyxy[0].cpu().numpy()# 宽高wx2-x1 hy2-y1# 提取标注信息 cls_idint(box.cls[0])# 类别IDcls_namemodel.names[cls_id]# 类别名称conffloat(box.conf[0])# 置信度# 打印信息 print(f目标{idx1}:)print(f 标注类别{cls_name})print(f 置信度{conf:.2f})print(f 目标区域坐标)print(f 左上角 ({x1:.1f},{y1:.1f}))print(f 右下角 ({x2:.1f},{y2:.1f}))print(f 宽×高{w:.1f}×{h:.1f})print(-*30)# 在图片上绘制检测框 cv2.rectangle(img,(int(x1),int(y1)),(int(x2),int(y2)),(0,255,0),2)cv2.putText(img,f{cls_name}{conf:.2f},(int(x1),int(y1)-10),cv2.FONT_HERSHEY_SIMPLEX,0.5,(0,255,0),2)# 5. 保存/显示结果 ifsave_result:cv2.imwrite(yolo_result.jpg,img)print(✅ 标注图片已保存为yolo_result.jpg)# 显示图片可选cv2.imshow(YOLO Result,img)#cv2.waitKey(0)#cv2.destroyAllWindows()