news 2026/6/21 12:53:28

计算机视觉深度学习框架YOLOV8模型如何训练水下生物检测数据集 通过训练的权重推理识别检测海底生物检测数据集中的海参海胆扇贝海星鱼类潜水员海龟等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机视觉深度学习框架YOLOV8模型如何训练水下生物检测数据集 通过训练的权重推理识别检测海底生物检测数据集中的海参海胆扇贝海星鱼类潜水员海龟等

计算机视觉深度学习框架YOLOV8模型如何训练水下生物检测数据集 通过训练的权重推理识别检测海底生物检测数据集中的海参海胆扇贝海星鱼类潜水员海龟等

文章目录

      • **水下目标检测数据集信息表**
      • **类别标签对照表(共10类)**
      • **数据集划分统计**
    • ✅ 一、环境配置
      • 1. 安装 CUDA 驱动(GPU 支持)
      • 2. 安装 Anaconda
      • 3. 创建 Python 虚拟环境
      • 4. 安装依赖项
    • ✅ 二、数据集结构与 `data.yaml` 配置
      • 数据目录结构
      • 创建 `data.yaml`
    • ✅ 三、调用官方预训练模型并开始训练
      • 使用 YOLOv8 官方预训练模型(如 `yolov8x.pt`)
    • ✅ 四、推理代码(单图/批量/视频)
      • 1. 单张图像推理
      • 2. 批量图像推理(文件夹)
      • 3. 视频检测
      • 4. 摄像头实时检测(OpenCV)
    • ✅ 五、模型评估(验证集)
    • ✅ 六、可视化与结果分析
      • 1. 绘制中文标签(可选)
      • 2. 使用 TensorBoard 查看训练曲线
    • ✅ 七、导出模型(ONNX / TensorRT / CoreML)可根据电脑系统

以下文字及代码仅供参考学习使用。

计算机视觉深度学习框架YOLOV8模型如何训练水下生物检测数据集


水下目标检测数据集10类别 YOLO格式 14,000张高清图片

水下目标检测数据集信息表

项目内容
数据集名称水下目标检测数据集
总图像数量14,000 张高清图片
图像来源多种真实海洋环境(如珊瑚礁、深海、近岸水域等)
分辨率高清(具体尺寸未提供,通常为1920×1080或类似)
标注格式.txt(YOLO 格式,归一化坐标)
适用框架YOLO 系列(YOLOv5/v8/v11等)、其他支持YOLO格式的目标检测模型
数据划分训练集:9,800 张(70%)
验证集:4,200 张(30%)
增强数据包含未参与训练的数据增强样本(单独存放,可用于测试或迁移学习)
应用场景海洋生物研究、科研分析、深度学习模型训练与验证

类别标签对照表(共10类)

类别编号英文名称中文名称备注
0holothurian海参常见底栖生物
1echinus海胆棘皮动物
2scallop扇贝双壳类软体动物
3starfish海星典型海洋生物
4fish鱼类多种海洋鱼类
5corals珊瑚珊瑚礁生态系统关键物种
6diver潜水员人工目标,用于人机共存场景检测
7cuttlefish乌贼头足类动物,形态多变
8turtle海龟保护类海洋动物
9jellyfish水母透明或半透明,检测难度较高

数据集划分统计

数据集类型图像数量占比用途
训练集9,800 张70%用于模型训练
验证集4,200 张30%用于模型调参与性能评估
总计14,000 张100%——

增强数据说明:另附未参与训练的数据增强样本(如旋转、模糊、亮度变化等),可用于模型鲁棒性测试或迁移学习。



为了使用YOLOv8训练和推理一个包含 10 类海洋目标的水下高清图像数据集(共 14,000 张图片),我们将从环境搭建、数据准备、模型训练、推理到评估提供完整的技术流程与代码。


✅ 一、环境配置

1. 安装 CUDA 驱动(GPU 支持)

确保你的系统已安装 NVIDIA 显卡驱动和 CUDA Toolkit:

nvidia-smi

输出应显示 GPU 信息。推荐 CUDA 版本:11.8 或 12.1。


2. 安装 Anaconda

下载并安装 Anaconda(Python 3.9+ 推荐)。


3. 创建 Python 虚拟环境

conda create-nunderwater_yolopython=3.9conda activate underwater_yolo

4. 安装依赖项

# 安装 PyTorch(以 CUDA 11.8 为例)pipinstalltorch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118# 安装 YOLOv8 官方库pipinstallultralytics opencv-python numpy matplotlib tqdm scikit-learn# 可选:TensorBoard 可视化pipinstalltensorboard

验证安装:

python-c"import torch; print(torch.cuda.is_available())"# 应输出 True

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

数据目录结构

underwater_dataset/ ├── images/ │ ├── train/ # 9800 张 │ └── val/ # 4200 张 ├── labels/ │ ├── train/ # 对应的 .txt 标注文件 │ └── val/ # 对应的 .txt 标注文件 └── data.yaml # 数据集配置文件

创建data.yaml

在项目根目录创建data.yaml文件:

# data.yamltrain:./underwater_dataset/images/trainval:./underwater_dataset/images/val# 类别数量nc:10# 类别名称(英文)names:-holothurian-echinus-scallop-starfish-fish-corals-diver-cuttlefish-turtle-jellyfish# 中文映射(仅用于可视化)names_zh:-海参-海胆-扇贝-海星-鱼类-珊瑚-潜水员-乌贼-海龟-水母

✅ 三、调用官方预训练模型并开始训练

