RK3588 npu python运行 YOLOv8 和 YOLOv8-seg 的教程

本文介绍了在RK3588平台上对YOLOv8进行多线程优化,使用rknn-multi-threaded库替换原RKNN_model_zoo的示例,消除了对PyTorch的依赖,并显著减少了后处理时间,提升了YOLOv8s和YOLOv8s-seg的实时推理性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 RK3588 上运行 YOLOv5 的教程比较丰富,而对于 YOLOv8 相关的 Python 开源库则较少。对于多线程推理,一个不错的开源库是 rknn-multi-threaded。RKNN_model_zoo 中的 examples 提供了 YOLOv8 的相关 demo,但其 Python 后处理部分编写不佳,需要 PyTorch 依赖,并且后处理耗时较大,无法满足视频实时推理的需求。
我们在 rknn-multi-threaded 的基础上,对 RKNN_model_zoo 中的 YOLOv8 example 进行了整合,并使用 github Copilot 重写了后处理函数。这一改进不仅取消了对 PyTorch 的依赖,还将后处理耗时从几百毫秒降低到了几十毫秒。在 3 线程模式下,推理 YOLOv8s 模型可以达到约 45fps,而推理 YOLOv8s-seg 模型则可以达到约 25fps。

一、优化修改后的开源代码库

二、代码运行说明

上面三个代码仓库的运行方法相同,都是通过 git clone 克隆代码后,准备好 Python 环境,然后执行 main.py。我们以 YOLOv8 为例:

  1. 升级 NPU 运行库。参考 RK3588 在 Ubuntu22.04 下使用 rknn-toolkit2 的注意事项
  2. 克隆源代码:
git clone http://git.bwbot.org/publish/rknn3588-yolov8.git
  1. 准备python运行环境:
    我们在 RK3588 上使用的是 Ubuntu22.04 Desktop,默认的 Python 版本是 3.10。为了避免破坏系统环境,我们使用 virtualenv 来配置需要的 Python 运行环境。
sudo apt install python3-virtualenv

#进入上面git clone下来的文件夹根目录
cd rknn3588-yolov8

#创建虚拟环境
virtualenv --system-site-packages -p /usr/bin/python3 venv

#激活虚拟环境
source venv/bin/activate

#开始在虚拟环境中安装rknn_toolkit_lite2,这里需要安装和python版本相同的whl
pip install rknn_toolkit_lite2-2.0.0b0-cp310-cp310-linux_aarch64.whl

#安装opencv
pip install -i https://mirror.baidu.com/pypi/simple opencv_contrib_python

4.环境配置完成,开始运行yolov8:

python main.py

main.py 文件中,您可以修改模型、线程数,还可以修改成实时推理摄像头。

# 推理视频文件
cap = cv2.VideoCapture('./720p60hz.mp4')
# 推理实时摄像头
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)

三、运行结果

YOLOv8s 的运行速度大约是 YOLOv5 的 70%,YOLOv8s-seg 的运行速度大约是 YOLOv8s 的 50%。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值