המשימה של MediaPipe לזיהוי תנועות מאפשרת לכם לזהות תנועות ידיים בזמן אמת. מספק את התוצאות של תנועות היד המוכרות יחד עם ציוני הדרך ידיים שזוהו. אפשר להשתמש במשימה הזו כדי לזהות תנועות יד ספציפיות משתמש ולהפעיל תכונות אפליקציה שמתאימות לתנועות האלה.
המשימה הזו פועלת על נתוני תמונה באמצעות מודל למידת מכונה (ML), ומקבלת בין אם מדובר בנתונים סטטיים או בשידור רציף. במשימה יופיע ציוני דרך ידניים קואורדינטות תמונה, ציוני דרך בכתב יד, בקואורדינטות בעולם, יד (יד שמאל/ימין), וקטגוריות של תנועות ידיים בכמה ידיים.
תחילת העבודה
כדי להתחיל להשתמש במשימה הזאת תוכלו להיעזר באחד ממדריכי ההטמעה הבאים: פלטפורמת היעד. המדריכים האלה, שספציפיים לפלטפורמה, ידריכו אותך במשימה הזאת באמצעות מודל מומלץ, ולספק דוגמאות לקוד עם אפשרויות ההגדרה המומלצות:
- Android – קוד לדוגמה – מדריך
- Python – דוגמה לקוד – מדריך
- אינטרנט – קוד לדוגמה – מדריך
פרטי המשימה
בקטע הזה מתוארים היכולות, הקלט, הפלט וההגדרות האישיות לביצוע המשימה הזו.
תכונות
- עיבוד תמונות קלט – העיבוד כולל סיבוב תמונות, שינוי גודל והמרת מרחב צבעים.
- סף הציון – סינון התוצאות על סמך ציוני החיזויים.
- רשימת היתרים של תוויות ורשימת ישויות שנחסמו – ציון הקטגוריות של התנועות שזוהו על ידי המודל.
קלט למשימות | הפלט של המשימות |
---|---|
הכלי לזיהוי תנועות מקבל קלט של אחד מסוגי הנתונים הבאים:
|
הכלי לזיהוי התנועות מפיק את התוצאות הבאות:
|
אפשרויות הגדרות אישיות
המשימה הזו כוללת את אפשרויות ההגדרה הבאות:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל | |
---|---|---|---|---|
running_mode |
מגדיר את מצב הריצה של המשימה. יש שלושה סוגים
מצבים: IMAGE: המצב לקלט של תמונה יחידה. סרטון: המצב של פריימים מפוענחים בסרטון. LIVE_STREAM: המצב לשידור חי של קלט נתונים ממצלמה, במצב הזה, resultListener חייב להיות נשלחה קריאה כדי להגדיר אוזן כדי לקבל תוצאות באופן אסינכרוני. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
|
num_hands |
מספר הידיים המקסימלי שניתן לזהות
GestureRecognizer .
|
Any integer > 0 |
1 |
|
min_hand_detection_confidence |
ציון הסמך המינימלי שצריך להיות זיהוי היד נחשב למוצלח במודל זיהוי כף היד. | 0.0 - 1.0 |
0.5 |
|
min_hand_presence_confidence |
ציון הסמך המינימלי של ציון הנוכחות בכף היד לזיהוי מאפיינים של ציוני דרך. במצב וידאו ובמצב שידור חי באמצעות הכלי לזיהוי תנועות, אם הציון המשוער של נוכחות היד מהמודל של יד הציון מוצג מתחת הסף הזה, הוא מפעיל את המודל לזיהוי כף היד. אחרת, נעשה שימוש באלגוריתם קל למעקב אחר תנועות הידיים כדי לקבוע את המיקום של את הידיים לזיהוי של ציוני הדרך הבאים. | 0.0 - 1.0 |
0.5 |
|
min_tracking_confidence |
ציון הסמך המינימלי שצריך להביא בחשבון את המעקב אחר היד הפעולה הצליחה. זהו סף IoU של התיבה התוחמת בין הידיים הפריים הנוכחי והפריים האחרון. במצב וידאו ובמצב 'זרם' של הכלי לזיהוי תנועות, אם המעקב נכשל, הכלי לזיהוי תנועות מפעיל את היד גילוי נאות. אחרת, המערכת תדלג על זיהוי היד. | 0.0 - 1.0 |
0.5 |
|
canned_gestures_classifier_options |
אפשרויות להגדרת ההתנהגות של מסַווג התנועות המוכנות מראש. התנועות המוכנות מראש הן ["None", "Closed_Fist", "Open_Palm", "Pointing_Up", "Thumb_Down", "Thumb_Up", "Victory", "ILoveYou"] |
|
|
|
custom_gestures_classifier_options |
אפשרויות להגדרת ההתנהגות של מסווג תנועות בהתאמה אישית. |
|
|
|
result_callback |
מגדיר את אוזן התוצאות לקבל את תוצאות הסיווג
באופן אסינכרוני כשמזהה התנועה נמצא במצב השידור החי.
אפשר להשתמש באפשרות הזו רק כשמצב הריצה מוגדר ל-LIVE_STREAM |
ResultListener |
לא רלוונטי | לא רלוונטי |
דגמים
הכלי לזיהוי התנועה משתמש בחבילת מודלים עם שתי חבילות מודלים ארוזות מראש: חבילת מודלים בעבודת יד וחבילת מודלים לסיווג תנועות. משמש לזיהוי נוכחות של ידיים וגיאומטריה של יד, ואת התנועה מודל הזיהוי מזהה תנועות על סמך הגיאומטריה של הידיים.
שם דגם | צורת הקלט | סוג כימות | כרטיס דגם | גרסאות |
---|---|---|---|---|
HandGestureClassifier | 192 x 192, 224 x 224 | מספר ממשי (float) 16 | מידע | הכי עדכני |
המשימה הזו תומכת גם בשינוי של חבילת המודלים באמצעות 'יוצר המודלים'. למידע נוסף על השימוש ב'יוצר המודלים' להתאמה אישית של המודלים למשימה הזו, כדאי לעיין בדף התאמה אישית של המודלים לזיהוי תנועות.
חבילת מודל בעבודת יד
חבילת המודלים של ARIA מזהה את לוקליזציה של נקודת מפתח של 21 אצבעות בתוך אזורי היד שזוהו. המודל אומן כ-30, 000 תמונות אמיתיות וגם כמה יד סינתטית מעובדת שהוטלו על רקעים שונים. בהמשך ההגדרה של 21 ציוני הדרך:
חבילת המודלים של מסמן היד מכילה מודל זיהוי כף היד למודל לזיהוי ציוני דרך משופרים. מודל זיהוי כף היד מבצע לוקליזציה של אזור מכל תמונת הקלט, ומודל הזיהוי של ציוני הדרך של היד מוצא את ציוני הדרך בתמונה של היד החתוכה שהוגדרה על ידי מודל זיהוי כף היד.
מודל זיהוי כף היד דורש הרבה יותר זמן, במצב וידאו או בשידור חי במצב סטרימינג, הכלי לזיהוי תנועות משתמש בתיבה תוחמת שהוגדרה על ידי היד שזוהתה בפריים הנוכחי כדי למקם את אזור המחוונים מסגרת. הפעולה הזו מפחיתה את מספר הפעמים שזיהוי התנועות מפעיל את המודל לזיהוי כף היד. רק כאשר המודל של ציוני הדרך ידנית כבר לא יכול לזהות מספיק נתונים נדרשים מספר הידיים לא פועל, או שהמעקב אחר כף היד נכשל, מודל זיהוי כף היד נכשל לבצע לוקליזציה של הידיים.
חבילת מודלים לסיווג תנועות
חבילת המודלים לסיווג תנועות יכולה לזהות את תנועות היד הנפוצות הבאות:
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
אם המודל מזהה ידיים אבל לא מזהה תנועה, התנועה המזהה מחזיר תוצאה של 'ללא'. אם המודל לא מזהה ידיים, הכלי לזיהוי תנועה מחזיר ריק.
חבילת המודלים לסיווג תנועות מכילה צינור עיבוד נתונים של רשת נוירונים דו-שלבי באמצעות מודל של הטמעה באמצעות תנועה, ואחריו מודל לסיווג תנועות. פרטים נוספים זמינים בכרטיס המודל לסיווג תנועות.
המודל של הטמעת תנועה מקודד את תכונות התמונה לווקטור מאפיין, מודל הסיווג הוא מסווג תנועות קל ופשוט שמשתמש בתכונה בתור קלט. חבילת המודלים של סיווג התנועות שסופקה כוללת את מסַווג של תנועות מוכנות מראש, שמזהה את 7 תנועות היד הנפוצות שהוצגו למעלה. אפשר להרחיב את חבילת המודלים כדי לזהות תנועות נוספות באמצעות אימון. מסווג תנועות בהתאמה אישית. פרטים נוספים מופיעים בהמשך מודלים מותאמים אישית.
מזהה תנועות עם מסַווג תנועות מוכן מראש ומסווג תנועות בהתאמה אישית העדפה של התנועה המותאמת אישית אם שני המסווגים מזהים את אותה תנועה הקטגוריות שלהם. אם רק מסַווג אחד של תנועות מזהה את התנועה, הכלי לזיהוי תנועות מפיק את התנועה שזוהתה ישירות.
נקודות השוואה למשימות
אלה נקודות ההשוואה של המשימות בכל צינור עיבוד הנתונים שמבוססות על שעברו אימון מראש. תוצאת זמן האחזור היא זמן האחזור הממוצע ב-Pixel 6 באמצעות מעבד (CPU) / GPU.
שם דגם | זמן אחזור של המעבד (CPU) | זמן אחזור של ה-GPU |
---|---|---|
GestureRecognizer | 16.76 אלפיות השנייה | 20.87 אלפיות השנייה |
מודלים מותאמים אישית
אם אתם רוצים לשפר או לשנות את היכולות של המודלים שמפורטים כאן
אפשר להשתמש ב'יוצר המודלים' כדי לשנות את המודלים הקיימים. מודלים בהתאמה אישית שנעשה בהם שימוש
עם MediaPipe צריך להיות בפורמט .task
, שהוא קובץ של חבילת מודלים. שלך
כדאי להשתמש ב'יוצר המודלים' כדי לשנות את המודלים שסופקו למשימה הזו
לפני שאתם יוצרים בעצמכם.
למידע נוסף על התאמה אישית של מודל למשימה הזו: התאמה אישית של המודלים לזיהוי תנועות.