瑞芯微Rockchip开发者社区
直播中

费炜

1年用户 37经验值
擅长:嵌入式技术
私信 关注
[经验]

【LuckFox Pico开发板免费试用】RKNN SDK使用教程

1 下载SDK

打开官方提供的虚拟机,登录密码是“luckfox”。

打开终端,用git指令下载SDK。“git clone https://github.com/LuckfoxTECH/luckfox-pico.git”。

在访问github时经常出现下载失败的情况,多试几次或者用VPN加速。也可直接到官网下载zip压缩包,传到虚拟机上解压缩。下图是下载好的SDK。

打开终端输入“ls”命令查看当前目录。

wKgaomU_ErWANQyXAAFH7fR1NTc732.png

2 编译SDK

输入“./build.sh lunch”选择编译的分支。我用的是Luckfox pico开发板,所以输入0。 1对应的是luckfox pico plus开发板。如下图:

wKgaomU_FMqANJVVAAMI1j68maU518.png

输入“./build.sh”开始编译SDK,时间有点长。编译成功后会在output/image下生成很多文件,如下图:

wKgZomU_F8SAV74HAAM03BLuUx8673.png

3 安装rknn-toolkit和 rknpu2

1、下载rknn-toolkit2和rknpu2压缩包。

rknn-toolkit2下载链接:https://github.com/rockchip-linux/rknn-toolkit2

rknpu2下载链接:https://github.com/rockchip-linux/rknpu2

2、下载后解压,并移动到SDK文件夹中,如下图:

wKgaomU_H4CAMeIJAAEuwriEuOU113.png

3、安装所需依赖“sudo apt-get install libxslt1-dev zlib1g-dev libglib2.0 libsm6 libgl1-mesa-glx libprotobuf-dev gcc”。

4、进入“rknn-toolkit2-master/rknn-toolkit2-master/doc”文件夹,运行命令“pip3 install -r requirements_cp36-1.5.2.txt”安装python3.6的相关依赖。安装时会报错,原因是pip3版本太低。

wKgZomU_IieARyyYAAHAOrhBJ0w804.png

解决办法: 运行命令“pip3 install --upgrade pip”更新pip3版本。
再次运行“pip3 install -r requirements_cp36-1.5.2.txt”接着报错,需要安装testresources,pip3安装一下

wKgZomU_JaeAMONlAAHIFisenEE731.png

最终安装成功,无报错。

wKgZomU_Jj2ARY9lAAIOKhmmChw268.png

5、cd转到package路径下,运行“pip3 install rknn_toolkit2-1.5.2+b642f30c-cp36-cp36m-linux_x86_64.whl”。

输入“python 3”

再输入“from rknn.api import RKNN" 检查是否安装成功,没报错表示安装成功。

wKgaomU_KKuAWbQ7AAFxCZMvQwU574.png

输入“exit()”退出python。

4 rknpu2的编译及使用

1、设置交叉编译器

交叉编译器在下载的SDK中。即/home/luckfox/Luckfox-Pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf
以yolov5为例。cd到“/home/luckfox/Luckfox-Pico/luckfox-pico/rknpu2-master/rknpu2-master/examples/RV1106_RV1103/rknn_yolov5_demo”路径下。

设置交叉编译工具的路径。输入“vim build-linux_RV1106.sh”,添加红框中的内容之后保存退出。具体细节请看"/home/luckfox/Luckfox-Pico/luckfox-pico/rknpu2-master/rknpu2-master/examples/RV1106_RV1103/rknn_yolov5_demo/README_CN.md"文件。

wKgZomU_VpuAXwmIAAKc3E6DRF8465.png

2、运行“./build-linux_RV1106.sh”命令,开始编译rknn_yolov5_demo。如下图:

wKgZomU_Vt6AOTQ8AAIHcck9Nx8995.png

编译完成,如下图:

wKgZomU_WBaABBRZAAIFv7tyoP0177.png

5 在Luckfox pico开发板上运行rknn_yolov5_demo

1、虚拟机设置共享文件夹

点击“设备”>“共享文件夹”>点击"+"设置电脑的共享文件夹路径。

如下图:

wKgZomU_YcKACHEgAAM0tyma8rk850.png

2、将“/home/luckfox/Luckfox-Pico/luckfox-pico/rknpu2-master/rknpu2-master/examples/RV1106_RV1103/rknn_yolov5_demo/install”文件夹下面上一步编译好的rknn_yolov5_demo_Linux文件夹复制到共享文件夹sf_Share中,如下图:

wKgaomU_YtOANyx7AAF4_O24NhE711.png

3、按下 Win + R 快捷键输入 CMD 打开 Windows shell 终端。

输入adb connect 172.32.0.93。显示connected to 172.32.0.93:5555表示连接开发板成功。

输入adb -s 172.32.0.93:5555 shell登录开发板。显示#表示登录成功。

输入ls 查看一下当前路径下的文件。

关掉cmd,重新打开。将rknn_yolov5_demo_Linux文件夹复制到电脑的C:UsersAdministrator路径下。

输入“adb push .rknn_yolov5_demo_Linux /data”将rknn_yolov5_demo_Linux复制到开发板的data目录,如下图:

wKgZomU_Z5mAN_Q9AABhGdNX4bk562.png

输入“adb shell”。cd到data/rknn_yolov5_demo_Linux路径下。

输入“export LD_LIBRARY_PATH=/data/lib”设置lib环境变量。

输入“ cd /data/rknn_yolov5_demo_Linux”进入此文件夹。

输入“./rknn_yolov5_demo ./model/RV1106/yolov5s-640-640.rknn ./model/bus.jpg ”开始进行图片识别。

报错,说没有操作权限。

输入“chmod 777 -R rknn_yolov5_demo”,把权限全部放开。之后成功推理出结果,如下图:

wKgZomU_bCaAKyQOAANI3kEjbAk003.png

至此实验结束,运用RKNN SDK成功在Luckfox pico开发板上完成yolov5的图像识别。

更多回帖

发帖
×
20
完善资料,
赚取积分