资讯动态

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

发布时间:2026/8/6 11:23:58 来源:尧图企业网站定制
瑞芯微 RKNPU 为边缘 AI 提供高效硬件加速能力而 RKNN Model Zoo 则是官方提供的一站式模型部署范例库可快速将主流深度学习模型部署到瑞芯微芯片。本次部署硬件基于易百纳鸿欧派R与G126-IPC-38E1. 安装虚拟机环境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.042. Miniforge3安装2.1 安装Miniforge3指令脚本1更新系统包输入指令“sudo apt update”2下载安装Miniconda3管理虚拟环境sudo apt update wget -c https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh安装Miniforge3环境2.2 安装Miniforge3安装引导执行安装命令后终端会弹出引导按照以下步骤操作不要改默认配置1根据以上指令安装好Miniforge3指令脚本后执行“bash Miniforge3-Linux-x86_64.sh”如图所示bash Miniforge3-Linux-x86_64.shMiniforge3 安装界面2按回车翻到协议末尾输入 yes 同意Miniforge3 协议确认与安装路径确认界面注意这里默认路径为 /home/你的用户名/miniconda3直接按 回车不要修改否则后续配置会出错。3最后会提示是否在终端启动时自动开启conda选择yes如果选择no会导致环境变量未配置后续需手动修复。Conda 初始化确认界面4最后安装完成后重开一个终端一定要重启终端否则会找不到conda命令并输入conda --version可以查看conda版本说明安装成功。conda --version查看 Conda 版本结果2.3 使用conda创建名称为 toolkit2 的 Python 3.8 环境1输入指令“conda create -n toolkit2 python3.8”创建名为toolkit2的python环境conda create -n toolkit2 python3.8创建 toolkit2 Python 环境过程2遇到Proceed确认步骤输入“y”Conda 环境创建确认界面3安装完成,后输入指令“conda activate toolkit2”激活 toolkit2 环境激活 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安装 RKNN-Toolkit2 依赖包2安装RKNN-Toolkit2主包pip install packages/x86_64/rknn_toolkit2-2.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl安装 RKNN-Toolkit2 主包3验证RKNN输入指令查看输入“python” 输入“from rknn.api import RKNN” 运行没报错说明rknn安装成功验证 RKNN-Toolkit2 安装结果4. 模型转换本章将介绍如何快速在开发板上运行示例程序内容分为两个部分1RKNN 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下载 YOLOv5 ONNX 模型进入 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.rknONNX 模型转换为 RKNN 模型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 后面的参数XX代表mipi接口mipi0的接口X就填写0mipi接口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 后面的参数XX代表mipi接口mipi0的接口X就填写0mipi接口X就填写1。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价