OrangePi

AIpro(8T)

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

OrangePi AIpro开箱测评_AI

章节一:引言

1.1 背景

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

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

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

OrangePi AIpro开箱测评_树莓派_02

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

OrangePi AIpro开箱测评_OrangePi_03

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

        操作系统用的是Ununtu22.04.3LTS

OrangePi AIpro开箱测评_香橙派_04

        硬件特性如下

OrangePi AIpro开箱测评_树莓派_05

        正面图如下

OrangePi AIpro开箱测评_OrangePi_06

        背面图如下

OrangePi AIpro开箱测评_OrangePi_07

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

        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在线安装包

OrangePi AIpro开箱测评_AI_08

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

OrangePi AIpro开箱测评_AI_09

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

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

OrangePi AIpro开箱测评_香橙派_10

OrangePi AIpro开箱测评_AI_11

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

OrangePi AIpro开箱测评_OrangePi_12

        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;
}

OrangePi AIpro开箱测评_树莓派_13

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

OrangePi AIpro开箱测评_OrangePi_14

2.3 海康工业相机测试

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

OrangePi AIpro开箱测评_树莓派_15

        下载后解压到目录

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

        最后安装完成

OrangePi AIpro开箱测评_树莓派_16

        执行下面命令进行ip配置

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

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

OrangePi AIpro开箱测评_香橙派_17

        选择网卡 Wired connection 1 并进入

OrangePi AIpro开箱测评_AI_18

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

OrangePi AIpro开箱测评_AI_19

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

OrangePi AIpro开箱测评_AI_20

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

OrangePi AIpro开箱测评_树莓派_21

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

        最后成功采集图像

OrangePi AIpro开箱测评_智能硬件_22

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

OrangePi AIpro开箱测评_OrangePi_23

2.4 串口通信测试

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

OrangePi AIpro开箱测评_OrangePi_24

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

OrangePi AIpro开箱测评_树莓派_25

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

OrangePi AIpro开箱测评_香橙派_26

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

OrangePi AIpro开箱测评_智能硬件_27

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

OrangePi AIpro开箱测评_香橙派_28

        然后重新编译源码

OrangePi AIpro开箱测评_AI_29

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

OrangePi AIpro开箱测评_智能硬件_30

2.5 目标检测样例测试

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

        然后执行下面命令

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

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

OrangePi AIpro开箱测评_OrangePi_31

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

OrangePi AIpro开箱测评_树莓派_32

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

OrangePi AIpro开箱测评_OrangePi_33

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

OrangePi AIpro开箱测评_树莓派_34

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

OrangePi AIpro开箱测评_树莓派_35

2.6 OCR文字识别测试

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

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

OrangePi AIpro开箱测评_香橙派_36

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

OrangePi AIpro开箱测评_树莓派_37

2.7 语音识别测试

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

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

OrangePi AIpro开箱测评_树莓派_38

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

章节三:总结与展望

3.1 提出改进和优化的建议

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

OrangePi AIpro开箱测评_OrangePi_39

OrangePi AIpro开箱测评_OrangePi_40

        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上。

OrangePi AIpro开箱测评_智能硬件_41

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