无人机航拍河道垂钓检测数据集|水域禁钓智能识别|YOLO目标检测实战
河道垂钓识别数据集|无人机水域巡检|非法垂钓检测|深度学习目标检测
垂钓行为AI识别数据集|航拍图像标注|YOLOv8/v11训练数据集|智慧水利
长江十年禁渔、河湖生态管护、景区水域安全已成为全国水利与环保治理核心刚需。传统人工巡检效率低、覆盖有限、夜间盲区大,而无人机+AI视觉正快速成为禁钓监管标配方案。高质量、高纯度、场景丰富的垂钓检测数据集,是模型落地精度与泛化能力的关键保障。本文基于真实无人机航拍河道场景,构建标准化垂钓检测数据集,并提供完整YOLO训练推理代码,助力水域智能巡检快速工程化落地。
River Fishing Detection Dataset
面向河道、湖泊、溪流等自然水域的垂钓行为智能检测数据集,基于无人机航拍采集,专注单类别垂钓目标精准标注,适配YOLO系列模型快速训练,广泛用于水域管理、禁钓区监控、无人机智能巡检、生态保护等工程场景。
📊 数据集信息
| 项目 | 详情 |
|---|---|
| 数据集名称 | 河道垂钓检测数据集 |
| 数据来源 | 无人机航拍实景采集 |
| 场景类型 | 河道/湖泊/溪流等自然水域 |
| 类别标签 | fishing(垂钓者/垂钓行为) |
| 总图像数量 | 1176张 |
| 训练集数量 | 941张 |
| 验证/测试集 | 235张 |
| 标注格式 | YOLO标准txt(一对一标注) |
| 标注质量 | 人工精标、无漏标错标 |
| 适用任务 | 目标检测Object Detection |
| 推荐模型 | YOLOv5/YOLOv8/YOLOv11 |




fishing_detection/
├── dataset/
│ ├── images/
│ │ ├── train/ # 训练集图片 941张
│ │ └── val/ # 验证集图片 235张
│ └── labels/
│ ├── train/ # 训练集标注txt
│ └── val/ # 验证集标注txt
├── config/
│ └── fishing.yaml # 数据集配置文件
├── train.py # 训练脚本
├── detect.py # 推理脚本
└── README.md
⚙️ 数据集配置文件(fishing.yaml)
yaml
# 河道垂钓检测数据集配置
# 适配YOLOv8/YOLOv11训练,路径按实际项目调整
train: ../dataset/images/train # 训练集路径
val: ../dataset/images/val # 验证集路径
nc: 1 # 类别数量:仅垂钓1类
names: ['fishing'] # 类别名称
🚀 YOLOv8 训练代码(带场景注释)
python
# -*- coding: utf-8 -*-
"""
河道垂钓检测训练脚本
适配无人机航拍低小目标、水面反光、远距离垂钓场景
优化置信度、iou与多尺度训练,提升岸边垂钓识别率
"""
from ultralytics import YOLO
import torch
def main():
# 加载预训练模型,小样本场景推荐s/m以平衡速度与精度
model = YOLO('yolov8s.pt')
# 无人机航拍垂钓场景训练参数
model.train(
data='./config/fishing.yaml', # 数据集配置
epochs=100, # 训练轮数
batch=16, # 批次大小
imgsz=640, # 输入尺寸
device=0 if torch.cuda.is_available() else 'cpu',
workers=4, # 数据加载线程
lr0=0.01, # 初始学习率
lrf=0.01, # 最终学习率
momentum=0.937, # 动量
weight_decay=0.0005, # 权重衰减
warmup_epochs=3, # 热身轮数
cos_lr=True, # 余弦学习率
# 垂钓场景关键优化
conf=0.25, # 置信度阈值
iou=0.45, # NMS阈值
augment=True, # 数据增强
hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, # 色调饱和度
degrees=5.0, # 旋转角度
perspective=0.001, # 透视变换
flipud=0.0, # 垂直翻转关闭
fliplr=0.5, # 水平翻转开启
# 保存与日志
save=True, save_period=10, best=True,
project='runs/train', name='fishing_detect_v1'
)
if __name__ == '__main__':
main()
🔍 推理检测代码(带场景注释)
python
# -*- coding: utf-8 -*-
"""
无人机航拍垂钓实时推理
输出带检测框图片,支持批量/单张/视频推理
适用于河道巡检回传图像自动识别违规垂钓
"""
from ultralytics import YOLO
import cv2
import os
def fishing_detect(image_path, model_path='./runs/train/fishing_detect_v1/weights/best.pt'):
# 加载训练完成的垂钓检测模型
model = YOLO(model_path)
# 低置信度过滤,避免水面杂物误检
results = model(image_path, conf=0.3, iou=0.5)
# 绘制并保存结果
img = cv2.imread(image_path)
for result in results:
boxes = result.boxes
for box in boxes:
x1, y1, x2, y2 = map(int, box.xyxy[0])
cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
conf = round(box.conf[0].item(), 2)
cv2.putText(img, f'fishing {conf}',
(x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX,
0.6, (0, 255, 0), 2)
save_path = './result/'
os.makedirs(save_path, exist_ok=True)
cv2.imwrite(save_path + os.path.basename(image_path), img)
print(f'检测完成,已保存至 {save_path}')
if __name__ == '__main__':
fishing_detect('./test.jpg')
✅ 数据集优势
- 场景真实:无人机实拍河道/湖泊/溪流,覆盖不同光照、岸线、距离
- 标注精准:人工逐图精标,无漏标错标,适配小目标垂钓检测
- 格式标准:YOLO txt标注,开箱即用,直接对接YOLOv5/v8/v11
- 划分规范:训练/验证严格分离,便于模型评估与迭代
- 工程友好:支持无人机巡检、边缘端部署、水利平台对接
🧪 深度思考与工程优化
-
小目标优化
无人机航拍中垂钓者占比小,建议使用高分辨率输入(640→960) 、PAN结构加强 、小锚框调整,提升远距离检测召回率。
-
水域干扰抑制
水面反光、波纹、船只易造成误检,可加入水面分割预处理 、HSV动态阈值 、时序滤波,降低环境噪声。
-
轻量化部署
巡检设备算力有限,推荐YOLOv8n/nano量化为ONNX/TensorRT,实现端侧实时推理,单图推理<50ms。
-
业务闭环
识别→告警→取证→台账自动生成,对接无人机飞控与水利平台,形成全自动禁钓监管闭环。
📌 适用场景
- 河道/湖泊/水库禁钓区智能监控
- 无人机自动巡检与违规识别
- 智慧水利/生态保护AI系统
- 水域安全与景区管理
- 垂钓行为识别算法研究与竞赛
希望以上信息可以帮助你更好的构建计算机视觉平台,专注致力于目标检测建设
#无人机航拍 #垂钓检测 #目标检测 #YOLOv8 #水域巡检 #非法垂钓识别 #智慧水利 #深度学习数据集 #计算机视觉 #AI环保