RV1106开发环境搭建(windows)


前言

去年使用了瑞芯微的RV1126的模组做了一个ai小相机(视频地址在这里),当时感觉性能还可以,就是开发环境太过一言难尽了。最近又发现有厂家使用另外一个新型号RV1106推出了开发板,价格十分喜人。关键是现在的开发生态比我当时友善太多了,资料更规范了,github上也有配套的各种开源仓库。一番体验下来,感觉还是不错的。


一、准备demo工程的开发环境

我一向喜欢在win下搭建开发环境,单独装个ubuntu什么的太蛋疼了。由于这个模组的资源很有限,里面的linux系统没有gcc也没有ssh,所以暂时只能交差编译了。所以windows下就需要装个wsl2的Ubuntu来做开发环境。

  1. 安装wsl2下的ubuntu,最新的就可以
  2. 在wsl2 clone以下仓库
    luckfox-pico。幸狐Luckfox的sdk仓库,目前我只是使用里面内置好的工具链
    rknn_model_zoo。 瑞芯微官方rknn推理框架的模型示例仓库。它里面对yolo系列的模型推理进行了一个封装工程,因此我的AI demo是基于这个工程上进行测试和二次开发
  3. 安装工具链
    进入到luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf目录,一键运行安装交差编译工具环境:
 ./env_install_toolchain.sh
  1. 安装rknn_model_zoo需要的lib
    进入到rknn_model_zoo/libs/rklibs目录,clone以下两个仓库
git clone https://github.com/rockchip-linux/rknpu2
git clone https://github.com/airockchip/librga

二、windows使用vscode搭建开发工程

  1. vscode要安装wsl插件,可以访问wsl ubuntu内的文件资源
    在这里插入图片描述
  2. 连接到wsl,打开rknn_model_zoo目录,然后安装这几个插件到wsl里面
    在这里插入图片描述
  3. 可以直接手动修改vscode的工程配置文件settings.json。里面的rknn_model_zoo目录地址填入自己的绝对路径。这样vscode就将目标工程指向了rknn_model_zoo仓库里面的rknn_yolo_demo例程
{
    "cmake.sourceDirectory": "/home/rknn_model_zoo/models/CV/object_detection/yolo/RKNN_C_demo/RKNN_toolkit_2/rknn_yolo_demo",
    "cmake.configureArgs": [
        "-DTARGET_SOC=rv110x",
        "-DMZ_ROOT=/home/rknn_model_zoo"
    ]
}
  1. 点击vscode下方工具栏的小扳手图标,选择上面配置好的工具链
    在这里插入图片描述
  2. 点击vscode下方工具栏的设置默认生成目标,选中rknn_yolo_demo_zero_copy ,然后点击小齿轮生成图标,例程就开始交差编译。编译完成后,再点设置默认生成目标选中install ,点击生成就会在rknn_yolo_demo目录下出现install文件夹。里面生成了demo程序、model资源目录和必要的运行库
    在这里插入图片描述
  3. 将install里面的rknn_yolo_demo整个目录放到开发板中
adb push install/rv110x/Linux/rknn_yolo_demo /data/

然后在开发板环境运行例程,记得还要放上你的rknn模型

adb shell	#先进入开发板的shell
cd /data/rknn_yolo_demo
export LD_LIBRARY_PATH=./lib
./rknn_yolo_demo_zero_copy q8 ./model/yolov5s.rknn model/bus.jpg

单帧速度大约是100多ms,虽然很慢,但这个价位的小模块可以做很多东西了。

RUN MODEL ONE TIME FOR TIME DETAIL
    rknn_run use: 125.693001 ms
loadLabelName ./model/coco_80_labels_list.txt
post_process load lable finish
    cpu_post_process use: 27.233999 ms
DRAWING OBJECT
 @ (216 411 347 857) 0.872164
 @ (669 403 806 884) 0.866857
 @ (50 398 256 904) 0.859551
 @ (21 219 799 777) 0.706545
 @ (0 594 72 875) 0.459078
WITHOUT POST_PROCESS
    full run for 10 loops, average time: 120.376503 ms
WITH POST_PROCESS
    full run for 10 loops, average time: 137.268005 ms

总结

现在的rknn开发环境相对以前我接触时简便和优雅了许多。在这个基础上,加上你自己的业务逻辑和自己训练转换的rknn模型后,就能做具体的东西了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