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

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

 

אילו עקרונות עומדים בבסיס זיהוי פנים?

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

 

איך מחשב מזהה פנים?

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

 

כיצד מחלצים תווי פנים?

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

 

כיצד משתמשים בתווי הפנים שחולצו?

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

 

על הסופר