news 2026/2/7 5:19:32

无人机落水钓鱼检测数据集 无人机钓鱼及溺水检测数据集 无人机河道两边钓鱼检测数据集 水边安全监测领域,通过该数据集训练的 AI 模型,可自动识别水边区域的钓鱼行为、溺水风险及船只目标,帮助相关管理部门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
无人机落水钓鱼检测数据集 无人机钓鱼及溺水检测数据集 无人机河道两边钓鱼检测数据集 水边安全监测领域,通过该数据集训练的 AI 模型,可自动识别水边区域的钓鱼行为、溺水风险及船只目标,帮助相关管理部门

无人机落水钓鱼数据集 README

数据集核心信息表

信息类别详细说明
类别数量及名称4 类,分别为钓鱼伞(DiaoYuSan)、水边钓鱼(ShuiBianDiaoYu)、游泳溺水(YouYongNiShui)、船只(boat)
数据数量1200 张图像
数据集格式种类计算机视觉领域常用格式(支持目标检测任务)
最重要应用价值可用于开发水边场景安全监测相关的 AI 模型,实现对钓鱼行为、溺水风险及船只目标的自动识别,助力水上安全管理与应急响应系统搭建

数据三要素概述

类别说明

该数据集涵盖 4 个与水边场景紧密相关的核心类别,既包含钓鱼相关的钓鱼伞、水边钓鱼目标,也涉及安全监测关键的游泳溺水、船只目标,类别划分贴合实际水边场景的监测需求,能为目标检测模型提供明确的识别方向。

数量说明

数据集包含 1200 张图像,图像数量规模可满足基础目标检测模型的训练需求,为模型学习不同类别目标的特征提供了充足的数据支撑。

应用价值说明

其核心应用价值聚焦于水边安全监测领域,通过该数据集训练的 AI 模型,可自动识别水边区域的钓鱼行为、溺水风险及船只目标,帮助相关管理部门实时掌握水边场景动态,及时发现安全隐患,提升水上安全管理效率与应急响应速度。

关键说明

  • 数据集更新时间为 3 个月前,数据时效性较强,能较好适配当前水边场景监测模型的训练需求。

  • 适用于目标检测类计算机视觉任务,可直接用于模型的训练、验证与测试环节。

  • 数据标注准确,能有效保证模型学习到的目标特征的可靠性,提升模型识别精度。


1

基于你提供的“落水钓鱼”目标检测数据集背景(包含1241张图片,标注类别为ShuiBianDiaoYu(水边钓鱼),数据格式支持YOLO等),以下提供完整的数据集训练代码方案,采用YOLOv8框架(目前主流且易用,支持自动读取标注文件)。

一、环境准备

首先安装训练所需依赖库,推荐使用conda创建独立环境避免冲突:

# 1. 创建并激活环境(Python 3.8-3.11均可)conda create -n yolo_fishingpython=3.10conda activate yolo_fishing# 2. 安装核心依赖pipinstallultralytics# YOLOv8官方库(含模型、数据加载、训练逻辑)pipinstallopencv-python# 图像处理pipinstallpandas numpy# 数据统计pipinstallmatplotlib# 训练可视化pipinstallroboflow# 可选(若需从Roboflow直接下载数据集,跳过手动整理)

二、数据集整理(关键!需匹配YOLO格式)

你的数据集来自Roboflow,导出时需选择YOLOv8格式(含train/val/test文件夹+data.yaml配置文件)。若已下载,文件夹结构需如下:

fishing_dataset/ # 数据集根目录 ├─ train/ # 训练集(1221张图,对应网页中Train:1221) │ ├─ images/ # 训练集图片(w1920_h0_i486.jpg等) │ └─ labels/ # 训练集标注文件(与图片同名的.txt文件) ├─ val/ # 验证集(20张图,对应网页中Valid:20) │ ├─ images/ │ └─ labels/ ├─ test/ # 测试集(0张,可暂空或后续补充) │ ├─ images/ │ └─ labels/ └─ data.yaml # 数据集配置文件(记录类别、路径等)
若需手动生成data.yaml(Roboflow导出会自动生成):
# data.yaml内容path:./fishing_dataset# 数据集根目录路径(绝对路径或相对路径)train:./train/images# 训练集图片路径val:./val/images# 验证集图片路径test:./test/images# 测试集图片路径nc:1# 类别数量(仅1类:ShuiBianDiaoYu)names:['ShuiBianDiaoYu']# 类别名称(与标注文件中的类别ID对应,0=ShuiBianDiaoYu)

三、完整训练代码(YOLOv8_train.py)

代码包含数据加载、模型初始化、训练参数配置、训练过程监控、结果保存全流程,可直接运行:

