【干货分享】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

最低0.47元/天 解锁文章
413

被折叠的 条评论
为什么被折叠?



