0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—NPU开发案例

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2025-09-30 15:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前 言

本文主要介绍基于创龙科技TL3588-EVM评估板的NPU开发案例,适用开发环境如下。

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware16.2.5

开发环境:Ubuntu20.04.6 64bit

U-Boot:U-Boot-2017.09

Kernel:Linux-5.10.160

Debian:Debian11

LinuxSDK:LinuxSDK-[版本号](基于rk3588_linux_release_v1.2.1_20230720)

无特殊说明情况下,本文默认使用USB TO UART2作为调试串口,使用系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接,请确保PC机、Ubuntu系统可正常访问互联网。

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

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

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

(3)6TOPS算力。

备注:更多详细信息请查看“6-开发资料数据手册核心板元器件CPU”目录下的文档。

NPU开发流程如下:

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

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

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

wKgZPGf-_LuAcJWFAACkJaE3Q_4995.png图 1 NPU开发流程图

关于RKNN-Toolkit2模型转换使用说明、混合量化、精度问题排查的详细介绍,可查看LinuxSDK源码"external/rknn-toolkit2/doc/"目录下的"Rockchip_User_Guide_RKNN_Toolkit2_CN-1.5.0.pdf"与"Rockchip_User_Guide_RKNN_Toolkit2_EN-1.5.0.pdf"文档。

wKgZPGjbhOOAF_hTAAD9HLafjOg558.png图 2

关于RKNN API的详细使用说明可查看LinuxSDK源码"external/rknpu2/doc/"目录下的"Rockchip_RKNPU_User_Guide_RKNN_API_V1.5.0_CN.pdf"与"Rockchip_RKNPU_User_Guide_RKNN_API_V1.5.0_EN.pdf"文档。

wKgZO2jbhOuABIvxAACgl4DIjZs231.png图 3

我司提供的NPU开发案例为产品资料“4-软件资料Demoplatform-demosyolov5_object_detect”,具体说明如下。

wKgZO2jbhP6AE6HHAAASHpl9Aj4649.png

案例说明

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

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

wKgZO2jbhRCAcjfCAACOyc8kWEw152.png图 4

程序处理流程图如下:

wKgZPGf-_OiAClqfAAFH62S-ZN4085.png图 5

案例测试

请通过网线将评估板千兆网口ETH0连接至路由器。

wKgZPGjbhRyAThYWAAXcSUTgcwk719.png图 6

请将案例bin目录下的所有文件拷贝至评估板文件系统任意目录下。

wKgZO2jbhSOANfgCAAAOKJaI1HY507.png图 7

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

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

Target# ./yolov5_object_detect yolov5s-640-640_rm_transpose_rk3588.rknn bus.jpg

wKgZPGjbhSyADyMQAACIG0ZWRUU749.png图 8

从输出信息可知,本案例程序识别出测试图片包含4个person和1个bus对象,运行1次模型耗时为23.905000ms;循环运行10次模型平均耗时为21.356800ms。

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

wKgZO2jbhTWADh4sAAASdVaSoF8941.png图 9

wKgZPGjbhTWAEA65AAkcDAvtC3w272.png图 10 bus.jpg

wKgZPGjbhTWALM9FAAk7-ZgEt5A571.png图 11 out.jpg

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

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

wKgZPGjbh-OAMcfNAAA50gEtM8g314.png图 12

案例编译

环境搭建

打开Ubuntu,执行如下命令,安装NPU案例开发所需的Python3工具及依赖库。

Host# sudo apt-get install python3 python3-dev python3-pip

Host# sudo apt-get install libxslt1-dev zlib1g zlib1g-dev libglib2.0-0 libsm6 libgl1-mesa-glx libprotobuf-dev

wKgZO2jbiCmAKRq9AAIE34EneGk331.png图 13

wKgZPGjbiCmAXR8SAAG4tnlWsrI350.png图 14

执行如下命令,安装NPU案例开发所需的cmake和virtualenv工具。

Host# sudo apt install cmake

Host# sudo apt install virtualenv

wKgZO2jbiEKASNkXAAGcvXZUps0054.png图 15

执行如下命令,使用virtualenv工具创建虚拟环境并进入虚拟环境。

Host# virtualenv -p /usr/bin/python3 virtual //创建虚拟环境

Host# source virtual/bin/activate //进入虚拟环境

备注:虚拟机可能存在多个Python版本,由于虚拟机环境问题可能导致库安装不成功或成功亦无法找到库,因此建议使用虚拟环境安装库。virtual可任意命名,指定目录创建,若无指定目录则默认当前目录。

