שחזור פנים בתצלום (Blind Face Restoration)

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

הגדרה

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

מה זה שחזור פנים, ולמה "עיוור"

שחזור פנים בתצלום הוא הפיכת פנים מטושטשות או פגומות בתצלום לפנים חדות. המילה "עיוור" (blind) שבשם האנגלי מתארת את מה שהמערכת אינה יודעת: בתצלום אמיתי מאלבום משפחתי אין תיעוד של מה בדיוק פגע בו — טשטוש, גרעיניות, דהייה, קמט בנייר או דחיסה. שיטות מוקדמות נשענו על עוגן חיצוני: מודל גיאומטרי של מבנה הפנים, או תצלום איכותי אחר של אותו אדם. שתי ההנחות נשברות בדיוק שם שבו הכלי הכי נחוץ — מקלט ירוד אי-אפשר לחלץ גיאומטריה מדויקת, ותצלום ייחוס איכותי לרוב אינו קיים.

הידע לא מגיע מהתמונה שלכם

הפתרון שהשתרש הוא להביא את הידע מבחוץ. GFP-GAN, מינואר 2021, לוקח רשת יריבה גנרטיבית שכבר אומנה לייצר פנים ומשתמש בה כ"ידע מוקדם": המודל יודע איך פנים אנושיות נראות בכלל, ומרכיב מזה פנים שמתיישבות עם הקלט המטושטש, במעבר יחיד. CodeFormer, מכנס NeurIPS ב-2022, מנסח זאת חד יותר — הוא מגדיר את המשימה כ"בעיה מאוד לא-מוגדרת", ובמקום לצייר פיקסלים בוחר רכיבי-פנים מתוך מילון סגור שנלמד מראש. החדות מגיעה ממה שהמודל למד על פנים בכלל, לא מהתמונה שלכם.

הכפתור שבין נאמנות לאיכות

שתי העבודות חולקות הודאה מפורשת: זו פשרה, לא ניצחון. GFP-GAN מתאר את מטרתו כ"איזון טוב בין ריאליזם לנאמנות", ו-CodeFormer מוסיף רכיב שמאפשר לבחור במפורש היכן לשבת על הציר — יותר נאמנות לקלט, או יותר איכות תמונה. זה מסביר תופעה שמבלבלת: אותה תמונה בדיוק, בשני כלים או בשתי הגדרות, מוציאה שני אנשים שנראים שונה. אין כאן תקלה, יש בחירה שמישהו עשה בשבילכם.

מתי הפנים שיוצאות אינן הפנים

עבודה מ-2020 בשם PULSE ממחישה את הגבול. היא עוסקת במשימה של הגדלת רזולוציה בתצלומי פנים, ומגדירה הצלחה כך: לייצר תמונה חדה שאם מקטינים אותה בחזרה מתקבל הקלט המקורי. קריטריון הגיוני מבחינה חישובית — אבל התמונה המטושטשת מכילה פחות מידע מהתוצאה החדה, ולכן יותר מפנים אחת יכולות לעמוד בו, ואף אחת אינה מובטחת להיות הנכונה. ביוני 2020 הודגם הדבר בפומבי: תצלום מפוקסל אך מזוהה של ברק אובמה הוזן לכלי מבוסס-PULSE, והפלט היה פנים של גבר בעל עור לבן, עיניים כחולות ושיער חום. אחד ממחברי המאמר, סאצ'יט מנון, תלה זאת בנתונים שעליהם אומן המודל הגנרטיבי שהשיטה נשענת עליו: "מתברר ש-90 אחוז מהתצלומים ב-CelebA הם של אנשים לבנים". המסקנה חדה: אין להשתמש בפלט כזה כדי לזהות אדם.

מה כן לעשות עם התמונה המשפחתית

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

שאלות נפוצות ❓

למה קוראים לזה שחזור "עיוור"?

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

האם הפנים שיצאו הן באמת הפנים של סבתא שלי?

לא בהכרח. הפרטים החדים שנוספו לא היו בתמונה — הם מגיעים ממה שהמודל למד על פנים אנושיות בכלל. מאמר CodeFormer מגדיר את המשימה כ"בעיה מאוד לא-מוגדרת", כלומר יותר מתשובה אחת מתיישבת עם אותו קלט. התוצאה יכולה להיות דומה מאוד, ויכולה להיות אדם אחר שנראה משכנע.

למה שני כלים מוציאים תוצאות שונות מאותה תמונה בדיוק?

כי כל כלי יושב במקום אחר על הציר שבין נאמנות לקלט לבין איכות התמונה. GFP-GAN מתאר את מטרתו כ"איזון טוב בין ריאליזם לנאמנות", ו-CodeFormer אף חושף למשתמש רכיב שמאפשר להזיז את הציר הזה ידנית. אין כאן תקלה, יש בחירה — ולכן כדאי להריץ יותר מכלי אחד ולהשוות.

אפשר לשחזר כך פנים מצילום אבטחה מטושטש כדי לזהות אדם?

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