Detyra MediaPipe Gesture Recognizer ju lejon të dalloni gjestet e duarve në kohë reale dhe ofron rezultatet e njohura të gjestit të dorës së bashku me pikat e referimit të duarve të zbuluara. Ju mund ta përdorni këtë detyrë për të njohur gjeste specifike të dorës nga një përdorues dhe për të thirrur veçoritë e aplikacionit që korrespondojnë me ato gjeste.
Kjo detyrë funksionon në të dhënat e imazhit me një model të mësimit të makinës (ML) dhe pranon ose të dhëna statike ose një transmetim të vazhdueshëm. Detyra nxjerr pikat referuese të dorës në koordinatat e imazhit, pikat referuese të dorës në koordinatat botërore, aftësinë e dorës (djathtas/majtas) dhe kategoritë e gjesteve të duarve të shumë duarve.
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ë të platformës ju përcjellin një zbatim bazë të kësaj detyre, duke përdorur një model të rekomanduar dhe ofrojnë shembuj kodesh me opsionet e rekomanduara të konfigurimit:
- Android - Shembull kodi
- Python - Shembull kodi
- Web - Shembull Kodi - Udhëzues
Detajet e detyrës
Ky seksion përshkruan aftësitë, hyrjet, daljet dhe opsionet e konfigurimit të kësaj detyre.
Veçoritë
- Përpunimi i imazhit në hyrje - Përpunimi përfshin rrotullimin e imazhit, ndryshimin e madhësisë, normalizimin dhe konvertimin e hapësirës së ngjyrave.
- Pragu i rezultatit - Filtro rezultatet bazuar në rezultatet e parashikimit.
- Etiketa e lejeve dhe lista e mohimit - Specifikoni kategoritë e gjesteve të njohura nga modeli.
Hyrjet e detyrave | Rezultatet e detyrave |
---|---|
Njohësi i gjesteve pranon një hyrje të një prej llojeve të të dhënave të mëposhtme:
| Njohësi i gjesteve nxjerr rezultatet e mëposhtme:
|
Opsionet e konfigurimeve
Kjo detyrë ka opsionet e mëposhtme të konfigurimit:
Emri i opsionit | Përshkrimi | Gama e vlerave | Vlera e paracaktuar | |
---|---|---|---|---|
running_mode | Vendos modalitetin e ekzekutimit për detyrën. Ekzistojnë tre mënyra: IMAGE: Modaliteti për hyrjet e një imazhi të vetëm. VIDEO: Modaliteti për kornizat 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ë aparat fotografik. Në këtë modalitet, resultListener duhet të thirret për të vendosur 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 për zbulimin e dorës për t'u konsideruar 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 referimi me dorë. Në modalitetin "Video" dhe "Transmetimi i drejtpërdrejtë" i "Njohjes së gjesteve", nëse rezultati i sigurt i pranisë së dorës nga modeli i pikës së 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(ave) për zbulimin e mëvonshëm të pikës referimi. | 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 kufizues IoU i kutisë midis duarve në kuadrin aktual dhe kuadrit të fundit. Në modalitetin "Video" dhe "Transmetimi" i "Njohësit të gjesteve", nëse gjurmimi dështon, "Njohja e gjesteve" aktivizon zbulimin me dorë. 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 | Opsionet për konfigurimin e sjelljes së klasifikuesit të gjesteve të personalizuara. |
|
| |
result_callback | Vendos 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ë caktuar në LIVE_STREAM | ResultListener | N/A | N/A |
Modelet
"Njohësi i gjesteve" përdor një paketë modeli me dy grupe modelesh të parapaketuara: një grup modeli me pikë referimi dhe një grup modeli të klasifikimit të gjesteve. Modeli pikë referimi zbulon praninë e duarve dhe gjeometrisë së duarve dhe modeli i njohjes së gjesteve njeh gjestet bazuar në gjeometrinë e duarve.
Emri i modelit | Forma e hyrjes | Lloji i kuantizimit | Karta Model | Versionet |
---|---|---|---|---|
Klasifikuesi i gjestit të dorës | 192 x 192, 224 x 224 | noton 16 | informacion | E fundit |
Kjo detyrë gjithashtu mbështet modifikimin e paketës së modelit duke përdorur Model Maker. Për më shumë informacion mbi përdorimin e Modeleve për të personalizuar modelet për këtë detyrë, shihni faqen Personalizo modele për Njohësin e Gjesteve .
Paketa e modelit pikë referimi
Pakoja e modelit të pikës së dorës zbulon lokalizimin e pikës kyçe të 21 koordinatave të kyçit të dorës brenda rajoneve të zbuluara të dorës. Modeli u trajnua në rreth 30 mijë imazhe të botës reale, si dhe disa modele të dorës sintetike të paraqitura mbi sfonde të ndryshme. Shihni përkufizimin e 21 pikave më poshtë:
Paketa e modelit të pikës referuese të dorës përmban modelin e zbulimit të pëllëmbës dhe modelin e zbulimit të pikave referuese të dorës. Modeli i zbulimit të pëllëmbës lokalizon rajonin e duarve nga i gjithë imazhi hyrës dhe modeli i zbulimit të pikave referuese të dorës gjen pikat referuese në imazhin e dorës së prerë të përcaktuar nga modeli i zbulimit të pëllëmbës.
Meqenëse modeli i zbulimit të pëllëmbës kërkon shumë më shumë kohë, në modalitetin Video ose në modalitetin e transmetimit të drejtpërdrejtë, "Njohësi i gjesteve" përdor kutinë e kufirit të përcaktuar nga pikat referuese të zbuluara të dorës në kuadrin aktual për të lokalizuar zonën e duarve në kuadrin tjetër. Kjo zvogëlon kohën e "Njohjes së gjesteve" që aktivizon modelin e zbulimit të pëllëmbës. Vetëm kur modeli i pikave referuese të dorës nuk mund të identifikojë më numrin e nevojshëm të pranisë së duarve, ose gjurmimi i dorës dështon, modeli i zbulimit të pëllëmbës thirret për të rivendosur 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 një rezultat "Asnjë". Nëse modeli nuk zbulon duart, njohësi i gjesteve kthehet bosh.
Pakoja e modelit të klasifikimit të gjesteve përmban tubacion rrjeti nervor me dy hapa me një model të ngulitjes së gjesteve të ndjekur nga një model klasifikimi gjestesh. Shihni më shumë detaje në kartën e modelit të klasifikimit me gjeste .
Modeli i ngulitjes së gjesteve kodon veçoritë e imazhit në një vektor të veçorive dhe modeli i klasifikimit është një klasifikues gjestesh i lehtë duke marrë vektorin e veçorive si hyrje. Paketa e ofruar 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. Mund ta zgjeroni paketën e modelit për të njohur më shumë gjeste duke trajnuar klasifikuesin tuaj të personalizuar të gjesteve. Shihni më shumë detaje në seksionin e mëposhtëm Modelet e personalizuara .
Njohësi i gjesteve me klasifikuesin e gjestit të konservuar dhe klasifikuesin e gjesteve të personalizuar 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 nxjerr drejtpërdrejt gjestin e njohur.
Standardet e detyrave
Këtu janë standardet e detyrave për të gjithë tubacionin bazuar në modelet e mësipërme të para-trajnuara. Rezultati i vonesës është vonesa mesatare në Pixel 6 duke përdorur CPU / GPU.
Emri i modelit | Vonesa e CPU-së | Vonesa e GPU-së |
---|---|---|
Gjeste Njohës | 16.76 ms | 20.87 ms |
Modele me porosi
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 modeli i paketës. Ju duhet të konsideroni përdorimin e Model Maker për të modifikuar modelet e ofruara për këtë detyrë përpara se të ndërtoni tuajin.
Për më shumë informacion rreth personalizimit të një modeli për këtë detyrë, shihni Personalizo modelet për Njohësin e Gjesteve .