wKgZO2jbiEmAXHjkAACprWwe2PE998.png图 16

执行如下命令,进入LinuxSDK源码"rk3588_linux_release_v1.2.1/external/rknn-toolkit2/"目录,安装案例相关依赖库。

Host# cd /home/tronlong/RK3588/rk3588_linux_release_v1.2.1/external/rknn-toolkit2/

Host# pip3 install six~=1.15.0

Host# pip3 install typing-extensions~=3.7.4

Host# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r doc/requirements_cp38-1.5.0.txt

Host# pip3 install packages/rknn_toolkit2-1.5.0+1fa95b5c-cp38-cp38-linux_x86_64.whl

wKgZPGjbiFKAekebAAJFWNDHA0c471.png图 17

wKgZO2jbiFKAR-RnAAJ8-d4Hru8827.png图 18

wKgZPGjbiFOALbYZAAIzdP66wf8079.png图 19

在当前目录下,执行如下命令,若无报错信息,则表示安装成功,如下图所示。按下"Ctrl + D"即可退出测试。

Host# python3

from rknn.api import RKNN

wKgZO2jbiGiADkFiAABa9YtZl98322.png图 20

执行如下命令,可退出虚拟环境。

Host# deactivate

wKgZPGjbiHCAC-VdAAA-Ohxsvns959.png图 21

模型转换

打开Ubuntu,执行如下命令,进入虚拟环境。

Host# source virtual/bin/activate

wKgZPGjbiHiAF-2jAAAaf4e-7A0757.png图 22

将案例src源码目录拷贝至Ubuntu工作目录下,进入源码目录的model目录,执行如下命令进行模型转换,将ONNX模型转化为RKNN模型。模型转化成功后将会在当前目录下新生成rknn_models目录,并在rknn_models目录下生成RKNN模型。

Host# cdmodel/

Host# python3 onnx2rknn.py

wKgZO2jbiIGAS3EvAAIdiER597g291.png图 23

模型转化成功后执行如下命令,退出虚拟环境。

Host# deactivate

wKgZO2jbiIiACHXfAAA5ztim3HA960.png图 24

案例编译

在案例src源码目录下,执行如下命令配置编译环境,并修改CMakeLists.txt文件,请根据实际情况修改为LinuxSDK源码路径。

Host# source /home/tronlong/RK3588/rk3588_linux_release_v1.2.1/debian/sysroots/environment

Host# viCMakeLists.txt

wKgZO2jbiJSADXoWAABuekZ2tSU627.png图 25

wKgZPGjbiJSAFgiPAAE559KIdBo192.png图 26

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

Host# mkdir -p build

wKgZO2jbiKaAYD0-AABgO4P7U2A416.png图 27

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

Host# cd build

Host# cmake ../

Host# make -j8

Host# make install

wKgZO2jbiLCAEnvyAAKSCb0kXVQ602.png图 28

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

wKgZO2jbiLiAQltJAADNxpFfnc0532.png图 29

关键代码

(1)加载图片RGB数据。

wKgZPGjbiMSAQO6XAAAw5bIxCFE124.png图 30

(2)加载模型并初始化RKNN。

wKgZO2jbiM2AOLuKAAAnmoPZXO8282.png图 31

(3)前处理,对图像进行缩放和裁剪以适配模型输入。

wKgZO2jbiNmAYP5iAABuaK0PCqY270.png图 32

(4)设置模型运行输入输出参数,NPU运行模型,获取模型输出,统计运行耗时。

wKgZO2jbiOCAEezyAAAyUbTQTl8662.png图 33

(5)进行后处理,得到目标识别结果。

wKgZPGjbiOeALXT3AABGRrsvllo398.png图 34

(6)使用目标识别结果给图片添加水印,并保存为图片文件。

wKgZPGjbiO6ARI94AABXN2mE96M572.png图 35

(7)重复运行10次模型并统计平均耗时。

