בכתבה זו נסביר כיצד ניתן לייצר מודל תלת ממדי של עצמים בעזרת צילום מספר רב של תמונות בתנועה מסביב לעצם. שיטה זו שימושית במיוחד לאפליקציות הדמיה תלת ממדית כגון מציאות רבודה ומדומה, אפליקציות רפואיות רבות ועוד.
תמונה דיגיטלית מורכבת מאוסף של פיקסלים אשר מתעדים סצנה מסויימת. אולם התיעוד אינו מושלם, מאחר ואנחנו יוצרים תמונה דו-מימדית, ומאבדים את ממד העומק של הסצינה והמרחק לחפצים שבה. מבחינה זו, פעולת יצירת התמונה הדו ממדית נקראת הטלה [1], זאת אומרת תהליך מיפוי של נקודות תלת ממדיות על גבי מישור דו ממדי. בעוד שתמונות רגילות כאלה מאוד שימושיות, היום יש יותר ויותר משיכה דוקא ליכולת ״לצלם״ חפץ בצורה תלת מימדית ולתעד את המבנה המלא שלו. בכתבה זו נתאר שיטה שמשתמשת בתמונות דו-מימדיות ליצירת מודל תלת מימדי - על ידי צילום תמונות רבות של עצם ממספר זוויות שונות. התמונות השונות מספקות כל אחת מידע שונה לגבי מידותיו, והעיבוד שלהן מאפשר להשיג הבנה תלת ממדית של העצם (על ידי מחשב). נתמקד בטכניקה הנקראת Structure from Motion (או בקיצור, SfM), המסוגלת לייצר מודל תלת ממדי מתוך התמונות דו ממדיות שנוצרות כאשר מצלמים סרט תוך כידי תנועה סביב החפץ.
בני האדם מסוגלים לעבד עומק בעזרת ראיית סטריאו, כלומר בעזרת שימוש בשתי עינינו במקביל, כאשר המוח משלב את המידע בין שתי התמונות הדו מימדיות [2]. יצירת מודל תלת ממדי בעזרת תנועה היא טכניקת הדמיה המשתמשת באותו עקרון, אך במקום שתי ״מצלמות״ במקומות שונים, היא משתמשת בסדרת תמונות דו ממדיות שצולמו באותה מצלמה ממיקומים שונים. השיטה יכולה לייצר דגמים תלת ממדיים מבוססי ענן נקודות, אשר בניגוד לתמונה דיגיטלית שטוחה [3] היא מכילה מידע לגבי עומק העצם, בנוסף למידע לגבי האורך והרוחב.
מימוש של שחזור תלת ממדי של התמונה מימין בשיטת SfM. צילום ומימוש: צבר דולב
טכניקת ה-SfM מנצלת את החפיפה וההמשכיות בין פריימים עוקבים בסרטון, או בין תמונות צפופות, כדי לייצא פרמטרים מרחביים (תלת ממדיים) מהתמונה הדו ממדית. שימושיה של השיטה רבים, למשל: מצלמה הממוקמת על רחפן המרחף מעל שדה חקלאי כלשהו יכולה לצלם את השדה מזוויות רבות. מהתמונות ניתן לייצר מודל תלת ממדי של השדה, וכך להעריך את נפח הייבול. שימוש מעניין נוסף יכול להיות צילום של חדר אותו נדרש לרהט ובניית מודל תלת ממדי של המרחב. מודל כזה יכול לאפשר לתוכנת גרפיקה ממוחשבת להוסיף בצורה וירטואלית רהיטים ועצמים אשר ישולבו במערכת מציאות רבודה וכך לסייע לאנשים להתנסות בריהוט הבית בצורה אינטראקטיבית מיוחדת [4].
כדי לייצר שחזור תלת ממדי של עצם, נדרשות תמונות רבות של אזור או חפץ עם חפיפה רבה, כלומר שתהיה תנועה קלה בלבד בין תמונה לזו העוקבת. המצלמה אינה צריכה להכיל רכיבים מיוחדים, ומצלמות סטנדרטיות מתאימות גם הן לשיטות SfM. התמונות נלקחות לרוב מחיישן נע, למשל רחפן, אך ניתן גם לצלם את אותו העצם מזוויות שונות בעזרת אדם או סדרת אנשים. פרויקט Building Rome In A Day שאף לייצר מודל תלת ממדי של העיר רומא בעזרת מיליוני תמונות של מבקרים בעיר, ונשען על שיטת SfM ושיטות דומות לה [5]. כלומר, אנשים שונים צילמו פסל מסוים מכמה זוויות, והחפיפה בין התמונות עזרה לייצר מודל תלת ממדי של הפסל וסביבתו, וכך ניתן "להחיות" את כל האתרים התיירותיים בעיר למודל חי אחד גדול.
שחזור הנקודות התלת ממדיות מתבצע בעזרת אלגוריתם הנקרא SIFT - Scale Invariant Feature Transform, מוסבר באריכות בפוסט קודם הדן באפיון מתמטי של תמונות) [6]:
- ראשית, האלגוריתם מוצא נקודות עניין בתמונה ומקודד כל אחת מהן באמצעות ערכים סטטיסטיים. נקודת עניין יכולה להיות פינה של עצם או אזור שינוי צבע או מרקם משמעותי אשר מייחד את הנקודה. האלגוריתם מוצא מספר רב של נקודות עניין בכל תמונה.
- חיפוש איזורי ענייו דומים (מבחינה מתמטית) בתמונה העוקבת. התמונות יכולות להיות מצולמות בזוויות שונות ובמרחקים שונים מן העצמים, אבל ניתן למצוא את אותם האיזורים בכמה תמונות, כפי שתארנו בעבר [6].
- מציאת המיקום במרחב של כל נקודות העניין - זאת אומרת רוחב, אורך, וגובה במערכת צירים מסויימת. שלב זה מבוצע בעזרת שיטה הנקראת שילוש - טריאנגולציה (שיטה הדומה לדרך בה מקלטי GPS מדווחים לנו על המיקום שלנו [7]). שיטה זו נעזרת במספר היטלים של נקודה מסויימת (מספר תמונות בהן הנקודה מופיעה ומיקומה במישור של כל אחת מהתמונות), ומשתמשת בהם למציאה המיקום של הנקודה במרחב. מעשית, זה נעשה על ידי פתרון של מערכת משוואות בכמה נעלמים, כאשר הנעלמים הם המיקום במרחב ביחס לכל אחת מהמצלמות. בעזרת שיטה זו ניתן לבצע גם עקיבה וזיהוי תנועה (motion capture) עבור אנימציות או פעולות גרפיקה ממוחשבת לסרטים.
למדנו כיצד ניתן למצוא נקודות עניין בתמונות וכיצד ניתן לשלב מידע ממספר רב של תמונות לצורך יצירת מודלים תלת ממדיים של הסצנה אותה אנו מעוניינים לצלם. תיארנו כיצד ניתן לבצע שחזור תלת ממדי של סצנה או אובייקט בעזרת שילוב מידע רב ממספר תמונות. שיטה זו מאפשרת בעזרת מצלמה פשוטה לקבל הבנה תלת ממדית של העולם מסביבנו, גם כאשר הוא מוצג על גבי מסך המחשב.
מקורות:
[2] היופי בעיני המתבונן, מדע בגדול בקטנה
[3] תמונה דיגיטלית בעולם אנלוגי, מדע גדול בקטנה
[4] מערכת משולבת מציאות רבודה לריהוט בית
[6] זיהוי אוטומטי של אותו החפץ בתמונות מזוויות שונות, מתוך מדע גדול בקטנה
[7] כתבה בנושא GPS והתמצאות במרחב, מתוך מדע גדול בקטנה
[8] האתר של AliceVision, פרויקט חינמי המאפשר ביצוע Structure from Motion בצורה פשוטה ונוחה
[9] האתר של scan the city, פרוייקט סריקות תלת ממדיות ישראלי