澎湃算力 玩转AI 华为昇腾AI开发板 香橙派OriengePi AiPro 边缘计算案例评测
人工智能(AI)技术正以前所未有的速度改变着我们的生活、工作乃至整个社会的面貌。作为推动这一变革的关键力量,边缘计算与AI技术的深度融合正成为行业发展的新趋势。正是基于这样的背景,香橙派与华为昇腾携手合作,共同推出了OrangePi AIpro一款专为边缘计算设计的AI开发板,它不仅承载着双方对技术创新的不懈追求,更预示着AI技术普及与应用的新篇章。
OrangePi AIpro的诞生,是香橙派在智能硬件领域深耕细作与华为昇腾在AI技术方面深厚积累的完美结合。香橙派,作为开源硬件领域的佼佼者,一直致力于为开发者提供高性能、易上手的硬件平台;而华为昇腾,作为华为在AI领域的核心品牌,其先进的AI处理器和解决方案在全球范围内享有盛誉。两者的合作,无疑为AI开发者们带来了一款集高性能、灵活性、易用性于一身的优质产品。
本次开箱测评,我有幸成为体验者之一,将探索OrangePi AIpro的每一个细节,从外观设计到内部构造,从硬件配置到软件生态,全方位、多角度地展现这款产品的魅力所在。我相信,通过我的测评,广大读者将能够更加直观地了解OrangePi AIpro的优势与特点,为他们的AI项目选择最合适的硬件平台提供有力参考。
OrangePi AIpro 开发板官方网站
http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-AIpro.html
华为昇腾 AI 技术
华为昇腾 AI 技术路线以CANN作为核心架构基础,CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。支持的AI框架包括华为全场景AI框架昇思MindSpore,也包括常见的AI开发框架(PyTorch,TensorFlow,Paddlepaddle)等。
官方网址 https://www.hiascend.com/#/
开发文档 https://www.hiascend.com/zh/document
1.OriengePi AiPro 开发板开箱
-
硬件资源
CPU 4核64位处理器+ AI处理器(昇腾310B4) GPU 集成图形处理器 AI算力 8-12TOPS算力 内存 LPDDR4X:8GB/16GB(可选),速率:3200Mbps 存储 • SPI FLASH:32MB • SATA/NVME SSD(M.2接口2280) • eMMC插槽:32GB/64GB/128GB/256GB(可选),eMMC5.1 HS400 • TF插槽 WIFI+蓝牙 Wi-Fi 5双频2.4G和5G BT4.2/BLE 以太网收发器 10/100/1000Mbps以太网 显示 • 2xHDMI2.0 Type-A TX 4K@60FPS • 1x2 lane MIPI DSI via FPC connector 摄像头 2x2-lane MIPI CSI camera interface,兼容树莓派摄像头 USB • USB 3.0 HOST x2 • USB Type-C 3.0 HOST x1 • Micro USB x1 串口打印功能 音频 3.5mm耳机孔音频输入/输出 按键 1x关机键、1xRESET键、2x启动方式拨动键、1x烧录按键 40PIN 40PIN 功能扩展接口,支持以下接口类型: GPIO、UART、I2C、SPI、 I2S、PWM 风扇 风扇接口x1 预留接口 2PIN电池接口 电源 Type-C PD 20V IN ,标准65W 支持的操作系统 Ubuntu、openEuler 产品尺寸 107*68mm 重量 82g -
软件资源
OrangePi官方提供大量的开发板的资料,主要包括官方工具,用户使用手册,以及官方镜像文件。官方提供的用户使用手册记录比较丰富,从软件安装,环境搭建,到AI案例应用测试。
同时在昇腾论坛上有大量的教程,例如香橙派AIpro学习资源一站式导航香橙派AIpro学习资源可以去参考学习。
在操作系统方面,Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。Ubuntu、openEuler操作系统镜像下载地址如下:
Openeuler镜像
Ubuntu镜像
- 开发板实物效果展示
从申请到拿到开发板很快啊,我已经迫不及待的想玩了。打开包装后,首先映入眼帘的是精心排列的配件。除了OrangePi AIpro开发板本体之外,还配备了电源适配器和数据线、一张预装了操作系统的SD卡。这些配件的配备充分考虑了用户在实际使用中的需求,为用户提供了极大的便利。拿到的开发板实物默认跑Openeuler系统的,我立马接上HDMI,电源线,USB线,开玩。
2.OriengePi AiPro 开发板环境搭建
以Ubuntu 版本镜像进行烧录,以完成下面的评测。(主要是熟悉在Ubuntu系统进行开发,Openeuler版本不怎么熟悉,但是有时间也去体验Openeuler版本的系统进行测试学习)。开发环境搭建主要会使用到下面的东西,基本上都在官方提供的网盘里面,自行下载即可。
-
下载官方镜像文件
其中ubuntu22.04_minimal是纯命令行的版本,ubuntu22.04_deskto是带桌面的版本。(为了方便使用,下载的是带桌面的版本,从百度网盘里面下载之后,需要解压,系统镜像较大,需要一段时间)。 -
SD卡烧录镜像
在烧录SD卡镜像之前,需要将镜像文件下载到SD中,因此需要下载的官方工具中的 BalenaEtcher进行处理。(这里我下载的balenaEtcher-Portable-1.18.4版本,不需要安装,点击打开就可以直接使用)
但是在使用BalenaEtcher烧录镜像过程中,虽然能够烧录完成,但是会出现验证失败,导致烧录镜像,出现问题。可能的原因包括读卡器有问题,或者SD卡有问题,因此我换了卡和读卡器,打算重新下载。当然在搜索解决问题的方法过程中,有人指出BalenaEtcher软件需要以管理员身份运行,但是按照管理员身份运行还是下载失败。经过群友的指点,使用了昇腾开发者套件一键制卡工具,完成了系统镜像烧录。 -
启动开发板
开发板支持从 TF 卡、eMMC 和 SSD(支持 NVMe SSD 和 SATA SSD)启动。具体从哪个设备启动是由开发板背面的两个拨码(BOOT1 和 BOOT2)开关来控制的BOOT1 和 BOOT2 两个拨码开关都支持左右两种设置状态,所以总共有 4 种设置状态,开发板目前只使用了其中的三种。开发板BOOT1 和 BOOT2 两个拨码默认都是右边状态,不需要改动。镜像烧录完成后,我们将TF卡重新插回到香橙派AIpro开发板中,开机,启动,然后就是输入密码,默认密码为:Mind@123,进入系统。 -
查看开发板信息
打开香橙派 AIpro终端,输入以下代码:npu-smi info; -
连接网络
-
连接串口线,登录开发板
使用串口登陆开发板,一切正常。
- SSH远程登录
SSH远程远程登陆需要配置一下网络。先扫描无线热点:使用命令扫描 nmcli dev wifi ,这样就可以看到我的无线热点了。
连接无线热点:使用以下命令连接指定的热点,注意【ap-name】【ap-passwprd】要替换成你自己的无线热点名称和对应的密码。sudo nmcli dev wifi connect ap-name password ap-passwprd
显示连接无线热点成功后,可以查看OrangePi板子的IP地址。
使用SSH工具登陆即可。
- 简单使用测试
简单的Linux测试,Git使用,PDF阅读,播放视频没有任何问题。
- 简单使用测试总结
在简单的使用OrangePi AIpro开发板测试之后,其完全可以被视为一个小型电脑。它集成了高性能的处理器、足够的内存和存储空间(通过SD卡或外接硬盘扩展),以及丰富的输入输出接口,这使得它能够处理多种复杂的计算任务和应用场景。
3.OriengePi AiPro 开发板案例测试
- 测试部署YOLOv5模型
YOLOv5 是一个面向实时工业应用而开源的目标检测算法,受到了广泛关注。YOLOv5 的不同变体(如 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 和 YOLOv5n)表示不同大小和复杂性的模型。这些变体在速度和准确度之间提供了不同的权衡,以适应不同的计算能力和实时性需求。下面简要介绍这些变体的区别:
YOLOv5s:这是 YOLOv5 系列中最小的模型。“s” 代表 “small”(小)。该模型在计算资源有限的设备上表现最佳,如移动设备或边缘设备。YOLOv5s 的检测速度最快,但准确度相对较低。
YOLOv5m:这是 YOLOv5 系列中一个中等大小的模型。“m” 代表 “medium”(中)。YOLOv5m 在速度和准确度之间提供了较好的平衡,适用于具有一定计算能力的设备。
YOLOv5l:这是 YOLOv5 系列中一个较大的模型。“l” 代表 “large”(大)。YOLOv5l 的准确度相对较高,但检测速度较慢。适用于需要较高准确度,且具有较强计算能力的设备。
YOLOv5x:这是 YOLOv5 系列中最大的模型。“x” 代表 “extra large”(超大)。YOLOv5x 在准确度方面表现最好,但检测速度最慢。适用于需要极高准确度的任务,且具有强大计算能力(如 GPU)的设备。
YOLOv5n:这是 YOLOv5 系列中的一个变体,专为 Nano 设备(如 NVIDIA Jetson Nano)进行优化。YOLOv5n 在保持较快速度的同时,提供适用于边缘设备的准确度。
从Yolov5 的网络结构图,可以看出,还是分为Input、Backbone、Neck、Prediction四个部分。
(1)Input:Mosaic数据增强、自适应锚框计算、自适应图片缩放
(2)Backbone:Focus结构,CSP结构
(3)Neck:FPN+PAN结构
(4)Prediction:GIOU_Loss
Python是运行YOLOv5的基础条件,开发板的环境中,已经默认安装了Python 3.9,因此无需安装。
从GitHub克隆YOLOv5的官方仓库:
安装YOLOv5依赖:git clone https://github.com/ultralytics/yolov5.git cd yolov5
在YOLOv5仓库的根目录下,使用pip安装requirements.txt中列出的依赖.(第一次按照速度可能比较慢,因此需要等待)
当然如果上面无法git clone 下来可以直接下载压缩包即可。pip install -r requirements.txt
为了测试YOLOv5模型的效果,我们将使用预训练模型识别一些图片。
运行以下命令:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
python segment/predict.py --weights yolov5m-seg.pt --data data/images/by.jpg
python segment/predict.py --weights yolov5m-seg.pt --data data/images/hw.jpg
这个里面的yolov5m-seg.pt如果不存在,会自动到github上去下载,但是速度极慢,建议是下载好,然后指定对应路径的pt文件。测试效果如下:
使用yolo对视频进行实时监测,则需要添加video文件夹,添加视频文件。
使用yolo对视频进行实时监测,需要修改源码detect.py的361行。
修改代码如下
# parser.add_argument("--source", type=str, default=ROOT / "data/images", help="file/dir/URL/glob/screen/0(webcam)")
parser.add_argument("--source", type=str, default=ROOT / "data/video", help="file/dir/URL/glob/screen/0(webcam)")
运行代码,测试效果如下:
python segment/predict.py --weights ~/Documents/yolov5m-seg.pt --source ~/Downloads/yolo.mp4
python segment/predict.py --weights ~/Documents/yolov5m-seg.pt --source ~/Downloads/foot.mp4
澎湃算力 玩转AI 华为昇腾AI开发板YoloV5测试
2. 测试基于Yolov5的车牌识别系统
此是一个基于深度学习的 车牌号检测和识别系统 ,旨在提供一个高效、准确的解决方案,用于识别 中国车牌号 。该项目利用先进的卷积神经网络 (CNN) 技术,实现了从图像中 自动检测 和 识别车牌号 的功能,是智能交通系统中的重要组成部分。
代码地址 https://github.com/we0091234/Chinese_license_plate_detection_recognition
4.OriengePi AiPro 使用体会
自从我开始使用Orange Pi AIpro这款基于昇腾深度研发的AI开发板以来,它给我留下了深刻而积极的印象。作为一款业界领先的AI开发工具,Orange Pi AIpro不仅在技术规格上令人瞩目,更在实际应用中展现了其强大的实力和广泛的适用性。从下面几个角度进行总结:
丰富的接口与扩展性:Orange Pi AIpro提供了多种接口和扩展选项,包括但不限于USB、HDMI、GPIO等,方便用户连接各种传感器、摄像头、显示屏等外设。这种高度的灵活性和可扩展性使得Orange Pi AIpro能够轻松适应不同的应用场景和需求。
应用领域广泛:Orange Pi AIpro的广泛适用性也是其一大亮点。从AI边缘计算到深度视觉学习,从视频图像分析到自然语言处理,再到智能小车、机械臂、无人机等AI应用场景,Orange Pi AIpro都能发挥其独特优势,为各行各业提供强大的技术支持。这种跨领域的适用性使得Orange Pi AIpro成为了我手中不可或缺的AI开发工具。
性能表现:在性能方面,Orange Pi AIpro展现出了令人满意的实力。其强大的处理能力和高效的运算速度,使得AI算法的原型验证和推理应用开发变得轻松愉快。无论是在深度视觉学习、视频流AI分析还是自然语言处理等领域,Orange Pi AIpro都能游刃有余地完成任务,为我的项目开发节省了大量时间和成本。
易用的开发环境与技术支持:为了降低开发门槛,Orange Pi AIpro提供了友好的开发环境和完善的开发工具链。这包括详细的硬件规格书、软件开发包(SDK)、示例代码、教程以及活跃的开发者社区等。这些资源有助于开发者快速上手并高效地完成项目开发。此外,Orange Pi AIpro的技术服务支持也是我非常满意的一点。官方提供了详尽的技术文档和教程,帮助用户快速上手并解决问题。同时,社区内的活跃氛围也让我感受到了来自同行的支持和帮助。在遇到难题时,我总能从社区中找到答案或得到启发。
总结
总的来说,Orange Pi AIpro是一款性能卓越、易于上手、服务完善的AI开发板。它不仅满足了我对AI算法原型验证和推理应用开发的需求,还为我打开了通往AI世界的大门。Orange Pi AIpro社区有不少的大佬,都有GPT大模型部署的案例了,有时间我也一定去玩玩本地部署大模型。我相信在未来的AI项目中,Orange Pi AIpro将继续发挥重要作用,助我实现更多创新想法和应用场景。