מדריך לזיהוי ציוני דרך בכף היד

יד שמחזיקה ביצה. צורת היד מסומנת בתרשים קווים שמציין את המבנה שזוהה

המשימה 'זיהוי ציוני דרך של ידיים' ב-MediaPipe מאפשרת לזהות את ציוני הדרך של הידיים בתמונה. אפשר להשתמש במשימה הזו כדי לאתר נקודות מפתח בידיים וליישם עליהן אפקטים חזותיים. המשימה הזו פועלת על נתוני תמונה באמצעות מודל למידת מכונה (ML) כנתונים סטטיים או כזרם רציף, ומפיקה נקודות ציון של היד בקואורדינטות של התמונה, נקודות ציון של היד בקואורדינטות של העולם וצד היד(יד ימין/יד שמאל) של כמה ידיים שזוהו.

רוצים לנסות?

תחילת העבודה

כדי להתחיל להשתמש במשימה הזו, פועלים לפי אחד מהמדריכים הבאים להטמעה בפלטפורמת היעד. המדריכים הספציפיים לפלטפורמות האלה כוללים הנחיות להטמעה בסיסית של המשימה הזו, כולל מודל מומלץ ודוגמת קוד עם אפשרויות ההגדרה המומלצות:

פרטי המשימה

בקטע הזה מוסבר על היכולות, הקלט, הפלט והאפשרויות להגדרה של המשימה הזו.

תכונות

  • עיבוד תמונות קלט – העיבוד כולל סיבוב תמונות, שינוי גודל, נורמליזציה והמרה של מרחב צבעים.
  • סף ניקוד – סינון התוצאות על סמך ציונים של תחזיות.
קלט של משימות פלט של משימות
הכלי להגדרת נקודות ציון ביד מקבל קלט מאחד מסוגי הנתונים הבאים:
  • תמונות סטילס
  • פריימים של וידאו שעבר פענוח
  • פיד וידאו בשידור חי
התוצאות של Hand Landmarker הן:
  • היד הדומיננטית של הידיים שזוהו
  • ציוני דרך של ידיים שזוהו בקואורדינטות של תמונה
  • ציוני דרך של ידיים שזוהו בקואורדינטות עולמיות

אפשרויות הגדרה

למשימה הזו יש את אפשרויות ההגדרה הבאות:

שם האפשרות תיאור טווח ערכים ערך ברירת מחדל
running_mode הגדרת מצב ההפעלה של המשימה. יש שלושה מצבים:

IMAGE: המצב להזנת תמונה אחת.

VIDEO: המצב של פריימים מפוענחים של סרטון.

LIVE_STREAM: המצב של סטרימינג בשידור חי של נתוני קלט, למשל ממצלמה. במצב הזה, צריך להפעיל את resultListener כדי להגדיר מאזין שיקבל את התוצאות באופן אסינכרוני.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_hands המספר המקסימלי של ידיים שזוהו על ידי הגלאי של נקודות ציון ביד. 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 של תיבת ההיקף בין הידיים בפריים הנוכחי לבין הפריים האחרון. במצב וידאו ובמצב סטרימינג של Hand Landmarker, אם המעקב נכשל, התכונה Hand Landmarker מפעילה זיהוי של היד. אחרת, המערכת תדלג על זיהוי היד. 0.0 - 1.0 0.5
result_callback מגדיר את מאזין התוצאות כך שיקבל את תוצאות הזיהוי באופן אסינכרוני כשכלי הסימון של כף היד נמצא במצב של שידור חי. רלוונטי רק כשמצב ההפעלה מוגדר כ-LIVE_STREAM לא רלוונטי לא רלוונטי

דגמים

ה-Hand Landmarker משתמש בחבילת מודלים עם שני מודלים ארוזים: מודל לזיהוי כף היד ומודל לזיהוי נקודות ציון ביד. כדי להריץ את המשימה הזו, צריך חבילת מודלים שמכילה את שני המודלים האלה.

שם דגם צורת הקלט סוג הקידוד כרטיס מודל גרסאות
HandLandmarker (full) 192 x 192, ‏ 224 x 224 float 16 info חדש

חבילת המודל של ציוני הדרך ביד מזהה את המיקום של 21 נקודות ציון במפרקי האצבעות בתוך אזורי היד שזוהו. המודל אומן באמצעות כ-30,000 תמונות מהעולם האמיתי, וגם כמה מודלים סינתטיים של ידיים שהוחלו על רקעים שונים.

חבילת המודלים של כלי הסימון של נקודות ציון ביד מכילה מודל לזיהוי כף היד ומודל לזיהוי נקודות ציון ביד. מודל זיהוי כף היד מאתר את הידיים בתמונה הקלט, ומודל זיהוי ציוני הדרך ביד מזהה ציוני דרך ספציפיים ביד בתמונה החתוכה של היד שמוגדרת על ידי מודל זיהוי כף היד.

מכיוון שהפעלת המודל לזיהוי כף היד אורכת זמן, כשהיא פועלת בסרטון או בשידור חי, הכלי Hand Landmarker משתמש בתיבת הגבול שמוגדרת על ידי מודל נקודות הציון של היד בפריים אחד כדי למקם את האזור של הידיים בפריימים הבאים. התכונה Hand Landmarker מפעילה מחדש את מודל זיהוי כף היד רק אם מודל הנקודות של כף היד לא מזהה יותר את נוכחות הידיים או לא מצליח לעקוב אחרי הידיים בפריים. כך תוכלו לצמצם את מספר הפעמים שבהן Hand Landmarker מפעיל את מודל זיהוי כף היד.

נקודות השוואה של משימות

בהמשך מוצגות נקודות השוואה של המשימות בצינור עיבוד הנתונים כולו, על סמך המודלים שהוכשרו מראש שלמעלה. תוצאת זמן האחזור היא זמן האחזור הממוצע ב-Pixel 6 באמצעות מעבד או יחידת עיבוד גרפי (GPU).

שם דגם זמן האחזור של המעבד (CPU) זמן אחזור של GPU
HandLandmarker (מלא) 17.12 אלפיות השנייה 12.27 אלפיות השנייה