帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
利用Time-of-Flight感測器開發3D手勢辨識
 

【作者: 意法半導體】   2022年06月23日 星期四

瀏覽人次:【4312】

手勢辨識是電腦科學和語言技術中常見的主題之一,能夠透過數學演算法解釋人類手勢。這在機器和人類之間搭起更豐富的橋梁,讓生活更有趣、更智慧。依據影像/影片的手勢辨識有許多研究,這些研究通常使用2D攝影機。本文將探討利用新的飛行時間(Time-of-Flight;ToF)3D手勢辨識解決方案。


在目前的COVID-19疫情下,大眾對「無接觸」解決方案的使用者介面要求越來越多,而保持社交距離正成為「新常態」。我們平常仍需要接觸公共場所中的多個物件,特別是操作ATM、自動販賣機、工廠機器的介面。全新的ST感測技術與強大的AI演算法結合,我們可以透過3D手勢辨識來實現這種解決方案。


展示概述

這個展示目前能夠辨識多達8種手勢,包括向左滑動、向右滑動、向上滑動、向下滑動、點選、點兩下、順時針旋轉和逆時針旋轉。我們使用ST最新的VL53L5CX ToF 8X8多區域測距感測器輸入,接著於STM32上運行神經網路,最後可在PC GUI上顯示辨識結果。


針對硬體,選擇能與VL53L5 EVK擴充板結合的STM32F401RC Nucleo開發板。



圖一
圖一

輸入感測器

VL53L5CX是先進的ToF多區域測距感測器,可強化ST FlightSense產品系列。


特色


‧ 快速、準確的多區域測距感測器


– 具有4x4或8x8獨立區域的多區域測距輸出


– 具有中斷可程式化閾值,可喚醒host的自主低功耗模式


– 最大4公尺的測距


‧ 具有視角(FoV)的完全整合微型模組


– 發射器:940 nm不可見光垂直腔面發射雷射(VCSEL)和整合式類比驅動器


– 在發射器和接收器上使用繞射光學元件(DOE)的63°對角方形FoV


– 尺寸:6.4 x 3.0 x 1.5 mm


‧ 易於整合


– 單一可回流元件


– 彈性的電源選項,單一3.3V或2.8V操作或3.3V或2.8V AVDD與1.8V IOVDD的組合



圖二
圖二

擷取和標記資料集

對於訓練人工神經網路模型而言,擷取充足、不同手勢的資料相當重要。


使用Python開發的特定GUI,可以用手勢輕鬆擷取和標記來自ToF感測器的原始資料,並建立自己的資料集。



圖三
圖三

資料集包含每個手勢的數千個樣本(展示中有8個樣本:向左滑動、向右滑動、點選、點兩下、順時針旋轉、逆時針旋轉、向上滑動、向下滑動)。


顯然地,可以使用相同工具為新的自定義手勢,並建立不同的資料集。


建立和訓練神經網路

針對神經網路部分,開發者選擇簡單、彈性、強大的架構Keras來建立NN。由於手勢是序列行為,因此選擇CNN + GRU層來建立模型。經過大約50個epoch的訓練後,訓練集和驗證集可達到95%以上的準確度,而且loss僅約0.08。


針對測試資料集,每個手勢也達到良好的準確度。F1 score可達到96%。



圖四
圖四

最後可將最佳模型和參數另存為gesture.h5,以便在MCU端實作。


在MCU端實作手勢模型

事前準備:需要在STM32CubeMX中安裝X-Cube-AI擴充套件。目前的最新版本是7.2.0,其支援scikit-learn機器學習模型。



圖五
圖五

X-Cube-AI設定:設定使用的開發板後,可以從「Software Packs」->「Select Components」載入X-Cube-AI,也可以使用快速鍵Alt+O。



圖六
圖六

在「軟體套件元件選擇」視窗中,必須勾選X-Cube-AI/Core Bundle才能上傳NN模型並產生相關的STM32 NN 函式庫。然後按一下[確定]完成選擇。



圖七
圖七

啟用X-CUBE-AI元件:點擊 [STMicroelectronics X-CUBE-AI 7.2.0]開啟初始AI設定視窗,接著勾選 [Artificial Intelligence Core]以開啟X-CUBE-AI核心元件。此外,亦須勾選[Artificial Intelligence Application]才能新增附加AI應用。


載入NN


1. 新增網路。


2. 將模型名稱變更為「gesture」。


3. 選取輸入模型類型為「Keras」。


4. 選取「Browse」鍵以選擇要實作gesture.h5的模型。


5. 點擊「Analyze」分析模型。



圖八
圖八

分析後,將顯示模型各層的詳細報告,以及此模型需要使用的MACC、快閃記憶體、RAM資訊。


最後在CubeMX中按下「Generate code」,這會在專案中建立一個X-CUBE-AI資料夾,使用者可以在此資料夾中找到一些實用檔案。


‧ gesture.c和gesture.h是模型拓樸檔案。


‧ gesture_data.c和gesture_data.h是參數及bias檔案。


‧ app_x-cube-ai.c和app_x-cube-ai.h檔案亦提供通用的多網路推斷API,可供AI客戶端應用程式使用。


如果需要更新模型參數來達到更好的效能,只需要更新gesture_data.c和gesture_data.h檔案。


顯示結果

最後,將UART log顯示到電腦,在GUI端顯示我們的預測結果。若在ToF感測器前距離20-80公分處做出順時針旋轉手勢時,GUI將顯示預測結果,如下圖所示。百分比是這個手勢的機率。



圖九
圖九

現在,3D手勢展示已完成,而且此解決方案可以在下列幾個應用中使用。


‧ 智慧家電可在使用者手不乾淨或潮濕時,利用手勢辨識控制不同設備。


‧ 互動娛樂,例如遊戲機。


‧ 人機互動提升機器智慧化,使人更安全,特別是在COVID-19環境或一些危險環境中。


相關文章
開啟邊緣智能新時代 ST引領AI開發潮流
模擬工具可預防各種車用情境中的嚴重問題
低功耗MCU釋放物聯網潛力 加速智慧家庭成形
車商和一級供應商為連網汽車保護資料安全
ST以MCU創新應用潮流 打造多元解決方案
comments powered by Disqus
相關討論
  相關新聞
» 亞灣2.0以智慧科技領航國際 加速產業加值升級
» 意法半導體第二代STM32微處理器推動智慧邊緣發展 提升處理性能和工業韌性
» ST:AI在塑造未來的連網世界中 扮演著關鍵角色
» 高通執行長將於COMPUTEX 2024 分享智慧裝置上的生成式AI運算
» ST攜手Sphere Studios打造全球最大電影攝影機影像感測器


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.54.160.244.62
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw