OrangePi AIpro开箱测评

OrangePi

AIpro(8T)

香橙派联合华为精心打造,建设人工智能新生态

章节一:引言

1.1 背景

        香橙派(OrangePi)是深圳市迅龙软件有限公司旗下开源产品品牌,迅龙软件成立于2005年,是全球领先的开源硬件和开源软件服务商,致力于让极客、创客、电子爱好者享用到来自中国的优质、低价的科技产品,通过大规模的社会化协作去创建一个更加美好的信息化人类文明。

        最近收到OrangePi AIpro测评邀请,十分感谢香橙派。之前用过树莓派4B做过一些检测类项目,所以上手起来也很快。

        下面这是开箱后的所有硬件图片。

        上电开机,开机后的界面如下

1.2 介绍OrangePi的软硬件配置和功能特点

        操作系统用的是Ununtu22.04.3LTS

        硬件特性如下

        正面图如下

        背面图如下

        可以说硬件接口是非常丰富。

        OrangePi AIpro主打就是一个AI算例,在上面可以运行各种大模型,具体取决于模型的大小和复杂度。它搭载了华为昇腾AI芯片,拥有8TOPS的算力,支持FP16、BF16、INT8等多种数据格式,能够高效运行各类AI算法。根据官方提供的资料,OrangePi AIpro已经成功运行了以下一些大模型:

  • 图像识别模型:ResNet50、MobieNetV2、YOLOv4等。
  • 语音识别模型: DeepSpeech2、讯飞语音等。
  • 自然语言处理模型: BERT、GPT-2等。
  • 计算机视觉模型: SSD、Faster R-CNN等。

        此外,OrangePi AIpro还支持昇腾模型转换工具,可以将开源框架的模型转换为昇腾模型从而在OrangePi AIpro上运行。以下是一些具体的案例:

  • 基于OrangePi AIpro进行图像识别:可以使用OrangePi AIpro来部署图像识别模型,例如ResNet50 MobileNetV2,实现对图片内容的识别和分类。基于香橙派Alpro进行语音识别:可以使用OrangePi AIpro来部署语音识别模型,例如DeepSpeech2或讯飞语音,实现语音转文字的功能。
  • 基于OrangePi AIpro进行自然语言处理: 可以使用OrangePi AIpro来部署自然语言处理模型,例如BERT或GPT-2,实现文本摘要、机器翻译、问答等功能。
  • 基于OrangePi AIpro进行计算机视觉:可以使用OrangePi AIpro来部署计算机视觉模型,例如SSD或Faster R-CNN,实现目标检测和跟踪等功能。

章节二:应用场景和实际使用经验

2.1 安装Qt并测试

        下载地址如下qt在线安装包

        下载后放到无中文的路径下执行,注意一定要选带GCC的版本,不然缺GCC环境,现在在线安装只能安装6.7以上,不过也能用,选择后静待安装。

        安装完成,还要注意,还有些依赖库需要安装,安装后放入代码并测试。

sudo apt-get update
sudo apt install libxcb-xinerama0
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libxkbcommon-dev

2.2 安装OpenCV并测试

        OpenCV下载地址官方地址

        下载后解压到目录,然后在终端输入下面指令:

#解压
unzip opencv-4.9.0.zip
#进入解压路径
cd opencv-4.9.0
#创建构建目录
mkdir build
cd build
#安装依赖库
sudo apt-get install build-essential 
sudo apt-get install python-numpy python3-numpy  python-pandas python3-pandas 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev  libdc1394-22-dev 
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev 
sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包 
sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能 
sudo apt-get install ffmpeg
#构建参数
cmake ..
#开始编译
sudo make -j4
#编译之后安装
sudo make install
#修改 opencv.conf 文件,在此空文件中添加 opencv 库的安装路径:/usr/local/lib
sudo gedit /etc/ld.so.conf.d/opencv.conf
#更新系统共享链接库
sudo ldconfig
#配置 bash ,修改 bash.bashrc 文件
sudo gedit /etc/bash.bashrc
#在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
#执行如下命令使得配置生效
source /etc/bash.bashrc
#执行测试程序,结果如下
cd ./bin
./opencv_test_highgui

        qt+opencv进行测试

