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,源码支持 RK3562RK3566RK3568RK3588,编译出工具可进行图像解析和视频解析

源码路径

(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帧/秒,可自行优化程序性能

  • 程序运行界面

f8944680e7bd81aeec4cbddf2eab4b0

4. 解析摄像头视频流

硬件环境

测试环境:RK3568 Debian11

目前 RK3568、RK3588 可使用此demo

Ubuntu系统库适配有问题,暂时无法使用

示例程序测试

YOLOV5S目标检测 示例程序 已内置在Debian11文件系统

进入示例程序目录

运行示例程序

运行时间过长会因内存不足,终止进程

获取示例程序源码

与解析本地视频流使用demo为同一个,故源码参考解析本地视频流

Last updated