【干货分享】RK3568平台YOLO11模型自训练到板端部署全过程讲解


前言

瑞芯微官方文档仅提供了YOLO11预训练模型,如果需要自行训练模型,官方未提供训练方法,网上搜了下如下文章可以作为参考
【YOLO11部署至RK3588】模型训练→转换RKNN→开发板部署
下面讲解下在ubuntu环境下开发,自己的开发步骤,以及遇到的一些问题和解决方法供开发者学习,有问题的也可以在评论区提出。

在这里插入图片描述


一、环境搭建

使用conda进行Python环境搭建,Conda是独立建立了一个python开发环境,所有开发都在这个环境下实现。
1、下载Anaconda并安装
清华源下载最新linux版本即可。
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
在这里插入图片描述

2、下载rknn-toolkit2和rknn_model_zoo源代码
注意都下载最新版本v2.3.0版本,因为不同版本可能会导致不兼容的情况出现!
https://github.com/airockchip/rknn-toolkit2/tree/v2.3.0
在这里插入图片描述
https://github.com/airockchip/rknn_model_zoo/tree/main/examples
在这里插入图片描述

3、安装创建名为p38的conda环境,并且python版本为python3.8

conda create --name p38 python=3.8

4、激活conda环境

conda activate p38

5、安装rknn-toolkit2依赖库

pip install -r packages/x86_64/requiremnets_cp38-2.3.0.txt

6、安装RKNN-Toolkit2

pip install /packages/x86_64/rknn_toolkit2-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

7、执行以下命令,如果没报错,则安装成功

from rknn.api import RKNN

在这里插入图片描述
8、安装模型训练环境

pip install -e .

注意,e后面的.不能省略!

9、下载ultralytics_yolo11工具
瑞芯微训练需要用到的工具,已经修改好了,直接用就可以。
https://github.com/airockchip/ultralytics_yolo11/tree/v8.3.28
至此环境搭建完成。

10、安装pytorch工具
官网如下:
https://pytorch.org/get-started/previous-versions/
在这里插入图片描述
我对应的Pytorch版本是2.3.1,所以cpu的安装命令如下

conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 cpuonly

在这里插入图片描述
也可以根据电脑配置选择GPU版本。


二、数据集准备

数据集可以直接从如下网站下载,也可以自行准备图片,我下载的是猫狗数据集。
https://www.kaggle.com/datasets/tongpython/cat-and-dog
在ultralytics_yolo11路径下创建一个data目录,然后里面的子目录如下创建
在这里插入图片描述
这个是什么意思我说明一下,images–train下放80%的图片数,images-val下放20%的图片数,train是训练用的,val是用来作验证用的。labels下放的是对应标注后的train训练数据和val验证数据。
labels下面现在还是空的,接下来我们要用到工具labelImg。直接安装即可,注意不要安装错了,还有一个工具叫labeling!

sudo apt-get install labelImg

安装成功后输入labelImg即可启动工具
在这里插入图片描述
然后通过Create RecTBox创建标注,最后Verify Image进行保存,label路径下会生成对应的数据。
在这里插入图片描述
最开始的0对应的就是cat类别,1对应people类别,以此类推。
在这里插入图片描述
所有图片都标注完成后,数据集就完成了。也有一些数据集直接提供标注信息的,有兴趣可以研究下如何直接使用。


三、模型训练

yolo11n.pt可以直接github上下载,点击即可下载。
在这里插入图片描述
代码如下

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Train the model
train_results = model.train(
    data="my_data.yaml",  # path to dataset YAML
    epochs=100,  # number of training epochs
    imgsz=320,  # training image size
    device="cpu",  # device to run on, i.e. device=0 or device=0,1,2,3 or device=cpu
)

# Evaluate model performance on the validation set
metrics = model.val()

# Perform object detection on an image
results = model("2.jpg")
results[0].show()

放到ultralytics_yolo11根目录下,运行之前需要注意配置
1、data:my_data.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jason Yan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值