//pro文件
INCLUDEPATH += /usr/local/include/opencv4/
INCLUDEPATH += /usr/local/include/opencv4/opencv2/
LIBS += -L/usr/local/lib/ -lopencv_core
LIBS += -L/usr/local/lib/ -lopencv_highgui
LIBS += -L/usr/local/lib/ -lopencv_imgcodecs
LIBS += -L/usr/local/lib/ -lopencv_imgproc//
#include <iostream>
#include "opencv2/objdetect.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/opencv.hpppt"
int main(int argc, char** argv)
{//QApplication a(argc, argv);//使用opencv的ui时,注释掉这行,否则gtk冲突cv::Mat image = cv::imread("aa.jpeg");if(image.empty()){std::cout<<"Could not read the image: "<<std::endl;return 1;}//cv::imshow("Display window", image);cv::waitKey(0);return 0;
}

        用Open+Qt处理16k*41k大图像,做AOI缺陷检测,由于内存只有8G处理时间稍长,连续测试100张还算稳定,由于代码比较多,这里就附上代码了。

2.3 海康工业相机测试

        相机驱动下载地址相机地址

        下载后解压到目录

安装包对应的操作系统,这里选择arm架构64位系统arm架构64位系统:MVS-2.1.2_aarch64_20221024.debMVS-2.1.2_aarch64_20221024.tar.gz
arm架构32位系统:MVS-2.1.2_armhf_20221024.debMVS-2.1.2_armhf_20221024.tar.gzMVS-2.1.2_arm-none_20221024.tar.gz
x86架构64位系统:MVS-2.1.2_x86_64_20221024.debMVS-2.1.2_x86_64_20221024.tar.gz
x86架构32位系统:MVS-2.1.2_i386_20221024.debMVS-2.1.2_i386_20221024.tar.gz
安装
sudo dpkg -i MVS-3.0.1_aarch64_20240422.deb
启动客户端软件
/opt/MVS/bin/MVS.sh &

        最后安装完成

        执行下面命令进行ip配置

//查看防火墙状态:
sudo ufw status
//关闭防火墙:
sudo ufw disable

        命令行输入sudo nmtu,打开配置界面,打开后选择Edit a connection并回车进入

        选择网卡 Wired connection 1 并进入

        进入后更加自己的情况设置ip地址,设置后选择OK退出

        上面设置好后选择下面 Activate a connection并进入

        进入后光标移动到网卡右边,按回车后将状态设置为 Activate

        然后通过 ip a s eth0 就能看到网口的 IP 地址已经变成前面设置的静态 IP 地址 了。

        最后成功采集图像

        2000万分辨率的相机能做到5.81的帧率,连续采集3万张也能稳定采集。

2.4 串口通信测试

        板卡上面总共有3个串口uart0,uart2和uart7,uart0是调试串口,不能当普通串口使用,我这里先选择uart2进行测试。

        我这里用的是串口转usb来和笔记本通信

        输入“ls /dev/ttyAMA*”查看设备节点

        进入测试程序目录,serial是可以直接测试的程序,serial.c是程序源码

        由于这里的代码读取没有等待,我这里加了等待

        然后重新编译源码

        编译后重新测试,可以正常发送和接收

2.5 目标检测样例测试

        OrangePi在镜像中预装了 Jupyter Lab 软件。Jupyter Lab 软件是一个基于 web 的交互式开发环境,集成了代码编辑器、终端、文件管理器等功能,使得开发者可以在一个界面中完成各种任务。并且OrangePi在镜像中也预置了一些可以在 Jupyter Lab 软件中运行的 AI 应用样例。这些样例都是使用 Python 编写的,并调用了 Python 版本的 AscendCL 编程接口。

        然后执行下面命令

#进入程序目录
cd ~/samples/notebooks
#启动脚本
./start_notebook.sh

        打印信息中会出现软件网址

        打开浏览器输入上面的网址

        这里选择01程序打开,双击打开main.jpynb,再点击三角图标运行程序。

        下面是视频目标检测的运行效果

        将infer_mode设置为“image”可切换成图片检测。

2.6 OCR文字识别测试

        OCR 一般指 Scene Text Recognition(场景文字识别),主要面向自然场景。OCR 两阶段方法一般包含两个模型,检测模型负责找出图像或视频中的文字位置,识别模型负责将图像信息转换为文本信息。在样例中已经包含转换后的 om 模型和测试图片,可以按照以下流程在 Jupyter Lab 中运行该样例.

        选择02-ocr程序,然后开始运行

        用我自己的图片测试,识别率一般

2.7 语音识别测试

        在这个样例中,我们使用了语音识别模型 WeNet,该模型可以指将语音转换为文本。在样例中已经包含转换后的 om 模型和测试语音,可以按照以下流程在Jupyter Lab 中运行该样例。

        选择09-speech-recognition程序,然后开始运行main.ipynb

        最后模型对测试语音进行推理,识别出了语音中的文本信息为“智能语音作为智能时代人机交互的关键接口各行业爆发式的场景需求驱动行业发展进入黄金期”。

