当前位置: 首页 > news >正文

海上搜救(SAR)小目标检测打造 海上搜救小目标检测数据集 深度学习YOLOv8 的完整训练代码 无人机航拍+水上漂浮物检测(人、船、冲浪板等)海上搜救检测数据集

AFO数据集(Aerial Dataset of Floating Objects)
专为海上搜救(SAR)小目标检测打造
2021年发布,波兰AGH科技大学出品
无人机航拍+水上漂浮物检测(人、船、冲浪板等)

3647张图像,39991个标注目标
分辨率720p~4K(1280×720~3840×2160)
50段无人机航拍视频,人工标注
数据集划分:训练集2787张(76.4%),测试集514张(14.1%),验证集339张(9.3%)
三、标注类别(9类)

• human(人)

• boat(船)

• bouy(浮标)

• kayak(皮划艇)

• sailboat(帆船)

• wind/sup-board(冲浪/桨板)

• small_obj(小物体)

• large_obj(大物体)

• object(通用物体)


AFO数据集(Aerial Dataset of Floating Objects)基本信息

项目描述
数据集名称AFO(Aerial Dataset of Floating Objects)
发布时间2021年
发布机构波兰AGH科技大学
应用场景海上搜救(SAR)中的小目标检测
图像来源无人机航拍
图像数量3647张
视频来源50段无人机航拍视频(人工抽帧并标注)
标注目标总数39,991个
分辨率范围720p 至 4K(1280×720 ~ 3840×2160)
数据集划分训练集:2787张(76.4%)测试集:514张(14.1%)验证集:339张(9.3%)

标注类别(共9类)

类别编号类别名称说明
0human漂浮的人
1boat船只
2bouy浮标
3kayak皮划艇
4sailboat帆船
5wind/sup-board冲浪板或桨板
6small_obj小型漂浮物体(未具体分类)
7large_obj大型漂浮物体(未具体分类)
8object通用漂浮物体(模糊或难以识别类型)

目标检测训练代码示例(基于YOLOv8)

以下是一个使用 Ultralytics YOLOv8 框架训练 AFO 数据集的代码样例。假设数据已按标准 YOLO 格式组织(每张图像对应一个.txt标注文件,包含归一化坐标和类别索引)。

fromultralyticsimportYOLOimporttorch# 检查 GPU 是否可用device=0iftorch.cuda.is_available()else'cpu'print(f"Using device:{device}")# 加载预训练模型(可选:'yolov8n.pt'、'yolov8s.pt' 等)model=YOLO('yolov8s.pt')# 使用 small 模型平衡速度与精度# 定义数据配置文件(需提前创建 afo.yaml)# 示例 afo.yaml 内容见下方说明# 开始训练results=model.train(data='afo.yaml',# 数据集配置文件路径epochs=100,# 训练轮数imgsz=1280,# 输入图像尺寸(建议使用高分辨率以检测小目标)batch=16,# 批次大小(根据 GPU 显存调整)optimizer='AdamW',# 优化器选择lr0=0.001,# 初始学习率momentum=0.937,# 动量weight_decay=0.0005,# 权重衰减hsv_h=0.015,# 数据增强:色调hsv_s=0.7,# 饱和度hsv_v=0.4,# 明度degrees=10.0,# 旋转增强translate=0.2,# 平移增强scale=0.5,# 缩放增强flipud=0.5,# 上下翻转fliplr=0.5,# 左右翻转save=True,# 保存最佳模型save_period=10,# 每10轮保存一次project='afo_detection',# 输出目录name='exp1',# 实验名称exist_ok=False,workers=8# 数据加载线程数)# 可选:在测试集上评估metrics=model.val()# 可选:导出为 ONNX 格式用于部署model.export(format='onnx')
示例afo.yaml配置文件内容(保存在项目目录中)
# afo.yamltrain:/path/to/afo/images/trainval:/path/to/afo/images/valtest:/path/to/afo/images/test# 类别数量nc:9# 类别名称names:-human-boat-bouy-kayak-sailboat-wind/sup-board-small_obj-large_obj-object

说明

  • 请确保将图像和标签按 YOLO 格式组织,标签文件为.txt,每行格式为:class_id center_x center_y width height(归一化坐标)。
  • 推荐使用高分辨率输入(如imgsz=12801920)以提升对小目标的检测能力。
  • 可结合 Mosaic、MixUp 等数据增强策略进一步提升模型鲁棒性。

