המשימה 'מזהה פנים של MediaPipe' מאפשרת לך לזהות פנים בתמונה או בסרטון. אפשר להשתמש במשימה הזו כדי לאתר פנים ותווי פנים בפריים. במשימה הזו נעשה שימוש במודל למידת מכונה (ML) שעובד עם תמונות בודדות או עם רצף רציף של תמונות. המשימה תפיק את המיקומים של הפנים יחד עם הנקודות העיקריות הבאות: עין שמאל, עין ימין, קצה האף, הפה, טרגדיות בעין השמאלית וטרגוע בעין הימנית.
מתחילים
כדי להתחיל להשתמש במשימה הזו, כדאי לפעול לפי אחד ממדריכי ההטמעה האלה בהתאם לפלטפורמת היעד. במדריכים הבאים שספציפיים לפלטפורמה תמצאו הנחיות איך לבצע הטמעה בסיסית של המשימה הזו, כולל מודל מומלץ ודוגמה לקוד עם אפשרויות הגדרה מומלצות:
- Android – דוגמה לקוד – מדריך
- Python – דוגמה לקוד – מדריך
- Web – דוגמה לקוד – מדריך
- iOS – דוגמה לקוד – מדריך
פרטי המשימה
בקטע הזה מתוארות היכולות, הקלט, הפלט ואפשרויות ההגדרה של המשימה הזו.
תכונות
- עיבוד תמונות קלט – העיבוד כולל סיבוב תמונות, שינוי גודל, נירמול והמרת מרחב צבעים.
- סף הציון – סינון התוצאות לפי ציוני התחזית.
קלט למשימות | פלט המשימות |
---|---|
גלאי הפנים מקבל קלט של אחד מסוגי הנתונים הבאים:
|
גלאי הפנים מפיק את התוצאות הבאות:
|
אפשרויות של הגדרות אישיות
במשימה הזאת קיימות אפשרויות ההגדרה הבאות:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
running_mode |
מגדיר את מצב הריצה של המשימה. יש שלושה
מצבים: IMAGE: המצב שבו ניתן להזין תמונה יחידה. וידאו: המצב של פריימים מפוענחים של סרטון. LIVE_STREAM: המצב עבור סטרימינג בשידור חי של נתוני קלט, למשל ממצלמה. במצב הזה, יש להפעיל את resultListener כדי להגדיר מאזין לקבלת תוצאות באופן אסינכרוני. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
min_detection_confidence |
ציון המהימנות המינימלי שזיהוי הפנים ייחשב בהצלחה. | Float [0,1] |
0.5 |
min_suppression_threshold |
הסף המינימלי שאינו ביטול מקסימלי כדי שזיהוי הפנים ייחשב לחפיפה. | Float [0,1] |
0.3 |
result_callback |
מגדיר את הכלי להאזנה לתוצאות כך שיקבל את תוצאות הזיהוי באופן אסינכרוני כשגלאי הפנים נמצא במצב שידור חי. אפשר להשתמש רק כשמצב הריצה מוגדר ל-LIVE_STREAM . |
N/A |
Not set |
דגמים
המודלים לזיהוי פנים עשויים להשתנות בהתאם לתרחישי השימוש שלהם, כמו זיהוי לטווח קצר ולטווח ארוך. המודלים בדרך כלל מביאים בחשבון בין ביצועים, דיוק, פתרון בעיות ומשאבים, ובמקרים מסוימים הם כוללים תכונות נוספות.
המודלים המפורטים בקטע הזה הם וריאנטים של BlazeFace, גלאי פנים קל ומדויק שמותאם להסקת הנתונים ממעבד GPU בנייד. המודלים של BlazeFace מתאימים לאפליקציות כמו הערכה תלת-ממדית של נקודות מפתח לפנים, סיווג הבעות פנים ופילוח אזור הפנים. BlazeFace משתמש ברשת קלה לחילוץ תכונות שדומה ל-MobileNetV1/V2.
BlazeFace (טווח קצר)
מודל קליל לזיהוי פנים של אדם אחד או מספר פנים בתמונות סלפי, במצלמת סמארטפון או במצלמת אינטרנט. המודל עבר אופטימיזציה לתמונות של מצלמת הטלפון שפונה למצלמה קדמית בטווח קצר. ארכיטקטורת המודל משתמשת בשיטת SSD לרשת קונבולציה עם מקודד מותאם אישית. למידע נוסף, קראו את מאמר המחקר בנושא Single Shot MultiBox Detector.
שם הדגם | צורת הקלט | סוג הכמות | כרטיס דגם | גרסאות |
---|---|---|---|---|
BlazeFace (טווח קצר) | 128 x 128 | מספר ממשי (float) 16 | מידע | האחרון |
BlazeFace (טווח מלא)
מודל קליל יחסית לזיהוי פנים בודדות או מרובות בתמונות ממצלמת סמארטפון או ממצלמת אינטרנט של סמארטפון. המודל עבר אופטימיזציה לתמונות בטווח מלא, כמו תמונות שצולמו במצלמה אחורית. בארכיטקטורת המודלים נעשה שימוש בשיטה שדומה לרשת מורכבת של CenterNet עם מקודד מותאם אישית.
שם הדגם | צורת הקלט | סוג הכמות | כרטיס דגם | גרסאות |
---|---|---|---|---|
BlazeFace (טווח מלא) | 128 x 128 | מספר ממשי (float) 16 | מידע | בקרוב |
BlazeFace Sparse (טווח מלא)
גרסה קלה יותר של הדגם הרגיל של BlazeFace לטווח מלא, שגודלה קטן ב-60% בערך. המודל עבר אופטימיזציה לתמונות בטווח מלא, כמו תמונות שצולמו במצלמה אחורית. ארכיטקטורת המודלים משתמשת בשיטה שדומה לרשת מפותלת של CenterNet עם מקודד מותאם אישית.
שם הדגם | צורת הקלט | סוג הכמות | כרטיס דגם | גרסאות |
---|---|---|---|---|
BlazeFace Sparse (טווח מלא) | 128 x 128 | מספר ממשי (float) 16 | מידע | בקרוב |
נקודות השוואה למשימות
אלה נקודות ההשוואה למשימות לגבי כל צינור עיבוד הנתונים, בהתבסס על המודלים שהוכשרו מראש למעלה. זמן האחזור הוא זמן האחזור הממוצע ב-Pixel 6 כשמשתמשים במעבד (CPU) או ב-GPU.
שם דגם | זמן אחזור של המעבד (CPU) | זמן אחזור של GPU |
---|---|---|
BlazeFace (טווח קצר) | 2.94 אלפיות השנייה | 7.41 אלפיות השנייה |