wKgZO2jbiPWACEMXAABcznHpPx8885.png图 36


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    26

    文章

    6152

    浏览量

    113982
  • NPU
    NPU
    +关注

    关注

    2

    文章

    360

    浏览量

    20861
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK3588 国产2.4GHz 工业开发板—ISP图像处理开发案

    龙科技研发的 TL3588-EVM 评估具备强大视频处理能力,可满足多场景视频开发需求。为助力开发者快速上手,本文整理 7 个实用视频
    的头像 发表于 10-21 15:57 426次阅读
    <b class='flag-5'>创</b><b class='flag-5'>龙</b> <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK3588</b> <b class='flag-5'>国产</b><b class='flag-5'>2.4GHz</b><b class='flag-5'>八</b><b class='flag-5'>核</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—ISP图像处理<b class='flag-5'>开发案</b>例

    RK3588 国产2.4GHz 工业开发板—视频图像处理框架

    龙科技研发的 TL3588-EVM 评估依托 RK3588/RK3588J SoC 强大的视频图像处理能力,可满足多场景图像应用需求。为
    的头像 发表于 10-16 11:45 648次阅读
    <b class='flag-5'>创</b><b class='flag-5'>龙</b> <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK3588</b> <b class='flag-5'>国产</b><b class='flag-5'>2.4GHz</b><b class='flag-5'>八</b><b class='flag-5'>核</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—视频图像处理框架

    RK3588 国产2.4GHz 工业开发板—调试工具安装

    本文围绕龙科技研发的 RK3588 工业开发板
    的头像 发表于 09-16 14:35 521次阅读
    <b class='flag-5'>创</b><b class='flag-5'>龙</b> <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK3588</b> <b class='flag-5'>国产</b><b class='flag-5'>2.4GHz</b><b class='flag-5'>八</b><b class='flag-5'>核</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—调试工具安装

    北京迅为itop-3588开发板NPU例程测试LPRNet车牌识别

    北京迅为itop-3588开发板
    的头像 发表于 07-23 14:14 1074次阅读
    北京迅为itop-<b class='flag-5'>3588</b><b class='flag-5'>八</b><b class='flag-5'>核</b><b class='flag-5'>开发板</b><b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>NPU</b>例程测试LPRNet车牌识别

    迅为RK3588开发板Linux安卓麒麟国产工业AI人工智能

    迅为RK3588开发板Linux安卓麒麟国产工业
    发表于 07-14 11:23

    国产 RK3576 ARM 2.2GHz 工业开发板—LVGL应用开发案

    本文主要基于评估演示LVGL应用开发案例,适用开发环境如下。龙科技 TL3576-EVM 是一款基于
    的头像 发表于 06-23 15:17 601次阅读
    全<b class='flag-5'>国产</b>!<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK</b>3576 ARM <b class='flag-5'>八</b><b class='flag-5'>核</b> 2.2<b class='flag-5'>GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—LVGL应用<b class='flag-5'>开发案</b>例

    迅为iTOP-3588开发板/核心

    性能强 iTOP-3588开发板采用RK3588处理器,是全新- -代AloT高端 应用芯
    发表于 04-16 17:02

    迅为iTOP-RK3588S开发板/核心RK3588S处理器6TOPS算力内置NPU

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 04-10 11:13

    iTOP-3588开发板采用RK3588处理器四核心架构GPU内置独立NPU强大的视频编解码

    性能强 iTOP-3588开发板采用RK3588处理器,是全新- -代AloT高端 应用芯
    发表于 04-09 16:09

    国产RK35882.4GHzAI 6T NPU 8K麒麟)工业核心规格书

    核心简介龙科技SOM-TL3588是一款基于RK3
    的头像 发表于 03-11 09:12 2648次阅读
    全<b class='flag-5'>国产</b>!<b class='flag-5'>RK3588</b>(<b class='flag-5'>2.4GHz</b><b class='flag-5'>八</b><b class='flag-5'>核</b>AI 6T <b class='flag-5'>NPU</b> 8K麒麟)<b class='flag-5'>工业</b>核心<b class='flag-5'>板</b>规格书

    迅为iTOP-RK3588S开发板/核心6TOPS的NPU算力视频编解码8K编码+8K解码

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 02-20 14:24

    Banana Pi开源社区基于RK3588开发板,DeepSeek开发利器

    BPI-AIM7采用 RK3588,新一代旗舰64位处理器,主频高达
    发表于 02-19 18:27

    Banana Pi开源社区基于RK3588开发板,DeepSeek开发利器

    Banana Pi开源社区基于RK3588开发板,DeepSeek开发利器
    的头像 发表于 02-19 18:25 3312次阅读
    Banana Pi开源社区基于<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>,DeepSeek<b class='flag-5'>开发</b>利器

    迅为RK3588S开发板/核心介绍

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 02-13 14:40

    迅为RK35883588S开发板/核心选型硬件的区别

    S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片,搭载
    发表于 12-20 15:40