您好,欢迎访问江南网站!

集团动态

联系江南

江南
联系人:杜经理
手机:18755199984
电话:0551-82601881
邮箱:sale.zcjd@qq.com
地址:合肥市巢湖市团结路与东塘路交口东方国际大厦8层
江南首页>>江南新闻>>集团动态>>江南-如何在STM32上运行AI应用

江南-如何在STM32上运行AI应用

发布日期:2024-10-05 作者:江南

[导读]X-LINUX-AI 是 STM32 MPU OpenSTLinux 扩大包,面向 STM32MP1 和 STM32MP2 系列微处置器的人工智能。它包括 Linux® AI 框架,和用在最先一些根基利用案例的利用法式示例。 X-LINUX-AI 是 STM32 MPU OpenSTLinux 扩大包,面向 STM32MP1 和 STM32MP2 系列微处置器的人工智能。它包括 Linux AI 框架,和用在最先一些根基利用案例的利用法式示例。 X-LINUX-AI 中供给的示例包罗一系列用在图象分类、对象检测、语义朋分和人体姿式估量的优化模子。X-LINUX-AI 中作为预构建二进制文件供给的人脸辨认利用法式基在 STMicroelectronics 从头练习的模子。 这些示例依靠在基在 TensorFlow™ Lite 推理引擎、ONNX 运行时、OpenVX™ 或 Google Edge TPU™ 加快器的 STAI_MPU API。它们都撑持 Python™ 剧本和 C/C++ 利用法式。本文内容将经由过程MYD-LD25X来演示这些示例demo。 1.1. 硬件资本 Ø 带有烧录好MYiR发布镜像的MYD-LD25X开辟板(基在SMT32MP257处置器) 图:MYD-LD25X开辟板(基在SMT32MP257处置器) Ø MY-LVDS070C屏幕或肆意HDMI接口显示器 Ø MY-CAM003M米尔MIPI-CSI摄像头模块 1.2. 软件资本 本文内容操作均在MYD-LD25X开辟板的调试串口履行,请确保先完成了MYD-LD25X快速利用指南(也就是开辟板附带的小册子)上的根基内容,而且需要确保开辟板可以或许联通互联网,供给收集的体例有多种,可所以可以或许毗连互联网的路由器,也能够是Wifi,Wifi具体的毗连体例可以查阅发布资猜中《MYD-LD25X Linux 软件评估指南》Wifi的STA毗连章节。 2. 开辟板安装X-Linux-AI 本章首要介绍若何在MYD-LD25X开辟板上安装X-Linux-AI和相干demo组件等。 2.1. 设置装备摆设预备情况 1) 获得校准参数 假如在MYD-LD25X利用LVDS屏幕,初度利用进入weston需要校准屏幕,校准的主动化剧本操作默许添加在autorun剧本中,假如已履行过校准操作或利用HDMI屏幕,则可以跳过该末节内容。 运行autorun.sh剧本履行校准操作: # autorun.sh 履行后lvds屏幕会呈现触摸点位,以此点击后完成校准,以后利用屏幕无需再次校准。 2) 封闭HMI 避免呈现显示冲突,在MYD-LD25X登录后,履行以下操作封闭mxapp2法式也就是MYiR的HMI界面: # killall mxapp2 而且将autorun剧本中启动mxapp2的行注释失落,下次启动后就不会主动运行了: # vi /usr/bin/autorun.sh #!/bin/sh ...省略 sync #/usr/sbin/mxapp2 3) 更新软件源 履行以下号令更新软件源: # apt update The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses. Get:1 http://packages.openstlinux.st.com/5.1 mickledore InRelease [5,723 B] Get:2 http://packages.openstlinux.st.com/5.1 mickledore/main arm64 Packages [725 kB] Get:3 http://packages.openstlinux.st.com/5.1 mickledore/updates arm64 Packages [38.2 kB] Get:4 http://packages.openstlinux.st.com/5.1 mickledore/untested arm64 Packages [1,338 kB] Fetched 2,107 kB in 3s (690 kB/s) Reading package lists... Done Building dependency tree... Done 1 package can be upgraded. Run 'apt list --upgradable' to see it. 更新源需要MYD-LD25X毗连互联网,请确保收集畅达。履行上述号令时,可能会呈现以下问题致使更新毛病: • 同步时候问题 E: Release file for http://packages.openstlinux.st.com/5.1/dists/mickledore/InRelease is not valid yet (invalid for another 1383d 8h 14min 14s). Updates for this repository will not be applied. E: Release file for http://extra.packages.openstlinux.st.com/AI/5.1/dists/mickledore/InRelease is not valid yet (invalid for another 1381d 8h 10min 47s). Updates for this repository will not be applied. 呈现上述问题的缘由是当前开辟板时候没有和收集时候成功同步,履行以下操作同步收集时候,起首点窜timesyncd.conf设置装备摆设文件,新增FallbackNTP授时中间网站,按以下所示点窜: # vi /etc/systemd/timesyncd.conf ... [Time] #NTP= FallbackNTP=ntp.ntsc.ac.cn cn.ntp.org.cn ... 然后输入以下号令重启同步时候办事: # systemctl restart systemd-timesyncd 再次输入date查看时候是不是成功更新,按照收集环境分歧部门环境可能需要必然时候同步: # date 2023年 03月 03日 礼拜五 17:50:37 CST # date 2024年 09月 20日 礼拜五 15:45:15 CST •DNS问题 运行apt update后可能会呈现以下问题: # apt update ... Err:1 http://packages.openstlinux.st.com/5.1 mickledore InRelease Temporary failure resolving 'packages.openstlinux.st.com' Reading package lists... Done Building dependency tree... Done All packages are up to date. W: Failed to fetch http://packages.openstlinux.st.com/5.1/dists/mickledore/InRelease Temporary failure resolving 'packages.openstlinux.st.com' W: Some index files failed to download. They have been ignored, or old ones used instead. 该问题需要点窜/etc/resolve.conf,在文件中添加以下内容: # vi /etc/resolv.conf ... nameserver 8.8.8.8 nameserver 8.8.4.4 2.2. 安装x-linux-ai-tool 当完成情况设置装备摆设后,输入以下号令安装x-linux-ai-tool: # apt-get install -y x-linux-ai-tool 安装完成后,输入以下号令确认是不是安装完成: # x-linux-ai -v X-LINUX-AI version: v5.1.0 关在x-linux-ai东西的利用,可以经由过程x-linux-ai -h查看或阅读官方wiki: X-LINUX-AI Tool - stm32mpu 2.3. 安装 X-LINUX-AI 演示包 要最先利用 X-linux-ai,需要安装 X-linux-ai 演示包,该包供给了针对所用特定方针优化的所有 Ai 框架、利用法式示例、东西和适用法式: # x-linux-ai -i packagegroup-x-linux-ai-demo 2.4. 运行demo启动器 ST的官方demo启动器在MYD-LD25X默许已移除,为了便利利用X-linu-ai的demo利用,需要从头添加随weston自启动的官方demo展现法式。 进入/usr/local/weston-start-at-startup目次,并新建start_up_demo_launcher.sh剧本,依照以下操作添加对应内容到剧本中: # cd /usr/local/weston-start-at-startup # vi start_up_demo_launcher.sh #!/bin/sh DEFAULT_DEMO_APPLICATION_GTK=/usr/local/demo/launch-demo-gtk.sh if [ -e /etc/default/demo-launcher ]; then source /etc/default/demo-launcher if [ ! -z "美金DEFAULT_DEMO_APPLICATION" ]; then 美金DEFAULT_DEMO_APPLICATION else 美金DEFAULT_DEMO_APPLICATION_GTK else 美金DEFAULT_DEMO_APPLICATION_GTK 然后添加运行权限给剧本: # chmod a+x start_up_demo_launcher.sh 最后重启weston办事后,可以看到启动器成功运行: # systemctl restart weston-graphical-session.service 图2-1. demo启动器-1 图2-2. demo启动器-2 3. 运行AI 利用实例 本章节将简单展现上文安装后的几个Demo具体环境,在履行Demo前,需要预备好1.1末节的硬件资本。 以下demo运行都需要利用到MIPI-CSI摄像头,合用在MYD-LD25X开辟板的摄像头型号为米尔的MY-CAM003M,在利用该摄像头前需要依照以下号令来初始化设置装备摆设并事前预览确保摄像头可以或许正常工作。 进入/etc/myir_test目次,运行myir_camera_play剧本: # cd /etc/myir_test # ./myir_camera_play 履行后,屏幕上会呈现摄像头预览画面,请确保画面显示正常,假如存在问题,请查阅《MYD-LD25X Linux 软件评估指南》中关在MIPI-CSI摄像头的部门查抄摄像头毗连环境等来排盘问题,若有需要请咨询米尔手艺撑持。 3.1. 图象分类 图象分类神经收集模子可以辨认图象所代表的对象。它将图象分类为分歧的种别。该利用展现了一个计较机视觉的图象分类用例,从相机输入(/dev/videox)捕捉帧,并经由过程OpenVX、TFLite或ONNX框架解析的神经收集模子进行阐发。 3.1.1. 经由过程demo启动器运行 可以经由过程点击demo启动器中的Image Classifiction样例图标来运行该demo,默许环境下,经由过程2.3末节安装的是OpenVX的利用法式,而且由C/C++和Python两种。 图3-1. 图象分类 3.1.2. 经由过程号令运行 图象分类的C/C++和Python利用法式位在/usr/local/x-linux-ai/image-classification/目次中,可以经由过程运行法式加-h参数来获得更多帮忙信息: # cd /usr/local/x-linux-ai/image-classification/ # ls -la stai_mpu_image_classification #C++运行法式 stai_mpu_image_classification.py #Python运行法式 为了简化demo的启动,在利用法式目次下有设置装备摆设好的启动剧本: Ø 利用相机输入启动图象分类demo launch_bin_image_classification.sh #C++运行法式 launch_python_image_classification.sh #Python运行法式 Ø 利用图片输入启动图象分类demo launch_bin_image_classification_testdata.sh #C++运行法式 launch_python_image_classification_testdata.sh #Python运行法式 3.1.3. demo展现 经由过程demo启动器启动默许为利用相机输入,和号令启动中利用相机输入的剧本运行成果一致,这里以C/C++法式为例,具体测试环境以下: # cd /usr/local/x-linux-ai/image-classification # ./launch_bin_image_classification.sh #或点击demo启动器图标 图3-2. 摄像机输入 运行图片输入的法式剧本前,需要预备辨认的图片,这里以一张泰迪熊的图片为例,图片放置目次为/usr/local/x-linux-ai/image-classification/models/mobilenet/testdata,然后运行剧本,这里以C/C++利用法式为例。 # cd /usr/local/x-linux-ai/image-classification/models/mobilenet/testdata # ls -la -rwxr--r-- 1 root root 102821 9 20 23:14 teddy.jpg # cd /usr/local/x-linux-ai/image-classification # ./launch_bin_image_classification_testdata.sh 运行成果以下: 图3-3. 图片输入 3.2. 对象检测 该利用展现了一个计较机视觉的对象检测用例,从相机输入(/dev/videox)捕捉帧,并经由过程OpenVX、TFLite或ONNX框架解析的神经收集模子进行阐发。利用Gstreamer管道来流式传输相机帧(利用v4l2src),显示预览(利用gtkwaylandsink),并履行神经收集推理(利用appsink)。 3.2.1. 经由过程demo启动器运行 可以经由过程点击demo启动器中的Object Detection样例图标来运行该demo,默许环境下,经由过程2.3末节安装的是OpenVX的利用法式,而且由C/C++和Python两种。 图3-4. 对象检测 3.2.2. 经由过程号令运行 对象检测的C/C++和Python利用法式位在/usr/local/x-linux-ai/object-detection/目次中,可以经由过程运行法式加-h参数来获得更多帮忙信息: # cd /usr/local/x-linux-ai/object-detection/ # ls -la stai_mpu_object_detection #C++运行法式 stai_mpu_object_detection.py #Python运行法式 为了简化demo的启动,在利用法式目次下有设置装备摆设好的启动剧本: Ø 利用相机输入启动对象检测demo launch_bin_object_detection.sh #C++运行法式 launch_python_object_detection.sh #Python运行法式 Ø 利用图片输入启动对象检测demo launch_bin_object_detection_testdata.sh #C++运行法式 launch_python_object_detection_testdata.sh #Python运行法式 3.2.3. demo展现 经由过程demo启动器启动默许为利用相机输入,和号令启动中利用相机输入的剧本运行成果一致,这里以C/C++法式为例,具体测试环境以下: # cd /usr/local/x-linux-ai/object-detection # ./launch_bin_object_detection.sh #或点击demo启动器图标 图3-5. 摄像机输入 运行图片输入的法式剧本前,需要预备辨认的图片,这里以一张泰迪熊和小猫的图片为例,图片放置目次为: /usr/local/x-linux-ai/object-detection/models/coco_ssd_mobilenet/testdata 然后运行剧本,这里以C/C++利用法式为例。 # cd /usr/local/x-linux-ai/object-detection/models/coco_ssd_mobilenet/testdata # ls -la -rwxr--r-- 1 root root 102821 9 20 23:14 teddy-and-cat.jpg # cd /usr/local/x-linux-ai/object-detection # ./launch_bin_object_detection_testdata.sh 运行成果以下: 图3-6. 图片输入 3.3. 姿式估量 该利用展现了一个计较机视觉的人体姿态估量用例,从相机输入(/dev/videox)捕捉帧,并经由过程OpenVX框架解析的神经收集模子进行阐发。该利用利用的模子是从stm32-hotspot ultralytics的GitHub分支下载的ST YoloV8n-pose。 3.3.1. 经由过程demo启动器运行 可以经由过程点击demo启动器中的Pose Estimation样例图标来运行该demo,默许环境下,经由过程2.3末节安装的是OpenVX的利用法式,默许为Python利用法式。 图3-7. 姿式估量 3.3.2. 经由过程号令运行 姿式估量的C/C++和Python利用法式位在/usr/local/x-linux-ai/object-detection/目次中,可以经由过程运行法式加-h参数来获得更多帮忙信息: # cd /usr/local/x-linux-ai/pose-estimation/ # ls -la stai_mpu_pose_estimation.py 为了简化demo的启动,在利用法式目次下有设置装备摆设好的启动剧本: Ø 利用相机输入启动姿式估量demo launch_python_pose_estimation.sh Ø 利用图片输入启动姿式估量demo launch_python_pose_estimation_testdata.sh 3.3.3. demo展现 经由过程demo启动器启动默许为利用相机输入,和号令启动中利用相机输入的剧本运行成果一致,这里以C/C++法式为例,具体测试环境以下: # cd /usr/local/x-linux-ai/pose-estimation/ # ./launch_python_pose_estimation.sh #或点击demo启动器图标 图3-8. 摄像机输入 运行图片输入的法式剧本前,需要预备辨认的图片,这里以一张人跑步的图片为例,图片放置目次为:/usr/local/x-linux-ai/pose-estimation/models/yolov8n_pose/testdata,然后运行剧本,这里以C/C++利用法式为例。 # cd /usr/local/x-linux-ai/pose-estimation/models/yolov8n_pose/testdata # ls -la -rwxr--r-- 1 root root 102821 9 20 23:14 person-run.jpg # cd /usr/local/x-linux-ai/pose-estimation # ./launch_python_pose_estimation_testdata.sh 运行成果以下: 图3-9. 图片输入 3.4. 语义朋分 该利用展现了一个计较机视觉的语义朋分用例,从相机输入(/dev/videox)捕捉帧,并经由过程OpenVX框架解析的神经收集模子进行阐发。利用Gstreamer管道来流式传输相机帧(利用v4l2src),显示预览(利用gtkwaylandsink),并履行神经收集推理(利用appsink)。推理成果显示在预览中,叠加是利用GtkWidget和cairo实现的。该利用利用的模子是从TensorFlow™ Lite Hub下载的DeepLabV3。 3.4.1. 经由过程demo启动器运行 可以经由过程点击demo启动器中的Semantic Segmentation样例图标来运行该demo,默许环境下,经由过程2.3末节安装的是OpenVX的利用法式,默许为Python利用法式。 图3-10. 语义朋分 3.4.2. 经由过程号令运行 语义朋分的C/C++和Python利用法式位在/usr/local/x-linux-ai/object-detection/目次中,可以经由过程运行法式加-h参数江南体育来获得更多帮忙信息: # cd /usr/local/x-linux-ai/semantic-segmentation/ # ls -la stai_mpu_semantic_segmentation.py 为了简化demo的启动,在利用法式目次下有设置装备摆设好的启动剧本: Ø 利用相机输入启动语义朋分demo launch_python_semantic_segmentation.sh Ø 利用图片输入启动语义朋分demo launch_python_semantic_segmentation_testdata.sh 3.4.3. demo展现 经由过程demo启动器启动默许为利用相机输入,和号令启动中利用相机输入的剧本运行成果一致,这里以C/C++法式为例,具体测试环境以下: # cd /usr/local/x-linux-ai/semantic-segmentation/ # ./launch_python_semantic_segmentation.sh #或点击demo启动器图标 图3-11. 摄像机输入 运行图片输入的法式剧本前,需要预备辨认的图片,这里以一张人正在办公的图片为例,图片放置目次为: /usr/local/x-linux-ai/semantic-segmentation/models/deeplabv3/testdata 然后运行剧本,这里以C/C++利用法式为例。 # cd /usr/local/x-linux-ai/semantic-segmentation/models/deeplabv3/testdata # ls -la -rwxr--r-- 1 root root 102821 9 20 23:14 person-work.jpg # cd /usr/local/x-linux-ai/semantic-segmentation # ./launch_python_semantic_segmentation_testdata.sh 运行成果以下: 图3-12. 图片输入

欲知详情,请下载word文档 下载文档

北京2024年8月27日 /美通社/ -- 在8月23日举行的2024年长三角生态绿色一体化成长示范区结合招商会上,软通动力信息手艺(团体)股分有限公司(以下简称 软通动力 )与长三角投资(上海)有限...

要害字: BSP 信息手艺

上海2024年8月26日 /美通社/ -- 本日,高端全合成润滑油品牌美孚1号联袂品牌体验官周冠宇,开启全新路程,助力泛博车主经由过程驾驶去摸索更广漠的世界。在全新发布的品牌视频中,周冠宇和分歧布景的消费者表达了对驾驶的酷爱...

要害字: BSP 汽车制造

上一篇:江南-半导体 下一篇:江南-芯鲜事

江南
专业 规范 诚信 共赢 创新 发展

18755199984/0551-82601881

( 服务咨询热线 )
地址:合肥市巢湖市团结路与东塘路交口东方国际大厦8层
Copyright © 2022 All Rights Reserved.
技术支持:无忧资源网   皖ICP备2023013513号-1