深圳做积分商城网站设计,九冶建设有限公司官方网站,西安网站公司推广,建设中小企业网站非常高兴参加本次香橙派AI Pro#xff0c;香橙派联合华为昇腾打造的一款AI推理开发板评测活动#xff0c;以前使用树莓派Raspberry Pi4B 8G版本#xff0c;这次有幸使用国产嵌入式开发板。
一窥芳容 这款开发板搭载的芯片是和华为昇腾的Atlas 200I DK A2同款的处理器#…非常高兴参加本次香橙派AI Pro香橙派联合华为昇腾打造的一款AI推理开发板评测活动以前使用树莓派Raspberry Pi4B 8G版本这次有幸使用国产嵌入式开发板。
一窥芳容 这款开发板搭载的芯片是和华为昇腾的Atlas 200I DK A2同款的处理器功耗低至8W
默认AI CPU和Control CPU 比例1:3
芯片名称
310B1表示芯片算力规格为20T。310B4表示芯片算力规格为8T
orangepi AI pro之后会推出20TOPS AI算力版本开发板
ubuntu系统构建
本次测评基于ubuntu系统烧写linux镜像脚本编译usb摄像头yolov5目标检测编写文章。
基于PC主机烧写Ubuntu22.04
烧写步骤
准备TF读卡器32G或者更大的TF卡Ubuntu官方镜像 镜像下载地址选择ubuntu镜像 使用官方工具中的balenaEtcher烧写工具使用portable版
选择32的磁盘 烧写速度15M/s烧写完成之后会进行30min的校验。也可取消校验
插卡启动开发板
登录方式
使用串口登录
软件MobaXterm新建Session选择SerialCH340USB驱动波特率115200 使用账户HwHiAiUser ,密码Mind123
Linux镜像编译脚本的使用
前言
目前linux镜像编译脚本只在Ubuntu22.04的x64电脑上测试过请保证自己ubuntu版本为22.04.
本次使用VMware Workstation 的ubuntu22.04虚拟机镜像编译脚本虚拟机镜像磁盘最小为50G软件源替换为清华源
镜像编译脚本压缩包
1.在下载页面选择Linux源码 2.然后下载image.build.tar.gz压缩包使用filezilla传到ubuntu22.04 目录/opt下
3.解压
tar -zxf image-builder.tar.gz4.进入src目录下会有3种镜像必须先制作minimal镜像
模块名称**模块目录功能简介最小镜像src/minimal可以在开发板上启动但缺少部分依赖的镜像完整镜像src/complete完整依赖镜像压缩扩容镜像src/compress带有压缩扩容功能的完整依赖镜像
制作最小镜像
1.将ubuntu language设置为English(UK)
2.tf读卡器插入电脑usb口vmware会弹出窗口将硬盘接入虚拟机 3.切换root用户安装依赖包
su -i
apt-get install -y qemu-system qemu-user qemu-user-static binfmt-support4.然后将emmc-head文件依赖的库文件拷贝到ubuntu22.04的/usr/lib64库文件在linux源码的library文件夹下 使用filezilla上传 5.运行emmc-head命令输出以下内容表示lib安装成功 6.进入sr/minimal,ubuntu预装进开发板的软件包deb可以放在
ubuntu/22.04/download7.使用fdish -l查看硬盘挂载情况
找到32G tf卡所在挂载路径 8.执行以下命令开始制作最小镜像
bash base.sh ubuntu/22.04/ /dev/sdb ubuntu/22.04/download/9.最终输出制作成功 Minimal image build successful! 查看磁盘分区被划分成5个分区 TF插入主板会重启一次重启之后可以使用串口登录
YoloV5s目标检测
前言
使用usb摄像头加orangepi AI pro开发板。
执行准备
确定具有桌面的镜像使用HDMI0连接显示器、
HwHiAiUser用户登录开发板
切换到root用户
cd /opt/opi_testcd ResnetPicture/scriptsbash sample_run.sh如果你是orangepi aipro ubuntu 22.04镜像 - 安装ACClite库
2.安装依赖
Sapt-get install ffmpeg libavcodec-dev libswscale-dev libavdevice-dev
检查ffmepg是否安装成功
dpkg -S ffmpeg3.安装步骤
# 拉取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样例下载
切换用户到HwHiAiUser
下载源码从gitee上clone
git clone https://gitee.com/ascend/EdgeAndRobotics.git切换到样例目录
cd EdgeAndRobotics/Samples/YOLO5USBCamera
cd model
运行样例
1.使用usb摄像头直接从外设使用opencv读取图片帧处理
2.获取PyTorch框架的Yolov5模型*.onnx并转换为昇腾AI处理器能识别的模型*.om
当设备内存小于8G时可设置如下两个环境变量减少atc模型转换过程中使用的进程数减小内存占用。 export TE_PARALLEL_COMPILER1
export MAX_COMPILE_CORE_NUMBER1原始模型下载及模型转换命令 cd ../model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov5s/yolov5s.onnx --no-check-certificate
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov5s/aipp.cfg --no-check-certificate
atc --modelyolov5s.onnx --framework5 --outputyolov5s --input_shapeimages:1,3,640,640 --soc_versionAscend310B4 --insert_op_confaipp.cfgatc命令中各参数的解释如下详细约束说明请参见《ATC模型转换指南》。 --modelYolov5网络的模型文件的路径。--framework原始框架类型。5表示ONNX。--outputyolov5s.om模型文件的路径。请注意记录保存该om模型文件的路径后续开发应用时需要使用。--input_shape模型输入数据的shape。--soc_version昇腾AI处理器的版本。version Ascend310B4
3.编译源码
~/EdgeAndRobotics/Samples/YOLOVSUSBCamera/models$ cd ../scripts
ls
sample_run.bash sample_build.sh
编译样例源码
bash sample_build.sh4.运行样例
在直连电脑场景执行以下脚本运行样例。此时会以结果打屏的形式呈现推理效果。
bash sample_run.sh stdout最后终于成功 总结错误
bash sample_build.sh
文件无法写入问题
权限之前转换模型时使用的root 解决
sudo chown -R HwHiAiUser:HwHiAiUser buildsudo chown -R HwHiAiUser:HwHiAiUser outACLLite库没安装错误 sudo bash sample_build.sh[sudo] password for HwHiAiUser:[INFO] Sample preparation-- The C compiler identification is GNU 11.4.0-- The CXX compiler identification is GNU 11.4.0-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working C compiler: /usr/bin/cc - skipped-- Detecting C compile features-- Detecting C compile features - done-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Check for working CXX compiler: /usr/bin/g - skipped-- Detecting CXX compile features-- Detecting CXX compile features - done-- set default INC_PATH: /usr/local/Ascend/ascend-toolkit/latest-- set default LIB_PATH: /usr/local/Ascend/ascend-toolkit/latest/runtime/lib64/stub-- Found OpenCV: /usr (found version 4.5.4)-- Configuring done-- Generating done-- Build files have been written to: /home/HwHiAiUser/EdgeAndRobotics/Samples/YOLOV5USBCamera/build/intermediates/host 解决方法在上面 安装ACLLite
模型加载失败
原因是转换模型时root用户生成的yolov5s.om模型是root用户 解决方法
sudo chown -R HwHiAiUser:HwHiAiUser yolov5s.om4.** cv::Exception**我在串口执行sample_run.sh时 terminate called after throwing an instance of cv::Exception what(): OpenCV(4.5.4) ./modules/highgui/src/window_gtk.cpp:635: error: (-2:Unspecified error) Cant initialize GTK backend in function cvInitSystem sample_run.sh: line 5: 19325 Aborted (core dumped) ./main $1[INFO] The program runs failed 将其切换到桌面系统因为要启动一个输出图像页面 其他样例
使用AscendCL显示不同功能
样例功能样例名称“Hello World” For AscendCLsampleResnetQuickStart以ResNet50网络模型为例进行模型推理实现对物体进行分类并给出TOP5类别置信度和相应类别信息Object Detection with Acllite Acllite目标检测sampleYOLOV7以YOLOV7网络模型为例使能Acllite对图片进行预处理并通过模型转换使能静态AIPP功能使能AIPP功能后YUV420SP_U8格式图片转化为RGB然后减均值和归一化操作并将该信息固化到转换后的离线模型中对YOLOV7网络执行推理对图片进行物体检测和分类并给出标定框和类别置信度。………
具体学习可参考- samples: CANN Samples (gitee.com)
参考资料
[1]深圳市迅龙软件有限公司. (2024). OrangePi AI Pro 昇腾用户手册 V0.3.1[用户手册]. 深圳: 深圳市迅龙软件有限公司.
[2]华为技术有限公司. (2024). EdgeAndRobotics[源代码]. Gitee平台. https://gitee.com/ascend/EdgeAndRobotics
深圳迅龙科技有限公司. (2024). Orange Pi AI Pro产品介绍与技术支持[EB/OL]. 橙派官网, http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html.