Методика реконструкции утраченных зданий по фотографиям

  • Tutorial
Привет, Хабр! Хочу поделиться опытом воссоздания трехмерной модели моей школы, которая сгорела несколько лет назад. Я расскажу о методике работы с фотографиями, как подогнать перспективу виртуальной камеры под снимок. Как облегчить задачи моделирования. И постараюсь сделать это не скучно даже для человека далёкого от 3Д.



Однажды, мой приятель Алексей Ляпин kaiwas показал способ, как при помощи бесплатного аддона BLAM для blender-а можно по фотографии подогнать ракурс и поле зрение 3D камеры, чтобы их перспективы совпадали. Тогда я «загорелся» идеей восстановить школу, и понял, что эта методика поможет.

Фотографий со школой, сделанных с разным освещением и погодой было достаточно, покрытие здания фотоснимками было около 95%, даже нашлись два снимка с самолёта. Это радовало. Большая часть цифровые, которые я сам снимал. Часть набрана из соцсетей. Были так же и фотокарточки, снятые еще на плёнку. Собрал всё в одну папку и стал разбираться.



Много мелких фотографий, спрятаны под спойлер
Для кого-то это здание покажется унылой сельской «деревягой» и это понятно, ведь вас с ним не связывает ничего. Но согласитесь, размеры и конструкция впечатляет, учитывая, что оно целиком создано из бруса.





Фото с самолёта.




Видеоролик кратко поведает об истории здания. Я специально сделал неторопливый, размеренный монтаж, т.к. ориентировался на взрослую аудиторию. Жаль, что ютуб как-то пережал видео и появился неприятный эффект «дёрганой» анимации. Увы, как есть.


Летом, крыльцо школы было нашим излюбленным местом сбора. Оно выполняло роль общественного пространства для школьников и студентов. Вечером туда приходили «тусить» и знакомиться. Играть на гитаре и бухать пиво.

Мне запомнился школьный период с теплотой, а со зданием связано много добрых воспоминаний. Несколько раз снился сюжет, словно возвращаюсь домой и заглядываю в гости в школу. Иногда она была причудливо искажена, по логике мира сна, её восстанавливали и дорабатывали… Что-то во мне томилось. Не давало покоя. И захотелось её самому взять и нарисовать.
Методика работы с аддоном BLAM:

  1. Открыть фотографию в окне клипов блендера;
  2. Нарисовать четыре опорные линии, которые должны попарно находиться на разных слоях Grease pencil, плагин один слой трактует как ось X, другой как Y;
  3. Линии необходимо ориентировать по прямоугольным объектам в кадре. По граням или заметным границам;
  4. Потом нужно нажать кнопку на панели плагина и камера в сцене может встать хаотичным образом ориентированной по отношению к точке отсчета.
  5. А после всего нужно долго и уныло подгонять один ракурс к другому…

Кстати, тут возникает довольно серьезное ограничения метода: здание должно содержать прямоугольные элементы, и снятые с хорошо видимой перспективой...



На примере хорошо видно, что красную ось (выходящую как бы из кадра) не за что визуально привязать. Иногда можно недостающую ось подогнать на глаз. Особенно если в кадре виден горизонт, являющийся точкой схода для опорных линий.



Короче, я не вижу смысла вас этими подробностями утомлять, т.к. автор плагина в итоге сделал отдельное приложение. В котором работа стала наглядней и приятней.

Называется fspy. Программа кроссплатформенная, бесплатная, воплощает редкий случай легковесных, лаконичных утилит. Еще она эстетично выглядит, от сайта до UI. Пользоваться одно удовольствие. Супер!



Обратите внимание на пару важных нововведений. Появился белый маркер с тройкой векторов. Это отметка центра мира. При импорте в blender в месте маркера будет расположен нулевая точка мировых координат.



Вторым значимым нововведением стала возможность отметить эталонное расстояние по одной из осей. Если в кадре присутствует объект известного размера это означает, что вы получите точное положение камеры, отстоящей на физически корректное расстояние от центра мира (маркера).

