日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 廠商動態(tài) > 米爾電子
[導讀]X-LINUX-AI 是 STM32 MPU OpenSTLinux 擴展包,面向 STM32MP1 和 STM32MP2 系列微處理器的人工智能。它包含 Linux? AI 框架,以及用于開始一些基本使用案例的應用程序示例。

1. X-Linux-AI概述

X-LINUX-AI 是 STM32 MPU OpenSTLinux 擴展包,面向 STM32MP1 和 STM32MP2 系列微處理器的人工智能。它包含 Linux® AI 框架,以及用于開始一些基本使用案例的應用程序示例。

X-LINUX-AI 中提供的示例包括一系列用于圖像分類、對象檢測、語義分割和人體姿勢估計的優(yōu)化模型。X-LINUX-AI 中作為預構(gòu)建二進制文件提供的人臉識別應用程序基于 STMicroelectronics 重新訓練的模型。

這些示例依賴于基于 TensorFlow? Lite 推理引擎、ONNX 運行時、OpenVX? 或 Google Edge TPU? 加速器的 STAI_MPU API。它們都支持 Python? 腳本和 C/C++ 應用程序。本文內(nèi)容將通過MYD-LD25X來演示這些示例demo。

1.1. 硬件資源

? 帶有燒錄好MYiR發(fā)布鏡像的MYD-LD25X開發(fā)板(基于SMT32MP257處理器)

圖:MYD-LD25X開發(fā)板(基于SMT32MP257處理器)

? MY-LVDS070C屏幕或者任意HDMI接口顯示器

? MY-CAM003M米爾MIPI-CSI攝像頭模塊

1.2. 軟件資源

本文內(nèi)容操作均在MYD-LD25X開發(fā)板的調(diào)試串口執(zhí)行,請確保先完成了MYD-LD25X快速使用指南(也就是開發(fā)板附帶的小冊子)上的基本內(nèi)容,并且需要確保開發(fā)板能夠聯(lián)通互聯(lián)網(wǎng),提供網(wǎng)絡(luò)的方式有多種,可以是能夠連接互聯(lián)網(wǎng)的路由器,也可以是Wifi,Wifi具體的連接方式可以查閱發(fā)布資料中《MYD-LD25X Linux 軟件評估指南》Wifi的STA連接章節(jié)。

2. 開發(fā)板安裝X-Linux-AI

本章主要介紹如何在MYD-LD25X開發(fā)板上安裝X-Linux-AI以及相關(guān)demo組件等。

2.1. 配置準備環(huán)境

1) 獲取校準參數(shù)

如果在MYD-LD25X使用LVDS屏幕,初次使用進入weston需要校準屏幕,校準的自動化腳本操作默認添加在autorun腳本中,如果已經(jīng)執(zhí)行過校準操作或者使用HDMI屏幕,則可以跳過該小節(jié)內(nèi)容。

運行autorun.sh腳本執(zhí)行校準操作:

# autorun.sh

執(zhí)行后lvds屏幕會出現(xiàn)觸摸點位,以此點擊后完成校準,之后使用屏幕無需再次校準。

2) 關(guān)閉HMI

避免出現(xiàn)顯示沖突,在MYD-LD25X登錄后,執(zhí)行以下操作關(guān)閉mxapp2程序也就是MYiR的HMI界面:

# killall mxapp2

并且將autorun腳本中啟動mxapp2的行注釋掉,下次啟動后就不會自動運行了:

# vi /usr/bin/autorun.sh

#!/bin/sh

...省略

sync

#/usr/sbin/mxapp2 &

3) 更新軟件源

執(zhí)行以下命令更新軟件源:

# 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連接互聯(lián)網(wǎng),請確保網(wǎng)絡(luò)通暢。執(zhí)行上述命令時,可能會出現(xiàn)以下問題導致更新錯誤:

? 同步時間問題

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.

出現(xiàn)上述問題的原因是當前開發(fā)板時間沒有和網(wǎng)絡(luò)時間成功同步,執(zhí)行以下操作同步網(wǎng)絡(luò)時間,首先修改timesyncd.conf配置文件,新增FallbackNTP授時中心網(wǎng)站,按如下所示修改:

# vi /etc/systemd/timesyncd.conf

...

[Time]

#NTP=

FallbackNTP=ntp.ntsc.ac.cn cn.ntp.org.cn

...

然后輸入如下命令重啟同步時間服務(wù):

# systemctl restart systemd-timesyncd

再次輸入date查看時間是否成功更新,根據(jù)網(wǎng)絡(luò)情況不同部分情況可能需要一定時間同步:

# date

2023年 03月 03日 星期五 17:50:37 CST

# date

2024年 09月 20日 星期五 15:45:15 CST

? DNS問題

運行apt update后可能會出現(xiàn)以下問題:

# 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,在文件中添加如下內(nèi)容:

# vi /etc/resolv.conf

...

nameserver 8.8.8.8

nameserver 8.8.4.4

2.2. 安裝x-linux-ai-tool

當完成環(huán)境配置后,輸入以下命令安裝x-linux-ai-tool:

# apt-get install -y x-linux-ai-tool

安裝完成后,輸入以下命令確認是否安裝完成:

# x-linux-ai -v

X-LINUX-AI version: v5.1.0

關(guān)于x-linux-ai工具的使用,可以通過x-linux-ai -h查看或者瀏覽官方wiki:

X-LINUX-AI Tool - stm32mpu

2.3. 安裝 X-LINUX-AI 演示包

要開始使用 X-linux-ai,需要安裝 X-linux-ai 演示包,該包提供了針對所用特定目標優(yōu)化的所有 Ai 框架、應用程序示例、工具和實用程序:

# x-linux-ai -i packagegroup-x-linux-ai-demo

2.4. 運行demo啟動器

ST的官方demo啟動器在MYD-LD25X默認已經(jīng)移除,為了方便使用X-linu-ai的demo應用,需要重新添加隨weston自啟動的官方demo展示程序。

進入/usr/local/weston-start-at-startup目錄,并新建start_up_demo_launcher.sh腳本,按照如下操作添加對應內(nèi)容到腳本中:

# 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

fi

else

$DEFAULT_DEMO_APPLICATION_GTK

fi

然后添加運行權(quán)限給腳本:

# chmod a+x start_up_demo_launcher.sh

最后重啟weston服務(wù)后,可以看到啟動器成功運行:

# systemctl restart weston-graphical-session.service

圖2-1. demo啟動器-1

圖2-2. demo啟動器-2

3. 運行AI 應用實例

本章節(jié)將簡單展示上文安裝后的幾個Demo具體情況,在執(zhí)行Demo前,需要準備好1.1小節(jié)的硬件資源。

以下demo運行都需要使用到MIPI-CSI攝像頭,適用于MYD-LD25X開發(fā)板的攝像頭型號為米爾的MY-CAM003M,在使用該攝像頭前需要按照以下命令來初始化配置并事先預覽確保攝像頭能夠正常工作。

進入/etc/myir_test目錄,運行myir_camera_play腳本:

# cd /etc/myir_test

# ./myir_camera_play

執(zhí)行后,屏幕上會出現(xiàn)攝像頭預覽畫面,請確保畫面顯示正常,如果存在問題,請查閱《MYD-LD25X Linux 軟件評估指南》中關(guān)于MIPI-CSI攝像頭的部分檢查攝像頭連接情況等來排查問題,如有需要請咨詢米爾技術(shù)支持。

3.1. 圖像分類

圖像分類神經(jīng)網(wǎng)絡(luò)模型可以識別圖像所代表的對象。它將圖像分類為不同的類別。該應用展示了一個計算機視覺的圖像分類用例,從相機輸入(/dev/videox)捕獲幀,并通過OpenVX、TFLite或ONNX框架解析的神經(jīng)網(wǎng)絡(luò)模型進行分析。

3.1.1. 通過demo啟動器運行

可以通過點擊demo啟動器中的Image Classifiction樣例圖標來運行該demo,默認情況下,通過2.3小節(jié)安裝的是OpenVX的應用程序,并且由C/C++和Python兩種。

圖3-1. 圖像分類

3.1.2. 通過命令運行

圖像分類的C/C++和Python應用程序位于/usr/local/x-linux-ai/image-classification/目錄中,可以通過運行程序加-h參數(shù)來獲取更多幫助信息:

# 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啟動器啟動默認為使用相機輸入,和命令啟動中使用相機輸入的腳本運行結(jié)果一致,這里以C/C++程序為例,具體測試情況如下:

# cd /usr/local/x-linux-ai/image-classification

