上一期小編給大家介紹了和MediaPipe的相遇之路,本期小編將帶著大家一起來動(dòng)手,如何打造一個(gè)屬于自己的手勢識別應(yīng)用。
歡迎感興趣的小伙伴們到這里訪問MediaPipe中的手勢識別任務(wù):
https://ai.google.dev/edge/mediapipe/solutions/vision/gesture_recognizer?hl=zh-cn
下面就讓我們開始今天的任務(wù)吧!
1模型在哪?
我們知道,一個(gè)AI應(yīng)用最精華的部分就是他的模型,換句話來說,如果我們能拿到MediaPipe的模型文件,是不是就可以讓模型為我們所用了?說干就干。要不說還得是Google,真的是大方,直接貼上了用到的模型:

既然有了模型就成功了一大步了,而且還貼心的告訴了我們模型的輸入大小,讓我們下載下來看下,文件擴(kuò)展名是.task,不要管他,直接解壓縮,我們會得到兩組模型,共四個(gè):
歸屬于hand_gensture_recognizer的兩個(gè):

以及歸屬于hand_landmarker的兩個(gè):

2模型怎么用?
得到模型之后,萬里長征才剛剛開始。由于這個(gè)模型是依靠于MediaPipe來進(jìn)行推理的,并沒有更多的信息來告訴我們這幾個(gè)模型是要怎么使用,接下來就需要我們根據(jù)一些直覺來進(jìn)行分析了:
先來分析模型怎么用,根據(jù)文件命名,我們可以分析出:前兩個(gè)模型是負(fù)責(zé)手勢識別的,后兩個(gè)模型是進(jìn)行手部檢測+手部關(guān)鍵點(diǎn)識別的,這么一看,好像有了點(diǎn)思路。算法流程看起來是先進(jìn)行手部檢測,即首先檢測到手的位置,隨后在進(jìn)行手勢識別。
那新的問題來了,landmark模型有什么作用呢?下面就讓我們先打開landmark模型看下他的輸入輸出結(jié)構(gòu):


我們可以確定,他的輸入是一張224x224大小的RGB圖像,然后輸出有四個(gè)維度,好消息是,模型里面很貼心的標(biāo)上了輸出所代表的含義。從這里,我們可以知道模型本身可以識別出左右手、是否有手以及手部關(guān)鍵點(diǎn),這里提供了兩種類型的關(guān)鍵點(diǎn)信息,一種是歸一化坐標(biāo),一種是世界坐標(biāo)。那具體用哪一個(gè),還要我們測試才能知道。
接下來打開手勢識別模型,先看一下gesture_embedder.tflite模型的輸入輸出結(jié)構(gòu):

他的輸入有三個(gè),分別是hand,handedness,以及world_hand,輸出是一個(gè)128維的向量??吹竭@,是不是有些激動(dòng)了?沒錯(cuò),這個(gè)輸入是不是和剛才landmark的模型名字很像。也就是說,剛才的landmark模型的輸出就是這里embed模型的輸入,是不是有種福爾摩斯的感覺了?
還沒有結(jié)束,還有個(gè)疑問?輸出這個(gè)128維的向量要怎么用?不要急,這里不是還有一個(gè)叫canned_gesture_classifier.tflite的模型:

不用小編多說,是不是細(xì)心的大家已經(jīng)發(fā)現(xiàn)了端倪?輸入剛好是128維的向量,然后輸出是手勢的分類得分,具體是哪8類呢?mediapipe上已經(jīng)告訴了我們:
0 - Unrecognized gesture, label: Unknown
1 - Closed fist, label: Closed_Fist
2 - Open palm, label: Open_Palm
3 - Pointing up, label: Pointing_Up
4 - Thumbs down, label: Thumb_Down
5 - Thumbs up, label: Thumb_Up
6 - Victory, label: Victory
7 - Love, label: ILoveYou
現(xiàn)在,我們已經(jīng)分析出來了三個(gè)模型的作用,那么還剩一個(gè)叫做hand_detector.tflite的模型,他是干什么用的呢?

通過分析模型的輸入輸出,我們可以知道:這個(gè)模型的作用是為了檢測出圖像中的手部位置以及手部得分,那看起來一切都通順了。原來一個(gè)小小的手勢識別任務(wù)需要四個(gè)模型來實(shí)現(xiàn),并且各個(gè)模型之間是串行的關(guān)系,一環(huán)套一環(huán)。每一個(gè)模型的輸出都要作為下一個(gè)模型的輸入來得到最終的手勢分類結(jié)果。
那么本期小編就為大家抽絲剝繭,分析出了整個(gè)手勢識別的模型處理關(guān)系,接下來我們就要實(shí)際進(jìn)行模型轉(zhuǎn)換,讓他們?yōu)槲覀兯?。提前預(yù)告下:
下一期小編將為大家?guī)砣绾瘟炕痶flite模型的篇章!
-
手勢識別
+關(guān)注
關(guān)注
8文章
231瀏覽量
48672 -
AI
+關(guān)注
關(guān)注
89文章
37535瀏覽量
293276 -
模型
+關(guān)注
關(guān)注
1文章
3627瀏覽量
51613
原文標(biāo)題:站在巨人肩膀上開發(fā)AI應(yīng)用分享(二)
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于毫米波雷達(dá)的手勢識別算法
紅外手勢識別方案 紅外手勢感應(yīng)模塊 紅外識別紅外手勢識別
如何用無源傳感器PIR搭建屬于自己的手勢識別模塊?
介紹一個(gè)基于單片機(jī)的手勢識別系統(tǒng)
HarmonyOS/OpenHarmony(Stage模型)應(yīng)用開發(fā)組合手勢(一)連續(xù)識別
HarmonyOS/OpenHarmony(Stage模型)應(yīng)用開發(fā)組合手勢(二)并行識別
如何建立一個(gè)屬于自己的AVR的RTOS
如何采用MCU定制一個(gè)屬于自己的語音識別應(yīng)用
手勢識別系統(tǒng)的程序和資料說明
如何搭建一個(gè)屬于自己的簡易電動(dòng)滑板?
手勢識別技術(shù)及其應(yīng)用
車載手勢識別技術(shù)的原理及其應(yīng)用
如何快速打造屬于自己的工業(yè)物聯(lián)網(wǎng)云平臺

如何打造一個(gè)屬于自己的手勢識別應(yīng)用
評論