用自己的数据训练yolov11目标检测

news2025/3/31 19:56:03

文章目录

  • 概要
  • 理论知识
    • 整体架构流程
    • 架构优化
    • 多任务支持
    • 多参数体量
  • 操作实操
    • 环境配置
    • 数据准备
      • 数据标注
      • 数据放置路径
    • 训练
    • 预测

概要

在这里插入图片描述

YOLOv11 是 Ultralytics 团队于 2024 年 9 月 30 日发布的最新目标检测模型,延续了 YOLO 系列实时推理特性,同时通过架构优化与技术创新进一步提升了检测精度、速度和多功能性。以下理论知识部分包括核心特性、改进介绍,操作实操一步步讲怎么训练自己的数据集。

官网:https://github.com/ultralytics/ultralytics?tab=readme-ov-file
提示:以 停车场空位检测 公开数据集示例,可直接运行本人打包代码: 百度云分享:ultralytics-8.3.2.zip 链接: https://pan.baidu.com/s/18f-9tsgajL46czn5PUcUsA?pwd=hjuk 提取码: hjuk
在这里插入图片描述

理论知识

整体架构流程

参考于:https://blog.csdn.net/weixin_51832278/article/details/143631804
在这里插入图片描述

架构优化

  • C3K2 模块:取代了 YOLOv8 的 C2f 模块,通过分割特征图并应用 3x3 小核卷积优化计算效率,减少了参数量的同时提升了特征表达能力。
  • SPFF 模块:采用多尺度池化策略聚合不同分辨率的信息,显著增强了小目标检测能力,解决了早期版本对小物体敏感度不足的问题。
  • C2PSA 注意力机制:引入跨阶段部分空间注意力模块,通过关注特征图中的关键区域(如小目标或遮挡物体),提升了复杂场景下的检测精度。

多任务支持

  • 目标检测(无后缀):基础检测模型,支持旋转边界框(OBB)。
  • 图像分割(后缀 -seg):结合实例分割与语义分割,提升边缘精度。
  • 姿态估计(后缀 -pose):新增人体关键点检测,支持实时运动分析。
  • 图像分类(后缀 -cls):优化分类头结构,经过训练后能够对图像进行类别分类。
  • 多目标跟踪(集成 BoT-SORT 算法):支持视频流中的跨帧目标追踪。

多参数体量

灵活模型尺寸,提供 Nano(n)、Small(s)、Medium(m)、Large(l)、Extra-Large(x)五种尺寸,满足不同场景需求,以基础目标检测为例,各模型对比如下,x消耗时间是n的8倍。上述云盘代码中pretrain文件夹内已下载5类任务的m和x版。
在这里插入图片描述

操作实操

环境配置

在命令行安装requirements.txt即可,最容易出现不匹配的是tensorflow、pytorch、numpy,测试使用的环境如下:

cuda11.3
torch=1.12.0
tensorflow=2.10.0
numpy=1.23.4 
pandas=1.4.3
opencv-python=4.5.5

数据准备

数据标注

见本人另外一篇博客,darklabel数据标注:
https://blog.csdn.net/qq_36112576/article/details/145686376?spm=1001.2014.3001.5502

数据放置路径

我们创建一个统一的data文件夹来放置各类数据,注意images和labels文件名字需一一对应。

data/
├── 数据集1(pklot) /
│   ├── train/
│   │        ├── images/
│   │        └── labels/
│   └── valid/
│            ├── images/
│            └── labels/
└── 数据集2 /
│   ├── train/
│   │        ├── images/
│   │        └── labels/
│   └── valid/
│            ├── images/
│            └── labels/
└── 数据集3 / ........

根目录创建一个 datapklot.yaml 文件(与data文件夹同级),内容如下:
提示:yaml格式文件用于定义数据集的配置,包括数据路径、种类数量、类别名字等信息

train: data/pklot/train/images
val: data/pklot/valid/images

nc: 2
names: ['space-empty', 'space-occupied']

训练

在pycharm中运行train.py,内容如下
提示:D:\\code\\yolov11\\ultralytics-8.3.2\\datapklot.yaml需要绝对路径

