欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

Rockchip1808教程(五)yolov5目标检测

边缘AI 迷途小书童 3年前 (2022-02-22) 4875次浏览 0个评论

环境

  • ubuntu 18.04 64位
  • python 3.6
  • rockchip 1808开发板

前言

本篇我们来看看,如何在 RK1808 开发板上运行 YOLOv5 目标检测。基本思路是,yolov5 –> ONNX –> rknn,我们一步步来。

实践

官方工程 https://github.com/rockchip-linux/rknpurknn-toolkit 1.7.0 版本后增加了对 yolov5 的支持,所以,在虚拟环境中,我们需要将 rknn 升级到 1.7.0 以上版本。

首先从 github 上下载安装包 https://github.com/rockchip-linux/rknn-toolkit/releases/tag/v1.7.0,选择其中的 zip 包,解压缩后得到 whl 文件,通过 pip install 安装即可,注意保持 python 版本和你使用的一致

pip install rknn_toolkit-1.7.0-cp36-cp36m-linux_x86_64.whl

然后,下载 rknpu 的源码

git clone https://github.com/rockchip-linux/rknpu.git

进入到 yolov5 的示例目录

cd rknpu/rknn/rknn_api/examples/rknn_yolov5_demo

# 安装下工具链,默认安装路径是/usr/bin;或者不用安装直接使用rknn源码包中的工具链
sudo apt install gcc-aarch64-linux-gnu

接着,修改下 build.sh,将变量 GCC_COMPILER 的值替换成自己的目录 /usr/bin/aarch64-linux-gnu;如果是使用 rknn 源码中自带的工具链,就改成对应的路径

完成后,执行

./build.sh

这个脚本会将编译后生成的可执行文件、测试图片和模型文件都拷贝到目录 install 中,我们将开发板通过 usb 线连接电脑,然后将 install 文件夹发送到开发板中

adb push install /userdata

接着进入到开发板测试

adb shell
cd /userdata/rknn_yolov5_demo
./run_rk180x.sh

测试的结果保存在 out.bmp 中,需要下载到本机的,可以在电脑端执行

adb pull /userdata/rknn_yolov5_demo/out.bmp .

rockchip yolov5

这个示例中,使用的是原生的模型(yolov5s.pt),通过 export.py 转换成 onnx,最后再转换成 rknn

前一部分,ptonnx,可以参考之前的文章 https://xugaoxiang.com/2021/02/02/android-ncnn-yolov5/ 进行转换;后一部分,仓库中为我们提供了转换脚本

cd convert_rknn_demo/yolov5/
python onnx2rknn.py

关联阅读

喜欢 (2)

您必须 登录 才能发表评论!