章节三:总结与展望

3.1 提出改进和优化的建议

        1.工具栏界面不是很美观,太窄了,不够大气。第二张图左边的四个小窗口,个人觉得是多余的,而且Aplications旁边的菜单栏图标还被挡住一半。

        2.处理耗内存的程序时,机器容易直接黑屏然后自动重启了,出现过很多次。

        3.把 Wired connection 1 打开,再把网线插上去,Wifi就用不了了,很奇怪,重启过很多次都不行,非得把网线拔了才能通过wifi连上网

        4.开机没有显示OrangePi的logo,而且开机时间较长,没有LOGO或者日志显示,很容易让人误解成开机出现问题。

3.2 OrangePi的优势和发展潜力

        OrangePi AIpro的硬件性能比较好,可扩展性也很强,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。 Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求。

        在官网上看到OrangePi出了自己的开源操作系统,也是非常期待,希望能早日应用到OrangePi AIpro上。

        国内做这种硬件的很少,发展前景还是很大,希望不断完善系统,软硬件和社区,丰富生态,越来越好最后做到行业第一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识C语言——第二十九天

数组 本章重点 1.一维数组的创建和初始化 数组的创建 注意事项&#xff1a; 1.一维由低数组在内存中是连续存放的&#xff01; 2.随着数组下标的增长&#xff0c;地址是由低到高变化的 2.二维数组的创建和初始化 注意事项&#xff1a; 1.二维数组在内存中也是连续存放的&am…

YOLOv8+PyQt5面部表情检测系统完整资源集合(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)

1.资源包含可视化的面部表情检测系统&#xff0c;基于最新的YOLOv8训练的面部表情检测模型&#xff0c;和基于PyQt5制作的可视化面部表情检测系统&#xff0c;包含登陆页面、注册页面和检测页面&#xff0c;该系统可自动检测和识别图片或视频当中出现的八类面部表情&#xff1a…

211大学计算机专业不考408,新增的交叉专业却考408!南京农业大学计算机考研考情分析!

南京农业大学信息科技学院可追溯至1981年成立的计算中心和1985年筹建的农业图书情报专业。1987年设立了农业图书情报系&#xff0c;1993 年农业图书情报系更名为信息管理系&#xff0c;本科专业名称也于1999年更名为信息管理与信息系统专业。1994年计算中心开始招收计算机应用专…

开源网页视频会议,WebRTC音视频功能比较

1. 概述 OpenAI 发布了新一代旗舰生成模型 GPT-4o,这是一款真正的多模态大模型,可以「实时对音频、视觉和文本进行推理」。 支持与 AI 实时语音对话,且响应时间达到毫秒级;交互中可识别人类情绪并以相应的情感做出回应;多语言能力的提升,WebRTC 成为大模型关键能力。 视频会议…

theharvester一键收集域名信息(KALI工具系列十)

目录 1、KALI LINUX简介 2、theharvester工具简介 3、在KALI中使用theharvester 3.1 用搜索引擎扫描 3.2 扫描并输出结果 3.3 扫描某域名下的所有账号 3.4 使用所有的搜索引擎扫描 4、总结 1、KALI LINUX简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版&…

【Docker学习】详细讲解docker ps

docker ps是我们操作容器次数最多的命令之一&#xff0c;但我们往往使用docker ps或是docker ps -a&#xff0c;对于该命令的其它选项&#xff0c;我们关注比较少。那么这一讲&#xff0c;我给大家详细讲讲该命令的全部方法。 命令&#xff1a; docker container ls 描述&am…

前后端项目部署和解决跨域

文章目录 一.前端项目部署1.1 上传前端文件1.2 项目部署1.3 解决跨域1.3.1 什么是跨域1.3.2 配置文件 二.后端项目部署2.1 上传后端文件2.2 项目部署2.3 解决跨域 一.前端项目部署 1.1 上传前端文件 站点创建好了&#xff0c;进入到站点的目录。 然后把它默认的文件删掉。 你…

2024.5.22 关于 SpringCloud —— Nacos 配置管理

目录 Nacos 配置统一管理 Nacos 配置热部署 Nacos 多环境配置共享 配置优先级 Nacos 配置统一管理 实例理解 我们想要利用 Nacos 在 user-service 的 application.yml 配置文件中新增配置项此处我们将新增配置日期格式为 yyyy-MM-dd HH:mm:ss下图为新增 Nacos 配置统一管理…

Redis篇 String

String概念和set,get扩充 一. String类型的基本介绍二. String中set,get方法扩充 一. String类型的基本介绍 redis中所有的key都是字符串类型的,但是value的类型差异很大. redis中的字符串,直接就是二进制方式存储的,可以存储整数,二进制数据 文本数据,Json,xml还有音频等. 二.…

工作中写单片机代码,与学校里有什么不同?

来聊聊我的经历&#xff0c;提供几个提升方向&#xff0c;亲测有效&#xff0c;希望能让你少走几年弯路。 10几年前&#xff0c;还没参加工作的时候&#xff0c;主要是玩玩开发板&#xff0c;也接触不到实际产品的代码&#xff0c;很好奇那些产品级的代码是怎样的。 第一份工作…

06_Tomcat

文章目录 Tomcat1.概念2.Tomcat安装3.Tomcat项目结构4.标准web项目结构5.Tomcat部署项目方式6.IDEA关联Tomcat6.1 构建tomcat和idea关联6.2 使用idea创建一个Javaweb工程6.3 使用idea将工程**构建**成一个app6.4 使用idea将构建好的app**部署**到tomcat中 Tomcat 1.概念 Tomc…

进程信号(2)

一、信号的处理 进程对应信号的处理的一般步骤就是&#xff1a;先去遍历pending位图&#xff0c;找到比特位为1的位置对应的信号&#xff0c;然后再去检测block位图对应位置的比特位是否为1。若不为1&#xff0c;就hander表的对应位置去调用信号的处理动作函数&#xff0c;若为…

JS入门学习

JS JavaScript是一门解释型的脚本语言&#xff0c;其是弱类型的&#xff0c;对变量的数据类型不做严格的要求&#xff0c;变量的类型可以在运行过程中变化 JavaScript能改变HTML内容&#xff0c;属性&#xff0c;样式 大纲 使用方式变量运算符数组JS函数自定义对象事件补充 …

mysql中InnoDB的表空间--独立表空间

大家好&#xff0c;上篇文章我们在讲mysql数据目录的时候提到了表空间这个名词&#xff0c;它是一个抽象的概念&#xff0c;对于系统表空间来说&#xff0c;对应着文件系统中一个或多个实际文件&#xff1b;对于每个独立表空间来说&#xff0c;对应着文件系统中一个名为表名.ib…

node.js学习P3-P10

P3 npm package.json&#xff08;package解读npm工具换镜像源&#xff09; 一个package.json文件可以的作用 作为一个描述文件&#xff0c;描述了你的项目依赖哪些包 &#xff0c;用来干什么的允许我们使用“语义版本规则”&#xff0c;指明你项目依赖的版本让你的构建更好的…

Java绩效考核系统源码 springboot员工绩效考核系统源码

Java绩效考核系统源码 springboot员工绩效考核系统源码-009 源码下载地址&#xff1a;https://download.csdn.net/download/xiaohua1992/89352195 项目介绍 本系统的功能分为管理员和员工两个角色 管理员的功能有&#xff1a; &#xff08;1&#xff09;个人中心管理功能&a…

一文搞定cuda版本、显卡驱动及多CUDA版本管理

安装cuda是每个AI从业人员必经之路。网上关于cuda、显卡驱动已经相关命令很多都解释不清楚&#xff0c;于是本文梳理一下&#xff0c;既方便自己记忆&#xff0c;也方便小白学习。 CUDA 首先&#xff0c;CUDA版本&#xff0c;一般指cuda-toolkit&#xff0c;即cuda开发工具包…

XShell免费版的安装配置

官网下载 https://www.xshell.com/zh/free-for-home-school/ 下载地址 通过邮箱验证 新建会话 通过ssh登录树莓派 填写主机IP 点击用户身份验证 成功连接

高项案例分析知识点总结

文章目录 纠错题计算题进度估算成本管理立项管理版本管理组合管理知识产权信息技术计算题运筹学 纠错题 人&#xff1a;人员经验、能力、数量、缺少培训&#xff1b;自己一个人完成需求和计划不正确流程&#xff1a;先做什么&#xff0c;后做什么&#xff0c;流程是否正确。是…

c++ (命名空间 字符串)

思维导图&#xff1a; 定义自己得命名空间myspace,在myspace中定义string类型变量s1,再定义一个函数完成字符串逆置 #include <iostream> #include <cstring> //定义自己得命名空间myspace,在myspace中定义string类型变量s1,再定义一个函数完成字符串逆置 using n…