RK3562J是瑞芯微最新推出的一款超高性价比工业处理器,四核Cortex-A53@1.8GHz + Cortex-M0@200MHz异构多核架构,并支持十路UART、两路CAN、两路网口、三种显示、双路Camera等,外设接口资源十分丰富,是RK3568J处理器降成本、降功耗的首选平台,在工商业储能EMS、通讯管理机、运动控制器、AGV机器人、车载数据网关等场景被广泛应用。
近期,瑞芯微在RK3562J处理器上正式开放NPU功能,使RK3562J的应用领域进一步拓展到机器视觉、工业相机、目标识别等领域,性价比得到进一步提升。创龙科技RK3562核心板(商业级)含税价格一片起仅168元,性价比还是蛮高的,并且此平台目前已被超过500家工业客户选用,得到了用户的广泛好评。
RK3562J NPU简介
瑞芯微RK3562J是一款超高性价比国产工业级处理器,内置超强算力NPU,算力高达1TOPS,能够实现高效的神经网络推理计算。RK3562J的NPU支持多种数据类型,包括INT4、INT8、INT16、FP16等,兼容TensorFlow、PyTorch、Caffe、MXNet等深度学习框架,能够为开发者提供丰富的工具和库,使他们能够方便地进行模型训练和推理,可轻松应对各种大数据运算场景。
RK3562J 典型应用场景
RK3562J NPU开发流程
第一步:模型训练
首先需要收集并准备训练数据,选择适合的深度学习框架(如TensorFlow、PyTorch、Keras等)训练模型或使用官方提供的模型。
第二步:模型转换
完成模型训练后,使用RKNN-Toolkit2将预训练模型转换为RK3562J NPU可使用的RKNN模型。这通常涉及到将模型中的计算图进行适当的修改和优化,以适应NPU的硬件架构和指令集。
第三步:应用开发
基于RKNN API开发应用程序。开发阶段需要根据具体需求,将转换后的模型集成到应用程序中。
RK3562J NPU开发案例
本文主要介绍基于RK3562J的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.198
LinuxSDK:LinuxSDK-[版本号](基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220)
硬件平台:创龙科技TL3562-EVM工业评估板(基于RK3562J)
为了简化描述,本文仅摘录部分方案功能描述与测试结果,详细产品资料可以通过公众号(Tronlong创龙科技)下载。
案例说明
案例基于RKNN API实现对图片中目标对象的识别,并将识别结果以加水印的方式添加至图像,然后保存成图片文件。案例进行10次循环测试,统计出推理的平均处理耗时。
程序处理流程图如下:
案例演示
通过网线将评估板千兆网口ETH0 RGMII连接至路由器。
在可执行文件所在目录,执行如下命令,对图片bus.jpg目标对象进行模型推理。
备注:模型运行的时间会有抖动。
Target#./yolov5_object_detect yolov5s-640-640_rk3562.rknn bus.jpg
从输出信息可知,本案例程序识别出测试图片bus.jpg中包含person、car、bus、truck对象,运行1次模型耗时约为70.18ms;循环运行10次模型平均耗时约为54.56ms。
案例程序对测试图片bus.jpg的目标对象标记成功后将输出标记图片out.jpg至当前目录,将out.jpg文件拷贝至Windows下,并使用PC端相关软件对比查看bus.jpg与out.jpg,结果如下所示。
不难看出,图8的案例程序是能够清晰准确地框选出人物、汽车、巴士、卡车,同时显示person、car、bus、truck文字标签和置信度,标记出对象的数量等信息。
到这里,简单的NPU开发演示案例就结束了,想要查看更多RK3562J相关的案例演示,欢迎各位工程师关注公众号(Tronlong创龙科技)并下载,快来试试吧!