| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| convert_rknn_demo/yolov5/ | H | 05-Jun-2025 | - | 78 | 54 | |
| include/ | H | 05-Jun-2025 | - | 130 | 97 | |
| model/ | H | 05-Jun-2025 | - | 81 | 80 | |
| src/ | H | 05-Jun-2025 | - | 1,255 | 972 | |
| utils/ | H | 05-Jun-2025 | - | 1,903 | 1,397 | |
| CMakeLists.txt | H A D | 05-Jun-2025 | 4 KiB | 139 | 115 | |
| README.md | H A D | 05-Jun-2025 | 3.4 KiB | 128 | 87 | |
| build-android_RK3562.sh | H A D | 05-Jun-2025 | 739 | 36 | 25 | |
| build-android_RK3566_RK3568.sh | H A D | 05-Jun-2025 | 739 | 36 | 25 | |
| build-android_RK3588.sh | H A D | 05-Jun-2025 | 739 | 36 | 25 | |
| build-linux_RK3562.sh | H A D | 05-Jun-2025 | 487 | 24 | 16 | |
| build-linux_RK3566_RK3568.sh | H A D | 05-Jun-2025 | 487 | 24 | 16 | |
| build-linux_RK3588.sh | H A D | 05-Jun-2025 | 487 | 24 | 16 |
README.md
1# Yolo-v5 demo 2 3## 导出rknn模型 4 5请参考 https://github.com/airockchip/rknn_model_zoo/tree/main/models/vision/object_detection/yolov5-pytorch 6 7 8 9## 注意事项 10 111. 使用rknn-toolkit2版本大于等于1.1.2。 122. 切换成自己训练的模型时,请注意对齐anchor等后处理参数,否则会导致后处理解析出错。 133. 官网和rk预训练模型都是检测80类的目标,如果自己训练的模型,需要更改include/postprocess.h中的OBJ_CLASS_NUM以及NMS_THRESH,BOX_THRESH后处理参数。 145. demo需要librga.so的支持,编译使用请参考https://github.com/rockchip-linux/linux-rga 155. 由于硬件限制,该demo的模型默认把 yolov5 模型的后处理部分,移至cpu实现。本demo附带的模型均使用relu为激活函数,相比silu激活函数精度略微下降,性能大幅上升。 16 17 18 19## Android Demo 20 21### 编译 22 23根据指定平台修改 `build-android_<TARGET_PLATFORM>.sh`中的Android NDK的路径 `ANDROID_NDK_PATH`,<TARGET_PLATFORM>可以是RK356X或RK3588 例如修改成: 24 25```sh 26ANDROID_NDK_PATH=~/opt/tool_chain/android-ndk-r17 27``` 28 29然后执行: 30 31```sh 32./build-android_<TARGET_PLATFORM>.sh 33``` 34 35### 推送执行文件到板子 36 37连接板子的usb口到PC,将整个demo目录到 `/data`: 38 39```sh 40adb root 41adb remount 42adb push install/rknn_yolov5_demo /data/ 43``` 44 45### 运行 46 47```sh 48adb shell 49cd /data/rknn_yolov5_demo/ 50 51export LD_LIBRARY_PATH=./lib 52./rknn_yolov5_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn model/bus.jpg 53``` 54 55## Aarch64 Linux Demo 56 57### 编译 58 59根据指定平台修改 `build-linux_<TARGET_PLATFORM>.sh`中的交叉编译器所在目录的路径 `TOOL_CHAIN`,例如修改成 60 61```sh 62export TOOL_CHAIN=~/opt/tool_chain/gcc-9.3.0-x86_64_aarch64-linux-gnu/host 63``` 64 65然后执行: 66 67```sh 68./build-linux_<TARGET_PLATFORM>.sh 69``` 70 71### 推送执行文件到板子 72 73 74将 install/rknn_yolov5_demo_Linux 拷贝到板子的/userdata/目录. 75 76- 如果使用rockchip的EVB板子,可以使用adb将文件推到板子上: 77 78``` 79adb push install/rknn_yolov5_demo_Linux /userdata/ 80``` 81 82- 如果使用其他板子,可以使用scp等方式将install/rknn_yolov5_demo_Linux拷贝到板子的/userdata/目录 83 84### 运行 85 86```sh 87adb shell 88cd /userdata/rknn_yolov5_demo_Linux/ 89 90export LD_LIBRARY_PATH=./lib 91./rknn_yolov5_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn model/bus.jpg 92``` 93 94Note: Try searching the location of librga.so and add it to LD_LIBRARY_PATH if the librga.so is not found on the lib folder. 95Using the following commands to add to LD_LIBRARY_PATH. 96 97```sh 98export LD_LIBRARY_PATH=./lib:<LOCATION_LIBRGA.SO> 99``` 100 101## 视频流Demo运行命令参考如下: 102- h264视频 103``` 104./rknn_yolov5_video_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn xxx.h264 264 105``` 106注意需要使用h264码流视频,可以使用如下命令转换得到: 107``` 108ffmpeg -i xxx.mp4 -vcodec h264 out.h264 109``` 110 111- h265视频 112``` 113./rknn_yolov5_video_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn xxx.hevc 265 114``` 115注意需要使用h265码流视频,可以使用如下命令转换得到: 116``` 117ffmpeg -i xxx.mp4 -vcodec hevc out.hevc 118``` 119- rtsp视频流 120``` 121./rknn_yolov5_video_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn <RTSP_URL> 265 122``` 123 124### 注意 125 126- 需要根据系统的rga驱动选择正确的librga库,具体依赖请参考: https://github.com/airockchip/librga 127- **rk3562 目前仅支持h264视频流** 128- **rtsp 视频流Demo仅在Linux系统上支持,Android上目前还不支持**