05-Linux NPU YOLOV5S 目标检测
RKNN 部署
系统支持部署 rknn-toolkit2,rknn_model_zoo,参考 rockhip 官方文档如下:
https://github.com/airockchip/rknn-toolkit2/tree/master/doc
https://github.com/airockchip/rknn_model_zoo/tree/main/docs
1. NPU YOLOV5S 是什么
YOLOV5S 是计算机视觉中的一个目标检测算法,它是YOLO(You Only Look Once)系列的一部分,由Joseph Redmon和Alexey Bochkovskiy等人开发。YOLO 算法系列以其快速的实时目标检测能力而闻名,能够在图像或视频中检测和定位多个对象,包括物体的类别和位置。
YOLOv5S 是 YOLOv5 系列中的一个变种,不同版本的 YOLOv5 具有不同的性能和模型复杂度。通常,"S" 在 YOLOv5S 中可能代表 "Small",这意味着它可能是一种轻量级的模型,适合在资源受限的环境下运行,如移动设备或嵌入式系统。 YOLOv5S 可能在速度和准确性之间进行权衡,以适应不同的应用场景。
2. 解析图片及视频
RK Linux官方提供rknn_yolov5_demo,源码支持 RK3562、RK3566、RK3568、RK3588,编译出工具可进行图像解析和视频解析
源码路径
(SDK)/external/rknpu2/examples/rknn_yolov5_demo目前 RK3568、RK3588 可使用此demo
Ubuntu系统库适配有问题,暂时无法使用
源码参考及编译
配置环境
SDK目录为指代 实际中要替换成自己的实际目录
编译对应的工具
build-android_RK3562.sh build-android_RK3566_RK3568.sh build-android_RK3588.sh build-linux_RK3562.sh build-linux_RK3566_RK3568.sh build-linux_RK3588.sh
根据实际IC选择对应的脚本进行编译
生成工具路径
拷贝到主板上运行使用
工具使用
rknn_yolov5_demo
rknn_yolov5_demo 使用示例
person @ / bus @ 为对应识别信息
rknn_yolov5_video_demo
注意需要使用 h264/h265 码流视频
rknn_yolov5_video_demo 使用示例
car @ / bus @ 为对应视频识别信息
3. 解析本地视频流
硬件环境
测试环境:RK3568 Debian11
目前 RK3568、RK3588 可使用此demo
Ubuntu系统库适配有问题,暂时无法使用
示例程序测试
YOLOV5S目标检测 示例程序 已内置在Debian11文件系统
进入示例程序目录
运行示例程序
获取示例程序源码
程序源码内置SDK目录
编译源码
指定交叉编译工具链路径
交叉编译工具链内置SDK目录,具体路径可参考以上命令修改
编译源码
编译成功后,执行程序生成目录 install/rknn_yolov5_demo_Linux/
拷贝程序到开发板
目前 rknn_yolov5_demo_Linux 的 /lib 需要使用主板上 /rockchip-test/npu2/rknn_yolov5_demo_Linux/lib
拷贝方式可用U盘、网络等
若不想要编译,可从网盘目录获取可执行程序 1-SDK Source 软件源码/demo/rknn_yolov5_demo_Linux.tar.gz
运行示例:
程序运行
程序运行命令
RK356X只能运行到7帧/秒,可自行优化程序性能
程序运行界面

4. 解析摄像头视频流
硬件环境
测试环境:RK3568 Debian11
目前 RK3568、RK3588 可使用此demo
Ubuntu系统库适配有问题,暂时无法使用
示例程序测试
YOLOV5S目标检测 示例程序 已内置在Debian11文件系统
进入示例程序目录
运行示例程序
运行时间过长会因内存不足,终止进程
获取示例程序源码
与解析本地视频流使用demo为同一个,故源码参考解析本地视频流
Last updated