打印

基于RK3588的NPU案例分享!6T是真的强!

[复制链接]
1663|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Tronlong创龙 于 2024-2-27 09:21 编辑

RK3588NPU
作为瑞芯微新一代旗舰工业处理器,RK3588 NPU性能可谓十分强大,6TOPS设计能够实现高效的神经网络推理计算。这使得RK3588在图像识别、语音识别、自然语言处理等人工智能领域有着极高的性能表现。
此外,RK3588的NPU还支持多种学习框架,包括TensorFlow 、PyTorch、Caffe、MXNet等在人工智能开发中流行的深度学习框架,能够为开发者提供丰富的工具和库,使他们能够方便地进行模型训练和推理,可轻松应对各种大数据运算场景。

RK3588 NPU典型工业应用

图1

目标识别跟踪在视频监控和无人驾驶领域,RK3588可提供6TOPS高性能NPU算力,可实时处理高清视频流、目标检测、识别和跟踪。其强大的计算能力可满足复杂场景下的实时处理需求,提高监控系统的准确性和反应速度。
AGV机器人RK3588的NPU可提供强大的视觉处理能力,可帮助AGV机器人实现高效的路径规划和避障,提高运输效率和安全性。
医疗内窥镜RK3588的NPU可提供图像识别和分析的能力,帮助医生快速准确地诊断疾病。其深度学习推理能力可辅助医生进行图像识别和病灶检测,提高诊断的准确性和效率。
高速收费终端:RK3588的NPU可提供车牌识别和计费的处理能力,实现高速路上的无人化收费,提高交通效率和安全性。
车载环视系统:RK3588的NPU可处理多个摄像头采集的图像数据,实现车辆周围环境的360度监控,帮助车辆进行障碍物检测、碰撞预警和自动泊车等功能。

RK3588 NPU开发流程
第一步模型训练
首先需要收集并准备训练数据,选择适合的深度学习框架(如TensorFlow、PyTorch、Keras等)进行模型训练或使用官方提供的模型。
第二步模型转换
完成模型训练后,使用RKNN-Toolkit2将预训练模型转换为RK3588 NPU可使用的RKNN模型。这通常涉及到将模型中的计算图进行适当的修改和优化,以适应NPU的硬件架构和指令集。
第三步应用开发
基于RKNN API开发应用程序。开发阶段需要根据具体需求,将转换后的模型集成到应用程序中。


图2 NPU开发流程框图

RK3588 NPU开发案例分享
案例说明
本案例基于RKNN API实现对图片中目标对象的识别,并将识别结果以加水印的方式添加至图像,并保存成图片文件。案例循环测试10次,统计出推理的平均处理耗时。测试基于创龙科技RK3588工业评估板TL3588-EVM进行。
备注:本案例基于瑞芯微官方例程实现,进行了目录的重构及编译的简化,功能逻辑未进行修改。官方例程位于LinuxSDK源码"external/rknpu2/examples/rknn_yolov5_demo/"目录下。

图3

程序处理流程框图如下:

图4

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

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

图6

在可执行文件所在目录,执行如下命令,对图片目标对象进行模型推理。
备注:模型运行的时间会有抖动。
Target#./yolov5_object_detect yolov5s-640-640_rm_transpose_rk3588.rknn bus.jpg

图7

从输出信息可知,本案例程序识别出测试图片包含4个person和1个bus对象,运行1次模型耗时为23.905000ms;循环运行10次模型平均耗时为21.356800ms。
案例程序对测试图片的目标对象标记成功后将输出名称为out.jpg的标记图片至当前目录,请将out.jpg文件拷贝至Windows下,并使用PC端相关软件对比查看bus.jpg与out.jpg,测试结果如下所示。

图8


图9 bus.jpg


图10 out.jpg
从out.jpg图片可知,案例程序能正确框选出4位人物和1辆汽车,同时显示person、bus文字标签和置信度,标记对象的数量及信息等与程序打印信息一致。
本程序能够支持识别的目标数据集类型说明位于bin目录下的coco_80_labels_list.txt文件,用户可根据相关目标类型进行测试验证。

图11


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

244

主题

250

帖子

4

粉丝