> 技术文档 > 如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统_seadronessee数据集的yolo格式

如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统_seadronessee数据集的yolo格式

如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统

以下为代码示例,仅供参考学习。
如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统_seadronessee数据集的yolo格式

文章目录

    • 🌊 一、数据集介绍
    • 📁 二、目录结构要求(YOLO 可兼容)
    • 🧾 三、创建 `data.yaml` 文件
    • 🔧 四、环境搭建(YOLOv8)
      • 1. 安装依赖
    • 📦 五、模型选择与训练
      • 推荐使用 YOLOv8 模型系列:Yolov8系列模型差异比较
      • 开始训练
    • 📊 六、性能评估(验证集)
    • 🎥 七、模型推理与部署
      • 1. 单图推理
      • 2. 视频流实时检测(无人机航拍)
      • 3. 批量预测整个文件夹
    • 🚀 八、模型导出为 ONNX / TensorRT / OpenVINO
      • 导出为 ONNX 格式
      • 导出为 TensorRT(需 NVIDIA Jetson)
      • 导出为 OpenVINO(用于 Intel 设备)
    • 📁 九、测试集批量评估(自定义脚本)
    • 🧱 十、Docker 部署建议
      • Dockerfile 示例
      • 构建镜像
      • 运行容器

以下文字及代码仅供参考学习。
无人机海上目标检测数据集,无人机航拍海面数据集如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统_seadronessee数据集的yolo格式

使用yolo训练
yolo格式
训练集:8930张
验证集:1547张
测试集:3750张
类别:[‘ignore’, ‘swimmer’, ‘boat’, ‘jetski’, ‘life_saving_appliances’, ‘buoy’]
如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统_seadronessee数据集的yolo格式

基于 SeaDroneSee v2 航拍海上目标检测数据集(YOLO 格式)的完整训练与部署指南,涵盖从数据准备、环境搭建、模型训练、推理到性能评估的全流程。可适用于 YOLOv5 / YOLOv8。

如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统_seadronessee数据集的yolo格式


🌊 一、数据集介绍

  • 数据格式:YOLO TXT + JPG 图像
  • 类别数量:6类
    [\'ignore\', \'swimmer\', \'boat\', \'jetski\', \'life_saving_appliances\', \'buoy\']
  • 划分情况
    • 训练集:8930 张
    • 验证集:1547 张
    • 测试集:3750 张
  • 总图像数:14227 张

📁 二、目录结构要求(YOLO 可兼容)

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

🧾 三、创建 data.yaml 文件

train: ./images/trainval: ./images/valtest: ./images/testnc: 6 # 类别数量names: [\'ignore\', \'swimmer\', \'boat\', \'jetski\', \'life_saving_appliances\', \'buoy\']

如何使用yolov8模型训练无人机海上目标检测数据集 通过训练的无人机航拍海面目标检测数据集模型,建立深度学习无人机海上人员船只的检测系统_seadronessee数据集的yolo格式

🔧 四、环境搭建(YOLOv8)

1. 安装依赖

# 创建虚拟环境(可选)python -m venv yolo_envsource yolo_env/bin/activate # Windows: yolo_env\\Scripts\\activate# 安装 ultralytics 和 OpenCVpip install ultralytics opencv-python-headless

📦 五、模型选择与训练

推荐使用 YOLOv8 模型系列:Yolov8系列模型差异比较

模型 特点 yolov8n.pt 小模型,适合边缘设备 yolov8s.pt 中等大小,精度和速度平衡 yolov8m.pt 精度更高,适合 GPU yolov8l.pt / yolov8x.pt 更大模型,精度最高

开始训练

yolo task=detect mode=train model=yolov8s.pt data=data.yaml epochs=100 imgsz=640 batch=16 workers=4

参数说明:

  • model: 使用预训练模型(如 yolov8s.pt
  • data: 数据配置文件路径
  • epochs: 总训练轮次
  • imgsz: 输入图像尺寸(推荐640或1280)
  • batch: 批量大小(根据GPU内存调整)
  • workers: 数据加载线程数

📊 六、性能评估(验证集)

yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=data.yaml

输出指标包括:

  • mAP@0.5
  • mAP@0.5:0.95
  • Precision, Recall
  • FPS(帧率)

🎥 七、模型推理与部署

1. 单图推理

from ultralytics import YOLOmodel = YOLO(\'runs/detect/train/weights/best.pt\')results = model(\'path/to/image.jpg\')for r in results: im_array = r.plot() im = Image.fromarray(im_array[..., ::-1]) # RGB PIL图像 im.show()

2. 视频流实时检测(无人机航拍)

import cv2def detect_video(video_path): cap = cv2.VideoCapture(video_path) while cap.isOpened(): ret, frame = cap.read() if not ret: break results = model(frame) annotated_frame = results[0].plot() cv2.imshow(\"Marine Object Detection\", annotated_frame) if cv2.waitKey(1) == ord(\"q\"): break cap.release() cv2.destroyAllWindows()detect_video(0) # 0 表示摄像头;也可以传入视频路径

3. 批量预测整个文件夹

yolo task=detect mode=predict model=best.pt source=\"path/to/images\" save=True

🚀 八、模型导出为 ONNX / TensorRT / OpenVINO

导出为 ONNX 格式

yolo export model=best.pt format=onnx

导出为 TensorRT(需 NVIDIA Jetson)

yolo export model=best.pt format=engine device=0 # device=0 表示使用GPU

导出为 OpenVINO(用于 Intel 设备)

yolo export model=best.pt format=openvino

📁 九、测试集批量评估(自定义脚本)

如果你想对测试集进行批量评估并统计结果:

import osfrom ultralytics import YOLOmodel = YOLO(\'best.pt\')test_dir = \'./images/test\'label_dir = \'./labels/test\'results = []for img_file in os.listdir(test_dir): if img_file.endswith(\'.jpg\'): img_path = os.path.join(test_dir, img_file) result = model(img_path)[0] results.append(result)# 可视化部分结果for res in results[:5]: res.show()

🧱 十、Docker 部署建议

Dockerfile 示例

FROM python:3.10WORKDIR /appCOPY . .RUN pip install -r requirements.txtCMD [\"python\", \"inference.py\"]

构建镜像

docker build -t sea_drone_yolo .

运行容器

docker run -it --rm -v $(pwd)/data:/app/data sea_drone_yolo

以上文字及代码仅供参考学习。