如何使用YOLOv8来训练——包含6类7000张船舶图片的海事监控数据集(海上船舶检测数据集 船舶数据集)

船舶海事监控数据集Seaships,共包含6类7000张船舶图片,具有不同的尺度、船体部分、照明、视点、背景和遮挡。散货船bulk cargo carrier、集装箱船container ship、渔船fishing boat、杂货船general cargo ship、矿砂船ore carrier、客船passenger ship。本数据集可以用于yolo系列目标检测算法。

 

如何使用YOLOv8来训练一个包含6类7000张船舶图片的海事监控数据集,并附上详细的训练代码和步骤。

数据集描述

该数据集包含以下信息:

  • 数据量:7000张图片
  • 类别:6类
    • 散货船(bulk cargo carrier)
    • 集装箱船(container ship)
    • 渔船(fishing boat)
    • 杂货船(general cargo ship)
    • 矿砂船(ore carrier)
    • 客船(passenger ship)

数据集组织

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

seaships_dataset/
├── train/
│   ├── images/
│   └── labels/
├── valid/
│   ├── images/
│   └── labels/
└── data.yaml  # 数据配置文件

其中:

  • train/ 包含训练集的图像和TXT标签文件。
  • valid/ 包含验证集的图像和TXT标签文件。
  • data.yaml 包含数据集的路径和其他配置信息。

数据配置文件

创建或确认data.yaml文件是否正确配置了数据集路径和类别信息:

train: ./train/images/  # 训练集图像路径
val: ./valid/images/  # 验证集图像路径
test: ./test/images/  # 测试集图像路径(如果有)

# Classes
nc: 6  # 类别数量
names: ['bulk cargo carrier', 'container ship', 'fishing boat', 'general cargo ship', 'ore carrier', 'passenger ship']  # 类别名称列表

安装YOLOv8

如果你还没有安装YOLOv8,可以使用以下命令安装:

pip install ultralytics

训练模型

使用YOLOv8训练模型的命令非常简单,你可以直接使用以下命令开始训练:

cd path/to/seaships_dataset/

# 下载预训练权重
wget https://github.com/ultralytics/ultralytics/releases/download/v8.0.19/yolov8n.pt

# 开始训练
ultralytics train model=yolov8n.yaml data=./data.yaml epochs=100 imgsz=640

在这个命令中:

  • model=yolov8n.yaml:指定使用的YOLOv8模型配置文件。
  • data=./data.yaml:指定数据配置文件。
  • epochs=100:训练轮数。
  • imgsz=640:输入图像的大小。

使用预定义配置

YOLOv8提供了多种预定义模型配置,例如yolov8n, yolov8s, yolov8m, yolov8l, yolov8x。你可以根据需求选择不同的模型配置进行训练。例如:

ultralytics train model=yolov8s.yaml data=./data.yaml epochs=100 imgsz=640

模型评估

训练完成后,可以使用以下命令评估模型在验证集上的表现:

ultralytics val model=best.pt data=./data.yaml imgsz=640

这里的best.pt是训练过程中产生的最佳模型权重文件。

模型预测

ultralytics predict model=best.pt source=path/to/your/image.jpg imgsz=640

查看训练结果

训练过程中的日志和结果会保存在runs/detect/目录下,你可以查看训练过程中的损失、精度等信息。

进一步的优化建议

  1. 数据增强:可以尝试增加更多的数据增强策略,如旋转、翻转、颜色变换等,以提高模型的泛化能力。
  2. 类别平衡:检查各个类别的样本数量是否均衡,如果不均衡,可以通过过采样少数类或者欠采样多数类的方法来平衡类别。
  3. 模型微调:可以在训练后期对模型进行微调,以进一步提升模型的性能。
  4. 多尺度训练:尝试使用不同大小的输入图像进行训练,以提高模型对不同尺寸目标的检测能力。
  5. 集成学习:可以考虑使用集成学习的方法,比如Bagging或Boosting,来进一步提升模型的准确性和稳定性。

示例训练脚本

以下是一个完整的示例脚本,展示了从下载预训练模型到训练模型的整个流程:

#!/bin/bash

# 定义数据集目录
DATASET_DIR="path/to/seaships_dataset"

# 创建必要的目录
mkdir -p ${DATASET_DIR}
mkdir -p ${DATASET_DIR}/train/images
mkdir -p ${DATASET_DIR}/train/labels
mkdir -p ${DATASET_DIR}/valid/images
mkdir -p ${DATASET_DIR}/valid/labels

# 下载预训练权重
wget https://github.com/ultralytics/ultralytics/releases/download/v8.0.19/yolov8n.pt -P ${DATASET_DIR}

# 移动预训练权重到正确的目录
mv ${DATASET_DIR}/yolov8n.pt ${DATASET_DIR}/weights/yolov8n.pt

# 安装YOLOv8
pip install ultralytics

# 开始训练
cd ${DATASET_DIR}
ultralytics train model=yolov8n.yaml data=./data.yaml epochs=100 imgsz=640

# 模型评估
ultralytics val model=best.pt data=./data.yaml imgsz=640

# 模型预测
ultralytics predict model=best.pt source=path/to/your/image.jpg imgsz=640

通过上述步骤,你可以使用YOLOv8来训练一个海事监控数据集,并使用训练好的模型进行预测。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值