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++时耗

本篇部署方法时耗

相关推荐
合作小小程序员小小店10 分钟前
舆情,情感微博系统demo,基于python+qt+nlp,开发语言python,界面库qt,无数据库版,数据来自第三方网站获取,
开发语言·pytorch·qt·自然语言处理·nlp
hashiqimiya15 分钟前
c++的头文件使用
开发语言·c++·算法
panamera1220 分钟前
C++中vector
开发语言·c++
拳里剑气21 分钟前
C++:string的使用
开发语言·c++·学习方法
国服第二切图仔25 分钟前
Rust开发之Result枚举与?运算符简化错误传播
开发语言·python·rust
Larry_Yanan34 分钟前
QML学习笔记(四十八)QML与C++交互:QML中可实例化C++对象
c++·笔记·qt·学习·ui·交互
Dovis(誓平步青云)1 小时前
《静态库与动态库:从编译原理到实战调用,一篇文章讲透》
linux·运维·开发语言
Nan_Shu_6141 小时前
学习:JavaScript(1)
开发语言·javascript·学习·ecmascript
2301_803554521 小时前
c++调用客户端库与kafka交互
c++·kafka·交互
zhangx1234_1 小时前
C语言题目1
c语言·开发语言·数据结构