如需完整数据预处理脚本(如从原始标注转换为 YOLO 格式),可进一步提供标注格式(如 COCO 或 PASCAL VOC),我可协助转换。

这是为您整理的AFO 数据集(Aerial Dataset of Floating Objects)的结构化技术文档,包含详细的数据集参数表格以及基于YOLOv8的完整训练代码。


🌊 AFO 数据集技术概览

该数据集由波兰 AGH 科技大学于 2021 年发布,专为解决海上搜救(SAR)任务中小目标检测难点而设计。数据源自无人机航拍,涵盖了复杂海况下的多种漂浮物。

1. 数据集基础信息
属性详细描述
全称Aerial Dataset of Floating Objects (AFO)
发布机构波兰 AGH 科技大学
发布时间2021年
核心场景海上搜救、无人机航拍监测、小目标检测
图像总量3,647 张
标注目标39,991 个(高密度标注)
分辨率720p ~ 4K (1280 × 720 1280 \times 7201280×7203840 × 2160 3840 \times 21603840×2160)
视频源50 段人工标注的无人机航拍视频
2. 数据集划分
划分集合图像数量占比
训练集2,787 张76.4%
测试集514 张14.1%
验证集339 张9.3%
3. 标注类别 (9类)
ID类别名称中文描述备注
0human人员搜救核心目标
1boat船只普通机动船
2bouy浮标航标或警示浮标
3kayak皮划艇小型人力船
4sailboat帆船带帆船只
5wind/sup-board冲浪/桨板极小目标,检测难点
6small_obj小物体未分类的小型漂浮物
7large_obj大物体未分类的大型漂浮物
8object通用物体模糊或难以具体分类的目标

💻 模型训练代码 (基于 YOLOv8)

针对 AFO 数据集**小目标多、背景复杂(海浪干扰)**的特点,以下代码配置了较高的输入分辨率(1280)和针对性的数据增强策略。

1. 准备工作:afo.yaml配置文件

请在代码同级目录下创建afo.yaml文件,内容如下:

# AFO Dataset Configurationpath:/path/to/AFO_Dataset# 数据集根目录train:images/train# 训练集图像路径 (相对路径)val:images/val# 验证集图像路径test:images/test# 测试集图像路径# 类别数量nc:9# 类别名称列表names:0:human1:boat2:bouy3:kayak4:sailboat5:wind/sup-board6:small_obj7:large_obj8:object
2. Python 训练脚本 (train_afo.py)
fromultralyticsimportYOLOimporttorchimportosdeftrain_afo_model():# 1. 设置设备# 自动选择 GPU,如果没有则使用 CPUdevice='0'iftorch.cuda.is_available()else'cpu'print(f"🚀 使用设备:{device}")# 2. 加载模型# 建议使用 YOLOv8s 或 YOLOv8m,平衡小目标检测精度与速度# 如果是极小目标,也可以尝试 YOLOv8l,但速度会变慢model=YOLO('yolov8s.pt')# 加载预训练权重# 3. 开始训练# 针对 AFO 数据集的高分辨率和小目标特性进行参数微调results=model.train(data='afo.yaml',# 数据集配置文件路径epochs=100,# 训练轮数 (建议 100-300)imgsz=1280,# 输入尺寸:AFO 包含 4K 图像,建议设为 1280 以保留小目标特征batch=16,# 批次大小 (根据显存调整,显存不足改为 8 或 4)device=device,# 指定设备workers=8,# 数据加载线程数# --- 优化器设置 ---optimizer='AdamW',# AdamW 通常比 SGD 收敛更快lr0=0.001,# 初始学习率lrf=0.01,# 最终学习率 (lr0 * lrf)momentum=0.937,# 动量weight_decay=0.0005,# 权重衰减# --- 针对小目标的数据增强 ---# 增加 Mosaic 增强概率,提升对遮挡和背景的鲁棒性mosaic=1.0,# Mosaic 增强概率 (0-1)mixup=0.1,# MixUp 增强概率copy_paste=0.1,# Copy-Paste 增强 (对检测稀疏目标如 'human' 有效)# --- 其他设置 ---patience=50,# 早停机制 (如果 50 轮没提升则停止)save=True,# 保存模型检查点save_period=-1,# 仅保存最佳权重和最后权重project='runs/detect',# 项目保存路径name='AFO_Exp_v1',# 实验名称exist_ok=False,# 如果存在同名实验是否覆盖verbose=True# 详细输出)print("✅ 训练完成!")# 4. 验证模型性能metrics=model.val()print(f"📊 mAP50:{metrics.box.map50:.4f}")print(f"📊 mAP50-95:{metrics.box.map:.4f}")if__name__=='__main__':train_afo_model()
4. 训练建议与注意事项
  1. 输入尺寸 (imgsz)
    • AFO 数据集中包含大量微小目标(如远处的人、冲浪板)。强烈建议将imgsz设置为 1280 或更高。如果设置为默认的 640,小目标特征可能会在下采样过程中丢失,导致检测率大幅下降。
  2. 显存管理
    • 使用imgsz=1280会显著增加显存占用。如果遇到CUDA out of memory错误,请减小batch大小(例如设置为 4 或 8)。
  3. 类别不平衡
    • 数据集中humansmall_obj可能属于难样本。如果训练后期这些类别的召回率较低,可以在afo.yaml中调整hyp参数,或者在训练参数中增加scaletranslate的增强幅度。
  4. 预训练权重
    • 务必加载 COCO 预训练权重(如代码中的yolov8s.pt),不要从头训练,这能极大加快收敛速度并提高精度。
