目标检测6:采用yolov8, RK3568推理的性能

最近有个小伙伴,问我rk3568上推理图片,1秒能达到多少?

本次采用模型为yolov8s.rknn,作了一次验证。

解析一段视频文件,1280*720, fps 24。读取视频文件,然后进行推理。

通过性能优化,发现推理,稳定的达到了FPS 13左右,NPU利用率在90%上下浮动。

根据官方的数据,yolov8s模型的性能在15.4 FPS。所以基本上也吻合了这个数据。

如果用yolov8n的话,实时推理15fps的视频流,低时延输出,在rk3568上应该是流畅的。

再压榨一下,NPU能达到97%,CPU占用243%,整体上FPS也没啥提升空间了。

### RK3568 上使用 YOLOv8 进行目标检测的可行性 RK3568 是一款基于 ARM 架构的处理器,具有强大的 NPU 支持,适合运行轻量级深度学习模型。YOLOv8 是 Ultralytics 提供的一个高效的目标检测框架,支持多种硬件平台上的部署。 为了在 RK3568 上成功部署 YOLOv8 模型并进行目标检测,可以参考以下方法: #### 1. **环境搭建** 首先需要准备开发环境,建议使用 Ubuntu 系统作为基础操作系统。对于 RK3568 的开发板,通常会预装 Linux 发行版,可以直接在其上操作。如果未安装,则需自行配置系统环境[^1]。 #### 2. **模型转换** YOLOv8 默认导出为 ONNX 格式文件,这一步可以通过 Ultralytics 官方库完成: ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') # 加载预训练权重 model.export(format='onnx', opset=12) # 导出ONNX格式 ``` 此代码片段展示了如何将 PyTorch 权重文件转换成 ONNX 文件以便后续进一步处理[^4]。 #### 3. **适配 RKNN 工具链** 由于 RK3568 配备专用神经网络加速单元(NPU),推荐利用 `rknn-toolkit` 对 ONNX 模型进行编译优化以适应 Rockchip 平台特性。具体步骤如下: - 下载 rknn_toolkit2 所有源码并解压缩; - 使用 toolkit 中提供的 API 接口加载已有的 ONNX 文件,并设置输入节点参数等信息; - 编译生成最终适用于 RK3568 设备执行的 .rknn 文件[^3]。 #### 4. **编写 C++ 应用程序** 最后,在嵌入式端通过 OpenCV 或其他图像采集手段获取实时画面数据送入到经过上述流程得到的目标检测引擎当中去实现完整的应用逻辑。以下是简单的伪代码表示形式: ```cpp #include <iostream> #include "rknn_api.h" int main() { const char* model_path = "./yolov8.rknn"; // 初始化RKNN上下文对象... } ``` 以上内容概述了一个可能的技术路线图来满足关于“RK3568 YOLOv8 目标检测”的需求描述。需要注意的是实际操作过程中可能会遇到各种兼容性和性能调优方面的问题,因此强烈建议深入研究相关文档资料以及社区经验分享。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值