如何使用yolov8训练使用_——均压环检测数据集 均压环数据集

均压环检测数据集在这里插入图片描述

数据集概述
该数据集包含360张均压环图像,标注文件为YOLO格式。数据集分为训练集、验证集和测试集,比例为7:2:1。每个图像包含一个或多个标注框,标注框采用YOLO格式。数据集中共有2个类别,每个类别的图像数量和标注框数量如下:

Junyahuan (均压环):(218张图像,218个标注框)
Junyahuanqingxie (均压环清洁):(377张图像,377个标注框)
总计:360张图像,595个标注框。

数据集结构
假设数据集的目录结构如下:

深色版本
junyahuan_detection_dataset/
├── images/
│ ├── train/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
│ ├── val/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
│ ├── test/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
├── labels/
│ ├── train/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
│ ├── val/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
│ ├── test/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
使用YOLOv8进行训练
安装依赖
首先,确保你已经安装了YOLOv8所需的依赖。你可以通过以下命令安装:

bash
深色版本
pip install ultralytics
配置数据集
创建一个配置文件 junyahuan_detection.yaml,内容如下:

yaml
深色版本
path: junyahuan_detection_dataset # 数据集路径
train: images/train # 训练集图像路径
val: images/val # 验证集图像路径
test: images/test # 测试集图像路径

nc: 2 # 类别数
names: [‘junyahuan’, ‘junyahuanqingxie’] # 类别名称
训练模型
使用以下命令训练YOLOv8模型:

bash
深色版本
yolo train data=junyahuan_detection.yaml model=yolov8n.pt epochs=100 imgsz=640
代码示例
你也可以通过Python代码来训练模型:

python
深色版本
from ultralytics import YOLO

加载预训练模型

model = YOLO(‘yolov8n.pt’)

训练模型

results = model.train(
data=‘junyahuan_detection.yaml’, # 数据集配置文件
epochs=100, # 训练轮数
imgsz=640, # 图像尺寸
batch=16, # 批量大小
name=‘junyahuan_detection’ # 实验名称
)
模型评估
训练完成后,可以使用以下命令评估模型在测试集上的性能:

bash
深色版本
yolo val data=junyahuan_detection.yaml model=runs/detect/junyahuan_detection/weights/best.pt imgsz=640
或者通过Python代码进行评估:

python
深色版本

评估模型

results = model.val(data=‘junyahuan_detection.yaml’, imgsz=640)
可视化结果
你可以使用以下代码来可视化模型的预测结果:

python
深色版本
import cv2
import torch
from ultralytics import YOLO

加载训练好的模型

model = YOLO(‘runs/detect/junyahuan_detection/weights/best.pt’)

读取测试图像

image_path = ‘junyahuan_detection_dataset/images/test/000001.jpg’
image = cv2.imread(image_path)

进行预测

results = model(image)

可视化预测结果

for result in results:
boxes = result.boxes.xyxy # 获取边界框
confidences = result.boxes.conf # 获取置信度
class_ids = result.boxes.cls # 获取类别ID

for box, confidence, class_id in zip(boxes, confidences, class_ids):
    x1, y1, x2, y2 = map(int, box)
    label = f'{model.names[int(class_id)]} {confidence:.2f}'
    color = (0, 255, 0)  # 绿色
    cv2.rectangle(image, (x1, y1), (x2, y2), color, 2)
    cv2.putText(image, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)

显示图像

cv2.imshow(‘Prediction’, image)
cv2.waitKey(0)
cv2.destroyAllWindows()
数据增强
由于部分图片已经进行了增强,确保你在训练过程中不会重复增强这些图片。可以在数据集配置文件中指定是否使用数据增强:

yaml
深色版本
augment: true # 是否使用数据增强
如果部分图片已经增强过,可以在训练时禁用数据增强,以避免过度增强导致模型性能下降:

python
深色版本
results = model.train(
data=‘junyahuan_detection.yaml’, # 数据集配置文件
epochs=100, # 训练轮数
imgsz=640, # 图像尺寸
batch=16, # 批量大小
name=‘junyahuan_detection’, # 实验名称
augment=False # 禁用数据增强
)
总结
以上步骤涵盖了从数据集准备到模型训练、评估和可视化的完整流程。希望这些信息对你有帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值