Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 2.74 KB

README.md

File metadata and controls

43 lines (36 loc) · 2.74 KB

简介

  • 此仓库为c++实现, 大体改自rknpu2, python快速部署见于rknn-multi-threaded
  • 使用线程池异步操作rknn模型, 提高rk3588/rk3588s的NPU使用率, 进而提高推理帧数
  • yolov5s使用relu激活函数进行优化,提高推理帧率

更新说明

  • 修复了cmake找不到pthread的问题
  • 新建nosigmoid分支,使用rknn_model_zoo下的模型以达到极限性能提升
  • 将RK3588 NPU SDK 更新至官方主线1.5.0, yolov5s-silu将沿用1.4.0的旧版本模型, yolov5s-relu更新至1.5.0版本, 弃用nosigmoid分支。

使用说明

演示

  • 系统需安装有OpenCV
  • 下载Releases中的测试视频于项目根目录,运行build-linux_RK3588.sh
  • 可切换至root用户运行performance.sh定频提高性能和稳定性
  • 编译完成后进入install运行命令./rknn_yolov5_demo 模型所在路径 视频所在路径/摄像头序号

部署应用

  • 修改include/rknnPool.hpp中的rknn_lite类
  • 修改inclue/rknnPool.hpp中的rknnPool类的构造函数

多线程模型帧率测试

模型\线程数 1 2 3 4 5 6 9 12
Yolov5s - silu 22.2211 46.6982 70.9794 64.7563 81.0925 96.2544 105.4083 108.8529
Yolov5s - relu 23.8122 54.6376 84.5434 82.5834 100.8524 112.6708 129.7348 142.2799

补充

  • 异常处理尚未完善, 目前仅支持rk3588/rk3588s下的运行
  • relu版本相较于silu有着较大性能提升, 以及存在一些精度损失, 详情见于rknn_model_zoo

Acknowledgements