发轮胎损伤自动检测系统、智能维护平台以及质量控制系统 深度学习框架目标检测算法如何使用深度学习YOLOV8模型训练道路汽车轮胎缺陷损伤分割检测数据集 检测识别轮胎鼓包扎钉 切割痕迹

汽车轮胎损伤分割与检测数据集

数据集概述
项目 内容
数据集名称 汽车轮胎损伤分割与检测数据集
总图像数量 2,153 张
标注格式 VOC 格式(.xml)、YOLO 格式(.txt
目标类别数 3 类
应用场景 轮胎损伤检测、智能维护系统、质量控制

类别标签及标注数量统计表

类别编号 英文标签 中文名称 标注数量(实例数)
0 cut 切割痕迹 1,717
1 indentation 鼓包 214
2 debris 扎钉 1,263
总计 —— —— 3,194

注:标注数量为所有图像中各类目标的边界框总数。


数据集特点总结

  • 多类别覆盖:包含 3 种主要的轮胎损伤类型,适用于精准损伤识别和分析。
  • 双格式支持:VOC 和 YOLO 两种主流标注格式,便于不同模型架构的应用与训练。
  • 适中的数据规模:2,153 张图像,适合深度学习模型的训练和验证。
  • 高实用性:特别适合用于开发轮胎损伤自动检测系统、智能维护平台以及质量控制系统。

在这里插入图片描述
1
在这里插入图片描述
1
在这里插入图片描述
1
在这里插入图片描述
在这里插入图片描述
使用 YOLOv8 对汽车轮胎损伤(切割痕迹、鼓包、扎钉)进行分割与检测,我们将从环境搭建开始,逐如何准备数据集、训练模型、进行推理和评估。以下是详细的步骤指南。【代码示例,仅供参考学习】

一、环境配置

1. 确认 CUDA 驱动

首先确保你的系统已经安装了合适的 NVIDIA CUDA 驱动,并且可以通过以下命令确认是否支持 CUDA:

nvidia-smi

确保输出中显示的 CUDA 版本适合你计划使用的 PyTorch 版本。

2. 安装 Anaconda 并创建 Python 虚拟环境

下载并安装 Anaconda,然后创建一个新的 Python 环境:

conda create -n tire_damage python=3.9
conda activate tire_damage
3. 安装必要的依赖项

在激活的虚拟环境中安装所需的库:

# 安装 PyTorch(以 CUDA 11.8 为例)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# 安装 YOLOv8 官方库和其他必需的包
pip install ultralytics opencv-python numpy matplotlib tqdm scikit-learn pandas pillow

# 可选:TensorBoard 可视化
pip install tensorboard

# 检查 GPU 是否可用
python -c "import torch; print(torch.cuda.is_available())"

二、数据集结构与 data.yaml 配置

假设你的数据集文件夹结构如下:

tire_damage_dataset/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
├── labels/
│   ├── train/
│   ├── val/
│   └── test/
└── data.yaml

data.yaml 文件内容示例如下:

train: ./tire_damage_dataset/images/train
val: ./tire_damage_dataset/images/val
test: ./tire_damage_dataset/images/test

nc: 3 # 类别数量
names: ['cut', 'indentation', 'debris'] # 类别名称

三、调用 YOLOv8 进行训练

以下是一个基本的训练脚本示例:

from ultralytics import YOLO

# 加载官方预训练模型
model = YOLO('yolov8m.pt')  # 推荐使用中等模型

# 开始训练
results = model.train(
    data='./tire_damage_dataset/data.yaml',
    epochs=100,                 # 根据需要调整
    batch=16,                   # 根据显存大小调整
    imgsz=640,                  # 输入图像尺寸
    optimizer='Adam',           # 使用 Adam 优化器
    lr0=0.001,                  # 初始学习率
    augment=True,               # 启用数据增强
    project='runs/tire_damage_train', # 训练结果保存目录
    name='yolov8m_tire_damage'  # 实验名称
)

四、推理代码

完成训练后,可以使用以下代码对新图片进行预测:

from ultralytics import YOLO

model = YOLO('runs/tire_damage_train/yolov8m_tire_damage/weights/best.pt')

# 对单张图片进行预测
results = model.predict(source='path/to/your/image.jpg', conf=0.25)

# 显示预测结果
for r in results:
    im_array = r.plot()  # 绘制边界框和标签
    im = Image.fromarray(im_array[..., ::-1])  # BGR to RGB
    im.show()

五、评估代码

对于验证集或测试集上的性能评估,可以使用以下代码:

metrics = model.val(data='./tire_damage_dataset/data.yaml', split='val')
print(f"Validation mAP@0.5: {metrics.box.map50:.4f}")
print(f"Validation mAP@0.5:0.95: {metrics.box.map:.4f}")

六、模型导出

当你满意于模型的表现时,可以将其导出为不同的格式以便部署:

# 导出为 ONNX
model.export(format='onnx', dynamic=True, opset=13, imgsz=640)

# 导出为 TensorRT
model.export(format='engine', half=True, dynamic=True)

# 导出为 TFLite
model.export(format='tflite', int8=True)
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