Сохраняем файл и импортируем в blender. Внимание, для возможности импорта файлов fspy нужно поставить в блендер аддон от того же автора. При импорте создается камера через которую будет видна выбранная фотография. Если все сделанно верно, камера будет ориентирована правильным образом, можно сразу начинать моделлить. Для этого следите, чтобы оси одинаковых цветов на разных фотографиях смотрели в одну сторону.





Теперь, задача сводится к приятному и интуитивному обрисовыванию деталей фасадов. Примерно как в детской раскраске. Этап выравнивания поначалу мне казался адской рутиной. Но позже стал чем-то вроде сборки трёхмерного паззла. Когда уже интуитивно чувствуешь перспективу и размеры, можно совмещать с прослушиванием кастов.

Но в то же время, я наткнулся на множество мелких проблем и трудностей, даже пришлось два раза пересоздавать файл и начинать почти заново, т.к. допускал ошибки вначале и не учел того, что здание с течением времени неравномерно просело, потеряв прямоугольность.

Большим подспорьем стал спутниковый снимок, я не помню точно откуда именно этот скриншот. Но сейчас карты обновились. И школы уже на них нет.



Я рекомендую ориентировать сцену и здание не по сторонам света, а для удобства. Позже, это легко исправить повернув все объекты группой.

После создания габаритной коробки следовала кропотливая работа, типа прорисовывания проводов, снега, крылечек.



А к табличке применена техника «экстракции текстуры», мне нужна была она без перспективного искажения. Получил и перерисовал в векторе:



Березы нарисовал вручную в технике low-poly. Вообще я не ставил целью фотореализм, мне хотелось передать настроение игрушечности или мультфильма.



Затем захотелось добавить еще какой нибудь визуальной «вкусноты» и я дополнил сцену надписями, сделанными старым школьным шрифтом для остроконечного пера. Целый день выводил буковки. Да, кстати, всё делал в блендере. Он обладает огромными возможностями.



Я хотел опубликовать пост в ВК на новогодних каникулах и почти неделю безвылазно корпел над анимацией, двигая ключи и рисуя эффекты. А еще пришлось позалипать над созданием искристого материала снега, был получен бесценный опыт. Впрочем, как и от остальных работ над проектом.





Окончательный ролик рендерился около четырёх часов, на реалтайм движке eevee, на видеокарте 550ti. У меня был внутренний челлендж оформить работу так, чтобы не пришлось возиться ни с какими видеоредакторами. Нажал кнопку и получил финальный результат (уже со звуком). И блендер дал такую возможность.

Для тех, кто дочитал, бонус: фотографии с пожара. Фотограф: Ларин Владимир.

Вид со стороны главного входа (ракурс как вначале видеоролика).



Упавшие по диагонали двора провода. Слева видим наполовину сгоревшую пристройку со входом. На втором этаже была библиотека. Её окна над головой пожарного.



Вид на внутренний угол, где был вход. Со двора. На переднем плане Л-образная опора ЛЭП, которая стоит у въезда в мастерскую. Стены уже почти потеряли очертания. Никто из людей не пострадал.



Вид места происшествия утром. Слышал байку, что пар и дым, остатки стен источали еще неделю… За правдивость не ручаюсь. Наблюдал подобный пожар, тоже происходивший зимой. Здания раза в три меньшего, чем школа. И действительно, пепелище дымило и пахло несколько дней.

Кстати, процесс горения таких объемов дерева выделяет много тепла. От излучения может оплавиться краска на соседних домах и потемнеть кора стоящих неподалёку деревьев. На фото выше этот эффект тоже можно наблюдать. Березы порыжели от обугливания жаром.


Результат и оценка людей меня порадовали. Почти 10k просмотров ролика (в контакте) около 300 репостов. Благодарности от учителей, друзей и от незнакомых людей в личку.

Спасибо за внимание!

P.S. если вам не безразлично архитектурное наследие нашей страны старайтесь фотографировать старые здания со всех сторон и делиться ими в интернете, возможно кому-то эти фотографии очень помогут.