# ./launch_bin_image_classification.sh #或者點擊demo啟動器圖標

圖3-2. 攝像機輸入

運行圖片輸入的程序腳本前,需要準備識別的圖片,這里以一張?zhí)┑闲艿膱D片為例,圖片放置目錄為/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

運行結(jié)果如下:

圖3-3. 圖片輸入

3.2. 對象檢測

該應用展示了一個計算機視覺的對象檢測用例,從相機輸入(/dev/videox)捕獲幀,并通過OpenVX、TFLite或ONNX框架解析的神經(jīng)網(wǎng)絡(luò)模型進行分析。使用Gstreamer管道來流式傳輸相機幀(使用v4l2src),顯示預覽(使用gtkwaylandsink),并執(zhí)行神經(jīng)網(wǎng)絡(luò)推理(使用appsink)。

3.2.1. 通過demo啟動器運行

可以通過點擊demo啟動器中的Object Detection樣例圖標來運行該demo,默認情況下,通過2.3小節(jié)安裝的是OpenVX的應用程序,并且由C/C++和Python兩種。

圖3-4. 對象檢測

3.2.2. 通過命令運行

對象檢測的C/C++和Python應用程序位于/usr/local/x-linux-ai/object-detection/目錄中,可以通過運行程序加-h參數(shù)來獲取更多幫助信息:

# 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啟動器啟動默認為使用相機輸入,和命令啟動中使用相機輸入的腳本運行結(jié)果一致,這里以C/C++程序為例,具體測試情況如下:

# cd /usr/local/x-linux-ai/object-detection

# ./launch_bin_object_detection.sh #或者點擊demo啟動器圖標

圖3-5. 攝像機輸入

運行圖片輸入的程序腳本前,需要準備識別的圖片,這里以一張?zhí)┑闲芎托∝埖膱D片為例,圖片放置目錄為:

/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

運行結(jié)果如下:

圖3-6. 圖片輸入

3.3. 姿勢估計

該應用展示了一個計算機視覺的人體姿態(tài)估計用例,從相機輸入(/dev/videox)捕獲幀,并通過OpenVX框架解析的神經(jīng)網(wǎng)絡(luò)模型進行分析。該應用使用的模型是從stm32-hotspot ultralytics的GitHub分支下載的ST YoloV8n-pose。

3.3.1. 通過demo啟動器運行

可以通過點擊demo啟動器中的Pose Estimation樣例圖標來運行該demo,默認情況下,通過2.3小節(jié)安裝的是OpenVX的應用程序,默認為Python應用程序。

圖3-7. 姿勢估計

3.3.2. 通過命令運行

姿勢估計的C/C++和Python應用程序位于/usr/local/x-linux-ai/object-detection/目錄中,可以通過運行程序加-h參數(shù)來獲取更多幫助信息:

# 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啟動器啟動默認為使用相機輸入,和命令啟動中使用相機輸入的腳本運行結(jié)果一致,這里以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

運行結(jié)果如下:

圖3-9. 圖片輸入

3.4. 語義分割

該應用展示了一個計算機視覺的語義分割用例,從相機輸入(/dev/videox)捕獲幀,并通過OpenVX框架解析的神經(jīng)網(wǎng)絡(luò)模型進行分析。使用Gstreamer管道來流式傳輸相機幀(使用v4l2src),顯示預覽(使用gtkwaylandsink),并執(zhí)行神經(jīng)網(wǎng)絡(luò)推理(使用appsink)。推理結(jié)果顯示在預覽中,疊加是使用GtkWidget和cairo實現(xiàn)的。該應用使用的模型是從TensorFlow? Lite Hub下載的DeepLabV3。

3.4.1. 通過demo啟動器運行

可以通過點擊demo啟動器中的Semantic Segmentation樣例圖標來運行該demo,默認情況下,通過2.3小節(jié)安裝的是OpenVX的應用程序,默認為Python應用程序。

圖3-10. 語義分割

3.4.2. 通過命令運行

語義分割的C/C++和Python應用程序位于/usr/local/x-linux-ai/object-detection/目錄中,可以通過運行程序加-h參數(shù)來獲取更多幫助信息:

# 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啟動器啟動默認為使用相機輸入,和命令啟動中使用相機輸入的腳本運行結(jié)果一致,這里以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

運行結(jié)果如下:

圖3-12. 圖片輸入

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