瑞芯微RV1126BP/RV1126B NPU 模型部署指南:RKNN Model Zoo 全流程实战

瑞芯微RV1126BP/RV1126B NPU 模型部署指南:RKNN Model Zoo 全流程实战 易百纳技术社区 2026-08-05 11:41:48 1948


目录

1. 安装虚拟机环境

2. Miniforge3安装

2.1 安装Miniforge3指令脚本

2.2 安装Miniforge3

2.3 使用conda创建名称为 toolkit2 的 Python 3.8 环境

3. RKNN-Toolkit2安装

3.1 首先安装RKNN 相关仓库与编译工具

3.2 安装 RKNN-Toolkit2

4. 模型转换

5. 运行 RKNN C Demo

6. 功能验证:本地预览与RTSP拉流测试

6.1 硬件连接

6.2 方式一

6.3 方式二



瑞芯微 RKNPU 为边缘 AI 提供高效硬件加速能力,而 RKNN Model Zoo 则是官方提供的一站式模型部署范例库,可快速将主流深度学习模型部署到瑞芯微芯片。

本次部署硬件基于易百纳鸿鸥派R1G126BP-IPC-38E

1. 安装虚拟机环境

1、VMware安装步骤:
参考【易百纳】HongOU_PI_R1型开发板_V1.2\05.开发环境搭建\03.VMware安装指南.docx

虚拟机路径:

【易百纳】G126BP-IPC-38E型IPC模组_V2.3\05.开发环境搭建\02.虚拟机\Ubuntu 22.04

【易百纳】HongOU_PI_R1型开发板_V1.2\05.开发环境搭建\02.虚拟机\Ubuntu 22.04

2. Miniforge3安装

2.1 安装Miniforge3指令脚本

1)更新系统包:输入指令“sudo apt update”

2)下载安装Miniconda3管理虚拟环境:

易百纳社区

易百纳社区

2.2 安装Miniforge3

安装引导:

执行安装命令后,终端会弹出引导,按照以下步骤操作,不要改默认配置

1)根据以上指令安装好Miniforge3指令脚本后执行“bash Miniforge3-Linux-x86_64.sh”,如图所示:

bash Miniforge3-Linux-x86_64.sh

易百纳社区

2)按回车翻到协议末尾,输入 yes 同意

易百纳社区

注意:这里默认路径为 /home/你的用户名/miniconda3,直接按 回车(不要修改,否则后续配置会出错)。

3)最后会提示:是否在终端启动时自动开启conda,选择yes,如果选择no会导致环境变量未配置,后续需手动修复。

易百纳社区

4)最后,安装完成后重开一个终端(一定要重启终端,否则会找不到conda命令),并输入:conda --version可以查看conda版本,说明安装成功。

conda --version

易百纳社区

2.3 使用conda创建名称为 toolkit2 的 Python 3.8 环境

1)输入指令“conda create -n toolkit2 python=3.8”创建名为toolkit2的python环境

conda create -n toolkit2 python=3.8

易百纳社区

2)遇到Proceed确认步骤输入“y”

易百纳社区

3)安装完成,后输入指令“conda activate toolkit2”激活 toolkit2 环境

易百纳社区

易百纳社区

3. RKNN-Toolkit2安装

3.1 首先安装RKNN 相关仓库与编译工具

提供方式:

  • 方式一:提供的资料中直接复制到虚拟机中进行解压

# 下载 RKNN Model Zoo 仓库

【易百纳】G126BP-IPC-38E型IPC模组_V2.1\09.进阶功能开发\01.Model_zoo移植\rknn_model_zoo.zip

# 下载 RKNN-Toolkit2 仓库

【易百纳】G126BP-IPC-38E型IPC模组_V2.1\09.进阶功能开发\01.Model_zoo移植\rknn-toolkit2.zip

  • 方式二:通过Git指令拉取

# 下载 RKNN-Toolkit2 仓库

git clone https://github.com/airockchip/rknn-toolkit2.git --depth 1

# 下载 RKNN Model Zoo 仓库

git clone https://github.com/airockchip/rknn_model_zoo.git --depth 1

编译工具路径:【易百纳】G126BP-IPC-38E型IPC模组_V2.1\09.进阶功能开发\01.Model_zoo移植\gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz

本文采用解压方式进行安装。

3.2 安装 RKNN-Toolkit2

