当前位置: 首页 > news >正文

香橙派AIpro-携手华为-为AI赋能

文章目录

  • 香橙派AIpro-携手华为-为AI赋能
    • 开箱和功能介绍
      • 开箱
      • 功能介绍
    • 环境搭建
      • 镜像烧录
      • 进入系统
    • 测试项目YOLOv5
      • 部署YOLOv5识别单张图片
      • 实时识别视频
      • 使用Ascend测试yolov5
    • 产品评价

香橙派AIpro-携手华为-为AI赋能

今天新入手了一款香橙派AIPro,让我们一起跟着文章体验一下不一样的

开箱和功能介绍

开箱

香橙派AIpro包装是比较精致的,一共包含开发板,65W充电器和充电线一根,开发板中有一个32G的内存卡,里面是包含自带的系统。
在这里插入图片描述
主板对比,香橙派和我手中现有的AI板 Alinx zynq7000相比,体积更小,且不需要接入外置模块即可使用串口进行通信,整体结构更干净整洁。接通电源之后,香橙派的风扇声音也较小,且正常运行时在我的环境下,感知不到风扇的声音。
在这里插入图片描述

功能介绍

OrangePi AIpro(8-12T)采用昇腾AI技术路线,具体为4核64位处理器+AI处理器,集成图形处理器,支持8-12TOPS 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算法原型验证、推理应用开发的需求。

  • 硬件规格参数:
硬件参数
CPU4核64位处理器+ AI处理器
GPU集成图形处理器
AI算力8-12TOPS算力
内存LPDDR4X:8GB/16GB(可选),速率:3200Mbps
存储1.SPI FLASH:32MB SATA/NVME SSD
2.(M.2接口2280)
3. eMMC插槽:32GB/64GB/128GB/256GB(可选),eMMC5.1 HS400
4.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,兼容树莓派摄像头
USBUSB 3.0 HOST x2
USB Type-C 3.0 HOST x1
Micro USB x1 串口打印功能
音频3.5mm耳机孔音频输入/输出
按键1x关机键、1xRESET键、2x启动方式拨动键、1x烧录按键
40PIN40PIN 功能扩展接口,支持以下接口类型:
GPIO、UART、I2C、SPI、 I2S、PWM
风扇风扇接口x1
预留接口2PIN电池接口
电源Type-C PD 20V IN ,标准65W
支持的操作系统Ubuntu、openEuler
产品尺寸107*68mm
重量82g
  • 产品图
    在这里插入图片描述

环境搭建

镜像烧录

接下来我们到官网去下载一个镜像,将其烧录到内存卡中,并且等待烧录完成,
注意: 我使用的是win11操作系统,使用香橙派资料提供的烧录工具烧录一直失败。但是也是可以进系统的。记得要使用管理员方式去启动烧写工具,不然可能即使显示烧写成功,也无法进入系统。
香橙派资料下载地址
烧录工具下载地址
在这里插入图片描述
在这里插入图片描述

进入系统

  • 进入系统: 接上电源等待开机之后进入系统,之后输入密码Mind@123即可进入系统,我这里烧录的是香橙派提供的Ubuntu镜像
    在这里插入图片描述

  • 配置WIFI模块:使用图形界面连接上WIFI之后查看对应的地址

在这里插入图片描述

  • 查看地址并使用远程ssh连接
    在这里插入图片描述
    在这里插入图片描述
  • 下载pycharm: 测试网络模块,并且下载pycharm,可以看到可以正常进行互联网的访问
    在这里插入图片描述
  • 打开pycharm:香橙派的Ubuntu环境还是比较全的,可以正常的使用MobaXterm进行远程打开pycharm
    在这里插入图片描述

测试项目YOLOv5

香橙派自带的conda的base安装的python环境是3.9.2,我们这里就使用这个环境来测试,如果你想更换的话请使用下面的命令自行更换环境

conda create -n name python=version

部署YOLOv5识别单张图片

  • 先到github上去下载yolov5
  • 将下载的zip文件传到香橙派中
  • 解压
unzip yolov5-master.zip
cd yolov5-master
  • 检查pip位置是否正确
which pip
# (base) HwHiAiUser@orangepiaipro:~/Documents/yolov5-master$ which pip
# /usr/local/miniconda3/bin/pip
  • 安装对应的库,这里面的错误我们先忽略。经过实验,这两个错误并不会影响运行。
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

在这里插入图片描述

  • 识别单张图片 : 这个里面的yolov5m-seg.pt如果不存在,会自动到github上去下载,但是速度极慢,建议是下载好,然后指定对应路径的pt文件
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg

