探索创新边界:香橙派 AIpro 开发板深度评测之旅

8 篇文章 0 订阅
1 篇文章 0 订阅

一. 前言

        近些年随着人工智能的不断快速发展,AI 开发板已经成为很多嵌入式开发者探索智能应用必不可少的开发设备。市场上关于AI 的开发板也是种类繁多,各具特色。香橙派 AIpro 就是其中一颗冉冉升起的新星,吸引着开发者的目光。

        接下来,我将从外观设计、硬件配置、软件支持、开发体验、性能表现以及应用潜力等多个维度对香橙派 AIpro 这款开发板进行深入评测。

二. 外形设计

        采用卡片式设计,尺寸107x68mm,重量仅82g。我拿到手的是一个塑料包装盒(为AI 而生),开发板另外配套含有散热器一个,32G TF 卡一张,电源适配器一个(图1)。

        从图2可以看出,香橙派 AIpro 和我的iphone xsmax 比小了一大截。对于AI 开发板来说,非常小巧便携。散热器的位置也设计的很好,在开发板正面的主控芯片上方,覆盖面积较广,可以有效的散热。

       

图1 开发板外观图
图2 与iphone xsmax 尺寸对比图

三. 硬件配置

        香橙派 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.  硬件设计特色

1)启动选项使用两个拨码开关BOOT1/BOOT2组合的方式。这种方式简单直接,无需通过改写系统配置来实现,对新手特别友好。启动方式如下表格。

BOOT1BOOT2启动设备
RLSSD
LREMMC
RRSD

2)拥有单独的调试串口,无需繁琐的硬件串口工具,仅凭一条Micro USB线,即可轻松连接至PC,通过串口打印软件即可看到系统打印终端。而且还可以通过usb口反向供电,连接上串口。简化了调试步骤,给开发者带来了很大的便捷。

3)拥有一个电源指示灯以及一个可软件控制的指示灯。对于可软件控制的指示灯,在系统启动或者应用程序开发中可以自由定义和控制,在调试中可以起到很多作用。

        香橙派 AIpro 硬件配置可以说性能拉满,该有的配置和接口应有尽有,结合淘宝官方店给出的价格,简直是AI 开发者的福音。下面附带两张用户手册中的开发板顶层视图和底层视图,如下图所示。

顶层视图

底层视图

 2.  设备信息查询

        通过指令:npu-smi info ,可以查询设备基本信息。

        通过指令:npu-smi info -t board -i 0 ,可以查询设备的详细信息。

四. 软件支持

1. 系统镜像

        目前官网网站提供了两种系统镜像:ubuntu镜像和openeuler镜像。

        链接地址:Orange Pi - Orangepi

        本次测评烧录的是ubuntu 22.04系统,所有的操作都在ubuntu 22.04环境下进行的。

1)烧录步骤

1))下载PC 版本的烧录软件balenaEtcher,安装该软件。链接地址:Orange Pi - Orangepi

 2))将准备好的 32G SD卡通过读卡器插入PC,按照:从文件烧录->选择目标磁盘->现在烧录!三步骤开始烧录ubuntu 镜像

3))将烧录好镜像的SD卡插入 香橙派 AIpro 开发板的TF 卡槽中,上电即可

2. 系统登录模式

1)串口命令行终端

        接入Micro USB至PC ,上电即可看到系统打印。等待一段时间后打印至登录界面。输入用户名:HwHiAiUser  密码:Mind@123,进入命令行界面。如下图所示。

2)HDMI 显示

        上电开机,将HDMI 线一端接在香橙派 AIpro 开发板的HDMI0 接口(目前的ubuntu镜像还不支持HDMI1输出),另一端接到显示器。开机等待片刻,即可看到图形登录界面。输入用户名:HwHiAiUser密码:Mind@123,进入ubuntu 系统图形界面。如下图所示。

3)SSH 远程

        如果使用SSH 远程要先通过HDMI0 显示的图形界面,鼠标点击右上角wifi图标,输入wifi账号和密码,同时查看可以通过打开一个命令行终端执行:ifconfig 来查看当前ip 地址,记录下来。

        安装软件MobaXterm免费版,点击Session->SSH 创建会话。

输入用户名:HwHiAiUser 最后输入密码:Mind@123 即可登录,如下图所示。 

3. 常用软件安装

1)qq 安装

        网页下载 linux版 qq 选择arm .deb 文件。

链接地址:https://im.qq.com/linuxqq/index.shtml

终端执行下面命令进行安装

sudo dpkg -i QQ_3.2.8_240520_arm64_01.deb 

         使用体验:传输文件,即时聊天等基本功能都能正常稳定运行,延时比较大。打开对话框时间有点长,可能是系统性能影响,也可能是qq 版本优化的问题。

2)vscode 安装

        网页下载 linux版 vscode 选择arm64 .deb 文件。

链接地址:Download Visual Studio Code - Mac, Linux, Windows

终端执行下面命令进行安装

sudo dpkg -i code_1.89.1-1715058876_arm64.deb

           使用体验:可以安装汉化、c/c++等常用插件,流畅打开各种文件夹和文件。编辑过程也很丝滑顺畅,操作灵活,效率高,稳定可靠,非常适合开发者在该开发板上使用。

4. 自带软件

        香橙派 AIpro ubuntu22.04 镜像中还附带常用的软件:python3.9.2(高级编程语言)、Jupyter Lab 软件、cheese (camera 软件)、Screenshot(截图软件)、Text Editor (编辑软件)、htop(显示的是 CPU 负载、内存消耗及交换空间的实时信息等)。

五. 开发体验

1. 内置 AI 应用样例(Jupyter Lab中运行)

        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)选取01-yolov5 demo 通过调用 USBCamera 进行推理

调试步骤如下:

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 04.6%52.6%48%
control cpu 110.5%57.6%47.1%
control cpu 22.0%49.4%47.4%
AI cpu不显示不显示不显示
Mem17.3%34%16.7%

        分析可知,在推理过程中:三个control CPU 使用率分别增加48%、47.1%、47.4%,AI cpu 不显示使用率,mem 消耗增加16.7%。推理过程中cpu 占有率偏高,内存消耗较大,通过手接触散热器,推理过程开发板温度较高。

2. 官网 AI 应用样例(命令行运行)

        官方提供的案例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接口送入,在显示器中显示。

        感兴趣的可以自行测试。

3. 第三方demo样例

       基于CNN的人脸检测。链接地址:https://github.com/ShiqiYu/libfacedetection/tree/master

         测试结果:使用640x480 图片,在未开启NEON 的情况下,单线程用时240ms 。开启NEON 后,单线程用时170ms。

4. 外设开发

         ubuntu22.04系统也集成了相关开发板硬件设备demo,在目录:/opt/opi_test

1)选取USBCamera demo 通过调用 USBCamera 测试

        调试步骤如下:

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 handling116700.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 潜力,在各行各业发挥作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值