# -*- coding: utf-8 -*-

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':

    model = YOLO(model=r'ultralytics/cfg/models/11/yolo11.yaml')
    model.load('pretrain/yolo11m.pt')  # 加载预训练权重,改进或者做对比实验时候不建议打开,因为用预训练模型整体精度没有很明显的提升
    model.train(data=r'D:\\code\\yolov11\\ultralytics-8.3.2\\datapklot.yaml',
                imgsz=640,
                epochs=50,
                batch=4,
                workers=0,
                device='',
                optimizer='SGD',
                close_mosaic=10,
                resume=False,
                project='runs/train',
                name='exp',
                single_cls=False,
                cache=False,
                )
    # Evaluate model performance on the validation set
    metrics = model.val()

数据正常加载:
在这里插入图片描述
训练正常进行:
在这里插入图片描述
模型保存在文件夹runs/train/exp次数/weights 中
在这里插入图片描述

预测

在pycharm中运行detect.py,内容如下,以下model为实例分割,可替换为训练模型或上述提到的其他任务模型,检测结果同样保存在runs/中。

# -*- coding: utf-8 -*-

from ultralytics import YOLO

if __name__ == '__main__':

    # Load a model
    model = YOLO(model=r'pretrain/yolo11n-seg.pt')
    model.predict(source=r'123.mp4',
                  save=True,
                  show=True,
                  )

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2300087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gsoap实现webservice服务

gsoap实现webservice服务 在实现Web服务时,使用gSOAP是一个很好的选择,因为它提供了强大的工具和库来创建SOAP和RESTful服务。gSOAP是一个C和C语言开发的库,它支持SOAP协议的各种版本,包括SOAP 1.1和SOAP 1.2。下面是如何使用gSO…

项目2 数据可视化--- 第十五章 生成数据

数据分析是使用代码来探索数据内的规律和关联。 数据可视化是通过可视化表示来 探索和呈现数据集内的规律。 好的数据可视化,可以发现数据集中未知的规律和意义。 一个流行的工具是Matplotlib,他是一个数据绘图库; 还有Plotly包&#xff…

QT (四)模型/视图 QFileSystemModel,QStringListModel,QStandardItemModel

思考:QTableWidget 在某种程度上可以等价为QStandardItemModel,同理,其他的功能也有类似的等价,但是以当前的QTableWidget 和QStandardItemModel为例的话,两者都是用于实现建立表格的相关组件,只不过QStand…

. Unable to find a @SpringBootConfiguration(默认软件包中的 Spring Boot 应用程序)

解决: 新建一个包即可 问题: 默认软件包中的 Spring Boot 应用程序。 原因: 默认包的定义 : 如果一个 Java 类没有使用 package 声明包名,则该类会被放置在默认包中。Spring Boot 遵循 Java 的包管理约定&#xff…

FRRouting配置与OSPF介绍,配置,命令,bfd算法:

文章目录 1、frrouting的配置:2、ospf2.1、检测和维护邻居关系2.2、ospfDR和BDR2.3、odpf邻居表2.4、ospf常用命令2.5、bfd配置 1、frrouting的配置: sudo service zebra start sudo service ospfd start telnet localhost 2604 en configure termina…

【MyBatis】预编译SQL与即时SQL

目录 1. 以基本类型参数为例测试#{ }与${ }传递参数的区别 1.1 参数为Integer类型 1.2 参数为String类型 2. 使用#{ }传参存在的问题 2.1 参数为排序方式 2.2 模糊查询 3. 使用${ }传参存在的问题 3.1 SQL注入 3.2 对比#{ } 与 ${ }在SQL注入方面存在的问题 3.3 预编译…

Python数据可视化 - Matplotlib教程

文章目录 前言一、Matplotlib简介及安装1. Matplotlib简介2. 安装Matplotlib 二、Matplotlib Pyplot1. Pyplot介绍2. Pyplot中方法介绍2.1 创建和管理图形2.2 绘制图形2.3 设置图形属性2.4 保存和展示 三、Matplotlib绘图标记1. 介绍2. 基本用法3. 标记大小与颜色4. 标记样式列…

DeepSeek R1 与 OpenAI O1:机器学习模型的巅峰对决

我的个人主页 我的专栏:人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!!点赞👍收藏❤ 一、引言 在机器学习的广袤天地中,大型语言模型(LLM)无疑是最…

