赞
踩
近些年随着人工智能的不断快速发展,AI 开发板已经成为很多嵌入式开发者探索智能应用必不可少的开发设备。市场上关于AI 的开发板也是种类繁多,各具特色。香橙派 AIpro 就是其中一颗冉冉升起的新星,吸引着开发者的目光。
接下来,我将从外观设计、硬件配置、软件支持、开发体验、性能表现以及应用潜力等多个维度对香橙派 AIpro 这款开发板进行深入评测。
采用卡片式设计,尺寸107x68mm,重量仅82g。我拿到手的是一个塑料包装盒(为AI 而生),开发板另外配套含有散热器一个,32G TF 卡一张,电源适配器一个(图1)。
从图2可以看出,香橙派 AIpro 和我的iphone xsmax 比小了一大截。对于AI 开发板来说,非常小巧便携。散热器的位置也设计的很好,在开发板正面的主控芯片上方,覆盖面积较广,可以有效的散热。
香橙派 AIpro 基于昇腾 AI 处理器,AI 算力:支持半精度(FP16)4 TFLOPS,整数精度(INT8) 8 TOPS的强大算力。
而且带有丰富的外部拓展接口:一个千兆网口、两个USB3.0接口、一个Type-C数据接口,两个HDMI接口、一个3.5mm耳机孔、一个Type-C供电接口、一个Micro USB、两个MIPI摄像头、一个MIPI屏、同时支持TF卡/SATA/NVMe SSD 2280的M.2插槽、支持 2.4G 和 5G 双频 WIFI 。详细数据请参考如下表格 (用户手册获取)。
Orange AI Pro 开发板硬件规格 | |
昇腾 AI 处理器 | 4 核 64 位 Arm 处理器 + AI 处理器 |
AI 算力 | • 半精度(FP16) : 4 TFLOPS • 整数精度(INT8) : 8 TOPS |
内存 | • 类型: LPDDR4X • 容量: 8GB 或 16GB |
存储 | • 板载 32MB 的 SPI Flash • Micro SD 卡插槽 • eMMC 插座: 可外接 eMMC 模块 • M.2 M-Key 接口: 可接 2280 规格的 NVMe SSD 或 SATA SSD |
以太网 | • 支持 10/100/1000Mbps • 板载 PHY 芯片: RTL8211F |
Wi-Fi+蓝牙 | • 支持 2.4G 和 5G 双频 WIFI • BT4.2 • 模组: 欧智通 6221BUUC |
USB | • 2 个 USB3.0 Host 接口 • 1 个 Type-C 接口(只支持 USB3.0, 不支持 USB2.0) |
摄像头 | 2 个 MIPI CSI 2 Lane 接口 |
显示 | • 2 个 HDMI 接口 • 1 个 MIPI DSI 2 Lane 接口 |
音频 | • 1 个 3.5mm 耳机孔, 支持音频输入输出 • 2 个 HDMI 音频输出 |
40 pin 扩展口 | 用于扩展 UART、 I2C、 SPI、 PWM 和 GPIO 等接口 |
按键 | 1 个复位键, 1 个关机键, 1 个升级按键 |
拨码开关 | 2 个拨码开关: 用于控制 SD 卡、 eMMC 和 SSD 启动选项 |
电源 | 支持 Type-C 供电, 20V PD-65W 适配器 |
LED 灯 | 1 个电源指示灯和 1 个软件可控指示灯 |
风扇接口 | 4pin, 0.8mm 间距, 用于接 12V 风扇, 支持 PWM 控制 |
电池接口 | 2pin, 2.54mm 间距, 用于接 3 串电池, 支持快充 |
调试串口 | Micro USB 接口的调试串口 |
1)启动选项使用两个拨码开关BOOT1/BOOT2组合的方式。这种方式简单直接,无需通过改写系统配置来实现,对新手特别友好。启动方式如下表格。
BOOT1 | BOOT2 | 启动设备 |
R | L | SSD |
L | R | EMMC |
R | R | SD |
2)拥有单独的调试串口,无需繁琐的硬件串口工具,仅凭一条Micro USB线,即可轻松连接至PC,通过串口打印软件即可看到系统打印终端。而且还可以通过usb口反向供电,连接上串口。简化了调试步骤,给开发者带来了很大的便捷。
3)拥有一个电源指示灯以及一个可软件控制的指示灯。对于可软件控制的指示灯,在系统启动或者应用程序开发中可以自由定义和控制,在调试中可以起到很多作用。
香橙派 AIpro 硬件配置可以说性能拉满,该有的配置和接口应有尽有,结合淘宝官方店给出的价格,简直是AI 开发者的福音。下面附带两张用户手册中的开发板顶层视图和底层视图,如下图所示。
通过指令:npu-smi info ,可以查询设备基本信息。
通过指令:npu-smi info -t board -i 0 ,可以查询设备的详细信息。
目前官网网站提供了两种系统镜像:ubuntu镜像和openeuler镜像。
链接地址:Orange Pi - Orangepi
本次测评烧录的是ubuntu 22.04系统,所有的操作都在ubuntu 22.04环境下进行的。
1))下载PC 版本的烧录软件balenaEtcher,安装该软件。链接地址:Orange Pi - Orangepi
2))将准备好的 32G SD卡通过读卡器插入PC,按照:从文件烧录->选择目标磁盘->现在烧录!三步骤开始烧录ubuntu 镜像
3))将烧录好镜像的SD卡插入 香橙派 AIpro 开发板的TF 卡槽中,上电即可
接入Micro USB至PC ,上电即可看到系统打印。等待一段时间后打印至登录界面。输入用户名:HwHiAiUser 密码:Mind@123,进入命令行界面。如下图所示。
上电开机,将HDMI 线一端接在香橙派 AIpro 开发板的HDMI0 接口(目前的ubuntu镜像还不支持HDMI1输出),另一端接到显示器。开机等待片刻,即可看到图形登录界面。输入用户名:HwHiAiUser,密码:Mind@123,进入ubuntu 系统图形界面。如下图所示。
如果使用SSH 远程要先通过HDMI0 显示的图形界面,鼠标点击右上角wifi图标,输入wifi账号和密码,同时查看可以通过打开一个命令行终端执行:ifconfig 来查看当前ip 地址,记录下来。
安装软件MobaXterm免费版,点击Session->SSH 创建会话。
输入用户名:HwHiAiUser ,最后输入密码:Mind@123 即可登录,如下图所示。
网页下载 linux版 qq 选择arm .deb 文件。
链接地址:https://im.qq.com/linuxqq/index.shtml
终端执行下面命令进行安装:
sudo dpkg -i QQ_3.2.8_240520_arm64_01.deb
使用体验:传输文件,即时聊天等基本功能都能正常稳定运行,延时比较大。打开对话框时间有点长,可能是系统性能影响,也可能是qq 版本优化的问题。
网页下载 linux版 vscode 选择arm64 .deb 文件。
链接地址:Download Visual Studio Code - Mac, Linux, Windows
终端执行下面命令进行安装:
sudo dpkg -i code_1.89.1-1715058876_arm64.deb
使用体验:可以安装汉化、c/c++等常用插件,流畅打开各种文件夹和文件。编辑过程也很丝滑顺畅,操作灵活,效率高,稳定可靠,非常适合开发者在该开发板上使用。
香橙派 AIpro ubuntu22.04 镜像中还附带常用的软件:python3.9.2(高级编程语言)、Jupyter Lab 软件、cheese (camera 软件)、Screenshot(截图软件)、Text Editor (编辑软件)、htop(显示的是 CPU 负载、内存消耗及交换空间的实时信息等)。
ubuntu22.04中内置了AI 样例,可以通过Jupyter Lab 软件在浏览器中运行。该样例由python语言编写,通过调用AscendCL 编程接口实现各种任务。
AI 样例目录:/home/HwHiAiUser/samples/notebooks
- 01-yolov5 #运行目标检测样例
- 02-ocr #运行文字识别样例
- 03-resnet #运行目标分类样例
- 04-image-HDR-enhance #运行图像曝光增强样例
- 05-cartoonGAN_picture #运行卡通图像生成样例
- 06-human_protein_map_classification #运行蛋白质分类评估样例
- 07-Unet++ #运行细胞图像分割样例
- 08-portrait_pictures #运行人像分割与背景替换样例
- 09-speech-recognition #运行语音识别样例
调试步骤如下:
1))运行 juypter lab 软件
- cd /home/HwHiAiUser/samples/notebooks
- ./start_notebook.sh
2))登录 juypter lab 后,会出现Jupyter Server 的运行地址,将地址复制到开发板系统的浏览器中
3))进入01-yolov5目录,双击打开main.ipynb文件,将推理模式更改为摄像头实时推理
infer_mode= 'camera'
4))香橙派 AIpro 开发板插上USBCamera,单击restart kernel 按钮,等待片刻,开始推理
yolov5
总结:USBCamera 摄像头实时推理,推理过程流畅,帧率高,识别率较高。从截图可以看出:即使在负载的环境下,鼠标和杯子的识别度依然较高,预测框准确;键盘识别度稍微较低,但是预测框还算准确。
针对 02-ocr (运行文字识别样例 )以及 03-resnet #运行目标分类样例均有测试,测试效果识别度较高,帧率较快,效果很好。这里不再详述。
5))香橙派AIpro推理过程性能表现
通过htop 指令首先看一下正常ubuntu运行时的cpu负载以及内存消耗情况,如下图所示。
推理过程中cpu负载以及内存消耗各种信息,如下图所示。
资源消耗情况 | ubuntu系统 | 推理中 | 增长 |
control cpu 0 | 4.6% | 52.6% | 48% |
control cpu 1 | 10.5% | 57.6% | 47.1% |
control cpu 2 | 2.0% | 49.4% | 47.4% |
AI cpu | 不显示 | 不显示 | 不显示 |
Mem | 17.3% | 34% | 16.7% |
分析可知,在推理过程中:三个control CPU 使用率分别增加48%、47.1%、47.4%,AI cpu 不显示使用率,mem 消耗增加16.7%。推理过程中cpu 占有率偏高,内存消耗较大,通过手接触散热器,推理过程开发板温度较高。
官方提供的案例demo支持如下:
链接地址:Ascend/EdgeAndRobotics (gitee.com)
- - /Samples:AI应用开发样例
- |--/ACLHelloWorld:基于AscendCL接口的HelloWorld应用,仅包含运行管理资源申请与释放功能。
- |--/ClassficationRetrainingAndInfer:基于预训练resnet18模型,实现了识别人性别的功能
- |--/DetectionRetrainingAndInfer:基于预训练ssd-mobilenet模型和口罩识别数据集,实现了检测口罩佩戴识别的功能
- |--/HandWritingTrainAndInfer:基于MNIST数据集实现手写数字识别体的训练(Pytorch)到推理全过程。
- |--/ResnetPicture:基于AscendCL接口,使用ResNet-50模型实现图片分类应用。
- |--/ResnetPictureThread:基于AscendCL接口,使用ResNet-50模型采用多线程方式实现图片分类应用。
- |--/ResnetQuickStart:基于AscendCL接口,使用ResNet50模型模型,实现图片分类
- |--/VideoDecode:使用ACLLite接口完成视频解码,读取mp4文件的前十帧并解码为YUV图片。
- |--/VideoEncode:使用ACLLite接口完成视频编码,读取YUV文件的十次并编码为H264视频文件。
- |--/YOLOV5MultiInput:基于YoloV5s模型,对多路离线视频流(*.mp4)中的物体做实时检测,展示推理结果
- |--/YOLOV5USBCamera:基于yolov5s模型,对输入视频中(USB接口连接的Camera中)的物体做实时检测,使用imshow方式显示推理结果
- |--/YOLOV5Video:基于yolov5s模型,对本地输入视频的物体做检测,使用imshow方式显示推理结果
-
- - /Peripherals:外设使用指导
- |--/Audio:音频设备
- |--/MIPIAudio:音频从MIPI接口送入,基于AscendCL接口,启用并设置音频设备的相关参数。
- |--/USBAudio:音频从USB接口送入,启用并设置音频设备的相关参数。
- |--/Camera:摄像头
- |--/MIPICamera:视频从MIPI接口的Camera送入,启用Camera设备并解码视频。
- |--/USBCamera:视频从USB接口的Camera送入,启用Camera设备并解码视频。
- |--/Display:显示器
- |--/HDMIDisplay:视频从HDMI接口送入,在显示器中显示。
- |--/MIPIDisplay:视频从MIPI接口送入,在显示器中显示。
感兴趣的可以自行测试。
基于CNN的人脸检测。链接地址:https://github.com/ShiqiYu/libfacedetection/tree/master
测试结果:使用640x480 图片,在未开启NEON 的情况下,单线程用时240ms 。开启NEON 后,单线程用时170ms。
ubuntu22.04系统也集成了相关开发板硬件设备demo,在目录:/opt/opi_test
调试步骤如下:
1))g++ 编译程序生成二进制文件
g++ main.cpp -o main -lavutil -lavformat -lavcodec -lavdevice
2))执行程序,从USBCamera 获取.yuv 格式图片
sudo ./main /dev/video0
注意:如果执行时出现错误提示:Can't initialize GTK backend in function 'cvInitSystem' 。请勿使用SSH 执行程序,改用串口或者本机终端执行程序。
UnixBench是一个工具套件,用于在Unix/Linux系统上执行性能基准测试。本次使用unixbench对香橙派AIpro上的ubuntu 系统性能进行测试。
本次跑分202.4分。下面附带测试项目的基准线用于参考。
测试项目 | 项目说明 | 基准线 |
Dhrystone 2 using register variables | 测试 string handling | 116700.0lps |
Double-Precision Whetstone | 测试浮点数操作的速度和效率 | 55.0MWIPS |
Execl Throughput | 此测试考察每秒钟可以执行的 execl 系统调用的次数 | 43.0lps |
File Copy 1024 bufsize 2000 maxblocks | 测试从一个文件向另外一个文件传输数据的速率 | 3960.0KBps |
File Copy 256 bufsize 500 maxblocks | 测试从一个文件向另外一个文件传输数据的速率。 | 1655.0KBps |
File Read 4096 bufsize 8000 maxblocks | 测试从一个文件向另外一个文件传输数据的速率。 | 5800.0KBps |
Pipe-based Context Switching | 测试两个进程(每秒钟)通过一个管道交换一个不断增长的 整数的次数 | 12440.0lps |
Pipe Throughput | 一秒钟内一个进程可以向一个管道写 512 字节数据然后 再读回的次数 | 4000.0lps |
Process Creation | 测试每秒钟一个进程可以创建子进程然后收回子进程的 次数(子进程一定立即退出)。 | 126.0lps |
Shell Scripts (8 concurrent) | 测试一秒钟内一个进程可以并发地开始一个shell 脚本的 n 个 拷贝的次数,n 一般取值1,2,4, | 8. 42.4lpm |
System Call Overhead | 测试进入和离开操作系统内核的代价,即一次系统调用的代价。 | 6.0lpm |
香橙派AIpro 为AI而生,具有广泛的应用潜力。主要体现在一下几个方面:
● 智能物联网设备
● 边缘计算应用
● 各行业应用(医疗、农业、交通、教育)
● 学术研究
● 原型开发
希望香橙派AIpro可以不断发展壮大,深挖AI 潜力,在各行各业发挥作用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。