האם תמונות דומות באמת דומות ? (רקע לחסרי רקע ברגיסטרציה)

מאת Algofek
בתאריך 16 אפריל, 2014

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

האם תמונות דומות באמת דומות ? (רקע לחסרי רקע ברגיסטרציה)

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

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

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

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

הגישות הקלאסיות של פתרונות לבעיית הרגיסטרציה לרב מחולקות לארבעה שלבים המשותפים להרבה שיטות:

  1. מציאת סט נקודות בולטות בכל תמונה
  2. התאמת כל סט נקודות מכל תמונה לסט בתמונות האחרות
  3. מציאת מודל גיאומטרי שאכן מסיט את סט הנקודות מתמונה לתמונה (שיערוך טרנספורמציה)
  4. הכללת הטרנספורמציה על גבי כל התמונה

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

דוגמה לבעיית רגיסטרציה עם פתרון שעובד טוב ברב המקרים הינה בעיית ה OCR

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

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

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

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

מאמרים נוספים...