YOLOv12保姆级使用教程重磅来袭,教你如何找熊猫

YOLOv12

熊猫检测
熊猫检测

YOLOv12性能
YOLOv12性能

github地址:https://github.com/sunsmarterjie/yolov12

YOLOv12是由纽约大学、北京中国科学院大学和布法罗大学团队联合打造的最新目标检测YOLO框架,是一种以以注意力为核心的检测方法。

本文不是研究文章,仅作为使用教程。

一、下载安装YOLOv12

下载

通过github将YOLOv12进行clone或者下载到本地,进入到相应的目录下:

本地目录
本地目录

安装

进入到 YOLOv12目录,调用pip安装:

pip install -r requirements.txt
pip install thop

官方推荐 python 3.11 版本。thop 有可能会提示缺失问题,所以也需要安装。

如果你是linux可以直接安装,但如果你是windows请按以下步骤安装。

windows安装
  1. github下载 flash_attn windows版本地址:https://github.com/kingbri1/flash-attention/releases?page=1

  2. 选择相应版本,它与 安装pytorch版本选择 相类似(如果不太清楚版本选择,可以看本博客 《为模型训练做准备:CUDA环境配置流程》 文章有相应介绍)。

安装pytorch版本选择相类似
安装pytorch版本选择相类似

      3. 放置在项目文件夹目录下,修改 requirements.txt ,将原来的 flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl 替换为你下载的版本:

替换
替换

        4. 安装:

pip install -r requirements.txt

二、准备数据集

从网络上寻找熊猫图片,并进行打标(如果不太清楚如何打标,可以看Python卡皮巴拉公众号 《目标检测打标神器MakeSense.ai:零门槛、免费、高效的AI数据标注工具》 文章有相应介绍)。

将数据集以类似以下文件结构配置:

数据集结构
数据集结构

主要结构如下:

- 主文件夹
 - images
   - test
   - train
   - val
 - labels
   - test
   - train
   - val

images 放置图片,labels 放置打标数据。

  • test:测试数据

  • train:训练数据

  • val:验证数据

接着将准备好的数据集放入 datasets 文件夹即可:

目录结构
目录结构

三、开始训练

创建一个 train.py 文件:

# -*- coding: utf-8 -*-
from ultralytics import YOLO

if __name__ == '__main__':
    # 使用YOLOv12
    model = YOLO(r'ultralytics\cfg\models\v12\yolov12.yaml')
    # 预训练模型
    model.load(r'yolov12n.pt')

    model.train(
        data=r'config.yaml',  # 数据集配置
        imgsz=640,  # 输入图像尺寸
        epochs=100,  # 训练轮次
        batch=16,  # 每批数量
        workers=10,  # 线程数量
        scale=0.5,  # 图像缩放因子
        mosaic=1.0,  # Mosaic 数据增强,1.0完全启用
        mixup=0.0,  # MixUp 数据增强比例,0.0不启用
        copy_paste=0.1,  # Copy-Paste 数据增强的概率
        device='gpu',  # 训练设备 cpu gpu
        project=r'train',  # 项目保存文件夹
        name='n',  # 训练结果文件夹 
    )
预训练模型

这里使用了预训练模型,需要在 YOLOv12的github 上下载:

预训练模型列表

预训练模型列表

config.yaml配置文件
train: pandas/images/train
val: pandas/images/val
test: pandas/images/test

nc: 1 # 类别有几个就填几个

names: ['熊猫'] # 每个类别的名称
训练结束

训练结束后你将获得如下的文件内容:

训练成果

训练成果

四、预测图片

创建一个 predict.py ,写入代码:

# -*- coding: utf-8 -*-
from ultralytics import YOLO
import cv2

if __name__ == '__main__':
    model = YOLO(r'train\n4\weights\last.pt')
    results = model.predict(r'test.jpeg')
    annotated_image = results[0].plot()
    image = annotated_image[:, :, ::-1]
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    rate = image.shape[0] / image.shape[1]
    image = cv2.resize(image, (int(500), int(500 * rate)))
    cv2.imshow('Predictions', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

结果输出
结果输出

熊猫检测
熊猫检测

五、结尾

恭喜你已经学会了如何使用 YOLOv12 来检测可爱的大熊猫。

如果你喜欢这篇文章就给我一个点赞,那将是我的创作动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Python卡皮巴拉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值