fromultralyticsimportYOLOimportosimportmatplotlib.pyplotasplt# -------------------------- 1. 基础配置(根据需求修改) --------------------------MODEL_TYPE="yolov8n.pt"# 初始模型(n= nano,s=small,m=medium,l=large;n最快,l精度最高)DATA_YAML="./fishing_dataset/data.yaml"# 数据集配置文件路径EPOCHS=50# 训练轮次(建议30-100,根据数据量调整;1200张图推荐50-80)BATCH_SIZE=8# 批次大小(根据GPU显存调整:12GB显存可设8-16,8GB显存设4-8)IMG_SIZE=640# 输入图片尺寸(YOLO默认640,也可设1280提升精度,但训练变慢)DEVICE="0"# 训练设备(0=第1块GPU,-1=CPU,"0,1"=多GPU;无GPU则用CPU,训练会慢)SAVE_DIR="./fishing_train_results"# 训练结果保存路径(模型、日志、可视化图)# -------------------------- 2. 创建结果保存目录 --------------------------os.makedirs(SAVE_DIR,exist_ok=True)print(f"训练结果将保存至:{SAVE_DIR}")# -------------------------- 3. 加载YOLOv8模型 --------------------------# 加载预训练模型(基于COCO数据集预训练,加速收敛)model=YOLO(MODEL_TYPE)print(f"成功加载初始模型:{MODEL_TYPE}")# -------------------------- 4. 开始训练 --------------------------# 核心训练参数说明:# - data:数据集配置文件# - epochs:训练轮次# - batch:批次大小# - imgsz:输入图片尺寸# - device:训练设备# - project:结果保存根目录# - name:本次训练任务名称(会在project下创建子目录)# - patience:早停机制(若10轮验证集mAP无提升,自动停止训练,避免过拟合)# - save:是否保存训练过程中的最佳模型# - pretrained:是否使用预训练权重(默认True,推荐开启)train_results=model.train(data=DATA_YAML,epochs=EPOCHS,batch=BATCH_SIZE,imgsz=IMG_SIZE,device=DEVICE,project=SAVE_DIR,name="yolov8_fishing_run1",patience=10,save=True,pretrained=True,optimizer="Adam",# 优化器(Adam比SGD收敛更快,适合小数据集)lr0=0.001,# 初始学习率(默认0.01,小数据集可调小至0.001避免过拟合)augment=True,# 开启数据增强(自动随机翻转、缩放、亮度调整等,提升泛化能力)val=True# 训练中自动验证(每轮结束后计算验证集mAP))# -------------------------- 5. 训练结果可视化(可选) --------------------------# 提取训练过程中的关键指标(损失、mAP等)train_loss=train_results.history["train/box_loss"]# 训练集边界框损失val_loss=train_results.history["val/box_loss"]# 验证集边界框损失val_map50=train_results.history["val/mAP50"]# 验证集mAP50(目标检测核心指标,越高越好)# 绘制损失曲线和mAP曲线plt.figure(figsize=(12,4))# 子图1:损失曲线plt.subplot(1,2,1)plt.plot(range(1,EPOCHS+1),train_loss,label="Train Loss",color="blue")plt.plot(range(1,EPOCHS+1),val_loss,label="Val Loss",color="red")plt.xlabel("Epochs")plt.ylabel("Box Loss")plt.title("Training & Validation Loss")plt.legend()plt.grid(alpha=0.3)# 子图2:mAP50曲线plt.subplot(1,2,2)plt.plot(range(1,EPOCHS+1),val_map50,label="Val mAP50",color="green")plt.xlabel("Epochs")plt.ylabel("mAP50")plt.title("Validation mAP50")plt.legend()plt.grid(alpha=0.3)# 保存可视化图plt.tight_layout()plt.savefig(os.path.join(SAVE_DIR,"yolov8_fishing_run1","train_metrics.png"),dpi=300)plt.close()# -------------------------- 6. 模型评估(测试集,可选) --------------------------# 若后续补充测试集,可运行以下代码评估模型在测试集上的性能# results = model.val(# data=DATA_YAML,# split="test", # 评估测试集# imgsz=IMG_SIZE,# device=DEVICE# )# print(f"测试集mAP50:{results.box.map50:.2f}") # 输出测试集核心指标# -------------------------- 7. 模型推理(用训练好的模型预测新图片) --------------------------# 加载训练好的最佳模型(保存在 SAVE_DIR/yolov8_fishing_run1/weights/best.pt)best_model=YOLO(os.path.join(SAVE_DIR,"yolov8_fishing_run1","weights","best.pt"))# 预测一张示例图片(替换为你的测试图片路径)test_img_path="./test_fishing.jpg"# 新的钓鱼场景图片predict_results=best_model.predict(source=test_img_path,imgsz=IMG_SIZE,conf=0.3,# 置信度阈值(高于0.3才认为是目标)iou=0.5,# IOU阈值(用于非极大值抑制,避免重复框)save=True# 保存预测结果图片(保存在 runs/detect/predict 目录))# 打印预测结果(目标类别、坐标、置信度)forresultinpredict_results:boxes=result.boxesforboxinboxes:cls_id=int(box.cls[0])cls_name=best_model.names[cls_id]conf=float(box.conf[0])x1,y1,x2,y2=box.xyxy[0]# 目标框坐标(左上角x1,y1,右下角x2,y2)print(f"预测结果:类别={cls_name},置信度={conf:.2f},坐标=({x1:.0f},{y1:.0f})-({x2:.0f},{y2:.0f})")

