פיתוח מערכת לשחזור תלת-ממד באמצעות NeRF

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

פיתוח NeRF: היכן נשבר שחזור תלת-ממד קלאסי

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

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

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

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

מה נותן שחזור עצבי: אפקט מדיד

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

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

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

  • מהירות השחזור. מסט הצילומים ועד המודל — שעות; הערות לגבי גיאומטריה נסגרות באותו יום, ולא בשבוע הבא.
  • דיוק הגיאומטריה. הפער מול מדידות בקרה — שברי אחוז מגודל הסצנה, ולכן המודל מתאים למדידות, ולא רק לתמונה.
  • שיעור הזוויות השמישות. למודל נכנסים 85–95% מהפריימים לעומת בערך מחצית בצילום "בעין": כשלים בשולי הפריים וחפיפות מפסיקים לפסול את התוכנית כולה.
  • סילוק ארטיפקטים. נעלמים מחלקות שלמות של פגמים: כשלים על משטחים מבריקים ואחידים, רעש בשוליים של עצמים דקים, רעד טקסטורה בין פריימים.
  • סינתזה של זוויות חדשות וקבוצה פשוטה. מסלול המצלמה מוגדר אחרי הצילום, ולכן יום צילום נוסף מוחלף בכיול, ושיעור הסצנות עם יציאה חוזרת יורד מכל שלישית לבודדות.

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

פורמטים של שחזור תלת-ממד: פיתוח NeRF וחלופות

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

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

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

שלבי העבודה: מביקורת סצנה ועד מסירת המודל

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

  1. ביקורת האובייקט. בודקים את הסצנה: מידות, שיעור המשטחים המשקפים והשקופים, אופי התאורה, נגישות לנקודות צילום. מתעדים אזורים שבאופן ודאי זקוקים לזוויות נוספות ולתאורה מפוזרת.
  2. תרשים פריסת מצלמות. מחשבים את מספר הנקודות והגיאומטריה שלהן, חפיפה בין פריימים סמוכים, סימני עיגון לכיול. התרשים מאושר לפני היציאה — זה מסיר את הסיכון לצילום חוזר בגלל "חורים" בכיסוי.
  3. צילום ניסיון. מצלמים קטע — את האזור המורכב ביותר מבחינת חומרים — ומריצים מחזור עיבוד מלא. הפגמים מתגלים לפני שכל האתר צולם.
  4. הרכבת הפתרון. הכנת נתונים, כיול, אימון מודל NeRF ואופטימיזציה לפלטפורמת היעד: ווב, אפליקציית מובייל או צפייה לא מקוונת.
  5. בקרת איכות. משווים זוויות מסונתזות לפריימי בקרה שלא השתתפו באימון; בנפרד בודקים גיאומטריה וארטיפקטים "צפים" בגבולות הסצנה.
  6. קבלת המודל. מריצים רשימת קריטריונים מוסכמת על תרחישי שימוש אמיתיים: אזורים בעייתיים מאמנים מחדש או סוגרים בצילום חוזר נקודתי.
  7. מסירה. מוסרים את המודל המורכב, תרשים פריסת המצלמות, קונפיגורציות ניתנות לשחזור והוראות לצילום חוזר — אפשר לעדכן את הסצנה בלעדינו.

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

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

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

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

מקרה בוחן: סצנה מורכבת, מדדים לפני ואחרי

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

נקודת מוצא

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

מה שינו

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

מה התקבל בפלט:

  • שיעור הזוויות הכשירות — מ-38% ל-91%;
  • צילומים חוזרים — משלושה לאפס: אזורים שנויים במחלוקת מחושבים לפי הפריימים הקיימים;
  • כיסוי המשטח — מ-68% ל-97%, כולל ארמורה וזיגוג;
  • זמן מהצילום עד למודל המוכן — שישה ימים במקום שישה שבועות.

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

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

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

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

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

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

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

מגבלות טכניות: שקיפות, הבהובים, מראות

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

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

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

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

מה שבאופן ודאי לא ישוחזר?

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

האם אפשר לצלם פריימים נוספים מאוחר יותר?

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

נדון במשימה: מה צריך כדי להעריך את הסצנה שלכם

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

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