OrangePi AIpro测评:性能、应用与开发者体验解析

2024-06-14 09:20

本文主要是介绍OrangePi AIpro测评:性能、应用与开发者体验解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


一、OrangePi AIpro介绍

     OrangePi AIpro(8T)采用昇腾AI技术路线,具体为4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出。 Orange Pi AIpro引用了相当丰富的接口,包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C 3.0、一个Micro USB(串口打印调试功能)、两个MIPI摄像头、一个MIPI屏等,预留电池接口,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。 Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求。

 

应用场景广泛,可广泛适用于AI教学实训、AI算法验证、智能小车、机械臂、边缘计算、无人机、人工智能、云计算、AR/VR、智能安防、智能家居、智能交通等领域。


产品详细图如下:

正面:

 

背面:

 

官网www.orangepi.cn


二、 基础功能测试

收的OrangePi AIpro套装里面只有开发板、充电器、内存卡,为了方便测试,自己额外配置了显示器、鼠标、键盘、USB摄像头,下图是完整搭建好的实物图。

 

1、开机:充电器要插入PWR标识的接口,显示器要插到HDMI0接口(另一个插入不生效),键盘鼠标插入USB接口,连接标识图如下:

 

2、登录:开机之后会进入一个ubuntu22.04的系统登录界面,默认用户名HwHiAiUser,输入密码Mind@123,进入桌面。

3、网络连接测试:桌面右上角连接wifi,输入密码。然后打开终端输入ping www.orangepi.cn,能ping通说明wifi连接正常。

 

4、蓝牙测试:桌面右上角连接蓝牙,经过测试发现,支持与手机蓝牙连接并成功发送一个文件,但不支持与笔记本蓝牙连接。

 

5、VNC远程连接测试:

开发板上默认已经安装好tightvncserver,只需要本地安装一个VNC客户端,下载https://www.realvnc.com/en/connect/download/viewer/

新建一个连接,输入ip+端口(5901),输入用户名,连接时输入密码。

本人也尝试了window自带的远程桌面工具没有成功。

 

成功连接

 

6、USB摄像头测试:

选用了USB500万工业相机,输出格式为MJPJ/YUY2。

 

插入USB摄像头,终端输入cheese,出现相机画面。

 

三、体验AI应用案例

3.1启动


进入目录

cd ~/samples/notebooks


执行sh脚本启动,局域网内的其他设备访问可以加IP地址

./start_notebook.sh 192.168.31.111


浏览器输入ip:port即可访问 ,http://192.168.31.111:8888/

 

3.2 样例说明

目录

样例介绍

01-yolov5

 

YOLOv5是一种单阶段目标检测算法,在这个样例中,我们选取了YOLOv5s,它是YOLOv5系列中较为轻量的网络,适合在边缘设备部署,进行实时目标检测。

02-ocr

 

传统定义的Optical Character Recognition(光学字符识别)主要完成文档扫描类的工作。

如今,OCR一般指Scene Text Recognition (场景文字识别),主要面向自然场景。 OCR两阶段方法一般包含两个模型,检测模型负责找出图像或视频中的文字位置,识别模型负责将图像信息转换为文本信息。

此样例中,我们使用的检测模型为CTPN,识别模型则是SVTR

CTPN模型基于Faster RCNN模型修改而来,而SVTR则基于近几年十分流行的Vision Transformer模型。

03-resnet

 

ResNet是最经典的视觉分类网络之一,在这个样例中我们选取了ResNet50,也是ResNet最常用的变体。

04-image-HDR-enhance

 

功能介绍:使用模型对曝光不足的输入图片进行HDR效果增强。

样例输入:png图像。

样例输出:增强后png图像

05-cartoonGAN_picture

功能:使用cartoonGAN模型对输入图片进行卡通化处理。

样例输入:原始图片jpg文件。

样例输出:卡通图象。

06-human_protein_map_classification

功能:对蛋白质图像进行自动化分类评估
样例输入:未标注的蛋白质荧光显微图片
样例输出:已经标注分类的蛋白质图谱

07-Unet++

功能:对图像中的细胞核进行分割
样例输入:未标注的生物细胞图像
样例输出:已经分割的细胞核图像

08-portrait_pictures

目前工业界通用的人像分割主要采用绿屏技术,需要专门的绿屏设备及环境,不利于普通用户的广泛使用。在这个样例中,我们使用了一个深度学习神经网络PortraitNet,能够实时地进行人像分割和背景替换。

09-speech-recognition

自动语音识别,即ASR,指借助计算机将语音转换为文本。在这个样例中,我们使用了基于深度学习的语音识别模型WeNet,借助我们的昇腾Atlas 200I DK A2,可以进行高性能推理。

3.3 yolov5样例

运行yolov5样例,打开main.ipynb文件

选择推理模式。"infer_mode"有三个取值:image, camera, video,分别对应图片推理、摄像头实时推理和视频推理。前面已经测试USB相机ok,这里就选择摄像头实时推理。

infer_mode = 'camera'   //这里选择摄像头实时推理if infer_mode == 'image':img_path = 'world_cup.jpg'infer_image(img_path, model, labels_dict, cfg)elif infer_mode == 'camera':infer_camera(model, labels_dict, cfg)elif infer_mode == 'video':video_path = 'racing.mp4'infer_video(video_path, model, labels_dict, cfg)

 

识别效果如下:能够正确识别剪刀scissors和键盘keyboard

 

 

再修改infer_camera函数,打印下推理时间

   while True:start_time = time.time()  # 开始计时# 对摄像头每一帧进行推理和可视化_, img_frame = cap.read()image_pred = infer_frame_with_vis(img_frame, model, labels_dict, cfg)image_widget.value = img2bytes(image_pred)end_time = time.time()  # 结束计时print(f"推理时间: {end_time - start_time:.4f} 秒")  # 打印每一帧的推理时间

平均每帧0.06sfps16.66,速度非常快

 

四、总结

有幸受到官方的邀请,评测开发板Orange Pi AIpro,由于时间有限测试了开发板部分基础功能、运行了AI应用案例。

优势:

1、接口丰富:HDMI显示、键鼠、WIFI、蓝牙、USB摄像头等功能运行正常。

2、推理速度快:处理图像分类、目标检测效率高,fps能够达到16.66,

3、资料详细,案例丰富,社区和论坛比较完善,有助于快速学习

不足:

1、更改密码后系统进入有问题(目前解决方案是先选择ubuntu on Xorg进入,再退出,再选择Xfce Session(Default))

2、两个HDMI接口只有一个可以使用

 

这篇关于OrangePi AIpro测评:性能、应用与开发者体验解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059998

相关文章

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五