四、关键参数调整建议(根据训练效果优化)

  1. 模型选择

    • 若追求速度(如实时检测):用yolov8n.pt(最快,精度稍低);
    • 若追求精度(如静态图片检测):用yolov8m.ptyolov8l.pt(精度高,训练时间长)。
  2. 批次大小(batch)

    • GPU显存≥12GB:设16;显存8GB:设8;显存4GB:设4;无GPU(CPU):设2
  3. 训练轮次(epochs)

    • 若训练中验证集mAP50不再提升(早停机制触发),说明已收敛,无需增加epochs;
    • 若训练集损失仍在下降但验证集损失上升,说明过拟合,可减小epochs或增加数据增强(如augment=True改为augment=True, mixup=0.1)。
  4. 学习率(lr0)

    • 小数据集(<2000张):推荐0.001(默认0.01可能导致过拟合);
    • 大数据集(>5000张):用默认0.01

五、训练结果解读

训练完成后,SAVE_DIR/yolov8_fishing_run1目录下会生成以下关键文件:

  • weights/best.pt:最佳模型(基于验证集mAP50选择,推荐用于后续推理);
  • weights/last.pt:最后一轮训练的模型(不推荐直接使用,可能未收敛);
  • train_metrics.png:训练损失和mAP曲线(判断是否收敛、过拟合);
  • results.csv:详细训练日志(每轮的损失、mAP、FPS等指标)。

六、常见问题解决

  1. 标注文件读取错误

    • 检查标注文件.txt格式是否正确(YOLO格式:class_id x_center y_center width height,坐标需归一化到0-1);
    • 确保标注文件与图片同名,且放在对应labels文件夹下。
  2. GPU内存不足

    • 减小batch_size(如从8改为4);
    • 减小img_size(如从640改为480);
    • 用更小的模型(如yolov8n.pt替代yolov8m.pt)。
  3. 过拟合(训练集精度高,验证集精度低)

    • 增加数据增强:在model.train()中添加mixup=0.2, mosaic=1.0(混合图片、马赛克增强);
    • 减少模型复杂度(如从yolov8l.pt改为yolov8s.pt);
    • 增加数据集(如用Roboflow的“Data Augmentation”功能生成更多增强数据)。

运行代码前,需确保数据集路径、图片路径正确,若从Roboflow下载数据集,可直接用roboflow库自动下载(需在Roboflow项目中获取API密钥),具体代码可参考Roboflow YOLOv8导出文档。

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

5分钟上手GPEN图像修复,科哥版WebUI一键增强老照片

5分钟上手GPEN图像修复&#xff0c;科哥版WebUI一键增强老照片 你是不是也翻出过泛黄的老相册&#xff1f;那张被岁月模糊了轮廓的全家福、那张边角卷曲却笑容灿烂的毕业照、还有那张因保存不当而布满噪点的童年合影……它们承载着真实的情感&#xff0c;却困在低画质里。现在…

作者头像 李华
网站建设 2026/2/2 18:39:43

打造智能协作机械臂:LeRobot SO-101从硬件到控制全攻略

打造智能协作机械臂&#xff1a;LeRobot SO-101从硬件到控制全攻略 【免费下载链接】lerobot &#x1f917; LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot LeRobot SO-10…

作者头像 李华
网站建设 2026/2/6 9:48:47

模拟电子技术基础核心要点:运算放大器初步认识

以下是对您提供的博文《模拟电子技术基础核心要点&#xff1a;运算放大器初步认识》的 深度润色与重构版本 。本次优化严格遵循您的全部要求&#xff1a; ✅ 彻底去除AI腔调与模板化表达&#xff08;如“本文将从……几个方面阐述”&#xff09; ✅ 摒弃刻板章节标题&#…

作者头像 李华
网站建设 2026/2/6 3:07:01

构建稳定黑苹果系统的技术路径:Lilu内核扩展平台实战指南

构建稳定黑苹果系统的技术路径&#xff1a;Lilu内核扩展平台实战指南 【免费下载链接】Lilu Arbitrary kext and process patching on macOS 项目地址: https://gitcode.com/gh_mirrors/li/Lilu 一、技术背景与价值定位 学习目标&#xff1a;理解Lilu在黑苹果生态中的核…

作者头像 李华
网站建设 2026/2/5 14:05:14

如何用cv_resnet18_ocr-detection做训练微调?自定义数据集教程

如何用cv_resnet18_ocr-detection做训练微调&#xff1f;自定义数据集教程 OCR文字检测是智能文档处理的核心环节&#xff0c;而模型微调能力直接决定了它能否适应你的具体业务场景。很多用户拿到预训练模型后&#xff0c;发现对自家票据、工单或特殊字体识别效果不佳&#xf…

作者头像 李华
网站建设 2026/2/3 14:59:11

百考通AI助您一键生成高分方案!

对于每一位踏上科研征程的学子而言&#xff0c;开题报告是决定研究项目生死存亡的第一道关卡。它不仅是向导师和评审委员会展示研究价值与可行性的“敲门砖”&#xff0c;更是为整个研究过程绘制蓝图、奠定基石的关键文档。然而&#xff0c;从确定一个有创新性的选题&#xff0…

作者头像 李华