前言

感谢官方给予的测评机会,非常有幸收到一块AI边缘计算开发板OrangePi AIpro。OrangePi AIpro是香橙派联合华为精心打造,建设人工智能新生态,业界首款基于昇腾深度研发的AI开发板。OrangePi AIpro(8T)采用昇腾AI技术路线,具体为4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X。本文将对OrangePi AIpro开发板展开全面测评和AI部署实战,帮助大家了解我们国产AI开发板。

img

OrangePi AIpro资料:香橙派 AIpro资料汇总
OrangePi论坛:Orange Pi - Orange Pi论坛

一、 香橙派 AIpro概述

1.1 香橙派AIpro介绍

香橙派AIpro是由香橙派与华为联合打造的人工智能开发板,旨在提供高性能和高可扩展性的AI计算解决方案。该开发板采用华为昇腾AI技术路线,支持8/20 TOPS(每秒万亿次运算)的算力,配备8GB或16GB LPDDR4X内存。

img

硬件配置方面,香橙派AIpro搭载四核64位处理器和AI处理器,集成了图形处理器。它提供了丰富的接口,包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA和NVMe SSD的M.2插槽、TF卡插槽、千兆网口、两个USB 3.0、一个USB Type-C 3.0和一个Micro USB接口。此外,还支持两个MIPI摄像头和一个MIPI屏。

img

操作系统方面,香橙派AIpro能够运行Ubuntu和openEuler,这使其适用于大多数AI算法原型验证和推理应用的开发。此外,开发板的生态系统成熟,提供了丰富的代码参考样例和预训练模型,方便开发者进行各种AI应用的开发,如图像识别、语音识别、深度视觉学习、自然语言处理等。

1.2 引脚功能介绍

香橙派 AIpro提供了丰富的引脚,如GPIO、IIC、UART、PWM等,可以拓展丰富的外设资源,实现多样的功能。现如今高校科创竞赛越来越重视AI部署能力,例如工创竞赛等。Orange AIpro的引脚和性能远超Openmv、树莓派等,但价格相当,堪称价格屠夫。

img

1.3 点亮香橙派AIpro

最激动人心的时刻来啦!点亮这块香橙派 AIpro !!该开发板预装了Ubuntu系统,同时可通过背板的拨码开关选择不同的系统启动方式。此次选择默认的SD卡启动。

img

插上电源线、HDMI线,板子的风扇狂转不止,待屏幕点亮,风扇几乎没有声音(让我感到很惊讶)

img

二、 香橙派 AIpro的AI部署实战

2.1 YOLOv5s概述

代码地址:https://github.com/ultralytics/yolov5/releases/tag/v5.0
Yolov5 v5.0是非常经典的版本,其中Yolov5s是此版本深度最小的网络,很多AI开发板都部署此版本完成目标检测任务。Yolov5m、Yolov5l、Yolov5x网络在Yolov5s的基础上加深加宽。网络结构如下:

img

开发者检测性能图:

img

项目结构介绍:
├── data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称);还有一些官方提供测试的图片。如果是训练自己的数据集的话,那么就需要修改其中的yaml文件。但是自己的数据集不建议放在这个路径下面,而是建议把数据集放到yolov5项目的同级目录下面。
├── models:里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、l、x。从名字就可以看出,这几个版本的大小。他们的检测测度分别都是从快到慢,但是精确度分别是从低到高。这就是所谓的鱼和熊掌不可兼得。如果训练自己的数据集的话,就需要修改这里面相对应的yaml文件来训练自己模型。
├── utils:存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等。
├── weights:放置训练好的权重参数。
├── detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测。
├── train.py:训练自己的数据集的函数。
├── test.py:测试训练的结果的函数。
├──requirements.txt:这是一个文本文件,里面写着使用yolov5项目的环境依赖包的一些版本,可以利用该文本导入相应版本的包。
以上就是yolov5项目代码的整体介绍。我们训练和测试自己的数据集基本就是利用到如上的代码。

2.2 YOLOv5s部署

2.2.1 执行准备

  1. 输入密码Mind@123成功开机
  2. 克隆项目
git clone https://gitee.com/ascend/EdgeAndRobotics.git
  1. 配置环境变量
# 配置程序编译依赖的头文件与库文件路径
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest 
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
  1. 安装ACLLite库
git clone https://gitee.com/ascend/ACLLite.git
cd ACLLite
bash build_so.sh

img

2.2.2 测试视频准备

cd ~/EdgeAndRobotics/Samples/YOLOV5USBCamera
cd data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov5s/test.mp4 --no-check-certificate

img

2.2.3 模型转换

由于本文只是评测,故用官方所给的模型文件,后期开发可自行更换。首先克隆PyTorch框架下的ONNX模型,并转换为OM模型(昇腾芯片可识别的模型文件)
对比Rk3588,我觉得香橙派 AIpro的模型转换更加方便,快捷。当时初次体验RK3588时遇到不少坑,这次很顺利。

cd ../model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov5s/yolov5s.onnx --no-check-certificate
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov5s/aipp.cfg --no-check-certificate
atc --model=yolov5s.onnx --framework=5 --output=yolov5s --input_shape="images:1,3,640,640" --soc_version=Ascend310B4 --insert_op_conf=aipp.cfg

2.2.4 编译源码

修改Src下的main文件,将线程操作改为视频输入。

img

重新编译代码:

cd ../scripts
bash sample_build.sh

img

2.3 YOLOv5s演示

bash sample_run.sh imshow

img

三、 香橙派 AIpro的应用场景探索

香橙派 AIpro拥有出色的AI算法验证和推理性能,可广泛适用于AI教学实训、AI算法验证、智能小车、机械臂、边缘计算、无人机、人工智能、云计算、AR/R、智能安防、智能家居、智能交通等领域。

img

四、 总结

香橙派AIpro是由香橙派与华为联合推出的一款高性能AI开发板,支持8/20TOPS算力,配备丰富的接口如HDMI、USB、M.2和GPIO等,适用于多种人工智能应用。在YOLOv5目标检测模型的实战部署中表现出色,能够满足边缘计算、深度视觉学习、智能机器人和自然语言处理等广泛应用场景。其高效的计算能力和成熟的开发生态使其成为AI研究、教育和商业开发的理想选择。

Logo

昇腾万里,让智能无所不及

更多推荐