内容中台重构企业内容管理流程驱动智能协作升级

内容概要 内容中台作为企业数字化转型的核心基础设施,通过技术架构革新与功能模块整合,重构了传统内容管理流程的底层逻辑。其核心价值在于构建动态化、智能化的内容生产与流转体系,将分散的创作、存储、审核及分发环节纳入统一平台管理。基…

STM32 Flash详解教程文章

目录 Flash基本概念理解 Flash编程接口FPEC Flash擦除/写入流程图 Flash选项字节基本概念理解 Flash电子签名 函数读取地址下存放的数据 Flash的数据处理限制部分 编写不易,请勿搬运,感谢理解!!! Flash基本概念…

小米 R3G 路由器刷机教程(Pandavan)

小米 R3G 路由器刷机教程(Pandavan) 一、前言 小米 R3G 路由器以其高性价比和稳定的性能备受用户青睐。然而,原厂固件的功能相对有限,难以满足高级用户的个性化需求。刷机不仅可以解锁路由器的潜能,还能通过第三方固…

红队视角出发的k8s敏感信息收集——Kubernetes API 扩展与未授权访问

针对 Kubernetes API 扩展与未授权访问 的详细攻击视角分析,聚焦 Custom Resource Definitions (CRD) 和 Aggregated API Servers 的潜在攻击面及利用方法: ​ 攻击链示例 1. 攻击者通过 ServiceAccount Token 访问集群 → 2. 枚举 CRD 发现数据库配…

11. Docker 微服务实战(将项目打包生成镜像,在 Docker 当中作为容器实例运行)

11. Docker 微服务实战(将项目打包生成镜像&#xff0c;在 Docker 当中作为容器实例运行) 文章目录 11. Docker 微服务实战(将项目打包生成镜像&#xff0c;在 Docker 当中作为容器实例运行)2. 最后&#xff1a; 建 Module - docker_boot 编辑 pom <?xml version"1.0&…

计算机视觉:卷积神经网络(CNN)基本概念(二)

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络 接上一篇《计算机视觉&am…

【数据结构-红黑树】

文章目录 红黑树红黑树介绍红黑树的五个基本性质红黑树的平衡原理红黑树的操作红黑树的操作 代码实现节点实现插入和查询操作 红黑树 红黑树介绍 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉查找树&#xff08;Binary Search Tree, BST&#xff09;&…

dify.ai 配置链接到阿里云百练等云厂商的 DeepSeek 模型

要将 dify.ai 配置链接到阿里云百练等云厂商的 DeepSeek 模型. 申请阿里云百练的KEY 添加模型 测试模型

应用分层、三层架构和MVC架构

前言 在前面中&#xff0c;我们已经学习了Spring MVC 的一些基础操作&#xff0c;那么后面就用一些简单的案例来巩固一下。 在开始学习做案例之前&#xff0c;我们先来了解一下在软件开发中常见的设计模式和架构。 应用分层 含义 应用分层是一种软件开发设计思想&#xff0…

Apache Struts2 - 任意文件上传漏洞 - CVE-2024-53677

0x01&#xff1a;漏洞简介 Apache Struts 是美国 Apache 基金会的一个开源项目&#xff0c;是一套用于创建企业级 Java Web 应用的开源 MVC 框架&#xff08;将软件分为模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controller&a…

传统混合专家模型MoE架构详解以及python示例(DeepSeek-V3之基础)

我们已经了解到DeepSeek-V3的框架结构基于三大核心技术构建:多头潜在注意力(MLA)、DeepSeekMoE架构和多token预测(MTP)。而DeepSeekMoE架构的底层模型采用了混合专家模型(Mixture of Experts,MoE)架构。所以我们先了解一下传统混合专家模型MoE架构。 一、传统混合专家模…

安全筑基,智能赋能:BeeWorks IM引领企业协同新纪元

在数字经济高速发展的今天&#xff0c;企业通讯系统已从单纯的信息传递工具演变为支撑业务创新的核心平台。传统通讯工具在安全性、智能化、协同性等方面的不足&#xff0c;严重制约着企业的数字化转型进程。BeeWorks IM系统以其创新的技术架构和智能化功能&#xff0c;正在重新…