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

משימה של סימון נקודות ציון בפנים

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

רוצים לנסות?

שנתחיל?

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

פרטי המשימה

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

תכונות

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

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

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

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

תמונה: המצב להזנת תמונות בודדות.

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

LIVE_STREAM: המצב לשידור חי של נתוני קלט, למשל ממצלמה. במצב הזה, צריך להפעיל את resultListener כדי להגדיר listener לקבלת תוצאות באופן אסינכרוני.
{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 Landmarker מוציאה נתוני blendshapes של הפנים. צורות הפנים המעורבות משמשות לעיבוד של התבנית התלת-ממדית לזיהוי הפנים. Boolean False
output_facial_transformation_matrixes ההגדרה הזו קובעת אם FaceLandmarker יוציא את מטריצת השינוי של הפנים. המודל FaceLandmarker משתמש במטריצה כדי לשנות את נקודות הציון של הפנים ממודל פנים קנוני לפנים שזוהו, כך שהמשתמשים יכולים להחיל אפקטים על נקודות הציון שזוהו. Boolean False
result_callback מגדיר את מאזין התוצאות לקבלת תוצאות של נקודות ציון באופן אסינכרוני כש-FaceLandmarker נמצא במצב שידור חי. אפשר להשתמש בהגדרה הזו רק אם מצב ההפעלה מוגדר ל-LIVE_STREAM ResultListener N/A

מודלים

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

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

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

מודל זיהוי הפנים הוא מודל BlazeFace short-range, גלאי פנים קל משקל ומדויק שעבר אופטימיזציה להסקת מסקנות ב-GPU של מכשירים ניידים. מידע נוסף זמין במאמר בנושא המשימה Face Detector.

בתמונה הבאה אפשר לראות מיפוי מלא של נקודות ציון בפנים מתוך הפלט של חבילת המודל.

נקודות מרכזיות של תכונות הפנים

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

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