使用 YOLOv8 官方预训练模型(如yolov8x.pt

fromultralyticsimportYOLO# 加载预训练模型(可选:yolov8n, yolov8s, yolov8m, yolov8l, yolov8x)model=YOLO('yolov8x.pt')# 下载自动进行# 开始训练results=model.train(data='data.yaml',# 数据配置文件epochs=150,# 训练轮数batch=16,# 批次大小(根据显存调整)imgsz=1280,# 输入图像尺寸(适合小目标检测)optimizer='AdamW',# 优化器lr0=0.001,# 初始学习率augment=True,# 启用内置数据增强hsv_h=0.015,# 色彩扰动hsv_s=0.7,hsv_v=0.4,degrees=10.0,# 随机旋转translate=0.1,scale=0.5,shear=0.0,flipud=0.0,fliplr=0.5,mosaic=1.0,mixup=0.1,copy_paste=0.1,project='runs/train',# 保存路径name='underwater_yolov8x',# 实验名称save=True,save_period=10,# 每10轮保存一次cache=False# 若内存充足可设为 True 加速加载)

💡提示

  • 若显存不足,降低batch或使用yolov8m.pt
  • imgsz=1280有助于提升小目标检测精度(水下目标常较小)

✅ 四、推理代码(单图/批量/视频)

1. 单张图像推理

fromultralyticsimportYOLOfromPILimportImage# 加载训练好的模型model=YOLO('runs/train/underwater_yolov8x/weights/best.pt')# 推理results=model('test_image.jpg')# 显示结果forrinresults:im_array=r.plot()# 绘制边界框和标签im=Image.fromarray(im_array[...,::-1])# BGR to RGBim.show()

2. 批量图像推理(文件夹)

importosfrompathlibimportPath source_dir='path/to/test_images/'output_dir='runs/detect/predictions'os.makedirs(output_dir,exist_ok=True)results=model(source_dir,save=True,project=output_dir,name='batch_predict')print(f"批量推理完成,结果保存在{output_dir}")

3. 视频检测

results=model.predict(source='underwater_video.mp4',save=True,project='runs/detect/video',name='result',show=False)print("视频检测完成")

4. 摄像头实时检测(OpenCV)

cap=cv2.VideoCapture(0)whilecap.isOpened():ret,frame=cap.read()ifnotret:breakresults=model(frame)annotated_frame=results[0].plot()cv2.imshow('YOLOv8 Real-time Detection',annotated_frame)ifcv2.waitKey(1)&0xFF==ord('q'):breakcap.release()cv2.destroyAllWindows()

✅ 五、模型评估(验证集)

# 在验证集上评估metrics=model.val(data='data.yaml',split='val',batch=16,imgsz=1280,save_json=False,project='runs/val',name='underwater_eval')# 输出关键指标print(f"mAP@0.5:{metrics.box.map50:.4f}")print(f"mAP@0.5:0.95:{metrics.box.map:.4f}")print(f"Precision:{metrics.box.p:.4f}")print(f"Recall:{metrics.box.r:.4f}")# 每类 APfori,nameinenumerate(model.names):print(f"{name}: AP@0.5 ={metrics.box.ap[i]:.4f}")

✅ 六、可视化与结果分析

1. 绘制中文标签(可选)

# 修改模型类名显示为中文model.names=['海参','海胆','扇贝','海星','鱼类','珊瑚','潜水员','乌贼','海龟','水母']results=model('test.jpg')results[0].plot()# 此时显示中文标签

2. 使用 TensorBoard 查看训练曲线

tensorboard--logdirruns/train/underwater_yolov8x

✅ 七、导出模型(ONNX / TensorRT / CoreML)可根据电脑系统

# 导出为 ONNX(通用部署格式)model.export(format='onnx',dynamic=True,opset=13)# 导出为 TensorRT(NVIDIA GPU 加速)model.export(format='engine',half=True,dynamic=True)# 导出为 TFLite(移动端)model.export(format='tflite')

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 12:52:26

Sunshine游戏串流:终极指南搭建你的私人云游戏平台

Sunshine游戏串流:终极指南搭建你的私人云游戏平台 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾梦想过随时随地畅玩高性能电脑上的3A大作?是否厌…

作者头像 李华
网站建设 2026/6/5 23:57:37

Claude Code 对话导出神器:一行命令,把你的 AI 对话变成永久知识库

一、工具简介 Claude Conversation Extractor 是一款专为 Claude Code 用户设计的命令行工具,用于解决 Claude Code 官方不提供对话导出功能的痛点。它直接读取 Claude Code 存储在本地 ~/.claude/projects/ 目录下的 JSONL 格式日志文件,将其转换为干净…

作者头像 李华
网站建设 2026/6/7 20:21:57

【无人机控制】集群无人机硬件平台,融合PX4 原生控制架构+改进 RPT 鲁棒控制,集成动力学模型、全层级飞控、轨迹生成,支持常规轨迹 机动飞行Matlab仿真

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/6/5 23:57:26

实战指南:基于快马AI生成支持WebSocket的实时协作白板服务器

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请生成一个实战级的服务器应用代码,用于支撑一个简单的实时协作白板应用的后端。技术要求:1、使用Node.js和Socket.io库建立WebSocket服务器,实…

作者头像 李华
网站建设 2026/6/7 14:29:40

Agent思维模式 | 评估

Agent思维模式:ReAct、Plan and Execute、Reflection Agent 处理任务时的不同推理与执行策略概念全称特点ReActReasoning And Act边规划、边执行Plan and Execute-先规划、后执行Reflection-反思机制 ReAct(Reasoning and Act) ReAct 是 Reas…

作者头像 李华
网站建设 2026/6/5 23:55:09

AI 产品落地:从幻觉治理到商业回本指标设计

AI 产品落地:从幻觉治理到商业回本指标设计AI 产品真正难的,不是把模型接到接口上,而是让它在真实业务里持续可用、可控、可赚钱。 传统软件追求确定性:同样的输入,应该得到同样的输出。大模型不一样,它的输…

作者头像 李华