🤞拥抱香橙派aipro,解锁目标检测智慧算力🤞
🎈香橙派aipro是什么?
香橙派aipro
是由香橙派联合华为精心打造,建设人工智能新生态的高端产品,采用昇腾ai技术路线,拥有8topsai算力,8gb/16gb的lpddr4x内存。
香橙派aipro
拥有丰富的拓展接口,包括两个hdmi输出、gpio接口、type-c电源接口、支持sata/nvme ssd 2280的m.2插槽、tf插槽、千兆网口、两个usb3.0、一个usb type-c 3.0、一个micro usb(串口打印调试功能)、两个mipi摄像头、一个mipi屏等,预留电池接口。
香橙派aipro
支持ubuntu、openeuler操作系统,可广泛适用于ai边缘计算、深度视觉学习及视频流ai分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、ar/vr、智能安防、智能家居等领域。
🎈香橙派aipro支持的ai场景
由于支持的场景较多,以下介绍三种常见场景
- 目标检测&目标分类
通过上传指定视频到香橙派aipro或者usb接口连接camera与开发板,从camera获取视频,基于yolov系列模型对输入视频中的物体做实时检测,将推理结果信息通过实时视频进行展示。
- 手写数字识别(训练&推理)
手写数字识别是将手写数字图像映射到相应的数字类别上的过程。它是机器学习和计算机视觉领域的一个经典问题。实现手写数字识别涉及到数据收集、特征提取、模型选择、训练和评估等机器学习中的基本步骤。
- 视频编码解码
视频解码使用acllite接口完成视频解码,主要功能为读取mp4文件的前十帧并解码为yuv图片,视频编码使用acllite接口完成视频编码,主要功能为读取yuv文件的十次并编码为h264视频文件。
🎈ssh连接香橙派aipro完成摄像头接入
🎈香橙派aipro运行yolov5s实时目标检测
🍮 前期准备
1.设置环境变量并安装
#进入ssh配置程序编译依赖的头文件与库文件路径
export ddk_path=/usr/local/ascend/ascend-toolkit/latest
export npu_host_lib=$ddk_path/runtime/lib64/stub
2.安装acllite库和ffmpeg
#一般ubuntu 22.04已经安装了如下的包
apt-get install ffmpeg libavcodec-dev libswscale-dev libavdevice-dev
# 拉取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
🍮源码仓库下载
1.进入ssh页面下载源码仓
git clone https://gitee.com/ascend/edgeandrobotics.git
# 切换到样例目录
cd edgeandrobotics/samples/yolov5usbcamera/model
2.下载pytorch框架的yolov5模型(.onnx),并转换为昇腾ai处理器能识别的模型(.om)
这个地方需要注意一下:昇腾ai处理器识别的是.om后缀的模型,所以需要转换
#(可选,可选,可选)当设备内存小于8g时,可设置如下两个环境变量减少atc模型转换过程中使用的进程数,减小内存占用。
export te_parallel_compiler=1
export max_compile_core_number=1
#下载yolov5s的模型和转换模型
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
🍮目标检测执行
1.执行转换命令把yolov5s.onnx转为yolov5s.om
atc --model=yolov5s.onnx --framework=5 --output=yolov5s --input_shape="images:1,3,640,640" --soc_version=ascend310b4 --insert_op_conf=aipp.cfg
这个转换的过程比较长,稍等一下
atc命令中各参数的解释如下,
–model:yolov5网络的模型文件的路径。
–framework:原始框架类型。5表示onnx。
–output:yolov5s.om模型文件的路径。请注意,记录保存该om模型文件的路径,后续开发应用时需要使用。
–input_shape:模型输入数据的shape。
–soc_version:昇腾ai处理器的版本。
2.编译样例源码
cd ../scripts
bash sample_build.sh
3.运行样例
这个时候hdmi把香橙派aipro连接到显示屏,然后执行以下命令运行程序,开启摄像头图像接入,然后在显示屏上实时显示目标检测结果的画面
#执行以下脚本运行样例。
bash sample_run.sh imshow
运行视频演示:
🍚总结
使用感受:本次使用香橙派aipro运行yolov5s,主要是对该开发板进行目标检测能力的测试,通过摄像头实时接收图像进行目标检测,无论是人像,手机等其他工具都能够很好的进行识别,香橙派aipro具有迷你紧凑的机身,却能支撑如此大的算力,极大的助力了我国物联网+ai的发展。
使用场景:目标检测,机器人,自然语言、智能小车、机械臂、人工智能、无人机、云计算、ar/vr、智能安防、智能家居等处理等场景都能很好的应对,相比于其他派,最亮眼的地方是香橙派aipro基于昇腾深度研发的ai开发板,集成了大算力,能够有效应对各种ai环境。
个人建议:与国产派和传统派系列的相比来说,香橙派aipro具有很好的优势,作为以支撑强大算力的开发板来说,需要改进的一点是8/16tops的算力还是稍微有些低,可以借鉴jetson,从算力方面进行提升,以便能够适应更大算力的大模型。
大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。
writted by 知识浅谈
发表评论