RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战

伍华  2026-03-19 11:59:52  阅读 9 次

前 言

本文是创龙科技推出的 RK3562 单板机 NPU 开发手册,聚焦神经网络处理器AI 模型部署与实战应用。文档基于 RKNN 推理框架,详细介绍 NPU 开发流程,含模型转换、应用开发及 yolov5_object_detect 目标检测案例。创龙科技通过清晰的环境配置、案例测试与关键代码解析,助力开发者快速掌握 INT4/INT8 等量化模型部署技能,充分发挥 RK3562 单板机 1TOPS 算力优势,适配智能识别、边缘计算等嵌入式 AI 场景。

开发环境

Windows开发环境:Windows7 64bit、Windows10 64bit、

Linux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit

sysroot:rk3562-Tronlong-Desktop-20.04-sysroot-[版本号].tar.gz

系统版本:Tronlong-Desktop20.04(类Ubuntu)、Linux-5.10.209、U-Boot-2017.09

备注:本文基于2GByte LPDDR4X、16GByte eMMC配置单板机进行演示。

术语表

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战

注意事项

(1)无特殊说明情况下,本文默认从eMMC启动系统,使用DEBUG作为调试串口。

(2)请先参考《应用开发手册》“开发环境搭建说明”章节完成应用开发环境搭建,并参考《系统使用手册》附录“系统组件安装说明”安装OpenCV。

(3)我司提供的NPU开发案例位于产品资料“4-软件资料Demoplatform-demos”目录,具体说明如下。

1NPU开发说明

NPU(Neural network Processing Unit),即神经网络处理器。RK3562内部已集成高能效神经网络处理器NPU,支持神经网络推理硬件加速,能够流畅运行AI算法。主要参数如下:

(1)支持INT4/INT8/INT16/FP16等;

(2)支持多种框架,如TensorFlow、MXNet、PyTorch、Caffe等;

(3)1TOPS算力。

备注:更多详细信息请查看“6-开发参考资料数据手册SBC-TL3562单板机元器件”目录下的文档。

为简化开发者在AI模型部署与优化过程中的工作量,瑞芯微官方提供了核心开发工具包RKNN-Toolkit2。工具包针对不同类型的AI模型和应用场景,提供了从模型转换、量化到推理部署的一站式解决方案。

RKNN-Toolkit2是瑞芯微官方推出的用于模型转换、量化、推理和性能评估的开发工具包,支持将预训练的深度学习模型转换为瑞芯微NPU(神经网络处理单元)专用的RKNN格式,并在其芯片平台上高效部署。

开发流程如下:

a)模型训练:用户根据需求自行训练模型或使用官方提供的模型;

b)模型转换:使用RKNN-Toolkit2将预训练模型转换为RK3562 NPU可使用的RKNN模型;

c)应用开发:基于RKNN API开发应用程序。

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 1NPU开发流程图

关于RKNN-Toolkit2环境搭建、模型转换使用说明、混合量化、精度问题排查的详细介绍,可查看yolov5_object_detect案例"toolsrknn-toolkit2.tar.gz"压缩包的"rknn-toolkit2doc�2_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.0.0beta0_CN.pdf"文档。

关于RKNN-Toolkit2模型转换API接口说明,可查看yolov5_object_detect案例"toolsrknn-toolkit2.tar.gz"压缩包的"rknn-toolkit2doc�2_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.0.0beta0_CN.pdf"文档。

关于RKNN API的详细使用说明,可查看yolov5_object_detect案例"toolsrknn-toolkit2.tar.gz"压缩包的"toolrknn-toolkit2doc�4_Rockchip_RKNPU_API_Reference_RKNNRT_V2.0.0beta0_CN.pdf"文档。

2yolov5_object_detect案例

2.1案例说明

本案例基于RKNN API实现对图片中目标对象的识别,并将识别结果以加水印的方式添加至图像,并保存为图片文件。案例循环测试10次,统计出推理的平均处理耗时。

备注:本案例基于瑞芯微官方例程实现,进行了目录的重构及编译的简化,功能逻辑未进行修改。官方例程位于LinuxSDK源码"external/rknpu2/examples/rknn_yolov5_demo/"目录下。

图 2

程序处理流程图如下:

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 3

2.2案例测试

在进行案例测试前,请先参考《系统使用手册》中的“系统组件安装说明”章节,完成OpenCV组件的安装。

请通过网线将单板机千兆网口LAN1连接至路由器。请将案例bin目录下的所有文件拷贝至单板机系统任意目录下。

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 4

在可执行文件所在目录,执行如下命令,对图片目标对象进行模型推理。

备注:模型运行的时间会有抖动。

Target# ./yolov5_object_detect yolov5s-640-640_rk3562.rknn car.jpg

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 5

从输出信息可知,本案例程序识别出测试图片包含person、car、bus、truck等对象,运行1次模型耗时为76.223000ms;循环运行10次模型平均耗时为52.386902ms。

案例程序对测试图片的目标对象标记成功后将输出名称为out.jpg的标记图片至当前目录,请将out.jpg文件拷贝至Windows下,并使用PC端相关软件对比查看car.jpg与out.jpg,测试结果如下所示。

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 6

从out.jpg图片可知,案例程序能正确框选出人物、汽车等物体,同时显示person、car等文字标签和置信度,标记对象的数量及信息等与程序打印信息一致。

本程序能够支持识别的目标数据集类型说明位于案例bin目录下的coco_80_labels_list.txt文件,用户可根据相关目标类型进行测试验证。

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 7

2.3案例编译

将案例src源码目录拷贝至Ubuntu工作目录下,进入源码目录,执行如下命令配置环境变量,并修改CMake配置文件CMakeLists.txt,请根据实际情况修改为sysroot解压路径。

Host# source /home/tronlong/RK3562/environment

Host# vim CMakeLists.txt

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 8

修改内容如下:

set(SDK_ROOT_PATH "/home/tronlong/RK3562")

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图9

执行如下命令,新建一个build目录,用于存放编译过程产生的相关文件,并进入build目录。

Host# mkdir-pbuild

Host# cd build

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 10

执行如下命令进行案例编译,编译完成将会在build目录下生成编译过程产生的相关文件。

Host# cmake ../

Host# make -j8

Host# make install

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 11

build目录存放编译过程产生的相关文件,src目录存放案例相关文件,包括测试图片car.jpg、类别数据集coco_80_labels_list.txt、RKNN模型yolov5s-640-640_rk3562.rknn和可执行程序yolov5_object_detect等文件,如下图所示。

RK3562 单板机神经网络开发指南:NPU 推理框架与目标检测实战 图 12

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注Tronlong创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!

本文地址:https://www.shazhe.cn/huagu1357.html
免责声明:本文为原创文章,版权归 伍华 所有,欢迎分享本文,转载请保留出处!

评论已关闭!