מדריך לזיהוי של זיהוי פנים

המשימה 'הכלי לזיהוי פנים'

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

כדאי לנסות!

מתחילים

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

פרטי המשימה

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

תכונות

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

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

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

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

IMAGE: המצב שבו ניתן להזין תמונה יחידה.

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

LIVE_STREAM: המצב עבור סטרימינג בשידור חי של נתוני קלט, למשל ממצלמה. במצב הזה, יש להפעיל את resultListener כדי להגדיר מאזין לקבלת תוצאות באופן אסינכרוני.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_faces המספר המקסימלי של פנים שניתן לזהות באמצעות FaceLandmarker. ההחלקה מתבצעת רק כאשר הערך של num_faces מוגדר ל-1. Integer > 0 1
min_face_detection_confidence ציון הסמך המינימלי שצריך לעמוד בו כדי שזיהוי הפנים ייחשב כמוצלח. Float [0.0,1.0] 0.5
min_face_presence_confidence ציון המהימנות המינימלי של ציון נוכחות הפנים בזיהוי של ציון הפנים. Float [0.0,1.0] 0.5
min_tracking_confidence ציון הסמך המינימלי הנדרש למעקב אחר זיהוי הפנים כדי להיחשב כמוצלח. Float [0.0,1.0] 0.5
output_face_blendshapes האם Face Looker יוצר מיקסים של פנים. שילובים של הפנים משמשים להצגת התבנית התלת-ממדית לזיהוי הפנים. Boolean False
output_facial_transformation_matrixes האם סמן הפלט הוא פלט של מטריצת טרנספורמציית הפנים. התכונה 'סמן פנים' משתמשת במטריצה כדי לשנות את ציוני הדרך של הפנים מתבנית קנונית לזיהוי פנים לזיהוי הפנים שזוהו. כך המשתמשים יכולים להחיל אפקטים על ציוני הדרך שזוהו. Boolean False
result_callback מגדיר את מאזין התוצאות לקבלת תוצאות של ציוני דרך באופן אסינכרוני כאשר FaceLandmark נמצא במצב שידור חי. אפשר להשתמש רק כשמצב ריצה מוגדר ל-LIVE_STREAM ResultListener N/A

דגמים

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

המודלים הבאים ארוזים יחד בחבילת מודלים ניתנת להורדה:

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

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

בתמונה הבאה מוצג מיפוי מלא של ציוני פנים מהפלט של חבילת המודל.

נקודות המקשים של Face המקום

לקבלת תצוגה מפורטת יותר של ציוני הדרך לזיהוי הפנים, קראו את התמונה בגודל מלא.

חבילת דגמים צורת הקלט סוג הנתונים קלפי דגמים גרסאות
FaceLandmarker FaceDetector: 192 x 192
FaceMesh-V2: 256 x 256
מיזוג: 1 x 146 x 2
מספר ממשי (float) 16 FaceDetector
FaceMesh-V2
Blaendshape
האחרון