Yolov11-detect训练自己的数据集

目录

0、引言

1、开源代码、模型下载

2、环境配置

3、数据集准备

3、设置配置文件

3.1、设置官方配置文件:default.yaml,可自行修改。

3.2、设置data.yaml

4、进行训练

5、验证模型

6、总结


0、引言

本文是使用YOLOv11训练自己的数据集,数据集包含COCO数据集的人猫狗数据以及自己制作的人猫狗数据集,类别为0:person、1:cat、2:dog三类,大家可根据自己的数据集类别进行调整。

1、开源代码、模型下载

代码链接:https://github.com/ultralytics/ultralytics

模型下载:

如果下载速度慢:https://download.csdn.net/download/qq_54134410/89921882?spm=1001.2014.3001.5501

2、环境配置

可参考这篇博客:深度学习环境搭建-CSDN博客

打开Anaconda3终端,进入base环境,创建新环境,我这里创建的是p10t12(python3.10,pytorch1.12)

conda create --name p10t12 python==3.10

进入到创建的环境

conda activate p10t12

安装pytorch:(网络环境比较差时,耗时会比较长)

pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116 -i  https://pypi.tuna.tsinghua.edu.cn/simple/

将下载的代码解压使用pycharm打开,环境选择创建的p10t12。

安装ultralytics、ultralytics集成了yolo的各种包以及模型等,程序中直接调用

pip install ultralytics

3、数据集准备

YOLOv11的训练数据集格式与YOLOv8相同

mydata
______images
____________train
_________________001.jpg
____________val
_________________002.jpg
______labels
____________train
_________________001.txt
____________val
_________________002.txt   

参照这篇博客的数据集准备即可(根据自己数据集的实际情况来):

YOLOv8-Detect训练CoCo数据集+自己的数据集_yolov8训练coco-CSDN博客

3、设置配置文件

3.1、设置官方配置文件:default.yaml,可自行修改。

3.2、设置data.yaml

根据自己的数据集位置进行修改和配置。

path: D:\Yolov8\ultralytics-main\datasets\mydata  # dataset root dir
train: images/train  # train images (relative to 'path') 118287 images
val: images/val  # val images (relative to 'path') 5000 images
#test: test-dev2017.txt  # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
 
# Classes
names:
  0: person
  1: cat
  2: dog
nc: 3

4、进行训练

上述步骤完成后,即可开始训练(我这里采用的是预训练模型yolov11s.pt)。

from ultralytics import YOLO

if __name__ == '__main__':
    modelpath = r'D:\Yolov11\ultralytics-main_Yolov11\yolov11-detect\yolo11s.pt'

    model = YOLO(modelpath)  # load a pretrained model (recommended for training)
    name = 'yolov11s_train'
    # Train the model
    model.train(data='data.yaml', epochs=1000, name=name)

训练过程:

训练完成最后得到两个模型分别是:best.pt、last.pt

5、验证模型

训练进程完毕以后可使用一些验证数据进行模型验证,查看模型的识别效果。

from ultralytics import YOLO
import glob
import os
# Load a model
model = YOLO(r'G:\Yolov11\ultralytics-main_Yolov11\yolov11-detect\yolo11s.pt')  # load an official model

# Predict with the model
imgpath = r'G:\Val_set'
imgs = glob.glob(os.path.join(imgpath,'*.jpg'))
for img in imgs:
    model.predict(img, save=True)

6、总结

至此,整个YOLOv11的训练预测阶段完成,与YOLOv8差不多。

欢迎各位批评指正。

### YOLO V11 模型介绍 YOLO (You Only Look Once) 是一种广泛应用于实时目标检测的神经网络框架。自首次发布以来,该系列经历了多次迭代改进,直到最新的 YOLO V11 版本。这一版本不仅继承了前代的优点,在多个方面进行了显著优化。 #### 骨干网设计 YOLO V11 使用 CSPNet 作为其骨干网络结构[^2]。这种架构相较于之前使用的 DarkNet53 提升了约 20% 的计算效率,从而实现了更快的速度和更高的资源利用率。 #### 数据增强方法 为了提高模型的鲁棒性和适应不同场景的能力,YOLO V11 引入了一系列先进的数据增强技术,比如 MixUp 和 CutMix。这些方法有助于增加训练样本多样性,进而增强了模型对于未知情况下的识别准确性。 #### 注意力机制与头部组件 除了基础架构上的升级外,YOLO V11 还集成了 C2PSA 模块来加强注意力机制的效果;而在 head 部分,则采用了空间金字塔池化快速(SPFF)以及上采样的方式来进行特征融合处理[^1]。这样的组合有效提升了最终输出的质量。 --- ### 主要特点 - **高效能**:得益于新型 CSPNet 架构的应用,YOLO V11 达到了前所未有的运算效能提升。 - **强泛化能力**:借助多样化的数据预处理手段如 Mixup/Cutmix 等策略,使得模型具备更好的跨领域迁移学习表现。 - **精准度更高**:通过引入 IoU 损失项至损失函数中,进一步改善了边界框定位精度问题。 - **多功能支持**:不仅可以执行常规的目标分类任务,还扩展到了人体姿态估计等领域,并能在移动设备端稳定运行[^3]。 --- ### 应用实例 YOLO V11 已经被证明可以在多种实际环境中提供出色的服务质量: - 安防监控系统中的行人车辆监测; - 自动驾驶汽车视觉感知层构建; - 手机摄像头应用内集成智能拍照辅助功能等。 此外,由于其出色的硬件兼容性,即使是在低功耗平台也能保证较为流畅的操作体验。 --- ### 实现指南 想要部署 YOLO V11 到自己的项目里并不复杂,以下是简要流程: ```bash pip install yolov11 # 步骤一:安装必要的 Python 包 ``` ```python from yolov11 import load_model, detect_objects model = load_model('path/to/model') # 加载预先训练好的权重文件 results = detect_objects(model, image_path='your_image.jpg') print(results) ``` 以上代码片段展示了如何利用官方提供的 API 来加载模型并对单张图片进行推理操作。当然,具体细节还需参照官方文档获取更多信息[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Mamba24

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值