【YOLO数据集】船舶检测

📥 1、背景

随着全球海洋经济的蓬勃发展与航运业年均 5.7% 的稳定增长,船舶作为海上运输核心载体,其数量与种类持续扩容,对船舶实时检测、识别的精准性与时效性提出了更高要求,该技术已成为保障海上交通安全、海洋资源管理、海岸线安防及军事防御部署的关键支撑。然而传统船舶检测依赖人工目视观察或雷达系统,存在显著瓶颈:复杂海况下光学传感器识别率骤降至 68%,易引发漏检风险;雷达系统处理时延≥3 秒,难以满足实时避障等应急需求,且单套高精度雷达成本超 200 万美元,规模化部署受限。同时,海上船舶在遥感图像中常呈现任意方向排列、密集分布、尺度差异大、轮廓特征模糊等问题,叠加雾天、夜间等低能见度环境的干扰,进一步加剧了检测难度,传统算法难以兼顾检测精度与实时性的平衡。在此背景下,YOLO 系列作为主流的单阶段实时目标检测算法,凭借端到端训练、高帧率处理及持续迭代的性能优势,为船舶检测提供了高效解决方案 ------ 从 YOLOv3 引入特征金字塔网络提升多尺度检测能力,到 YOLOv7、v8 通过结构优化实现精度与速度的突破,其衍生模型已在船舶检测场景中展现出卓越潜力,不仅 mAP@0.5 可达 96.3%、支持 30fps 实时处理,还能通过轻量化设计(模型体积低至 4.3MB)适配边缘计算设备,有效应对复杂海况与低能见度环境的检测挑战。

📌 2、数据集概览

项目 内容
数据集名称 船舶数据集
任务类型 目标检测(Object Detection)
类别 'oreCarrier','passengerShip','containerShip','bulkCargoCarrier','generalCargoShip','fishingBoat'
标注格式 YOLO TXT 格式(<类别> <中心x> <中心y> <宽度> <高度>,坐标和尺寸均为相对于图像宽高的归一化值(0-1))
图片总数 7000
标注总数 9221

🗂 3、数据详情

类别ID 类别名称 图片数量 标注数量
0 oreCarrier 2084 2199
1 passengerShip 455 474
2 containerShip 898 901
3 bulkCargoCarrier 1811 1952
4 generalCargoShip 1426 1505
5 fishingBoat 1539 2190
总计 - 7000 9221

✨ 4、效果演示

🧠 5、模型训练

1、安装miniconda

地址: https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe

环境变量(根据实际的安装目录配置):

复制代码
C:\ProgramData\miniconda3 
C:\ProgramData\miniconda3\Scripts 
C:\ProgramData\miniconda3\Library\bin 

2、创建虚拟环境

shell 复制代码
conda create -n yolo python==3.8
# 查看现有环境
conda env list
# 激活环境 
conda activate yolo
# 激活失败 (执行该命令后重新进入cmd)
conda init cmd.exe 

3、源码下载

https://github.com/ultralytics/ultralytics

(注意:不同版本的yolo在不同tag)

4、训练脚本

python 复制代码
import warnings  
warnings.filterwarnings('ignore')  
from ultralytics import YOLO  
  
if __name__ == '__main__':  
    model = YOLO('ultralytics/cfg/models/v8/yolov8n.pt')  # 指定YOLO模型对象,并加载指定配置文件中的模型配置  
    # model.load('yolov8s.pt')      #加载预训练的权重文件'yolov8s.pt',加速训练并提升模型性能  
    model.train(data='ultralytics/cfg/datasets/data36.yaml',  # 指定训练数据集的配置文件路径,这个.yaml文件包含了数据集的路径和类别信息  
                cache=False,  # 是否缓存数据集以加快后续训练速度,False表示不缓存  
                imgsz=640,  # 指定训练时使用的图像尺寸,640表示将输入图像调整为640x640像素  
                epochs=100,  # 设置训练的总轮数为200轮  
                batch=8,  # 设置每个训练批次的大小为16,即每次更新模型时使用16张图片  
                close_mosaic=0,  # 设置在训练结束前多少轮关闭 Mosaic 数据增强,10 表示在训练的最后 10 轮中关闭 Mosaic                workers=16,  # 设置用于数据加载的线程数为8,更多线程可以加快数据加载速度  
                patience=300,  # 在训练时,如果经过50轮性能没有提升,则停止训练(早停机制)  
                device='0',  # 指定使用的设备,'0'表示使用第一块GPU进行训练  
                optimizer='SGD',  # 设置优化器为SGD(随机梯度下降),用于模型参数更新  
                )

5、配置文件 data.yaml

yaml 复制代码
path: E:/data/yoloTrain/data1
train: images/train  # train images
val: images/val # val images
nc: 6
names: ['oreCarrier','passengerShip','containerShip','bulkCargoCarrier','generalCargoShip','fishingBoat']

🛠 6、配套服务

我们提供一站式视觉解决方案,包括:

  • 模型训练与调优指导
  • 部署环境远程配置
  • 定制标注与数据增强
  • 毕业设计/课题辅导
  • 企业项目合作开发

❓ 7、常见问题

Q:标注格式如何转换?

A:提供Python转换脚本,支持YOLO→VOC/COCO,开箱即用:点击下载转换脚本

相关推荐
行者无疆_ty4 小时前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
AIFarmer4 小时前
在EV3上运行Python语言——无线编程
python·ev3
不会代码的小测试4 小时前
UI自动化-POM封装
开发语言·python·selenium·自动化
2401_841495644 小时前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
AC赳赳老秦4 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek
工程师老罗4 小时前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
xfddlm4 小时前
边缘计算_ubuntu环境下使用瑞芯微RK3576NPU推理LLM
人工智能·ubuntu·边缘计算
ZH15455891314 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
B站计算机毕业设计超人4 小时前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人4 小时前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计