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

带标注的焊缝缺陷识别,可识别裂纹,气孔,烧痕数据集,识别率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 # 数据集说明文档

支持格式

  1. YOLO格式:适用于所有YOLO系列模型
  2. COCO JSON格式:适用于MMDetection、Detectron2等框架
  3. Pascal VOC XML格式:适用于传统目标检测算法

数据集已按标准比例划分,可直接用于模型训练。

YOLO模型训练实践

环境准备与数据准备

  1. 下载数据集:从上述链接下载数据集并解压到项目目录
  2. 获取训练代码:克隆或下载训练脚本仓库
    gitclone https://gitcode.com/pbymw8iwm/YOLOProject.git
    或直接下载仓库中的训练脚本文件

训练步骤

  1. 配置训练环境:确保已安装PyTorch和Ultralytics库

    pipinstalltorch torchvision pipinstallultralytics
  2. 准备数据配置文件:创建data.yaml文件,配置数据集路径和类别信息

    path:./焊缝缺陷数据集# 数据集根目录train:images/train# 训练集路径val:images/val# 验证集路径test:images/test# 测试集路径nc:3# 类别数量names:['Grieta','Poro','Quemadura']# 类别名称
  3. 执行训练:根据使用的YOLO版本选择对应的训练脚本

    # 使用YOLOv8训练python train_yolov8.py

训练过程监控

训练过程中,Ultralytics会自动记录各项指标,包括损失函数变化、精度、召回率等。训练完成后,会在runs/train/目录下生成以下文件:

  • 最佳模型权重文件(best.pt
  • 训练过程可视化图表
  • 验证结果和混淆矩阵
  • 模型性能评估报告

图:YOLO模型训练过程中的损失函数和精度变化曲线

模糊图片在模型训练中的优势分析

该数据集中包含了如果包含了一些模糊图片,这并非数据缺陷,而是一种精心设计的数据增强策略,能为模型训练带来以下显著优势:

  1. 提升模型鲁棒性:现实场景中,可能发生在运动模糊,对焦不准或光线不足的情况下。在训练集中引入模糊样本,可以迫使模型学习更本质的特征,而不是过度依赖清晰的边缘或纹理细节,从而提升模型在复杂、非理想成像条件下的识别能力。
  2. 模拟真实世界噪声:监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前“见识”并适应这种噪声,减少在实际部署时因图像质量下降而导致的性能骤降。
  3. 防止模型过拟合:如果训练集全是高清、摆拍的完美图片,模型容易记住这些特定场景下的“干净”特征,而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段,可以增加数据分布的多样性,防止模型过拟合到有限的清晰样本上。
    总结:因此,数据集中包含的模糊图片,与你看到的“水平翻转”、“剪切形变”、“随机遮挡”等增强操作一样,都是为了构建一个更接近真实世界复杂分布的数据环境,从而训练出更健壮、更泛化、更实用的模型。

模型验证测试情况:

验证测试代码:

#需要安装pip install ultralyticsfromultralyticsimportYOLOimportcv2# ===================== 1. 加载YOLO模型 =====================# 自动下载预训练模型(yolov8n最轻量快速),也可换 yolov8s/m/l/xmodel=YOLO("best.pt")# ===================== 2. 推理配置 =====================image_path="326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg"# 你的图片路径save_result=True# 是否保存标注后的图# ===================== 3. 执行推理 =====================results=model.predict(source=image_path,conf=0.01,# 置信度阈值(低于该值忽略)save=False,# 关闭默认保存,自定义保存verbose=False# 关闭冗余日志)# ===================== 4. 解析结果:目标区域 + 标注信息 =====================print("="*50)print("YOLO 推理结果(目标区域 + 标注信息)")print("="*50)# 获取图片(用于绘制框)img=cv2.imread(image_path)# 遍历所有检测目标foridx,resultinenumerate(results):boxes=result.boxes# 所有检测框forboxinboxes:# ========== 提取目标区域(坐标) ==========# xyxy: 左上角x, 左上角y, 右下角x, 右下角yx1,y1,x2,y2=box.xyxy[0].cpu().numpy()# 宽高w=x2-x1 h=y2-y1# ========== 提取标注信息 ==========cls_id=int(box.cls[0])# 类别IDcls_name=model.names[cls_id]# 类别名称conf=float(box.conf[0])# 置信度# ========== 打印信息 ==========print(f"目标{idx+1}:")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()
http://www.cnnetsun.cn/news/3220370.html

相关文章:

  • KUKA C4 机器人奇异点实战:3类奇点触发条件与 $SINGUL_POS 系统变量配置
  • 中国铝合金电缆桥架系统行业发展趋势分析及应用格局预测报告2026年版
  • 技术企业商业秘密合规|保密性体系搭建:技术数据、源代码、研发资料合规管控方案
  • 计算机毕业设计之个体养猪管理
  • Ricon组态实时监控 - 毫秒级数据可视化
  • 手机号查询QQ终极指南:3步实现高效查询的完整解决方案
  • 手机号逆向查询QQ号:Python自动化工具终极指南
  • IIM-20670运动传感器与PIC32MX695F512L微控制器的工业应用
  • Claude Agent SDK实战:TypeScript类型驱动的生产级AI协作者搭建指南
  • 工商业储能收益测算:电价数据API化实战
  • 【计算机Java毕业设计案例】基于 SpringBoot+Vue 的水果购物商城系统的设计与实现 基于前后端分离的本地水果产销推广系(程序+文档+讲解+定制)
  • G-Helper终极指南:华硕笔记本轻量级控制中心完全手册
  • 阿尔泰科技发展研究
  • Azure AI 翻译器 v3.0 REST API 实战:Node.js 项目 5 分钟集成,支持 100+ 语言
  • 专业级抖音批量下载工具:高效构建你的数字内容资产库
  • 5分钟快速上手:GPU加速的MediaPipe TouchDesigner插件终极指南
  • Vmware17 pro破解密钥
  • Java计算机毕设之基于前后端分离的校园图书闲置流转平台的设计与实现 基于 SpringBoot 的二手书竞拍交易管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 大 PDF 处理为什么不能只加线程池:页级拆分、异步编排与断点续传实践
  • 【Agent智能体】21Coze实战案例集
  • 京东商品自动监控下单终极指南:使用jd-happy实现24小时无人值守抢购
  • Grype:容器镜像漏洞扫描,一条命令搞定
  • WorkshopDL:革命性跨平台Steam创意工坊下载器,无需Steam客户端即可畅享海量模组
  • 基于vLLM-Ascend的Qwen3.5-122B模型Atlas 800I A3单机混部部署实践
  • Java毕设选题推荐:基于 SpringBoot 的公务员备考数据统计分析系统的设计与实现 基于前后端分离的公考试题录入与维护系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 鸿蒙游戏体验手册:四种能力从性能到玩法逐一解锁
  • 熬走 3 任运维领导原地内耗,转行网安后:原来不是我不行,是赛道选错
  • 2026年AI开发风向标:Dify+n8n+LangGraph成主流,LangChain地位下降,多Agent协作成趋势!
  • GPT-4o与GPT-3.5-Turbo:3个场景实测Token消耗与API成本差异
  • BUUCTF reverse1