在虚拟环境里安装RKNN-Tool2分两步,先安装依赖,再安装主包:

1)安装依赖包:pip install -r packages/x86_64/requirements_cp38-2.3.2.txt  (注意这里有-r参数,不加执行报错)

pip install -r packages/x86_64/requirements_cp38-2.3.2.txt

易百纳社区

易百纳社区

2)安装RKNN-Toolkit2主包:

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

易百纳社区

易百纳社区

3)验证RKNN,输入指令查看

输入“python”
输入“from rknn.api import RKNN”
运行没报错说明rknn安装成功!

易百纳社区

4. 模型转换

本章将介绍如何快速在开发板上运行示例程序,内容分为两个部分:

1)RKNN Model Zoo 介绍

RKNN Model Zoo 提供了示例代码,旨在帮助用户快速在 Rockchip 的开发板上运行各种常用模型,整个工程的目录结构如下:

rknn_model_zoo 
├── 3rdparty # 第三方库 
├── datasets # 数据集 
├── examples # 示例代码 
├── utils # 常用方法,如文件操作,画图等 
├── build-android.sh # 用于目标为 Android 系统开发板的编译脚本 
├── build-linux.sh # 用于目标为Linux 系统开发板的编译脚本 
└── ...

其中,examples 目录包括了一些常用模型的示例,例如 MobileNet 和 YOLO 等。每个模型示例提供了Python 和 C/C++ 两个版本的示例代码(本章节采用C/C++的示例代码运行,python环境需自己部署)。以 YOLOv5 模型为例,其目录结构如下:

rknn_model_zoo 
├── examples 
│ └── yolov5 
│ ├── cpp # C/C++ 版本的示例代码 
│ ├── model # 模型、测试图片等文件 
│ ├── python # 模型转换脚本和Python版本的示例代码 
│ └── README.md 
└── ...

2) RKNN C Demo 使用方法

下面以 YOLOv5 模型为例,介绍 RKNN C Demo 的使用方法。

注:不同的 RKNN C Demo 用法存在差异,请按照各自目录下 README.md 中的步骤运行。

进入 rknn_model_zoo/examples/yolov5/model 目录,运行 download_model.sh 脚本,该脚本将下载一个可用的YOLOv5 ONNX 模型,并存放在当前 model 目录下,参考命令如下:

# 进入 rknn_model_zoo/examples/yolov5/model 目录 
cd Projects/rknn_model_zoo/examples/yolov5/model 
# 运行 download_model.sh 脚本,下载 yolov5 onnx 模型 
chmod +x download_model.sh 
./download_model.sh

易百纳社区

进入 rknn_model_zoo/examples/yolov5/python 目录,运行 convert.py 脚本,该脚本将原始的 ONNX 模型转成RKNN 模型,参考命令如下:

# 进入 rknn_model_zoo/examples/yolov5/python 目录 
cd Projects/rknn_model_zoo/examples/yolov5/python 
# 运行 convert.py 脚本,将原始的 ONNX 模型转成 RKNN 模型 
python convert.py ../model/yolov5s_relu.onnx rv1126b i8 ../model/yolov5.rkn

易百纳社区

5. 运行 RKNN C Demo

编译 YOLOV5

完整运行一个 RKNN C Demo,需要先将 C/C++ 源代码编译成可执行文件,然后将可执行文件、模型文件、测试图片等相关文件推送到板端上,最后在板端运行可执行文件。

以 Linux 系统(arm64架构)的 rv1126b 平台为例,需要使用 rknn_model_zoo 目录下的 build-linux.sh 脚本进行编译。在运行 build-linux.sh 脚本之前,需要指定编译器的路径 GCC_COMPILER 为本地的 GCC 编译器路径。即在 build-linux.sh 脚本中,需要加入以下命令:

32位系统同64位系统操作一样,以下指令切换成32位工具链就可以了。

# 添加到 build-linux.sh 脚本的开头位置即可 
GCC_COMPILER=/home/ebaina/Projects/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf

然后在 rknn_model_zoo 目录下,运行 build-linux.sh 脚本,参考命令如下,如图所示:

# 进入 rknn_model_zoo 目录 
cd Projects/rknn_model_zoo 
# 运行 build-linux.sh 脚本 
# 用法:./build-linux.sh -t <target> -a <arch> -d <build_demo_name> [-b <build_type>] [-m] 
# -t : target (rk356x/rk3588) # 平台类型,rk3568/rk3566 都统一为rk356x 
# -a : arch (aarch64/armhf) # 板端系统架构 
# -d : demo name # 对应 examples 目录下子文件夹的名称,如yolov5、mobilenet 
# -b : build_type(Debug/Release) 
# -m : enable address sanitizer, build_type need set to Debug 
chmod +x build-linux.sh
./build-linux.sh -t rv1126b -a aarch64 -d yolov5

易百纳社区

编译 YOLOv5 RKNN C Demo

编译完成后,会在 rknn_model_zoo 目录下产生 install 文件夹, 其中有编译好的可执行文件,以及测试图片等相关文件。参考目录结构如下:

install 
├── rv1126b_linux_armhf #rv1126b 平台 
└── rknn_yolov5_demo
├── lib # 依赖库 
├── model # 存放模型、测试图片等文件 
└── rknn_yolov5_demo # 可执行文件
# 进入 rknn_model_zoo 目录 
cd Projects/rknn_model_zoo 
# 推送整个 rknn_yolov5_demo 文件夹到板端 
# 注:rknn_yolov5_demo 文件夹下有一个同名的可执行文件 rknn_yolov5_demo 
# 注:使用不同的模型和平台时,建议直接在 install 下找对应的路径 
scp -r 
/home/ebaina/Projects/rknn_model_zoo/install/rv1126b_linux_aarch64/rknn_yolov5_demo root@板子IP:/data/

执行以下命令,在板端运行可执行文件,如图所示:

# 进入 rknn_yolov5_demo 目录 
cd /data/rknn_yolov5_demo/ 
# 设置依赖库环境 
export LD_LIBRARY_PATH=./lib 
# 运行可执行文件 
# 用法: ./rknn_yolov5_demo <model_path> <input_path> 
./rknn_yolov5_demo model/yolov5.rknn model/bus.jpg

易百纳社区

板端运行图

默认情况下,输出图片保存路径为 rknn_yolov5_demo/out.png ,可以通过adb工具从板端拉取到本地查看,在本地计算机的终端中,执行以下命令:

# 拉取到本地当前目录 
adb pull /data/rknn_yolov5_demo/out.png  Desktop\

识别结果如下:

易百纳社区


6. 功能验证:本地预览与RTSP拉流测试

本章节提供两种验证方式,帮助客户快速确认模型在RV1126B平台上的实际推理效果:

  • 方式一(LCD本地预览):摄像头采集图像 → NPU推理 → 识别结果直接绘制在LCD屏幕上显示。
  • 方式二(RTSP网络拉流):摄像头采集图像 → LCD显示原始画面(无识别框) + 同时通过RTSP协议推送带识别结果的视频流,供VLC等播放器远程查看。

6.1 硬件连接

J13排针接口连接EULER_40EXP_V1.0转接板,MIPI0连接SC450AI摄像头,如图所示。

易百纳社区 易百纳社区

6.2 方式一

操作步骤:

(1) 确保硬件已按2.3.1连接完毕,开发板已上电启动。

(2) 在开发板终端中执行以下命令:

 cd /usr/bin   #进入/usr/bin/路径下
./yolo_npu_lcd_only -W 3840 -H 2160 -w 800 -h 1280 -a /etc/iqfiles -m /opt/model/RV1126B/yolov5s-640-640.rknn -S X

补充:最后-S 后面的参数X,X代表mipi接口,mipi0的接口X就填写0,mipi接口X就填写1。

(3) 命令执行后的效果如图所示:

易百纳社区

6.3 方式二

操作步骤:

(1) 确保开发板与PC处于同一局域网。

(2) 在开发板终端中执行:

(3) 命令执行后的效果如图所示:

cd /usr/bin   #进入/usr/bin/路径下
./yolo_npu_rtsp_lcd -W 3840 -H 2160 -w 800 -h 1280 -a /etc/iqfiles -m /opt/model/RV1126B/yolov5s-640-640.rknn -S X

补充:最后-S 后面的参数X,X代表mipi接口,mipi0的接口X就填写0,mipi接口X就填写1。

易百纳社区

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
1个
内容存在敏感词
手气红包
  • 夏别 2026-04-23 14:09:58
    回复
    仅支持yolov5吗 可以用yolo26或者yolov8吗
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
易百纳技术社区
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区