
Detyra e Njohësit të Gjesteve MediaPipe ju lejon të njihni gjestet e duarve në kohë reale dhe ofron rezultatet e gjesteve të njohura të duarve së bashku me pikat referuese të duarve të zbuluara. Mund ta përdorni këtë detyrë për të njohur gjestet specifike të duarve nga një përdorues dhe për të aktivizuar veçoritë e aplikacionit që korrespondojnë me ato gjeste.
Kjo detyrë funksionon me të dhëna imazhi me një model të të mësuarit automatik (ML) dhe pranon ose të dhëna statike ose një rrjedhë të vazhdueshme. Detyra nxjerr pika referimi për duart në koordinatat e imazhit, pika referimi për duart në koordinatat botërore, dorën e majtë/të djathtë dhe kategoritë e gjesteve të dorës për shumë duar.
Filloni
Filloni ta përdorni këtë detyrë duke ndjekur një nga këto udhëzues zbatimi për platformën tuaj të synuar. Këta udhëzues specifikë për platformën ju udhëzojnë përmes një zbatimi bazë të kësaj detyre, duke përdorur një model të rekomanduar dhe ofrojnë shembuj kodi me opsionet e rekomanduara të konfigurimit:
- Android - Shembull kodi
- Python - Shembull kodi
- Ueb - [Shembull kodi](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/gesture-recognizer.ts - Udhëzues
Detajet e detyrës
Ky seksion përshkruan aftësitë, të dhënat hyrëse, të dhënat dalëse dhe opsionet e konfigurimit të kësaj detyre.
Karakteristikat
- Përpunimi i imazhit hyrës - Përpunimi përfshin rrotullimin e imazhit, ndryshimin e madhësisë, normalizimin dhe konvertimin e hapësirës së ngjyrave.
- Pragu i rezultatit - Filtroni rezultatet bazuar në rezultatet e parashikimit.
- Etiketo listën e lejimeve dhe listën e mohimeve - Specifikoni kategoritë e gjesteve të njohura nga modeli.
| Hyrjet e detyrave | Rezultatet e detyrave |
|---|---|
Njohësi i Gjesteve pranon një hyrje të njërit prej llojeve të mëposhtme të të dhënave:
| Njohësi i Gjesteve jep rezultatet e mëposhtme:
|
Opsionet e konfigurimit
Kjo detyrë ka opsionet e mëposhtme të konfigurimit:
| Emri i opsionit | Përshkrimi | Diapazoni i Vlerave | Vlera e parazgjedhur | |
|---|---|---|---|---|
running_mode | Cakton modalitetin e ekzekutimit për detyrën. Ekzistojnë tre mënyra: IMAZH: Modaliteti për futjen e një imazhi të vetëm. VIDEO: Modaliteti për kuadrot e dekoduara të një videoje. LIVE_STREAM: Modaliteti për një transmetim të drejtpërdrejtë të të dhënave hyrëse, si p.sh. nga një kamera. Në këtë modalitet, duhet të thirret resultListener për të konfiguruar një dëgjues për të marrë rezultatet në mënyrë asinkrone. | { IMAGE, VIDEO, LIVE_STREAM } | IMAGE | |
num_hands | Numri maksimal i duarve mund të zbulohet nga GestureRecognizer . | Any integer > 0 | 1 | |
min_hand_detection_confidence | Rezultati minimal i besimit që zbulimi i dorës të konsiderohet i suksesshëm në modelin e zbulimit të pëllëmbës. | 0.0 - 1.0 | 0.5 | |
min_hand_presence_confidence | Rezultati minimal i besimit të rezultatit të pranisë së dorës në modelin e zbulimit të pikës së referimit të dorës. Në modalitetin Video dhe modalitetin e transmetimit të drejtpërdrejtë të Njohësit të Gjesteve, nëse rezultati i besimit të pranisë së dorës nga modeli i pikës së referimit të dorës është nën këtë prag, ai aktivizon modelin e zbulimit të pëllëmbës. Përndryshe, një algoritëm i lehtë i gjurmimit të dorës përdoret për të përcaktuar vendndodhjen e dorës(ve) për zbulimin e mëvonshëm të pikës së referimit. | 0.0 - 1.0 | 0.5 | |
min_tracking_confidence | Rezultati minimal i besimit që gjurmimi i dorës të konsiderohet i suksesshëm. Ky është pragu i hapësirës së pakufizuar të kutisë kufizuese midis duarve në kuadrin aktual dhe kuadrin e fundit. Në modalitetin Video dhe modalitetin Transmetim të Njohësit të Gjesteve, nëse gjurmimi dështon, Njohësi i Gjesteve aktivizon zbulimin e dorës. Përndryshe, zbulimi i dorës anashkalohet. | 0.0 - 1.0 | 0.5 | |
canned_gestures_classifier_options | Opsionet për konfigurimin e sjelljes së klasifikuesit të gjesteve të konservuara. Gjestet e konservuara janë ["None", "Closed_Fist", "Open_Palm", "Pointing_Up", "Thumb_Down", "Thumb_Up", "Victory", "ILoveYou"] |
|
| |
custom_gestures_classifier_options | Opsione për konfigurimin e sjelljes së klasifikuesit të gjesteve të personalizuara. |
|
| |
result_callback | Cakton dëgjuesin e rezultateve që të marrë rezultatet e klasifikimit në mënyrë asinkrone kur njohësi i gjesteve është në modalitetin e transmetimit të drejtpërdrejtë. Mund të përdoret vetëm kur modaliteti i ekzekutimit është vendosur në LIVE_STREAM | ResultListener | N/A | N/A |
Modele
Njohësi i Gjesteve përdor një paketë modelesh me dy paketa modelesh të parapërgatitura: një paketë modeli të pikave të referimit të dorës dhe një paketë modeli të klasifikimit të gjesteve. Modeli i pikave të referimit zbulon praninë e duarve dhe gjeometrinë e dorës, dhe modeli i njohjes së gjesteve njeh gjestet bazuar në gjeometrinë e dorës.
| Emri i modelit | Forma e hyrjes | Lloji i kuantizimit | Kartë modeli | Versionet |
|---|---|---|---|---|
| Klasifikuesi i Gjesteve të Duarve | 192 x 192, 224 x 224 | noton 16 | informacion | Më të fundit |
Kjo detyrë mbështet gjithashtu modifikimin e paketës së modelit duke përdorur Model Maker. Për më shumë informacion mbi përdorimin e Model Maker për të personalizuar modelet për këtë detyrë, shihni faqen Personalizoni modelet për Njohësin e Gjesteve .
Pako modelesh me pika referimi për dorën
Paketa e modelit të pikave të referimit të dorës zbulon lokalizimin e pikave kyçe të 21 koordinatave të nyjës së dorës brenda rajoneve të zbuluara të dorës. Modeli u trajnua në afërsisht 30 mijë imazhe të botës reale, si dhe në disa modele sintetike të dorës të renderuara të vendosura mbi sfonde të ndryshme. Shihni përkufizimin e 21 pikave të referimit më poshtë:

Paketa e modelit të pikave të referimit të dorës përmban modelin e zbulimit të pëllëmbëve dhe modelin e zbulimit të pikave të referimit të dorës. Modeli i zbulimit të pëllëmbëve lokalizon rajonin e duarve nga e gjithë imazhi i futur dhe modeli i zbulimit të pikave të referimit të dorës gjen pikat e referimit në imazhin e prerë të dorës të përcaktuar nga modeli i zbulimit të pëllëmbëve.
Meqenëse modeli i zbulimit të pëllëmbëve kërkon shumë më tepër kohë, në modalitetin Video ose në modalitetin Live Transmetim, Njohësi i Gjesteve përdor kutinë kufizuese të përcaktuar nga pikat e referimit të duarve të zbuluara në kuadrin aktual për të lokalizuar rajonin e duarve në kuadrin tjetër. Kjo zvogëlon kohën që Njohësi i Gjesteve aktivizon modelin e zbulimit të pëllëmbëve. Vetëm kur modeli i pikave të referimit të duarve nuk mund të identifikojë më numrin e mjaftueshëm të kërkuar të pranisë së duarve, ose gjurmimi i duarve dështon, modeli i zbulimit të pëllëmbëve thirret për të rilokalizuar duart.
Paketa e modelit të klasifikimit të gjesteve
Paketa e modelit të klasifikimit të gjesteve mund të njohë këto gjeste të zakonshme të duarve:
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
Nëse modeli zbulon duart, por nuk njeh një gjest, njohësi i gjesteve kthen rezultatin "Asnjë". Nëse modeli nuk zbulon duart, njohësi i gjesteve kthen rezultatin bosh.
Paketa e modelit të klasifikimit të gjesteve përmban një tubacion rrjeti nervor me dy hapa me një model të ngulitur gjestesh të ndjekur nga një model i klasifikimit të gjesteve. Shihni më shumë detaje në kartën e modelit të klasifikimit të gjesteve .
Modeli i ngulitjes së gjesteve kodon veçoritë e imazhit në një vektor veçorish, dhe modeli i klasifikimit është një klasifikues i lehtë gjestesh që merr vektorin e veçorive si të dhënë. Paketa e dhënë e modelit të klasifikimit të gjesteve përmban klasifikuesin e gjesteve të konservuara, i cili zbulon 7 gjestet e zakonshme të duarve të prezantuara më sipër. Ju mund ta zgjeroni paketën e modeleve për të njohur më shumë gjeste duke trajnuar klasifikuesin tuaj të personalizuar të gjesteve. Shihni më shumë detaje në seksionin vijues të Modeleve të Personalizuara .
Njohësi i Gjesteve me klasifikuesin e gjesteve të konservuar dhe klasifikuesin e gjesteve të personalizuara preferon gjestin e personalizuar nëse të dy klasifikuesit njohin të njëjtin gjest në kategoritë e tyre. Nëse vetëm një klasifikues gjestesh e njeh gjestin, Njohësi i Gjesteve e nxjerr gjestin e njohur direkt.
Standardet e detyrave
Ja pikat e referencës së detyrave për të gjithë rrjedhën e punës bazuar në modelet e trajnuara paraprakisht më sipër. Rezultati i vonesës është vonesa mesatare në Pixel 6 duke përdorur CPU / GPU.
| Emri i modelit | Latencia e CPU-së | Vonesa e GPU-së |
|---|---|---|
| Njohësi i Gjesteve | 16.76ms | 20.87ms |
Modele të personalizuara
Nëse dëshironi të përmirësoni ose ndryshoni aftësitë e modeleve të ofruara në këtë detyrë, mund të përdorni Model Maker për të modifikuar modelet ekzistuese. Modelet e personalizuara të përdorura me MediaPipe duhet të jenë në formatin .task , i cili është një skedar pakete modelesh. Duhet të merrni në konsideratë përdorimin e Model Maker për të modifikuar modelet e ofruara për këtë detyrë përpara se të ndërtoni modelet tuaja.
Për më shumë informacion rreth personalizimit të një modeli për këtë detyrë, shihni Personalizoni modelet për Njohësin e Gjesteve .