Udhëzues detyrash për njohjen e gjesteve

Një dorë që bën një lëvizje me gishtin e madh lart që identifikohet si një lëvizje me gishtin e madh lart gjest nga modelja me një besim 63%. vlerësim

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.

Provojeni!

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:

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:
  • Imazhe të palëvizshme
  • Korniza video të dekoduara
  • Furnizimi me video drejtpërdrejt
Njohësi i gjesteve nxjerr rezultatet e mëposhtme:
  • Kategoritë e gjesteve të duarve
  • Duart e duarve të zbuluara
  • Pikat e referimit të duarve të zbuluara në koordinatat e imazhit
  • Pikat e referimit të duarve të zbuluara në koordinatat botërore

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"]
  • Vendndodhja e emrave të shfaqur: vendndodhja për t'u përdorur për emrat e shfaqur të specifikuar përmes Metadatës së Modelit TFLite, nëse ka.
  • Rezultatet maksimale: numri maksimal i rezultateve të klasifikimit me pikët më të larta për t'u kthyer. Nëse < 0, të gjitha rezultatet e disponueshme do të kthehen.
  • Pragu i rezultatit: rezultati nën të cilin rezultatet refuzohen. Nëse vendoset në 0, të gjitha rezultatet e disponueshme do të kthehen.
  • Lista e lejeve të kategorive: lista e lejeve të emrave të kategorive. Nëse nuk janë bosh, rezultatet e klasifikimit kategoria e të cilave nuk është në këtë grup do të filtrohen. Reciprokisht ekskluzive me denylist.
  • Refuzimi i kategorive: lista mohuese e emrave të kategorive. Nëse nuk janë bosh, rezultatet e klasifikimit kategoria e të cilave është në këtë grup do të filtrohen. Reciprokisht ekskluzive me listën e lejeve.
    • Vendndodhja e emrave të shfaqur: any string
    • Rezultatet maksimale: any integer
    • Pragu i rezultatit: 0.0-1.0
    • Lista e lejeve të kategorisë: vector of strings
    • Mohues i kategorisë: vector of strings
    • Vendndodhja e emrave të shfaqur: "en"
    • Rezultatet maksimale: -1
    • Pragu i rezultatit: 0
    • Lista e lejeve të kategorisë: bosh
    • Refuzues i kategorisë: bosh
    custom_gestures_classifier_options Opsionet për konfigurimin e sjelljes së klasifikuesit të gjesteve të personalizuara.
  • Vendndodhja e emrave të shfaqur: vendndodhja për t'u përdorur për emrat e shfaqur të specifikuar përmes Metadatës së Modelit TFLite, nëse ka.
  • Rezultatet maksimale: numri maksimal i rezultateve të klasifikimit me pikët më të larta për t'u kthyer. Nëse < 0, të gjitha rezultatet e disponueshme do të kthehen.
  • Pragu i rezultatit: rezultati nën të cilin rezultatet refuzohen. Nëse vendoset në 0, të gjitha rezultatet e disponueshme do të kthehen.
  • Lista e lejeve të kategorive: lista e lejeve të emrave të kategorive. Nëse nuk janë bosh, rezultatet e klasifikimit kategoria e të cilave nuk është në këtë grup do të filtrohen. Reciprokisht ekskluzive me denylist.
  • Refuzimi i kategorive: lista mohuese e emrave të kategorive. Nëse nuk janë bosh, rezultatet e klasifikimit kategoria e të cilave është në këtë grup do të filtrohen. Reciprokisht ekskluzive me listën e lejeve.
    • Vendndodhja e emrave të shfaqur: any string
    • Rezultatet maksimale: any integer
    • Pragu i rezultatit: 0.0-1.0
    • Lista e lejeve të kategorisë: vector of strings
    • Mohues i kategorisë: vector of strings
    • Vendndodhja e emrave të shfaqur: "en"
    • Rezultatet maksimale: -1
    • Pragu i rezultatit: 0
    • Lista e lejeve të kategorisë: bosh
    • Refuzues i kategorisë: bosh
    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ë:

    Kodet për pikat specifike të pikës referuese të dorës

    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 .