RK3399pro使用npu部属yolov5目标检测

        最近的任务是用C++在板子上部属目标检测算法,板子的完整名称是AIO-3399pro-JD4,如果你的核心板是3399pro,那使用方法应该是一样的。

        先吐槽一下firefly供应商的文档乱七八糟,各版本也不兼容,驱动的使用方法也没有教程的,而且问FAE技术支持回答也是有一句没一句。所以我有必要记录一下。

        板子的连接方法可以通过网线,或者adb连接,ubuntu其实就是连接typeC接口,然后通过下面命令连接即可。

adb shell

软件方面需要明确几个概念:

        1、固件,系统固件和驱动固件,一般是img等文件格式,其实就是要烧录的系统和驱动包。

        2、rknpu,开发板硬件npu的驱动程序,一般在npu_fw文件夹下,可以 通过locate命令查看一下。

        3、rknn toolkit,rknn即瑞星微npu上使用的神经网络模型,rknn toolkit是其python开发包,onnx格式模型转出rknn需要用到。

        4、rknn api,rknn的C++开发包。

         要想使用npu部属深度学习算法,要安装系统固件和rknpu和rknnapi,rknn toolkit作为转换工具可以装在电脑上。rknpu驱动,rknn toolki和rknn api版本最好要一致,不一致的版本也许能成功也许不行,具体可以尝试(博主1.7.3rknpu运行1.7.5的代码没问题)。

        我首先参考的是知乎链接yolov5-6.2 在 rk3399pro 上的移植,但是最终没有实现,在yolov5模型export转换的时候有问题,导致后面onnx转rknn出现错误。可以参考一下,里面一些解释写的很清楚,虽然复现有bug。

        根据我的步骤应该不会有错误,正式的训练和部属流程分为以下几个步骤:1. 标注数据和训练yolov5模型;2.模型导出ONNX;3.ONNX导出RKNN;4.模型部属C++端。

        1、标注数据和模型训练

        训练环境的安装就正常安装yolov5的环境。数据标注使用工具label

在 Orange Pi 5 Plus 上使用 Rockchip RK3588S 的 NPU 加速 YOLOv5 模型推理,可以通过以下步骤实现高效的部署与推理加速: ### 1. 硬件环境准备 Orange Pi 5 Plus 搭载了 RK3588S 芯片,其内置的 NPU 支持高达 6 TOPS 的算力[^1]。为确保顺利运行 YOLOv5 模型,需确保开发板系统镜像已安装支持 NPU 驱动的版本,例如 Armbian 或 Ubuntu。 ### 2. 安装 RKNN 工具链 Rockchip 提供了 RKNN 工具链,用于将深度学习模型转换为 RKNN 格式以适配 NPU。首先需安装 RKNN SDK: ```bash pip install rknn-toolkit2 ``` 安装完成后,可通过 Python 脚本加载 YOLOv5 模型并进行转换。 ### 3. 模型转换 使用 RKNN 工具链将 YOLOv5 的 `.pt` 模型文件转换为 `.rknn` 格式: ```python from rknn.api import RKNN # 创建 RKNN 对象 rknn = RKNN() # 加载 ONNX 模型 rknn.config(mean_values=[[0, 0, 0]], std_values=[[255, 255, 255]], target_platform='rk3588') rknn.load_onnx(model='./yolov5s.onnx') # 构建模型 rknn.build(do_quantization=True, dataset='./dataset.txt') # 导出 RKNN 模型 rknn.export_rknn('./yolov5s.rknn') ``` ### 4. 部署与推理 将生成的 `.rknn` 文件部署到 Orange Pi 5 Plus 上,并通过 RKNN API 进行推理: ```python # 初始化 RKNN 运行时 rknn.init_runtime() # 加载图像 img = cv2.imread('test.jpg') # 推理 outputs = rknn.inference(inputs=[img]) ``` ### 5. 性能优化 为提升推理速度,建议启用 NPU 的量化功能,使用 8-bit 整型精度进行推理。同时,可利用 RK3588S 的多核 CPU 协同处理图像预处理与后处理任务,实现整体性能优化。 ### 6. 功耗管理 RK3588S 的 NPU 在 6 TOPS 算力下功耗仅为 1.2W,结合 Orange Pi 5 Plus 的高效散热设计,可在低功耗下实现高帧率推理[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值