Orange Pi 5 Plus实测:RK3588 NPU执行AI应用的效能如何?

opi 5 plus的soc为 rockchip rk3588 八核(4个cortex-a76+4个cortex-a55)架构的 64位处理器, 主频达 2.4ghz 并带有 mali-g610 gpu,除此之外的亮点还包括了一个 6 tops 算力的 npu,支持tensorflow、pytorch 等常见框架转换,使其能够作为处理 ai 影像的边缘装置。开发板上的周边也相当丰富,包含 2 ports 2.5gb ethernet、3 ports hdmi (2out + 1in)、5 ports usb、 m.2 e-key 等高速接口。从硬件数据看来相较树莓派而言可说是全面性的碾压,那么实际使用如何,一起往下看看!
怎么玩?
opi 5 plus 支持多种操作系统,包含 ubuntu、debian、android 与官方自研的 orange pi os 等, 各位可以自行挑选喜欢的 image 映像下载后烧录到 sd card 启动。笔者这里选择兼容性较好的 ubuntu ,同时得利于open source 的优势,安装的是非官方的ubuntu 22.04 社群版本。烧录完 sd card 放入opi 5 plus 再接上荧幕键盘网络线等,上电后后经过初始化设定即可以看到gnome 的桌面界面以及那只可爱的幸运水母。
就如同树莓派一样,当操作系统安装完成后就能够当作一般个人计算机使用,或是作为多媒体应用,甚至是搭载到移动载具上都行。由于使用的是 ubuntu系统,软件套件支持性也相当丰富。笔者实际使用 chromium 浏览器开启 youtube 4k 串流进行测试,顺畅度可以说是明显比树莓派好上许多,也没有任何影格丢失(frame drop)的现象!
神经网络运算单元 npu
凭借着 rk3588 处理器的强大效能,若使用 opi 5 plus只是做 cpu 运算就稍微可惜了,笔者本篇的最主要目的就是要体验rockchip的npu执行ai应用的效能如何。官方在 github 上有提供对应 rk3588 npu 的 library 与范例程序 rknpu2, 可以直接在 opi 5 plus 安装并呼叫 npu 执行,以下记录安装过程供各位参考。由于范例程序为 c++ 语言需要进行编译,先执行系统更新并安装必要套件:
从 github 下载 repo:
范例程序包含 api 的使用与 mobilenet 及 yolov5,选择 yolov5 范例进行编译:
执行范例,带入官方预训练的 yolov5 模型档 “yolov5s-640-640.rknn” 与推论图片 “bus.jpg”:
完成后会产生输出档案 “out.jpg”,开启后看到如下图示,主要物件接有被侦测并标记出来:
(opi5 plus 执行 yolov5 图片推论结果)
若是第一次执行系统可能没有安装 rknn 的 runtime library,会出现找不到 .so 动态连结 library 导致执行失败,可以将此档案库提供的 library 复制到系统路径:
yolov5 实时影像推论
官方的范例并没有提供从 webcam 撷取影像进行推论的范例,但大家可以参考社群上这一篇教学的内容进行实作。准备好一个 uvc webcam 插上 opi 5 plus 的 usb 孔,输入指令安装 opencv 相依套件:
移动到 rknpu2 yolov5 范例的路径:
下载社群 maker 提供的 cmakelist.txt 并复制到此目录下;下载社群 maker 提供的 main.cc 并复制到 src 目录下。再次编译程序码:
完成后动到安装路径执行范例程序,输入下方指令执行。指令带入第三个参数 “2” 代表使用 /dev/video2 的装置,“1280” 代表影像的宽度,“720” 则代表影像的高度,可以依各位实际的情况调整。
实际测试的结果在 1280×720 hd 影像下的推论有 10 fps,若是将分辨率改为 640×480 则可以达到接近 20 fps。但从 log 看来执行推论的过程约只耗费 20ms 左右,其余的时间则是耗费在影像的处理与显示上了,效能可说是相当不赖。
模型转换工具 rknn-toolkit2
上述的推论范例使用官方预训练的 rknn 模型档,若是想要自行将不同框架的模型转成 rknn 在 opi 5 plus 上推论,就必须透过官方提供的 rknn-toolkit2 这个工具。此工具必须要在 x86 的pc上执行,作业系统要求为 ubuntu 18.04 以上,python 3.6 以上,笔者的测试环境为 ubuntu 22.04,python 3.10。 第一步也是要安装必要套件:
建立 python 虚拟环境:
下载 rknn-toolkit2:
安装相依套件:
安装 rknn-toolkit2 python 模块:
至此套件已安装完成,在此 toolkit 中也有提供一些范例来转换 pytorch、tensorflow、caffe、onnx 等不同框架的模型,可以进入到各范例中执行模型转换,举例而言要执行 tensrflow 的转换范例可以输入以下指令:
这个指令会把目录下的 “ssd_mobilenet_v1_coco_2017_11_17.pb” tensorflow 预训练模型转换成 npu 可执行的模型 “ssd_mobilenet_v1_coco.rknn”,并且会读取目录中的 “road.bmp” 档案进行推论测试。完成后即可把 rknn 模型传送到 rockchip 的单板计算机上执行了。
opi 5 plus 执行 teachable machine 转换后的 rknn 模型
除了 rknn toolkit2 内建的范例外,笔者也成功地把 teachable machine 汇出的 tf.lite 模型转换为 rknn 模型并且在 opi 5 plus 上执行。简易流程如下:
·在 teachable machine 训练模型,并汇出为 tf.lite 未量化格式
·将tf.lite 模型传送到执行 rknn-toolkit2 的ubuntu pc。路径为 “rknn-toolkit2/examples/tflite/mobilenet_v1/”
·修改 “test.py” 档案,在呼叫 “rknn.config” api 增加指定 traget_platfrom为”rk3588”,并修改 “rknn_load_rflite” api 所指定的 model 名称为刚刚传入的文件名称,如下图:
·执行 python3 test.py 转换模型,笔者也同时将 test.py 测试推论的图档改为训练资料图档,输出结果如下图,可以明确分类出图像。
·将 rknn 档案复制起来,并传送到 opi 5 plus
·执行 opi 5 plus 的推论测试,结果如下图,可以正确的分类图片。
如此一来可以轻松地将 teachable machine 客制化训练的模型放到 opi 5 plus 上执行了!
小结——展望未来想象空间更大
整体而言, orange pi 5 plus 适合作为智慧机上盒、智慧显示、nvr 等相关应用,具备双 gbe 网口与多路影像输出输入是其特色。除此之外rockchip的产品线近期已陆续搭载了npu,让对应的单板计算机更具备竞争力,除了 cpu 核心效能本身就还不错之外,还足以处理轻度物件侦测与影像分类等 ai 应用。唯独在 npu 工具的使用上还是稍微卡手了一些,python 文件说明也未齐全,这将直接影响 maker玩家投入开发的意愿程度。未来若能提供更人性化、更合宜的npu开发者工具,再加上处理器本身的优异性能,可能将对边缘运算的市场造成一股破坏性的浪潮。
(以上素材来源于felix)

国微感知发布第二代压力分布测量系统
医疗电源的选择
pcb的核心问题怎么解决
应用气体传感器:“闻”排遗臭气监测人体健康
OPC UA SDK快速扩展VIMANA智能制造软件连接性
Orange Pi 5 Plus实测:RK3588 NPU执行AI应用的效能如何?
一位Java工程师的找工作经历
参数指标Agilent安捷伦N5764A直流电源N5762A
锟元方青智慧病理诊断系统获由华为颁发的技术认证书
苏泊尔电磁炉e4故障原因及解决
JBL炫彩音箱为你解锁视觉与听觉的双重演奏
特斯拉甩锅国家电网?
Diodes优化互补式MOSFET提升降压转换器功率密度
一拖二100W快充数据线
浅谈PCB无铅喷锡与有铅喷锡的区别
能促使伤口痊愈的创伤治疗设备中压力传感器的作用
[组图]业余调频发射电路集萃
什么是电容,电容的单位介绍
一种简易PWM温控风扇电路设计
奥地利微电子推出新款主动降噪芯片AS3400和AS3420