在这里插入图片描述

  • 观察输出:通过对比识别结果和原始图片,我们会发现YOLOv5模型在识别效率和精度方面表现非常出色。无论是公交车的轮廓还是细节,模型都能够准确地识别并标注出来,显示了其强大的图像处理能力。
# Fusing layers...
# YOLOv5m-seg summary: 301 layers, 21971597 parameters, 0 gradients, 70.8 GFLOPs
# image 1/2 /home/HwHiAiUser/Documents/yolov5-master/data/images/bus.jpg: 640x480 4 persons, 1 bus, 2052.6ms
# image 2/2 /home/HwHiAiUser/Documents/yolov5-master/data/images/zidane.jpg: 384x640 2 persons, 1 tie, 1660.7ms
# Speed: 4.7ms pre-process, 1856.6ms inference, 13.7ms NMS per image at shape (1, 3, 640, 640)
# Results saved to runs/predict-seg/exp3

实时识别视频

  • 使用yolo对视频进行实时监测
    修改源码detect.py的361行
parser = argparse.ArgumentParser()parser.add_argument("--weights", nargs="+", type=str, default=ROOT / "yolov5s.pt", help="model path or triton URL")# 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)")parser.add_argument("--data", type=str, default=ROOT / "data/coco128.yaml", help="(optional) dataset.yaml path")parser.add_argument("--imgsz", "--img", "--img-size", nargs="+", type=int, default=[640], help="inference size h,w")parser.add_argument("--conf-thres", type=float, default=0.25, help="confidence threshold")parser.add_argument("--iou-thres", type=float, default=0.45, help="NMS IoU threshold")parser.add_argument("--max-det", type=int, default=1000, help="maximum detections per image")parser.add_argument("--device", default="", help="cuda device, i.e. 0 or 0,1,2,3 or cpu")parser.add_argument("--view-img", action="store_true", help="show results")parser.add_argument("--save-txt", action="store_true", help="save results to *.txt")parser.add_argument("--save-csv", action="store_true", help="save results in CSV format")parser.add_argument("--save-conf", action="store_true", help="save confidences in --save-txt labels")parser.add_argument("--save-crop", action="store_true", help="save cropped prediction boxes")parser.add_argument("--nosave", action="store_true", help="do not save images/videos")parser.add_argument("--classes", nargs="+", type=int, help="filter by class: --classes 0, or --classes 0 2 3")parser.add_argument("--agnostic-nms", action="store_true", help="class-agnostic NMS")parser.add_argument("--augment", action="store_true", help="augmented inference")parser.add_argument("--visualize", action="store_true", help="visualize features")parser.add_argument("--update", action="store_true", help="update all models")parser.add_argument("--project", default=ROOT / "runs/detect", help="save results to project/name")parser.add_argument("--name", default="exp", help="save results to project/name")parser.add_argument("--exist-ok", action="store_true", help="existing project/name ok, do not increment")parser.add_argument("--line-thickness", default=3, type=int, help="bounding box thickness (pixels)")parser.add_argument("--hide-labels", default=False, action="store_true", help="hide labels")parser.add_argument("--hide-conf", default=False, action="store_true", help="hide confidences")parser.add_argument("--half", action="store_true", help="use FP16 half-precision inference")parser.add_argument("--dnn", action="store_true", help="use OpenCV DNN for ONNX inference")parser.add_argument("--vid-stride", type=int, default=1, help="video frame-rate stride")opt = parser.parse_args()opt.imgsz *= 2 if len(opt.imgsz) == 1 else 1  # expandprint_args(vars(opt))return opt
  • 执行下面的命令:等待完成
python segment/predict.py --weights ~/Documents/yolov5m-seg.pt --source ~/Downloads/test.mp4

在这里插入图片描述

YoloV5测试视频

使用Ascend测试yolov5

测试项目下载地址

# 配置程序编译依赖的头文件与库文件路径
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest 
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
# 安装对应的库
apt-get install ffmpeg libavcodec-dev libswscale-dev libavdevice-dev
# 安装ACLLite
# 拉取ACLLite仓库,并进入目录
git clone https://gitee.com/ascend/ACLLite.git
cd ACLLite
# 设置环境变量,其中DDK_PATH中/usr/local请替换为实际CANN包的安装路径
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
# 安装,编译过程中会将库文件安装到/lib目录下,所以会有sudo命令,需要输入密码
bash build_so.sh
# 解压之后进入yolo文件夹
cd EdgeAndRobotics/Samples/YOLOV5MultiInput
export TE_PARALLEL_COMPILER=1
export MAX_COMPILE_CORE_NUMBER=1# 下载并且转换相关的模型
cd model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov5s/yolov5s_nms.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_nms.onnx --framework=5 --output=yolov5s_nms --input_shape="images:1,3,640,640;img_info:1,4"  --soc_version=Ascend310B4 --insert_op_conf=aipp.cfg
# 准备测试视频
cd ../data 
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov5s/test.mp4 --no-check-certificate
# 编译样例源码
cd ../scripts 
bash sample_build.sh# 在HDMI连接屏幕场景,执行以下脚本运行样例。此时会以画面的形式呈现推理效果。
bash sample_run.sh imshow
# 在直连电脑场景,执行以下脚本运行样例。此时会以结果打屏的形式呈现推理效果。
bash sample_run.sh stdout
  • 模型转换结果
    在这里插入图片描述
  • 模型输出结果
    在这里插入图片描述

