训练 YOLOv8 模型以使用你自己的数据集可以通过以下步骤进行,主要包括数据准备、配置模型、训练模型等。以下是详细的步骤:

1. 准备数据集

YOLOv8 训练的数据集应符合 COCO 数据集或 YOLO 格式,主要包括图片和相应的标签。确保数据集结构如下:

dataset/
├── images/
│   ├── train/  # 训练集图片
│   ├── val/    # 验证集图片
├── labels/
│   ├── train/  # 训练集标签
│   ├── val/    # 验证集标签

标签格式:

  • YOLOv8 支持的标签格式为 .txt 文件。
  • 每个 .txt 文件对应一个图片,包含的内容为目标的 class_id x_center y_center width height,这些坐标为相对坐标,范围在 [0, 1] 之间。

例子:0 0.5 0.5 0.4 0.3

其中,class_id 是类别 ID,后面的四个数字分别是物体的中心点坐标以及宽和高的比例。一个图片文件对一个标签文件,

2. 安装 YOLOv8 环境

确保你已经安装了 ultralytics 库,可以通过以下命令安装 YOLOv8:

pip install ultralytics

3. 修改配置文件

使用 YOLOv8 需要一个配置文件来指定训练时的数据路径、类别数量等。可以使用以下方式创建一个新的配置文件,假设数据集中有 2 类目标。

创建一个 YAML 文件(例如 custom.yaml):

# custom.yaml
path: /path/to/dataset  # 数据集路径
train: images/train     # 训练集图片路径
val: images/val         # 验证集图片路径

nc: 2                   # 类别数量
names: ['class1', 'class2']  # 类别名称

4. 开始训练

使用 YOLOv8 的命令行工具或 Python API 开始训练。

命令行训练:

yolo task=detect mode=train model=yolov8n.pt data=custom.yaml epochs=100 imgsz=640

参数说明:

  • task=detect:检测任务。
  • model=yolov8n.pt:指定使用的预训练模型权重文件(可以选择不同大小的模型,如 yolov8n.ptyolov8s.ptyolov8m.pt 等)。
  • data=custom.yaml:使用你自定义的数据集配置文件。
  • epochs=100:训练迭代次数。
  • imgsz=640:输入图像大小。

Python API 训练:

from ultralytics import YOLO

# 加载预训练模型
model = YOLO('yolov8n.pt')

# 开始训练
model.train(data='custom.yaml', epochs=100, imgsz=640)

5. 评估模型

在训练完成后,可以使用以下命令或代码评估模型的表现:

yolo task=detect mode=val model=best.pt data=custom.yaml

或者使用 Python API:

metrics = model.val(data='custom.yaml')

6. 推理(Inference)

你可以使用训练好的模型进行推理:

yolo task=detect mode=predict model=best.pt source=/path/to/test/images

或通过 Python 进行推理:

results = model.predict(source='/path/to/test/images')


通过这些步骤,你可以训练 YOLOv8 模型来适应自己的数据集,并且可以根据任务需求调整相关超参数。

99976760

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