http://www.jsqmd.com/news/637942/

相关文章:

  • Python爬虫数据音频化:Qwen3-ASR-0.6B逆向处理实战
  • FLUX.1-dev-fp8-dit文生图应用:Dify平台集成方案
  • Pixel Aurora Engine显存优化:12GB显存稳定生成1024x1024像素画技巧
  • Android应用集成:在移动端上传图片调用Ostrakon-VL-8B云服务
  • 如何在浏览器网页中远程提取查阅手机app的运行日志
  • nli-distilroberta-base多场景:教育AI中错题归因与知识点描述逻辑关联
  • 大模型小白必看:这些AI术语,一篇讲透让你秒懂收藏!
  • STM32自定义键盘(三)实战:从零构建USB HID键盘固件
  • 增程赛道激战正酣:谁才是服务品质与技术实力的双料冠军?
  • 流匹配模型:从确定性ODE到高效生成建模的实践指南
  • Qwen-Image-2512+LoRA完整指南:训练自定义像素风格LoRA的流程概览
  • 为什么92%的AIAgent在真实环境中交互失效?:奇点大会首席科学家亲授3个被忽略的环境语义断层修复协议
  • YOLOv8行人车辆检测系统 ,基于PySide6开发,支持多目标检测与跟踪 检测行人、小汽车、两轮车、公交车、卡车,支持图片、视频、摄像头输入。带登录注册功能
  • Nunchaku-flux-1-dev医学影像生成展示:辅助医疗教育可视化
  • IndexTTS 2.0功能体验:音色情感自由组合,解锁语音合成新玩法
  • Omni-Vision Sanctuary C++高性能推理后端开发实战
  • DeepSeek-R1-Distill-Qwen-7B案例分享:Ollama部署实测,这些生成效果太惊艳
  • Fish Speech 1.5真实案例:法律文书语音播报中专业术语准确率验证
  • 使用Phi-4-mini-reasoning进行网络协议分析与故障诊断模拟
  • 聚信万通Odette ID 数字证书服务开启汽车产业出海新通道
  • MLP-Mixer实战:在自定义图像数据集上微调Google的‘全MLP’模型
  • 2026年实惠的SMT焊锡膏/焊锡机器人/电子焊锡膏/焊锡膏厂家选择推荐 - 品牌宣传支持者
  • ollama部署本地大模型|embeddinggemma-300m教育场景落地:题库语义去重与推荐
  • 2026年质量好的便携骨条包/浙江透明骨条包/批发骨条包推荐品牌厂家 - 行业平台推荐
  • 零基础入门:用Ollama部署TranslateGemma-4b-it图文翻译模型,快速搭建翻译服务
  • 第三篇:TypeScript 开发微信小程序的避坑指南与实战技巧
  • 会议纪要救星:ClearerVoice-Studio+VAD预处理,静音段自动识别优化
  • 2026年评价高的卡套截止阀/钢瓶防爆针阀/盐城压力表针阀厂家综合对比分析 - 行业平台推荐
  • 算法训练营Day 1|704.二分查找
  • AI 入门 30 天挑战 - Day 8 费曼学习法版 - 神经网络初探