А если вам понравился пост, я с удовольствием расскажу о втором проекте. Которым занимаюсь сейчас. Он оказался сложней, т.к. мало фотографий но там я применил некоторые приёмы, достойные упоминания.
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 24

    +5
    Ох, совсем забыл сказать. Школу построили новую, более современную. Со спортзалом, актовым залом, современной столовой.

    Использовал только свободное ПО: ОС linux mint, krita, blender, fspy, inkscape.
      +1
      Круто!!! А нет желания чуть развить идею — сделать прогулку по 3d школе внутри?
        0
        Желание есть, организовать всё это довольно трудозатратно, пока не потяну на энтузиазме.

        А экстерьер делать проще и я справлюсь один.
      +2
      В Panoramio была интересная фишка LookAround, позволявшая «оглядеть» здание с помощью разных фото. Гугл убил проект, который бы уже представлял бы историческую ценность.
      видео

        0
        Круто! Не знал, хотя активно пользовался сайтом.
        +2
        Чтобы делиться, есть фотографический сайт Википедии:

        commons.wikimedia.org

        Каждый фотограф может загружать туда свои свободные фотографии.
          0

          Исторические фотографии с привязкой к местности можно ещё на pastvu.com посмотреть.

            +1
            Зарубежный аналог — Historypin
            image
              0
              Посмотреть можно, а больше ничего и нельзя.
                0
                Я не регистрировался.
                А без регистрации — да. Посмотреть.
                А что ещё должно быть?
                  0
                  Неограниченное использование для неограниченных целей (как в Википедии).
                    0
                    А, в этом смысле…

                    Я человек простой — мне достаточно просто посмотреть.
                    Более сложными вопросами не заморачиваюсь.
            +1
            Что сгорела печально конечно, и что модель создали — это хорошо. Но ИМХО не закрыть в 2020 году деревянную школу — это преступление, её давно надо было снести и построить бетонное здание.
              +1
              Построить новую школу в новом месте. А старое здание может и сохранить можно было.
                0
                Школу обычно не в поле строят, а в определенном районе, который она и обслуживает. Если закрыть эту школу и открыть её в другом месте, то ученики не смогут в неё добраться. Поэтому снос предпочтительнее.
                  0
                  Именно так, начальная школа (подобной конструкции и возраста) до сих пор служит. Правда как здание спортшколы (если не ошибаюсь).
                +1
                Прям как в дество попал. Пронастольгировал.
                Спасибо, Андрей, отлично сделано.
                  0
                  Вы с Мезени? Фамилия на Р?
                  +2
                  Вы молодец. У нас в Томске постоянно горят старые дома и сохранить хотя бы цифровую память об исторической застройке полезно. Развить надо технологию и ждём ещё статей на тему. Плюс — однозначно.
                    0
                    Для цифровой памяти нужны фото. Пока есть возможность надо фотографировать с разных ракурсов для истории.
                    0
                    Очень типичное для архангелогородчины большое деревянное здание. Не удивлюсь, если были и трехэтажные деревянные школы, МКД точно были, по-моему, на старых фото видел даже деревянную четырехэтажку — Г-образную трехэтажку с четырехэтажной угловой секцией.
                      +1

                      Ещё в блендере можно взять видео, отметить опорные точки и по ним восстановить движение камеры. И потом, например, добавить на это видео 3д модель. Что забавно, всё довольно просто реализовано и отмеченная опорная точка довольно точно автоматически отмечается на последующих кадрах (если вдруг потеряется, можно руками поправить). Я когда-то ради интереса попробовал, за пару дней разобрался.

                        0
                        Верно, главное, чтобы видео содержало контрастные детали и объектив не имел сильных геометрических искажений кадра. Трекинг можно сделать в т.ч. по серии фотографий, я делал и ошибка получалась около единиц см. У некоторых маркеров даже меньше.
                        0
                        Молодец!
                        (в очередной раз радуюсь, что косвенно принял участие)

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое