資料介紹
描述
在 Edge Impulse 等在線平臺的幫助下,嵌入式機器學習現在變得很容易,并且允許創作者設計自己的應用程序,而只需要一點機器學習知識或根本不了解機器學習。
在這個項目中,我使用 MPU6050 加速計傳感器和 pi pico 創建了一個基本的手勢識別設備。該模型經過訓練可以識別左右、上下和空閑運動,并且可以通過向其添加更多手勢來進一步增強。識別的手勢顯示在 128*64 SSD1306 OLED 顯示屏上,甚至來自串行監視器(可選)。
整個應用是在VScode上pico的C/C++ sdk和訓練模型的edge impulse平臺上開發的。
我制作這個項目只是為了學習目的,以便在不久的將來實施更多與嵌入式 ML 相關的項目。
單擊此處查看公共邊緣脈沖項目。
Edge Impulse 平臺
Edge Impulse 是一個用于訓練 ML 模型的 ML 開發平臺,還允許您將這些模型部署到幾乎所有嵌入式開發板上,例如本項目中使用的 Raspberry pi pico。
憑借對 ML 的最少了解,我能夠按照平臺中提到的步驟創建一個基本的手勢識別模型。
單擊此處了解有關邊緣脈沖的更多信息。
訓練模型
1:配置Pi-co
使用數據轉發器,您只需使用幾個命令即可從 CMD 連接您的 pico,數據轉發器會自動計算設備的波特率和傳感器頻率,并將數據自動發送到服務。
按照此處的步驟了解數據轉發器。
在將設備連接到 Edge Impulse 服務器之前,請確保在 pico 上上傳數據轉發器代碼。
使用數據轉發器配置
2:數據采集
根據文件類型,有多種方法可以將數據發送到 Edge Impulse Service。對于此應用程序,數據轉發器還會在 pico 連接后處理數據采集。
這是來自加速度計的原始樣本數據。
?
12628,-6600,1376 12624,-6584,1268 12684,-6620,1284 12532,-6648,1100 12636,-6752,1296 12644,-6672,1404
?
數據x-axis,y-axis,z-axis 以當時捕獲的在線方式發送。
獲取3個標簽的數據,即up-down,left-right和idle。為每個標簽收集 20 個樣本進行訓練。
每個樣本收集 10 秒。例如,加速度計左右移動 10 秒以生成一個左右樣本。
1 / 2 ?捕捉左右運動
總共收集了 11 分鐘的數據,分為訓練集 8 分鐘和測試集 3 分鐘。
80% 留給訓練集,20% 留給測試集
3:模型訓練
我使用了默認選項來訓練模型。訓練后的模型準確率為 97.8%。但是,這僅使用驗證集進行評估,因此我們不能太依賴這種準確性。
培訓成果
為了確定準確性,我使用實時推理來確定模型在那一刻的預測,這似乎很有希望。
4.部署
一旦經過訓練的模型通過實時推理提供了良好的準確性,就可以在 pico 上部署它了。我已經從部署選項卡下載了 C/C++ 庫(未優化的 float32),并使用 Arduino 腳本作為參考來開發用于 pico 的 C++ 腳本。當我使用量化的 int8 庫時,我發現預測很差,這就是我選擇未優化的 float32 庫的原因。
添加 OLED 顯示屏
在 pico 上測試模型后,我使用了 SSD1306 OLED 顯示器來顯示識別手勢的圖形圖像。感謝Harbys git repo 提供 pico 的 OLED 驅動程序文件。
分別使用位圖圖像來顯示左右和上下圖像圖標。這些圖標取自谷歌圖像并使用image2cpp工具轉換為位圖數組。
1 / 4 ?上下圖標
注意:當圖像是從 Pico 的 USB 側面面向面包板查看時,左右圖像顯示為上下,反之亦然。
利用多核
整個過程由 Pico 的兩個內核處理,其中 core-1 處理執行數據采集和推理,core-0 負責 OLED 功能。我使用了兩個內核,因為我想了解并行處理,這種方法將使我能夠進一步向它添加更多功能(例如:在一個內核執行推理而另一個內核將數據發送到云服務器的應用程序中,或者到任何其他外圍設備),我稍后可能會實施。
利用多核
最終輸出
識別的手勢顯示在 OLED 顯示屏上
參考
關于嵌入式機器學習和項目構想-點擊此處查看coursera課程
MPU6050驅動開發-Vidura Embedded
SSD1306 OLED 驅動程序 - Harbys git repo
如何在 pico 上部署 Edge Impulse 模型 - Hardware.ai
- 使用Edge Impulse關鍵字識別控制筆記本電腦
- 帶有M5Stack和Edge Impulse的手勢控制無人機
- 使用Edge Impulse和Nvidia Jetson的面罩檢測器
- 使用XIAO BLE Sense&Edge Impulse的寵物活動追蹤器
- 在MaaXBoard Mini上使用Edge Impulse進行安全帽檢測
- 使用Raspberry Pi Pico進行運動識別 0次下載
- 通過Edge Impulse開始使用TinyML
- 使用Edge Impulse的Covid患者健康評估設備
- 使用Edge Impulse識別大象活動
- 基于Kinect傳感器的動態手勢識別方法 20次下載
- 基于DSSD網絡的靜態手勢實時識別方法 11次下載
- 基于自適應多分類器融合的手勢識別方法 10次下載
- 手勢識別系統的程序和資料說明 12次下載
- 如何使用光流計算和DTW算法進行動態手勢識別研究與實現論文 33次下載
- 基于加鎖機制的靜態手勢識別運動中的手勢 0次下載
- 基于Arduino的機器學習開發 1.7w次閱讀
- Pico W的無線功能 883次閱讀
- ?使用旭日X3派實現手勢檢測 737次閱讀
- 2分鐘快速教你如何在華為模擬器ensp上進行抓包? 4068次閱讀
- 使用Devtron在Kubernetes多集群上進行開發 743次閱讀
- 如何在MCU上進行實際的部署 1328次閱讀
- 通過紅外對管進行手勢識別控制的LED燈設計 3598次閱讀
- 如何在LiDAR點云上進行3D對象檢測 2032次閱讀
- 智慧病房手勢識別解決方案 2032次閱讀
- 如何使用Arduino Leonardo和MPU6050制作一個有線的手勢控制器 2625次閱讀
- 基于視覺的手勢識別系統的設計與研究 4255次閱讀
- Pico示波器進行電源及其功率因數的分析 2383次閱讀
- 三個維度來詳細介紹手勢識別在汽車行業的應用現狀 1.8w次閱讀
- 基于電場感應原理的3D手勢識別技術,你會玩嗎? 5505次閱讀
- 歐姆龍開發出可識別手部動作的“手勢識別技術” 1965次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多