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

  本篇部署方法时耗

相关推荐
starzy19907 小时前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
starzy19907 小时前
Scala类和对象:从构造器到样例类的完整指南
开发语言·后端·scala
niucloud-admin7 小时前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:订单列表
开发语言·php
D e re k ZH7 小时前
P5025 [SNOI2017] 炸弹
c++·算法
怪我冷i7 小时前
Rust 的impl语法详解
开发语言·后端·rust
wuminyu8 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
qq_406981038 小时前
c++的decltype是什么
开发语言·c++
坤坤子吖8 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法
我就是全世界8 小时前
OpenCode Go 套餐划算吗:先看你用哪个模型
开发语言·后端·golang
螺丝钉tina8 小时前
[Playwright] [02]常用命令与调试:Debug UI、Mode和 Trace Viewer
开发语言·javascript·测试工具·ui·自动化