YOLO是一种基于深度神经网络的目标检测算法,用在图像或视频中实时识别和定位多个对象。在其各个版本的迭代中,YOLOv5凭借易用性和性能平衡在工业、 医疗、农业、零售等领域被广泛的应用。本文以启扬RK3588开发板为例,运行基于 YOLOv5 的先进目标检测模型。
01、下载RKNN相关的仓库
新建目录存放RKNN仓库,下载RKNN-Toolkit2和 RKNN_Model_Zoo 仓库。
#新建目录
mkdir RKNN_Projects
#进入该目录
cd?RKNN_Projects
#下载?RKNN-Toolkit2 仓库
git?clone?https://github.com/airockchip/rknn-toolkit2.git --depth 1
#下载?RKNN Model Zoo 仓库
git?clone?https://github.com/airockchip/rknn_model_zoo.git --depth 1
#注:git clone 可能会下载失败,可以选择开代理或者到github下载
02、安装 RKNN-Toolkit2 环境
安装 conda。
# X86_64
wget https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
# Arm64
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
chmod +x Miniconda3-latest-Linux-xxxxxxx.sh
bash Miniconda3-latest-Linux-xxxxxxx.sh -b -p miniconda3
source?miniconda3/bin/activate
使用 conda 创建 python 环境。
conda create -n toolkit2 python=3.8
激活 toolkit2 环境。
conda activate toolkit2
03、安装依赖库和RKNN-Toolkit2
激活 toolkit2 环境之后,进入到 rknn-toolkit2 目录,安装依赖库,并安装rknn-toolkit2。
cd?rknn-toolkit2/
cd?rknn-toolkit2/packages/arm64
安装依赖库。
pip install -r arm64_requirements_cp38.txt
pip install rknn_toolkit2-2.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
04、YOLOv5 RKNN Python Demo
下载模型。
cd?RKNN_Projects/rknn_model_zoo/examples/yolov5/model
bash download_model.sh
模型转换。
cd?RKNN_Projects/rknn_model_zoo/examples/yolov5/python
python convert.py ../model/yolov5s_relu.onnx rk3588 i8 ../model/yolov5s_relu.rknn
运行RKNN Python Demo。
python yolov5.py --model_path ../model/yolov5s_relu.rknn --target rk3588 --img_show
输出结果如下图所示:
1216