一、激活Toolkit2环境
安装完环境后,后续开发都需要进入到Toolkit2环境当中,在base环境中找不到RKNN.API
二、准备模型
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
四、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
五、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
编译后生成的文件在install文件夹下。
5.2、推送文件
在这里使用的是 adb方式进行文件传输,我个人理解了很长时间才明白咋回事。ADB早期开发安卓程序的时候经常会用到这一功能,就是使用usb数据线进行在线仿真在线程序下载用的。
首先,需要使用type-C数据线,将板子的type-c口与电脑相连,然后电脑使用的是虚拟机,需要经usb关联到虚拟机内的Unbuntu系统上。
再在,工控板上使用restart_rknn.sh命令启动ADB服务。
最后就可以使用命令推送文件到开发板上,或者使用命令拉回需要的文件。
adb push install/rk3576_linux_aarch64/rknn_yolov5_demo/ /data/
adb pull /data/rknn_yolov5_demo/out.png
5.3、ADB运行工控板程序
./rknn_yolov5_demo model/yolov5s_relu.rknn model/bus.jpg
5.4、直接在工控板运行的情况,如下图所示:
5.5、使用此yolo算法识别其他动物
图片不是很清晰,识别不是很准确。但换清晰图片没任何问题。
更多回帖