简介 此仓库为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 https://github.com/rockchip-linux/rknpu2 https://github.com/senlinzhan/dpool https://github.com/ultralytics/yolov5 https://github.com/airockchip/rknn_model_zoo