产品评价

香橙派AiPro是一款功能强大的AI开发板

  • 性能强劲:香橙派AiPro采用了昇腾AI技术路线,配备了4核64位处理器+AI处理器,并集成了图形处理器。它支持高达8TOPS的AI算力,并拥有8GB/16GB LPDDR4X内存,可以外接多种容量的eMMC模块12。这些配置使得香橙派AiPro在AI算法原型验证、推理应用开发等方面表现出色。
  • 丰富的接口和拓展性:香橙派AiPro配备了相当丰富的接口,包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、USB接口等,还预留了电池接口。这些接口赋予了香橙派AiPro强大的可拓展性,使其能够适应多种应用场景。
  • 支持多种操作系统:香橙派AiPro支持Ubuntu、openEuler等操作系统,这为用户提供了更多的选择空间,同时也方便了用户根据自己的需求进行开发和部署。
  • 使用体验:香橙派AiPro的包装盒精致小巧,官方提供了完整的配件,包括开发板、适配器和充电器等。开发板上的静音风扇效果良好,开机时噪音短暂,之后几乎无声。WIFI和蓝牙的天线扣设计位置也相对方便。在实际使用中,用户可以通过HDMI接口连接开发板显示,也可以通过SSH等方式远程连接。

综上所述,香橙派AiPro是一款性能强劲、接口丰富、拓展性强、支持多种操作系统的AI开发板。如果你正在寻找一款功能强大的AI开发板,香橙派AiPro是一个不错的选择。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 全时守护,无死角监测:重点海域渔港视频AI智能监管方案
  • Flink History Server配置
  • 【Python进阶】正则表达式、pymysql模块
  • 《Towards Black-Box Membership Inference Attack for Diffusion Models》论文笔记
  • 【CMU博士论文】结构化推理增强大语言模型(Part 0)
  • 上海理工大学24计算机考研考情分析!初复试分值比55:45,复试逆袭人数不算多!
  • 发布支持TS的npm包
  • 仅两家!云原生向量数据库 PieCloudVector 全项通过信通院「可信数据库」评测
  • 全国媒体邀约,主流媒体到场出席采访报道
  • 20240718每日后端------------kafka VS RabbitMQ:选择正确的消息代理
  • Flutter应用开发:掌握StatefulWidget的实用技巧
  • 字节面试:如何让单机下Netty支持百万长连接?
  • Spring MVC-什么是Spring MVC?
  • 全国产服务器主板:搭载飞腾FT2000+/64处理器的高性能加固服务器
  • 【ASP.NET网站传值问题】“object”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“object”类型的变量等
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 【知识碎片】第三方登录弹窗效果
  • CEF与代理
  • Django 博客开发教程 8 - 博客文章详情页
  • EventListener原理
  • Java 23种设计模式 之单例模式 7种实现方式
  • Js基础——数据类型之Null和Undefined
  • leetcode386. Lexicographical Numbers
  • Rancher如何对接Ceph-RBD块存储
  • spring cloud gateway 源码解析(4)跨域问题处理
  • SQL 难点解决:记录的引用
  • Vue2 SSR 的优化之旅
  • Webpack 4 学习01(基础配置)
  • 第2章 网络文档
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 前端代码风格自动化系列(二)之Commitlint
  • 巧用 TypeScript (一)
  • 深度学习入门:10门免费线上课程推荐
  • 小程序测试方案初探
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • #{} 和 ${}区别
  • (02)Hive SQL编译成MapReduce任务的过程
  • (23)Linux的软硬连接
  • (python)数据结构---字典
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (七)glDrawArry绘制
  • (强烈推荐)移动端音视频从零到上手(下)
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三)SvelteKit教程:layout 文件
  • (转)ORM
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ..回顾17,展望18
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .dwp和.webpart的区别
  • .FileZilla的使用和主动模式被动模式介绍
  • .net 调用海康SDK以及常见的坑解释