yolov8 瑞芯微 RKNN 的 C++部署,部署工程难度小、模型推理速度快

之前写过两次yolov8目标检测部署,后续继续思考,针对部署还有优化空间,本示例的部署方式优化了部署难度,加快了模型推理速度(略微增加了后处理的时耗)。

特别说明:如有侵权告知删除,谢谢。

【完整代码】代码和模型

1、rknn模型准备

onnx转rknn模型这一步就不再赘述,请参考上一篇 【yolov8n 瑞芯微RKNN和地平线Horizon芯片仿真测试部署,部署工程难度小、模型推理速度快】 。上一篇提供了完整的模型和代码,如果仅仅是想验证模型,可以直接拿提供的rknn模型进行后续的步骤,本篇也是基于上一篇转好的rknn模型进行的,在rk3588芯片部署测试。

2、C++代码准备

本篇中的 C++ 代码基于瑞芯微官方提供的 rknpu2_1.3.0 进行的。官方提供的开源示例参考 ,提取码:rknn .

3、C++ 代码

模型和图片读取部分参考官方提供的示例,详细代码请参本实例对应的github仓库,代码和模型 。本实例提供的完整代码也就只包含两个.c文件,阅读起来没啥难度。

复制代码
## 4、编译运行
1)编译

```powershell
cd examples/rknn_yolov8_demo_dfl_open

bash build-linux_RK3588.sh

2)运行

powershell 复制代码
cd install/rknn_yolov8_demo_Linux

./rknn_yolov8_demo

注意:修改模型、测试图像、保存图像的路径,所在文件为 src 下main.cc文件。

5、板端效果

冒号":"前的数子是coco的80类对应的类别,后面的浮点数是目标得分。(类别:得分)

(注:图片来源coco128)

说明:推理测试预处理没有考虑等比率缩放,激活函数 SiLU 用 Relu 进行了替换。由于使用的是coco128的128张图片数据进行训练的,且迭代的次数不多,效果并不是很好,仅供测试流程用。换其他图片测试检测不到属于正常现象,最好选择coco128中的图像进行测试。

6、模型和后处理时耗

C++完整部署代码和模型示例参考

把板端C++代码的模型和时耗也给贴出来供大家参考,使用芯片rk3588。相对之前在rk3588上推理40ms,降到了17ms,后处理稍微有增加。

上一篇【yolov8 瑞芯微 RKNN 的 C++部署】部署到rknn3588上的C++时耗

本篇部署方法时耗

相关推荐
徐新帅1 天前
4181:【GESP2603七级】拆分
c++·学习·算法·信奥赛
无忧.芙桃1 天前
现代C++精讲之处理类型
开发语言·c++
黎梨梨梨_1 天前
C++入门基础(下)(重载,引用,inline,nullptr)
开发语言·c++·算法
谁刺我心1 天前
[QML]Functional功能型控件-虚拟键盘
开发语言·qml·虚拟键盘
feVA LTYR1 天前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
khalil10201 天前
代码随想录算法训练营Day-34动态规划03 | 01背包问题 二维、01背包问题 一维、416. 分割等和子集
数据结构·c++·算法·leetcode·动态规划·背包问题·01背包
前进吧-程序员1 天前
C++ 内存到底分配在哪?
java·jvm·c++
hhb_6181 天前
C#高性能异步编程实战与底层原理深度解析
开发语言·c#
雾岛听蓝1 天前
Qt操作指南:状态栏、浮动窗口与对话框使用
开发语言·经验分享·笔记·qt
兩尛1 天前
c++面试常问1
jvm·c++·面试