1.簡介
NanoEdge AI 庫是 Cartesiam 推出的人工智能靜態庫,它可以幫助客戶直接生成可以運行在嵌入式 Arm Cortex 處理器上的.a 靜態庫文件。
2021 年 ST 收購 Cartesiam,完善了 ST 在 AI 領域的生態,大大降低了客戶使用 STM32 開發 AI 應用的難度。通過使用 NanoEdge AI Studio,用戶只需要了解基本的 AI 概念,并提供相應的數據,便可以從眾多 AI 算法庫中智能搜索和生成出最符合用戶應用的算法。
NanoEdge AI Studio 具備以下特點:
? 通過抽象化數據科學和機器學習,降低用戶開發難度。
? 快速部署機器學習,兼容任何 C 代碼。
? 對比傳統機器學習方法,使用最少量數據。
感興趣的話歡迎從以下網址下載該工具進行評估
本文將介紹 NanoEdge AI Studio 的使用方法,并完成人體姿態識別的簡單應用。
2.數據采集
在使用 NanoEdge AI Studio 之前,我們需要準備數據,數據來源可以是公開的數據集,也可以是自己采集的數據,還可以利用 NanoEdge AI Studio 采集數據。
2.1硬件介紹
在 ST 官網搜索 STEVAL-MKSBOX1V1 可以查看關于開發板的基本內容,板載了豐富的運動傳感器和溫濕度傳感器,并且具備 SD 卡,可以保存采集到的數據。板載的 USB 可以用于供電和下載程序,也可以通過 ST-LINK 和開發板連接進行調試和下載。USB 下載程序方法:我們這里使用 STM32 CubeProgrammer 下載程序。首先確保沒有用電池供電,然后按住板上的 boot 按鈕,連接 USB 到電腦,點擊 CubeProgrammer 中如下圖圖 2所示的 connect。
連接成功后,選擇好固件,然后填寫下載地址,點擊 Start Programming 即可完成下載。如圖 3:
2.2 軟件介紹
關于數據采集和后續的功能測試,推薦使用 FP-AI-SENSING1 這個軟件包,可以在 ST官網搜索到。該軟件包提供了基本的 BSP,包括按鈕,LED,傳感器驅動,SD 卡驅動,BLE驅動等。
除此之外,它還提供了一些功能可以幫助我們收集數據,包括可以通過 BLE 連接 ST Ble Sensor App,通過該 APP 配置板載傳感器采樣率,完成數據的采集,并將數據按一定格式保存到 SD 卡當中,本文將利用該方法采集加速度數據。
該軟件包也實現了人體姿態識別和聲音場景識別的 AI demo,可以在 ST BLE SensorAPP 上展示,其中的 demo 使用了 Cube.AI 工具做模型轉換,和本文討論的 NanoEdge AI 的方法不同,不在本文討論范圍中。
2.3 數據采集步驟
1編譯和燒錄程序
下載完 FP-AI-SENSING1 軟件包后,需要先編譯 bootloader,工程路徑位于:
FP-AI-SENSING1_V4.0.3ProjectsSTM32L4R9ZI-SensorTile.boxExamplesBootLoader
編譯完成后,下載到 sensorTile.box 當中即可。
然后編譯應用程序,工程路徑位于:
FP-AI-SENSING1_V4.0.3ProjectsSTM32L4R9ZI-SensorTile.boxApplicationsSENSING1
編譯完成后,下載到 sensorTile.box 當中,當上電啟動后,綠燈常亮,表明開發板初始化正常完成。藍色 LED 燈閃爍,表明 BLE 正處于廣播狀態。
注意:
? bootloader 的下載地址為 0x08000000
? App 的下載地址為 0x08004000
? 當使用電池供電,長按 PWR 按鈕,可以開機或關機。在后續采集運動姿態數據時,我們需要使用電池供電。
? 如有需要,可通過 USB 給電池充電,充電過程中,紅色 LED 會閃爍。
2ST BLE Sensor APP
該 APP 由 ST 提供,可以展示運動傳感器和溫濕度傳感器,您可從 ST 官網下載(搜索STBLESensor),或者 iPhone 通過蘋果商店可以下載,Android 通過 Google Play 或其他第三方下載商店下載。
給 sensorTile.box 上電后,開發板會自動進入廣播狀態,并且藍色 LED 閃爍,從 ST BLE Sensor APP 點擊“開始掃描”,搜索到開發板(sensorTile.box 一般默認命名為 BAI_400)之后,點擊連接就可以連接到開發板。連接完成后的展示界面如下:
可以通過該 APP 查看運動傳感器的數據曲線:
通過該 APP 進行數據采集的方法:點擊左上角菜單,并選擇 Data Log,如下:
在數據采集界面可以選擇板載的各種不同的傳感器,并設置采樣率。本文需要選擇加速度傳感器,并配置采樣率為 52Hz:
可以通過 ADD LABEL 來添加一個標簽,然后打開該標簽,點擊 START LOGGING 進行數據采集,采集完成后,點擊 STOP LOGGING 完成數據采集。
使用讀卡器,讀取 SD 卡里面的數據,保存為 CSV 格式,如下:
數據起始有一些標注,其中 Stationary 一行就是我們采集數據所打的標簽,每一行代表一個時間點采集到的三軸加速度數據,從時間上可以看出約 20ms 進行一次采樣,所以采樣率約為50Hz,和之前在 APP 中的設置是一致的,采集到的數據格式和我們最終在 NanoEdge AI studio中使用的格式是有差異的,需要進行一定的轉換,具體轉換方法在后面進行介紹。
3數據采集
在正式采集數據之前有些問題需要考慮清楚:
? 采樣率:如果想要比較好的恢復原始信號,采樣率必須大于原信號最大頻率的 2 倍。但是,目前是無法知道原始信號的最大頻率的,比較可行的方法是先以 52Hz 的采樣率對數據采集,采集完成后對信號進行分析,看是否滿足,如果不滿足再進行調整。
? 采樣時間:總體的采樣時間可以通過 APP 進行靈活的開關,單條信號的采樣時間需要自己定義,需要在后續的處理中進行調整。
? 標簽:FP-AI-SENSING1 的軟件包人體姿態識別 demo 中,默認包含以下標簽:HAR_STATIONARY(站立),HAR_WALKING(行走),HAR_FASTWALKING(快走),HAR_JOGGING(慢跑), HAR_BIKING(騎單車),HAR_DRIVING(開車),HAR_STAIRS(上下樓梯),Sensor APP 中也有對應的 BLE 協議,可以方便的從手機上看到人體姿態活動識別結果,我們從中選擇一部分作為測試即可,其中騎單車和開車數據采集較麻煩,可以直接去掉,其余的通過上面介紹的方法通過 ST BLE Sensor APP 進行采集。
? 采集方法:將 SensorTile.box 使用電池供電,放置在褲子的前方口袋中,使用 ST BLE Sensor APP 連接后,按照上文中介紹的方法設置好標簽,然后進行相應的動作對數據進行采集。
采集數據的方法之所以選擇使用 ST BLE Sensor APP 設置的方法采集,而不是直接去修改固件,是因為當調整這些采集參數的時候,APP 會更方便一些,不用反復編譯和燒錄代碼。
本文檔主要為大家介紹如何通過使用 NANOEDGE.AI 工具完成人體姿態識別應用,文章主要通過對NanoEdge AI Studio的介紹、應用這一工具的步驟,以及如何分析測試這一工具等多個房面展開,篇幅有限,完整內容請點擊原文,下載原文檔閱讀。
審核編輯:湯梓紅
-
ARM
+關注
關注
134文章
8964瀏覽量
364986 -
嵌入式
+關注
關注
5044文章
18810瀏覽量
298410 -
STM32
+關注
關注
2257文章
10822瀏覽量
352425 -
AI
+關注
關注
87文章
28850瀏覽量
266173
原文標題:工程師筆記|使用 NANOEDGE.AI 工具完成人體姿態識別應用
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論