飞凌嵌入式
直播中

筑梦者与梦同行

8年用户 179经验值
擅长:嵌入式技术
私信 关注
[活动]

【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO目标检测

一、激活Toolkit2环境

安装完环境后,后续开发都需要进入到Toolkit2环境当中,在base环境中找不到RKNN.API
图片1.png

二、准备模型

cd Projects/rknn_model_zoo/examples/yolov5/model

./download_model.sh

下载的模型是ONNX神经网络模型,在瑞芯微系统中使用不了。后续需要使用Toolkit转换一下。

三、模型转换

cd Projects/rknn_model_zoo/examples/yolov5/python

python convert.py ../model/yolov5s_relu.onnx rk3576 i8 ../model/yolov5s_relu.rknn
图片2.png
图片3.png

四、PC端运行程序

cd Projects/rknn_model_zoo/examples/yolov5/python

python yolov5.py --model_path ../model/yolov5s_relu.onnx --img_show

PC端运行程序使用的是yolov5s_relu.onnx,工控板使用yolov5s_relu.rknn
图片4.png
图片5.png

五、RKNN C Demo程序

5.1、板端linux系统

以 Linux 系统(aarch64 架构)的 RK356x 平台为例,需要使用 rknn_model_zoo 目录下的

build-linux.sh 脚本进行编译。在运行 build-linux.sh 脚本之前,需要指定编译器的路径

GCC_COMPILER=~/projects/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu

这个是板子如果是linux系统的情况下,不是安卓的情况下使用build-linux.sh脚本进行编译,但是这个文件缺少编译器的路径,需要将aarch64-linux-gnu-gcc的软件安装路径假如到脚本文件中。

进入到指定位置:cd Projects/rknn_model_zoo

进行编译:bash ./build-linux.sh -t rk3576 -a aarch64 -d yolov5
图片6.png
图片7.png

编译后生成的文件在install文件夹下。

5.2、推送文件

在这里使用的是 adb方式进行文件传输,我个人理解了很长时间才明白咋回事。ADB早期开发安卓程序的时候经常会用到这一功能,就是使用usb数据线进行在线仿真在线程序下载用的。

首先,需要使用type-C数据线,将板子的type-c口与电脑相连,然后电脑使用的是虚拟机,需要经usb关联到虚拟机内的Unbuntu系统上。

再在,工控板上使用restart_rknn.sh命令启动ADB服务。
图片8.png

最后就可以使用命令推送文件到开发板上,或者使用命令拉回需要的文件。

adb push install/rk3576_linux_aarch64/rknn_yolov5_demo/ /data/
图片9.png

adb pull /data/rknn_yolov5_demo/out.png
图片10.png

5.3、ADB运行工控板程序

./rknn_yolov5_demo model/yolov5s_relu.rknn model/bus.jpg
图片11.png
图片12.png

5.4、直接在工控板运行的情况,如下图所示:
图片13.png

5.5、使用此yolo算法识别其他动物

图片不是很清晰,识别不是很准确。但换清晰图片没任何问题。
图片14.png

更多回帖

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