????????手勢識別是計算機科學和語言技術領域的一個研究課題,其目的是通過數學算法解析人類手勢。它可以在機器和人類之間搭建更高效的溝通橋梁,讓生活更豐富多彩、更智能化。人們在基于圖像/視頻的手勢識別方面已經做了大量研究(通常使用2D攝像機),今天我們將討論新的解決方案 - 基于ToF傳感器的3D手勢識別。
在新冠疫情肆虐的當前形勢下,人們對“非接觸式”解決方案用戶界面的要求越來越高,同時保持社交距離正成為“新常態”;然而在日常生活中,我們仍然需要接觸公共場所中的多個目標,特別是使用ATM機、自動售貨機、工廠機器等設備的界面。將意法半導體的新型傳感技術和強大的人工智能算法結合之后,我們可以通過3D手勢識別演示實現此解決方案。讓我們看看演示過程。
演示概述
該演示目前能夠識別8種手勢,包括:向左滑動、向右滑動、向上滑動、向下滑動、單擊、雙擊、順時針旋轉和逆時針旋轉。
我們采用意法半導體的最新飛行時間(ToF)8X8多區域測距傳感器VL53L5CX作為輸入,然后在STM32上運行深度學習神經網絡算法,最后在PC GUI上顯示識別結果。
在硬件方面,我們組合運用STM32F401RC Nucleo板和VL53L5 EVK擴展板。
輸入傳感器
VL53L5CX是最先進的飛行時間(ToF)多區域測距傳感器,壯大了意法半導體的FlightSense產品陣容。該產品是意法半導體今年最新發布一款ToF傳感器。
特性:
快速、精確的多區域測距傳感器
– 多區域測距輸出可覆蓋4x4或8x8個單獨區域
– 自主低功耗模式,通過可編程中斷閾值喚醒主機
– 范圍可達400 cm
完全集成的微型模塊,具有寬視野(FoV)
– 發射器:940nm不可見光垂直腔面發射激光器(VCSEL)和集成模擬驅動器
– 在發射器和接收器上使用衍射光學元件(DOE)的63 °對角視野FoV
– 大小:6.4 x 3.0 x 1.5 mm
方便集成
– 單回流焊元件
– 靈活的電源選擇,單個3.3 V或2.8 V操作或3.3 V或2.8 V AVDD與1.8 V IOVDD組合
采集與標記數據集
獲取足夠數量的關于不同手勢的代表性數據對于訓練人工神經網絡模型是非常重要的。
當執行一個手勢動作時,我們可以通過使用Python語言開發的特定GUI輕松從ToF傳感器獲取并標記原始數據,并創建自己的數據集。
該數據集包含了每種手勢(我們的演示中有8種:向左滑動、向右滑動、單擊、雙擊、順時針旋轉、逆時針旋轉、向上滑動、向下滑動)的數千個樣本,這些手勢由少數幾人提供。
顯然,如果你希望創建自定義的手勢,也可以使用相同的工具為這個手勢創建新的數據集。
構建和訓練神經網絡
對于神經網絡部分,我們選擇運用簡單、靈活、功能強大的Keras框架構建神經網絡。因為手勢是一種順序動作,所以我們選擇CNN + GRU層來創建模型,經過大約50個epoch的訓練,我們訓練和驗證數據集的準確率可達到95%以上,而損失僅有0.08左右,已經很不錯了。對于測試數據集,我們也可以針對每種手勢獲得不錯的準確率。F1評分可達96%。
最后,我們可以將訓練效果最好的模型和權重保存為gesture.h5的模型,以便在MCU端實施。
在MCU端實施手勢模型
先決條件:
需要在STM32CubeMX中安裝X-Cube-AI擴展包。目前的最新版本是7.0.0,它也支持sklearn機器學習模型轉化。
X-Cube-AI配置向導:
配置完使用哪塊板件后,可以從軟件包->選擇組件加載X-Cube-AI,或使用快捷鍵Alt+O。
需在“Software packs component selector”窗口選中X-Cube-AI/Core 這個選項,才能調用神經網絡模型并生成相關的STM32 NN庫。單擊[OK],完成選擇。如下圖所示:
啟用X-CUBE-AI組件:
單擊[STMicroelectronics X-CUBE-AI 7.0.0] 打開初始AI配置窗口。選中 [Artificial Intelligence X-CUBE-AI] ,啟用X-CUBE-AI內核組件。還必須選中[Device Application],才能添加AI插件應用程序。
加載神經網絡(NN):
1.添加網絡。
2.將模型名稱改為“gesture”。
3.選擇“Keras”作為輸入模型類型。
4.點擊“Browse”按鈕以選擇要實現的模型。gesture.h5
5.點擊“Analyze”按鈕以分析模型。
分析完畢后,將顯示模型層詳細報告,還附有該模型需要使用的MACC、flash、ram信息。
最后,在CubeMX中點擊“生成代碼”,然后會在您的項目中創建一個X-CUBE-AI文件夾,可以在該文件夾中找到一些有用的文件。
包括拓撲網絡的gesture.c和gesture.h文件。
包括權重/偏差的gesture_data.c和gesture_data.h文件。
app_x-cube-ai.c and app_x-cube-ai.h 文件還提供AI客戶端應用程序可以使用的通用多網絡推理API接口。
如果后續需要更新數據集或是重新訓練更新權重以獲得更好的性能效果,只要更新gesture_data.c和gesture_data.h文件就可以。所以,更新過程很方便的。
顯示結果
最后,將uart日志打印到PC端,從而在GUI端顯示我們的預測結果。當您在距離自己20~80cm的ToF傳感器前做一個順時針旋轉的手勢時,GUI將會顯示預測結果,如下所示。百分比是該手勢的概率。
3D手勢演示到這里已經結束,該解決方案可用于以下幾個應用場景。
智能家電:當您的手上臟或濕的時候,通過手勢識別控制不同的家電。
交互式娛樂:如游戲機。
人機交互:讓機器更智能,讓人更安全,特別是在新冠病毒肆虐的環境或一些危險環境中。
現在,您可以嘗試使用VL53L5傳感器、STM32開發板、以及強大的X-Cube-AI庫創建自己的手勢識別演示。我們正在一些活動中展示該演示項目;如果您對我們的手勢演示感興趣,請聯系意法半導體的AI創新應用中心,我們會選定目標客戶根據產品的特定用例對該演示進行產品級支持。
我們策劃了一系列AI主題文章,詳細介紹意法半導體在Deep Edge AI領域的努力成果。 本文是該系列文章中的第八篇,點擊上方的話題,訂閱我們的AI技術專題系列 。 歡迎您在文后積極留言,告訴我們想了解意法半導體AI的哪些方面,我們將為您呈現更多精彩內容。
原文標題:AI技術專題之八:基于ToF傳感器的3D手勢識別
文章出處:【微信公眾號:意法半導體中國】歡迎添加關注!文章轉載請注明出處。
審核編輯;湯梓紅
-
傳感器
+關注
關注
2548文章
50740瀏覽量
752148 -
3D
+關注
關注
9文章
2864瀏覽量
107341 -
AI
+關注
關注
87文章
30239瀏覽量
268480
原文標題:AI技術專題之八:?基于ToF傳感器的3D手勢識別
文章出處:【微信號:STMChina,微信公眾號:意法半導體中國】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論