本文从步骤来记录在rk3588芯片上部署yolov8模型
主机:windows10 VMware® Workstation 16 Pro
硬件:RK3588 EVB板
模型: RK3588.rknn
软件开发环境: c++ cmake
step1:
主机上执行:
将rknn_model_zoo 工程文件下载, 之前在采用yolov5部署在rk3588上时采用的是rockchip官方rknpu2工程,注意:此工程(rknn_model_zoo)可以部署yolov5~yolov8,yolovx
git clone https://github.com/airockchip/rknn_model_zoo.git
step2:
主机上执行
直接下载yolov8s.pt模型
wget https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8s.pt
step3:
主机上执行
下载rockchip版本的yolov8->ultralytics_yolov8
git clone https://github.com/airockchip/ultralytics_yolov8.git
cd /home/rock/src/ultralytics_yolov8-main/
export PYTHONPATH=./
python3 ultralytics/engine/exporter.py
此时会在路径下生成yolov8s.onnx模型
我的路径为: /home/rock/src/ultralytics_yolov8-main
step4:
在主机上执行
cd /home/rock/src/rknn_model_zoo-main/examples/yolov8/python
python3 convert.py ../model/yolov8s.onnx rk3588
将会得到一个yolov8s.rknn模型
此时,将rknn模型下发到开发板中
step5:
在开发板端 下载rknn_model_zoo 工程,执行以下命令即可, 其中的路径改为自己当前的路径
git clone https://github.com/airockchip/rknn_model_zoo.git
cd /home/rockchip/src/rknn_model_zoo/install/rk3588_linux_aarch64/rknn_yolov8_demo
sudo ./rknn_yolov8_demo ~/yolov8.rknn model/bus.jpg
运行效果图如下:
疑问: 为啥同样的硬件平台, yolov8耗时50+ms ,yolov5耗时才20+ms