news 2026/7/4 12:55:05

深度学习框架目标检测算法YOLOV8预训练模型训练海上落水人员及障碍物数据集建立基于深度学习YOLOV8海上落水人员检测系统 海上搜救无人机 - 智慧海事监控平台

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习框架目标检测算法YOLOV8预训练模型训练海上落水人员及障碍物数据集建立基于深度学习YOLOV8海上落水人员检测系统 海上搜救无人机 - 智慧海事监控平台

海上落水人员及障碍物数据集,有500多张并已经标注好了txt格式。已经划分hao训练集和验证集,可直接训练,【来源自建】
2类【溺水人员,障碍物】


1

1

海上落水人员及障碍物检测数据集的完整 YOLOv8 训练与检测系统方案,包含:

✅ 数据集说明
dataset.yaml配置
✅ 详细训练代码(支持自定义参数)
✅ 推理与评估脚本
✅ 类别建议(根据常见海上目标)


📊 一、数据集信息

项目说明
图像总数500+ 张(已标注)
标注格式YOLO 格式(.txt,每行:class_id cx cy w h
划分情况已划分train/val(无需再分割)
直接可用✅ 可直接用于 YOLOv5/v8 等训练
典型类别(建议)person_in_water(落水人员)、boat(小船)、buoy(浮标)、debris(漂浮障碍物)、life_ring(救生圈)等

🔍 若您的.txt中类别 ID 为 0、1、2…,请确保names顺序与标注一致。


📁 二、推荐目录结构

请确认您的数据组织如下(若不同,请调整路径):

marine_rescue_dataset/ ├── images/ │ ├── train/# 如 400 张│ └── val/# 如 100 张├── labels/ │ ├── train/# 对应 .txt 文件│ └── val/ └── dataset.yaml

💡 注意:YOLO 要求labels/images/同级且子文件夹名一致。


📄 三、dataset.yaml配置文件

请根据实际类别修改names。以下为示例(假设 4 类):

# dataset.yamltrain:./images/trainval:./images/valnc:4names:['person_in_water','boat','buoy','debris']

✅ 如果您只有“落水人员” 和 “障碍物” 两类,可简化为:

nc:2names:['person_in_water','obstacle']

🚀 四、YOLOv8 详细训练代码(train.py

# train.pyfromultralyticsimportYOLOimporttorchdefmain():# 检查 GPU 可用性device='cuda'iftorch.cuda.is_available()else'cpu'print(f"Using device:{device}")# 加载预训练模型(推荐 yolov8s,平衡速度与精度)model=YOLO('yolov8s.pt')# 可选: yolov8n (更快), yolov8m (更准)# 开始训练results=model.train(data='dataset.yaml',# 数据配置文件路径epochs=100,# 总训练轮数(500张图建议 80~150)imgsz=640,# 输入分辨率(可尝试 1280 提升小目标检测)batch=8,# 批次大小(500张图 + GPU 显存有限,建议 8~16)name='marine_rescue_v8s',# 实验名称(结果保存在 runs/detect/...)optimizer='AdamW',lr0=0.001,# 初始学习率lrf=0.01,# 最终学习率 = lr0 * lrfweight_decay=0.0005,warmup_epochs=3,# 学习率预热hsv_h=0.015,# 色调增强(适应海面光照变化)hsv_s=0.7,hsv_v=0.4,degrees=15.0,# 旋转增强(模拟船只晃动)translate=0.1,scale=0.5,fliplr=0.5,# 左右翻转mosaic=0.8,# Mosaic 增强(提升小目标检测)mixup=0.2,copy_paste=0.3,# Copy-Paste 增强(对稀疏目标有效)close_mosaic=10,# 最后10轮关闭 Mosaicdevice=device,workers=4,save=True,save_period=10,# 每10轮保存一次模型exist_ok=False,verbose=True)if__name__=='__main__':main()

🔍 五、推理测试代码(detect.py

# detect.pyfromultralyticsimportYOLOimportcv2# 加载最佳模型model=YOLO('runs/detect/marine_rescue_v8s/weights/best.pt')defdetect_image(image_path,conf_thres=0.3):results=model(image_path,conf=conf_thres)annotated=results[0].plot()# 自动绘制框和标签cv2.imshow("Marine Rescue Detection",annotated)cv2.waitKey(0)cv2.destroyAllWindows()# 批量检测文件夹defdetect_folder(folder_path):results=model(folder_path,conf=0.3,save=True,project="output")print(f"结果保存至: output/")# 示例detect_image("test.jpg")# detect_folder("test_images/")

📈 六、验证集评估(evaluate.py

# evaluate.pyfromultralyticsimportYOLO model=YOLO('runs/detect/marine_rescue_v8s/weights/best.pt')metrics=model.val(data='dataset.yaml',split='val')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.mp:.4f}")print(f"Recall:{metrics.box.mr:.4f}")

⚙️ 七、训练建议(针对海上场景)

挑战解决方案
落水人员目标小使用imgsz=1280,启用copy_paste增强
海面反光/波浪干扰增强hsv_v(亮度)和degrees(旋转)
样本量少(500+)启用强数据增强(Mosaic, MixUp, Copy-Paste)
类别不平衡检查各类别数量,必要时过采样少数类

📦 八、项目交付内容

  • dataset.yaml
  • train.py(含详细参数注释)
  • detect.py(单图/批量推理)
  • evaluate.py(性能评估)
  • ✅ 模型导出(ONNX/TensorRT)支持

该系统可广泛应用于:

  • 海上搜救无人机
  • 智慧海事监控平台
  • 救援机器人视觉模块
  • 海洋安防预警系统
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 10:35:58

【大模型微调】30-微调实战指导:提供全量训练与轻量训练的选择建议及适用场景分析

引言在人工智能领域,模型微调是一项关键技术,它使得预训练模型能够适应特定任务,从而提高模型的性能和适用性。随着大模型时代的到来,如何高效地进行模型微调成为了研究者和实践者关注的焦点。本文将深入探讨全量训练与轻量训练两…

作者头像 李华
网站建设 2026/7/1 22:05:48

微观交通流仿真软件:AIMSUN_(5).交通需求建模

交通需求建模 1. 交通需求建模概述 交通需求建模是交通仿真中的一个核心步骤,它涉及将实际的交通流量、出行模式和交通特性转换为仿真模型中的输入数据。通过这些模型,可以预测和分析不同交通管理和规划措施的效果。在AIMSUN中,交通需求建模主…

作者头像 李华
网站建设 2026/7/3 9:22:45

`Set`、`Map`、`WeakSet` 和 `WeakMap` 的区别与使用场景

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

作者头像 李华
网站建设 2026/7/4 5:30:05

LabVIEW信号彩图Colormap

以彩图呈现模拟信号或实测数据(实测数据由 Log Data VI 采集),通过切换标签页选信号源,配置采样 / 转速等参数(模拟)或加载文件(实测),设定绘图类型后运行,可…

作者头像 李华