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

  本篇部署方法时耗

相关推荐
星空椰6 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
wunaiqiezixin6 小时前
如何在C++中创建和管理线程
c++
白露与泡影7 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
凯瑟琳.奥古斯特7 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
雪度娃娃7 小时前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
王老师青少年编程7 小时前
csp信奥赛C++高频考点专项训练之前缀和&差分 --【一维差分】:[NOIP 2018 提高组] 铺设道路
c++·前缀和·差分·csp·高频考点·信奥赛·铺设道路
星马梦缘7 小时前
aaaaa
数据结构·c++·算法
喵星人工作室8 小时前
C++火影忍者1.1.2
开发语言·c++
basketball6168 小时前
C++ 中的 ptrdiff_t 详解
开发语言·c++
wunaiqiezixin9 小时前
互斥锁与自旋锁的区别
c++