轮胎缺陷/轮胎损坏检测数据集,缺陷种类包括:鼓包,裂纹,碎片,侧面划痕/切口等等。
已划分为训练集、测试集和验证集
数据集划分:训练集:验证集=80%:20%,具体如下:
总图片数量:2154 张;
训练集数量:1723 张;
验证集数量:431 张;
📊 轮胎缺陷检测数据集详细统计表
| 类别(英文) | 类别(中文) | 包含该类别的图像数量 | 标注框总数(实例数) | 说明 |
|---|---|---|---|---|
Debris | 碎片 | 1,239 张 | 1,599 个 | 轮胎表面或周围的异物、脱落橡胶碎片等 |
Ground | 地面 | 501 张 | 564 个 | 轮胎与地面接触区域(可能用于上下文或误检过滤) |
Side | 侧面 | 181 张 | 188 个 | 轮胎侧壁正常区域(作为健康样本) |
Side_cut | 侧切 / 侧面划痕 | 439 张 | 493 个 | 轮胎侧壁的割伤、裂口或深度划痕,属严重缺陷 |
✅数据集总览:
- 总图像数:由于类别间存在重叠(一张图可含多个类别),实际图像总数 ≤ 1,239 + 501 + 181 + 439 =2,360 张
- 总标注框数:1,599 + 564 + 188 + 493 =2,844 个目标实例
- 数据划分:已按标准 YOLO 格式组织为
train/val,支持开箱训练- 配置文件:
datasets/data.yaml中定义了 4 个类别名称
📁 数据集目录结构(确认无误)
datasets/ ├── images/ │ ├── train/ # 训练图像(.jpg / .png) │ └── val/ # 验证图像 ├── labels/ │ ├── train/ # 对应 .txt 标签(YOLO格式) │ └── val/ └── data.yaml # 类别与路径配置📄data.yaml示例内容
# datasets/data.yamltrain:./images/trainval:./images/valnc:4names:['Debris','Ground','Side','Side_cut']⚠️ 注意:
Ground和Side可能作为背景或正常状态类别,有助于模型区分“缺陷”与“非缺陷”区域- 若仅关注缺陷检测,可在推理后过滤掉
Ground和Side的预测结果
该数据集适用于工业轮胎质检、智能巡检、自动驾驶车辆轮胎健康监测等场景,类别覆盖全面,标注丰富,可直接用于 YOLOv5/v8/v11 等主流目标检测框架。
以下是针对您提供的轮胎缺陷检测数据集(目录结构为datasets/,4 个类别:Debris,Ground,Side,Side_cut)的完整 YOLOv8 训练代码,包含详细注释、优化配置和评估流程,可直接运行。
✅ 一、前提条件
确保您的项目结构如下:
your_project/ ├── train_tire_yolov8.py ← 本脚本 └── datasets/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yamldatasets/data.yaml内容应为:
train:./images/trainval:./images/valnc:4names:['Debris','Ground','Side','Side_cut']✅ 二、YOLOv8 完整训练代码(Python)
# -*- coding: utf-8 -*-""" 轮胎缺陷检测 - YOLOv8 训练脚本 支持 4 类目标:Debris(碎片)、Ground(地面)、Side(侧面)、Side_cut(侧切) 作者:AI助手 """importosfromultralyticsimportYOLOimporttorch# -----------------------------# 1. 配置路径与设备# -----------------------------DATASET_PATH="datasets"# 数据集根目录(含 data.yaml)ifnotos.path.exists(DATASET_PATH):raiseFileNotFoundError(f"❌ 数据集路径 '{DATASET_PATH}' 不存在!")# 自动选择 GPU 或 CPUdevice='cuda'iftorch.cuda.is_available()else'cpu'print(f"🚀 使用设备:{device}")# -----------------------------# 2. 加载预训练模型# -----------------------------# 推荐使用 yolov8s(平衡精度与速度)# 可选:yolov8n(更快)、yolov8m(更高精度)model=YOLO('yolov8s.pt')# 首次运行会自动下载权重# -----------------------------# 3. 启动训练(关键参数已针对轮胎缺陷优化)# -----------------------------results=model.train(# 📂 数据配置data=os.path.join(DATASET_PATH,'data.yaml'),# 指向 data.yaml# ⏱️ 训练参数epochs=150,# 轮数(建议 120~200,小目标收敛慢)imgsz=1280,# 输入尺寸(提升细小裂纹/碎片检出率)batch=16,# 批大小(根据 GPU 显存调整,RTX 3060 可设 16~32)name='tire_defect_yolov8s_1280',# 实验名称,结果保存在 runs/detect/ 下# 💻 设备device=device,# 🎨 数据增强(针对工业图像定制)hsv_h=0.015,# 色调扰动(模拟橡胶颜色变化)hsv_s=0.7,# 饱和度hsv_v=0.5,# 亮度(应对反光/阴影)degrees=10.0,# 旋转 ±10°(模拟轮胎摆放角度)translate=0.2,# 平移 20%scale=0.5,# 缩放(模拟距离变化)mosaic=1.0,# ✅ 必开!将小缺陷拼接到新背景,提升召回率mixup=0.1,flipud=0.0,# 不上下翻转(轮胎通常不倒置)fliplr=0.5,# 左右翻转(合理)# 🧠 训练策略patience=30,# 早停:30 轮验证损失无改善save_period=10,# 每 10 轮保存一次 checkpointworkers=8,# 数据加载线程数cache=False# 若内存充足可设 True 加速训练)print("✅ 训练完成!")print(f"📌 最佳模型路径: runs/detect/tire_defect_yolov8s_1280/weights/best.pt")✅ 三、命令行快速训练(可选)
如果您不想写 Python 脚本,也可直接在终端运行:
yolo detect train\data=datasets/data.yaml\model=yolov8s.pt\epochs=150\imgsz=1280\batch=16\name=tire_defect_yolov8s_1280\device=0🔸
device=0表示使用第 0 块 GPU;若用 CPU,改为device=cpu
✅ 四、模型评估(验证性能)
训练完成后,评估模型在验证集上的表现:
# evaluate.pyfromultralyticsimportYOLO# 加载最佳模型model=YOLO('runs/detect/tire_defect_yolov8s_1280/weights/best.pt')# 在验证集上评估metrics=model.val(data='datasets/data.yaml')print("📊 验证集性能指标:")print(f" mAP@0.5 :{metrics.box.map50:.4f}")print(f" mAP@0.5:0.95:{metrics.box.map:.4f}")print(f" Precision :{metrics.box.mp:.4f}")print(f" Recall :{metrics.box.mr:.4f}")# 关键!工业质检需高召回✅ 五、推理示例(单图预测)
# infer.pyfromultralyticsimportYOLO model=YOLO('runs/detect/tire_defect_yolov8s_1280/weights/best.pt')# 对单张图像进行预测results=model.predict(source='test_tire.jpg',# 替换为你的测试图像conf=0.3,# 置信度阈值(可调)iou=0.45,# NMS IoU 阈值save=True,# 保存带框图像到 runs/detect/predict/show=False)print("✅ 预测完成,结果已保存!")✅ 六、部署建议
| 场景 | 推荐方案 |
|---|---|
| 生产线实时检测 | 导出 TensorRT 引擎:yolo export model=best.pt format=engine imgsz=1280 |
| 边缘设备(Jetson) | 使用yolov8n+ TensorRT |
| Web API | 用 FastAPI 封装模型,提供/detect接口 |
💡重要提示:
Ground和Side可能是非缺陷类别,若仅需检测缺陷,可在后处理中过滤掉这两类- 若
Side_cut样本较少(439 张),可开启mosaic=1.0和copy_paste增强(需 Ultralytics 新版)
如需以下扩展功能,请告知:
- 自动过滤
Ground/Side的推理脚本 - 缺陷面积计算与分级报告
- GUI 可视化界面(PyQt)
- 多模型集成(YOLOv8 + YOLOv11 融合)
祝您打造高精度轮胎智能质检系统