h1_key

當(dāng)前位置:首頁 >新聞資訊 > 技術(shù)文章>意法半導(dǎo)體>意法半導(dǎo)體ToF傳感器的3D手勢識別
意法半導(dǎo)體ToF傳感器的3D手勢識別
2022-11-14 1177次

手勢識別是計(jì)算機(jī)科學(xué)和語言技術(shù)領(lǐng)域的一個(gè)研究課題,其目的是通過數(shù)學(xué)算法解析人類手勢。它可以在機(jī)器和人類之間搭建更高效的溝通橋梁,讓生活更豐富多彩、更智能化。人們在基于圖像/視頻的手勢識別方面已經(jīng)做了大量研究(通常使用2D攝像機(jī)),今天我們將討論新的解決方案 - 基于ToF傳感器的3D手勢識別。

  在新冠疫情肆虐的當(dāng)前形勢下,人們對非接觸式解決方案用戶界面的要求越來越高,同時(shí)保持社交距離正成為新常態(tài)”;然而在日常生活中,我們?nèi)匀恍枰佑|公共場所中的多個(gè)目標(biāo),特別是使用ATM機(jī)、自動(dòng)售貨機(jī)、工廠機(jī)器等設(shè)備的界面。將意法半導(dǎo)體的新型傳感技術(shù)和強(qiáng)大的人工智能算法結(jié)合之后,我們可以通過3D手勢識別演示實(shí)現(xiàn)此解決方案。讓我們看看演示過程。

  演示概述

  該演示目前能夠識別8種手勢,包括:向左滑動(dòng)、向右滑動(dòng)、向上滑動(dòng)、向下滑動(dòng)、單擊、雙擊、順時(shí)針旋轉(zhuǎn)和逆時(shí)針旋轉(zhuǎn)。

  我們采用意法半導(dǎo)體的最新飛行時(shí)間(ToF)8X8多區(qū)域測距傳感器VL53L5CX作為輸入,然后在STM32上運(yùn)行深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法,最后在PC GUI上顯示識別結(jié)果。

  在硬件方面,我們組合運(yùn)用STM32F401RC Nucleo板和VL53L5 EVK擴(kuò)展板。

  

 

  輸入傳感器

  VL53L5CX是先進(jìn)的飛行時(shí)間(ToF)多區(qū)域測距傳感器,壯大了意法半導(dǎo)體的FlightSense產(chǎn)品陣容。該產(chǎn)品是意法半導(dǎo)體今年最新發(fā)布一款ToF傳感器。

  ? 特性:

  快速、精確的多區(qū)域測距傳感器

  多區(qū)域測距輸出可覆蓋4x48x8個(gè)單獨(dú)區(qū)域

  自主低功耗模式,通過可編程中斷閾值喚醒主機(jī)

  范圍可達(dá)400 cm

  完全集成的微型模塊,具有寬視野(FoV)

  發(fā)射器:940nm不可見光垂直腔面發(fā)射激光器(VCSEL)和集成模擬驅(qū)動(dòng)器

  在發(fā)射器和接收器上使用衍射光學(xué)元件(DOE)63 °對角視野FoV

  大小:6.4 x 3.0 x 1.5 mm

  方便集成

  單回流焊元件

  靈活的電源選擇,單個(gè)3.3 V2.8 V操作或3.3 V2.8 V AVDD1.8 V IOVDD組合

  

 

  采集與標(biāo)記數(shù)據(jù)集

  獲取足夠數(shù)量的關(guān)于不同手勢的代表性數(shù)據(jù)對于訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)模型是非常重要的。

  當(dāng)執(zhí)行一個(gè)手勢動(dòng)作時(shí),我們可以通過使用Python語言開發(fā)的特定GUI輕松從ToF傳感器獲取并標(biāo)記原始數(shù)據(jù),并創(chuàng)建自己的數(shù)據(jù)集。

  

 

  

 

  該數(shù)據(jù)集包含了每種手勢(我們的演示中有8種:向左滑動(dòng)、向右滑動(dòng)、單擊、雙擊、順時(shí)針旋轉(zhuǎn)、逆時(shí)針旋轉(zhuǎn)、向上滑動(dòng)、向下滑動(dòng))的數(shù)千個(gè)樣本,這些手勢由少數(shù)幾人提供。

  顯然,如果你希望創(chuàng)建自定義的手勢,也可以使用相同的工具為這個(gè)手勢創(chuàng)建新的數(shù)據(jù)集。

  構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)

  對于神經(jīng)網(wǎng)絡(luò)部分,我們選擇運(yùn)用簡單、靈活、功能強(qiáng)大的Keras框架構(gòu)建神經(jīng)網(wǎng)絡(luò)。因?yàn)槭謩菔且环N順序動(dòng)作,所以我們選擇CNN + GRU層來創(chuàng)建模型,經(jīng)過大約50個(gè)epoch的訓(xùn)練,我們訓(xùn)練和驗(yàn)證數(shù)據(jù)集的準(zhǔn)確率可達(dá)到95%以上,而損失僅有0.08左右,已經(jīng)很不錯(cuò)了。對于測試數(shù)據(jù)集,我們也可以針對每種手勢獲得不錯(cuò)的準(zhǔn)確率。F1評分可達(dá)96%。

  

 

  最后,我們可以將訓(xùn)練效果更好的模型和權(quán)重保存為gesture.h5的模型,以便在MCU端實(shí)施。

  在MCU端實(shí)施手勢模型

  ? 先決條件:

  需要在STM32CubeMX中安裝X-Cube-AI擴(kuò)展包。目前的最新版本是7.0.0,它也支持sklearn機(jī)器學(xué)習(xí)模型轉(zhuǎn)化。

  

 

  ? X-Cube-AI配置向?qū)В?/span>

  配置完使用哪塊板件后,可以從軟件包->選擇組件加載X-Cube-AI,或使用快捷鍵Alt+O。

  

 

  需在“Software packs component selector”窗口選中X-Cube-AI/Core 這個(gè)選項(xiàng),才能調(diào)用神經(jīng)網(wǎng)絡(luò)模型并生成相關(guān)的STM32 NN庫。單擊[OK],完成選擇。如下圖所示:

  

 

  ? 啟用X-CUBE-AI組件:

  單擊[STMicroelectronics X-CUBE-AI 7.0.0] 打開初始AI配置窗口。選中 [Artificial Intelligence X-CUBE-AI] ,啟用X-CUBE-AI內(nèi)核組件。還必須選中[Device Application],才能添加AI插件應(yīng)用程序。

  ? 加載神經(jīng)網(wǎng)絡(luò)(NN)

  1.添加網(wǎng)絡(luò)。

  2.將模型名稱改為“gesture”。

  3.選擇“Keras”作為輸入模型類型。

  4.點(diǎn)擊“Browse”按鈕以選擇要實(shí)現(xiàn)的模型。gesture.h5

  5.點(diǎn)擊“Analyze”按鈕以分析模型。

  

 

  分析完畢后,將顯示模型層詳細(xì)報(bào)告,還附有該模型需要使用的MACC、flash、ram信息。

  最后,在CubeMX中點(diǎn)擊生成代碼,然后會(huì)在您的項(xiàng)目中創(chuàng)建一個(gè)X-CUBE-AI文件夾,可以在該文件夾中找到一些有用的文件。

  包括拓?fù)渚W(wǎng)絡(luò)的gesture.cgesture.h文件。

  包括權(quán)重/偏差的gesture_data.cgesture_data.h文件。

  app_x-cube-ai.c and app_x-cube-ai.h 文件還提供AI客戶端應(yīng)用程序可以使用的通用多網(wǎng)絡(luò)推理API接口。

  如果后續(xù)需要更新數(shù)據(jù)集或是重新訓(xùn)練更新權(quán)重以獲得更好的性能效果,只要更新gesture_data.cgesture_data.h文件就可以。所以,更新過程很方便的。

  顯示結(jié)果

  最后,將uart日志打印到PC端,從而在GUI端顯示我們的預(yù)測結(jié)果。當(dāng)您在距離自己20~80cmToF傳感器前做一個(gè)順時(shí)針旋轉(zhuǎn)的手勢時(shí),GUI將會(huì)顯示預(yù)測結(jié)果,如下所示。百分比是該手勢的概率。

  

 

  3D手勢演示到這里已經(jīng)結(jié)束,該解決方案可用于以下幾個(gè)應(yīng)用場景。

  智能家電:當(dāng)您的手上臟或濕的時(shí)候,通過手勢識別控制不同的家電。

  交互式娛樂:如游戲機(jī)。

  人機(jī)交互:讓機(jī)器更智能,讓人更安全,特別是在新冠病毒肆虐的環(huán)境或一些危險(xiǎn)環(huán)境中。

  現(xiàn)在,您可以嘗試使用VL53L5傳感器、STM32開發(fā)板、以及強(qiáng)大的X-Cube-AI庫創(chuàng)建自己的手勢識別演示。我們正在一些活動(dòng)中展示該演示項(xiàng)目;如果您對我們的手勢演示感興趣,請聯(lián)系意法半導(dǎo)體的AI創(chuàng)新應(yīng)用中心,我們會(huì)選定目標(biāo)客戶根據(jù)產(chǎn)品的特定用例對該演示進(jìn)行產(chǎn)品級支持。

 

  • 意法半導(dǎo)體STM32H743IIT6高性能MCU深度剖析
  • 意法半導(dǎo)體(STMicroelectronics)的 STM32H743IIT6 是一款備受矚目的高性能微控制器,在嵌入式系統(tǒng)領(lǐng)域中具有重要的地位。本文將對其產(chǎn)品參數(shù)進(jìn)行專業(yè)準(zhǔn)確的介紹。STM32H743IIT6 基于 Arm? Cortex?-M7 內(nèi)核,主頻高達(dá) 480MHz,具備強(qiáng)大的計(jì)算能力和高效的處理性能。這使得該微控制器能夠輕松應(yīng)對復(fù)雜的計(jì)算任務(wù)和實(shí)時(shí)性要求較高的應(yīng)用場景。
    2024-07-08 218次
  • 意法半導(dǎo)體STM32F722RET6性能和穩(wěn)定性
  • 在當(dāng)今高度智能化和數(shù)字化的時(shí)代,微控制器作為電子系統(tǒng)的核心組件,其性能和功能的優(yōu)劣直接決定了整個(gè)系統(tǒng)的運(yùn)行效果和應(yīng)用范圍。意法半導(dǎo)體(STMicroelectronics)推出的 STM32F722RET6 微控制器,以其出色的性能、豐富的功能和可靠的穩(wěn)定性,成為眾多應(yīng)用領(lǐng)域的理想之選。
    2024-07-05 227次
  • 意法半導(dǎo)體STM32F723ZET6高性能MCU卓越之選
  • 在當(dāng)今電子技術(shù)領(lǐng)域,MCU作為系統(tǒng)的核心組件,其性能和功能直接影響著整個(gè)系統(tǒng)的運(yùn)行效果和應(yīng)用范圍。意法半導(dǎo)體(STMicroelectronics)推出的 STM32F723ZET6 微控制器,以其出色的性能和豐富的功能,成為眾多應(yīng)用場景中的理想選擇。STM32F723ZET6 基于高性能的 Arm? Cortex?-M7 內(nèi)核,運(yùn)行頻率高達(dá) 216 MHz,能夠提供強(qiáng)大的計(jì)算能力和快速的響應(yīng)速度。這使得它在處理復(fù)雜的算法和實(shí)時(shí)任務(wù)時(shí)表現(xiàn)出色,為系統(tǒng)的高效運(yùn)行提供了有力保障。
    2024-07-05 192次
  • 意法半導(dǎo)體 STM32F746IGT6高性能低功耗優(yōu)勢
  • 意法半導(dǎo)體(STMicroelectronics)的 STM32F746IGT6 就是這樣一款令人矚目的產(chǎn)品,它以出色的性能和豐富的特性成為眾多嵌入式系統(tǒng)的理想選擇。STM32F746IGT6 基于高性能的 Arm? Cortex?-M7 內(nèi)核,工作頻率高達(dá) 216 MHz,這使其具備強(qiáng)大的數(shù)據(jù)處理能力和快速的響應(yīng)速度,能夠輕松應(yīng)對復(fù)雜的計(jì)算任務(wù)和實(shí)時(shí)性要求極高的應(yīng)用場景。
    2024-07-05 162次
  • 意法半導(dǎo)體STM32F750Z8T6高頻率運(yùn)行
  • 意法半導(dǎo)體(STMicroelectronics)推出的 STM32F750Z8T6基于高性能的Arm? Cortex?-M7內(nèi)核,運(yùn)行頻率高達(dá) 216 MHz,能夠?yàn)楦鞣N復(fù)雜的任務(wù)提供強(qiáng)大的計(jì)算能力。其內(nèi)核架構(gòu)經(jīng)過優(yōu)化,具備高效的指令執(zhí)行效率和低延遲響應(yīng)特性,使得系統(tǒng)能夠快速處理數(shù)據(jù)和執(zhí)行指令。
    2024-07-05 201次

    萬聯(lián)芯微信公眾號

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺(tái)
    關(guān)注公眾號,優(yōu)惠活動(dòng)早知道!
    10s
    溫馨提示:
    訂單商品問題請移至我的售后服務(wù)提交售后申請,其他需投訴問題可移至我的投訴提交,我們將在第一時(shí)間給您答復(fù)
    返回頂部