המשימה 'פילוח תמונות של MediaPipe' מאפשרת לחלק תמונות לאזורים על סמך קטגוריות. אפשר להשתמש בפונקציונליות הזו כדי לזהות אובייקטים ספציפיים או טקסטורות, ולאחר מכן להשתמש באפקטים חזותיים כמו טשטוש רקע. המשימה הזו הדוח כולל מספר מודלים שעברו הכשרה ספציפית לפילוח אנשים תכונות בנתוני התמונות, כולל:
- אדם ורקע
- שיער לאדם בלבד
- שיער, פנים, עור, ביגוד ואביזרים של אדם
המשימה הזו פועלת על נתוני תמונה באמצעות מודל למידת מכונה (ML) עם תמונות או וידאו בסטרימינג מתמשך. הפלט שלה הוא רשימה של אזורים מפולחים, שמייצגים אובייקטים או אזורים בתמונה, בהתאם למודל לבחור.
תחילת העבודה
כדי להתחיל להשתמש במשימה הזאת תוכלו להיעזר באחד ממדריכי ההטמעה הבאים: פלטפורמת היעד. המדריכים האלה, שספציפיים לפלטפורמה, ידריכו אותך של המשימה, כולל מודל מומלץ ודוגמה לקוד עם אפשרויות הגדרה מומלצות:
פרטי המשימה
בקטע הזה מתוארים היכולות, הקלט, הפלט וההגדרות האישיות לביצוע המשימה הזו.
תכונות
- עיבוד תמונות קלט – העיבוד כולל סיבוב תמונות, שינוי גודל נירמול והמרת מרחב צבעים.
קלט למשימות | הפלט של המשימות |
---|---|
הקלט יכול להיות אחד מסוגי הנתונים הבאים:
|
הכלי 'פלח תמונות' יוצר פלט של נתוני תמונה מפולחים, שיכולים לכלול
את שני הערכים הבאים, בהתאם לאפשרויות ההגדרה שהגדרתם:
|
אפשרויות הגדרות אישיות
המשימה הזו כוללת את אפשרויות ההגדרה האלה:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
running_mode |
מגדיר את מצב הריצה של המשימה. יש שלושה סוגים
מצבים: IMAGE: המצב לקלט של תמונה יחידה. סרטון: המצב של פריימים מפוענחים בסרטון. LIVE_STREAM: המצב לשידור חי של קלט נתונים ממצלמה, במצב הזה, resultListener חייב להיות נשלחה קריאה כדי להגדיר אוזן כדי לקבל תוצאות באופן אסינכרוני. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
output_category_mask |
אם המדיניות מוגדרת לערך True , הפלט כולל מסיכת פילוח
כמו תמונת uint8, שבה כל ערך של פיקסל מציין את הקטגוריה המנצחת.
עם ערך מסוים. |
{True, False } |
False |
output_confidence_masks |
אם המדיניות מוגדרת לערך True , הפלט כולל מסיכת פילוח
כתמונה עם ערך צף, שבו כל ערך צף מייצג את מהימנות
מפת הניקוד של הקטגוריה. |
{True, False } |
True |
display_names_locale |
מגדיר את השפה של תוויות שישמשו לשמות לתצוגה שסופקו
של מודל המשימה, אם יש כאלה. ברירת המחדל היא en עבור
אנגלית. אפשר להוסיף תוויות שמותאמות לשוק המקומי למטא-נתונים של מודל מותאם אישית
באמצעות TensorFlow Lite Metadata Writer API |
קוד שפה | en |
result_callback |
מגדיר את אוזן התוצאות לקבל את תוצאות הפילוח
באופן אסינכרוני כאשר פילוח התמונות נמצא במצב LIVE_STREAM .
אפשר להשתמש באפשרות הזו רק כשמצב הריצה מוגדר ל-LIVE_STREAM |
לא רלוונטי | לא רלוונטי |
דגמים
אפשר להשתמש ב-Image Segmenter (פילוח תמונות) עם יותר ממודל למידת מכונה אחד. רוב המשחקים הבאים מודלים של סגמנטציה נוצרים ומאומנים לבצע פילוח באמצעות תמונות אנשים. עם זאת, המודל DeepLab-v3 בנוי שמשמשת כפלח של התמונה. צריך לבחור את המודל שהכי מתאים לאפליקציה שלכם.
מודל לפילוח לפי סלפי
המודל הזה יכול לפלח את הדיוקן של אדם, ולהשתמש בו כדי להחליף או שינוי הרקע של תמונה. הפלט של המודל הוא שתי קטגוריות: רקע באינדקס 0 ואדם באינדקס 1. למודל הזה יש גרסאות עם צורות קלט שונות, כולל גרסה בפורמט ריבוע וגרסה לרוחב יהיה יעיל יותר לאפליקציות שבהן הקלט תמיד הוא בצורה הזו, כמו שיחות וידאו.
שם דגם | צורת הקלט | סוג כימות | כרטיס דגם | גרסאות |
---|---|---|---|---|
סכין סלפי (ריבוע) | 256 x 256 | מספר ממשי (float) 16 | מידע | הכי עדכני |
פלח תמונות סלפי (לרוחב) | 144 x 256 | מספר ממשי (float) 16 | מידע | הכי עדכני |
מודל לפילוח שיער
המודל הזה לוקח תמונה של אדם, מאתר את השיער על הראש. יוצרת מפת פילוח של תמונה בשביל השיער. אפשר להשתמש במודל הזה צביעת שיער או שימוש באפקטים אחרים בשיער. הפלט של המודל הוא קטגוריות הפילוח:
0 - background
1 - hair
שם דגם | צורת הקלט | סוג כימות | כרטיס דגם | גרסאות |
---|---|---|---|---|
HairSegmenter | 512 x 512 | ללא (float32) | מידע | הכי עדכני |
מודל לפילוח סלפי בכמה קטגוריות
המודל הזה מצלם תמונה של אדם, מאתר אזורים שונים כמו שיער, עור ובגדים, ויוצרת מפת פילוח של תמונות בשביל הפריטים האלה. אפשר להשתמש במודל הזה כדי להחיל אפקטים שונים על אנשים בתמונות או וידאו. הפלט של המודל הוא קטגוריות הפילוח הבאות:
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
שם דגם | צורת הקלט | סוג כימות | כרטיס דגם | גרסאות |
---|---|---|---|---|
SelfieMulticlass (256 x 256) | 256 x 256 | ללא (float32) | מידע | הכי עדכני |
מודל DeepLab-v3
מודל זה מזהה פלחים עבור מספר קטגוריות, כולל רקע, אדם, חתול, כלב ועציץ. המודל משתמש בפירמידה מרחבית של נהרות יצירת מאגרים כדי לתעד מידע לטווח ארוך יותר. מידע נוסף זמין במאמר הבא: DeepLab-v3.
שם דגם | צורת הקלט | סוג כימות | גרסאות |
---|---|---|---|
DeepLab-V3 | 257 x 257 | ללא (float32) | הכי עדכני |
נקודות השוואה למשימות
אלו הן נקודות ההשוואה של המשימות לכל צינור עיבוד הנתונים, שמבוססות על למשימות ספציפיות. התוצאה של זמן האחזור היא זמן האחזור הממוצע ב-Pixel 6 באמצעות מעבד (CPU) או GPU.
שם דגם | זמן אחזור של המעבד (CPU) | זמן אחזור של ה-GPU |
---|---|---|
סכין סלפי (ריבוע) | 33.46 אלפיות השנייה | 35.15 אלפיות השנייה |
פלח תמונות סלפי (לרוחב) | 34.19 אלפיות השנייה | 33.55 אלפיות השנייה |
HairSegmenter | 57.90 אלפיות השנייה | 52.14 אלפיות השנייה |
SelfieMulticlass (256 x 256) | 217.76 אלפיות השנייה | 71.24 אלפיות השנייה |
DeepLab-V3 | 123.93 אלפיות השנייה | 103.30 אלפיות השנייה |