Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

leafqycc/rknn-cpp-Multithreading

Repository files navigation

简介

  • 此仓库为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分支。
  • 新增v1.5.0分支(向下兼容1.4.0), main分支更新至v1.5.2, 修改了项目结构, 将rknn模型线程池封装成类(include/rknnPool.hpp)

使用说明

演示

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

部署应用

  • 参考include/rkYolov5s.hpp中的rkYolov5s类构建rknn模型类

多线程模型帧率测试

  • 使用performance.sh进行CPU/NPU定频尽量减少误差
  • 测试模型来源:
  • yolov5s-relu
  • 测试视频可见于 bilibili
模型\线程数 1 2 3 4 5 6 9 12
Yolov5s - relu 41.6044 71.6037 98.6057 98.0068 104.6001 114.7454 129.5693 140.8788

补充

  • 异常处理尚未完善, 目前仅支持rk3588/rk3588s下的运行

Acknowledgements

About

A simple demo of yolov5s running on rk3588/3588s using c++ (about 142 frames). / 一个使用c++在rk3588/3588s上运行的yolov5s简单demo(142帧/s)。

Resources

License

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /