Введение

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

Например, использование принципов фотограмметрии для задач сохранения культурного наследия предполагает использование технологических устройств на местности (сканирование архитектурных объектов) в натуральную величину [1].

Для проектов, где ключевыми факторами являются скорость создания и аутентичность трехмерных объектов, методы фотограмметрии удобны и дают необходимый результат [2].

1. Создание фотореалистичной модели

1.1. Получение фотоизображений

Основной задачей создания фотореалистичных моделей было их дальнейшее использование для приложения в дополненной реальности. По этой причине тематические модели создавались на основе готовых продуктов, таких как выпечка (рис. 1), салат и другие блюда. Для создания фотореалистичных моделей было решено использовать технологию фотограмметрии, так как она позволяет с высокой точностью передать все особенности объекта, его форму, текстуру и т.д.

Рис. 1. Подготовка реального объекта для фотограмметрии

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

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

Рис. 2. Работа по устранению шумов

Второй проблемой была неправильная топология, которая происходила вследствие искажений и нехватки изображений. Данную проблему удалось решить, благодаря использованию портретного объектива с постоянным фокусным расстоянием и съемкой объекта в несколько этапов с разных ракурсов. Кроме того, для решения этой проблемы и соблюдения размеров были использованы маркеры, которые располагались вокруг модели и впоследствии позволяли задать истинные размеры и произвести выравнивание фотоснимков.

1.2. Подготовка и обработка фотоизображений

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

Для каждой модели необходимо было подготовить, в среднем около 100–150 снимков, что позволяло построить облако точек высокого качества (рис. 3).

Рис. 3. Подготовка фотоизображений

Для преобразования, обработки и создания фотоснимков использовался программный продукт Adobe Lightroom, в котором предварительно создавался макрос, по которому обрабатывались все фотоизображения, создавались маски и сохранялись в отдельную директорию на жестком диске.

1.3. Создание трехмерной модели на основе фотоизображений

Для создания трехмерной модели был использован программный продукт с функцией сетевого рендеринга Agisoft Photoscan.

Процесс работы в приложении состоял из нескольких этапов:

  1. Расстановка фотоизображений;
  2. Оптимизация расположения фотоизображений;
  3. Создание облака точек;
  4. Создание топологии;
  5. Создание текстуры;
  6. Экспорт модели.

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

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

Таким образом, этапами создания модели были (рис. 4):

  1. создание облака точек;
  2. создание топологии;
  3. создание текстуры.
Рис. 4. Подготовка фотоизображений
Рис. 5. Фотореалистичная трехмерная модель

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

2. Оптимизация модели

Созданная с помощью фотограмметрии трехмерная модель (рис. 6) не может быть сразу использована для приложения в дополненной реальности, поскольку данная модель слишком детализирована. На рис. 7 отображена полигональная сетка трехмерной модели. Плотность сетки очень высока — модель содержит примерно 70 тысяч полигонов (треугольников).

Рис. 6. Восстановленная трехмерная модель трубы
Рис. 7. Полигональная сетка трехмерной модели

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

Рассмотрим несколько способов полигональной оптимизации:

  1. автоматическая ретопология (треугольники, четырехугольники);
  2. инструменты ручной ретопологии;
  3. комбинированный способ.

Представленные способы имеют свои преимущества и недостатки.

2.1. Метод автоматической ретопологии (триангуляция)

В ходе ряда экспериментов с методом автоматической ретопологии (триангуляции) (рис. 8) были выявлены следующие преимущества:

  • модель была значительно оптимизирована примерно до шести треугольников;
  • полигональная сетка в триангулированном виде — при импорте в игровые движки модель будет именно в таком виде, как выглядит в трехмерном редакторе, что позволит избежать возможных неожиданных проблем с топологией полигональной сетки;
  • данный метод демонстрирует быстрый результат в режиме реального времени.
Рис. 8. Полигональная сетка трехмерной модели

Недостатки:

  • получившуюся в результате полигональную сетку неудобно и практически невозможно редактировать вручную;
  • могут возникнуть проблемы с группами сглаживания, а учитывая предыдущий пункт, ситуация может оказаться крайне проблематичной.

2.2. Метод автоматической ретопологии (четырехугольники)

Были выявлены следующие преимущества данного метода (рис. 9):

  • модель была значительно оптимизирована примерно до 2–2,5 тысяч четырехугольников (4–5 тысяч треугольников);
  • аккуратная, последовательная полигональная сетка трехмерной модели, удобно редактировать вручную (при необходимости).
Рис. 9. Результат автоматической ретопологии (четырехугольники)

Недостатки:

  • алгоритмы автоматической ретопологии, преобразующие полигональную сетку к четырехугольникам, требуют времени;
  • чем сложнее модель, тем больше времени уйдет на процесс ретопологии.

2.3. Метод ручной ретопологии

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

Рис. 10. Результат ручной ретопологии

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

2.4. Комбинированный метод

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

2.5. Создание карт нормалей          

После того, как трехмерная модель была оптимизирована — количество полигонов снизилось, однако потерялась детализация, которая присутствует на высокополигональном варианте и повышает фотореалистичность модели.

Рис. 11. а) модель без карты нормалей; б) модель с картой нормалей

Для решения этой проблемы необходимо воспользоваться технологией Normal mapping, которая позволяет перенести рельеф, мелкие детали с высокополигональной модели на низкополигональную. Для этого создается RGB карта, каждый пиксель которой несет информацию о координатах векторов нормалей высокополигональной модели. Далее карта нормалей накладывается на оптимизированную модель (рис. 11).

В результате, несмотря на то, что модель существенно оптимизирована, благодаря технологии Normal mapping удается сохранить необходимую детализацию.

2.6. Создание фотореалистичных материалов

При создании материалов использовалась методология физически корректного рендеринга (PBR).

Рис. 12. а) использование простого материала; б) использование PBR материала

Существуют два подхода создания текстурных карт в рамках PBR (Рис.12) [3]:

  • metal/roughness;
  • specular/glossiness.

Визуально результаты данных подходов практически одинаковы, тем не менее, в ходе исследования было выявлено, что подход metal/roughness имеет ряд преимуществ:

  • подход менее ресурсоемок (карты metallic и roughness — черно белые, соответственно необходимо меньше памяти для хранения);
  • подход подразумевают простую, интуитивно понятную настройку и контроль над физическими параметрами материала;
  • подход широко распространен, существует достаточное количество учебных пособий и материалов по данной тематике.

В результате, с использованием подход metal/roughness, был достигнут более качественный результат.

Bibreference

International

Malyshev, K.V., Shevchenko, D.V., Smolin, А.А. (2019) Using Photogrammetry Methods to Create a Photorealistic Model. Culture and technologies studies. Vol. 4, № 1. P. 6-15. Available at:  http://cat.itmo.ru/en/2019/v4-i1/168, DOI: 10.17586/2587-800X-2019-4-1-6-15

Russian

Malyshev, K.V., Shevchenko, D.V., Smolin, А.А. Using Photogrammetry Methods to Create a Photorealistic Model // Culture and technologies studies. 2019. Vol.  4. № 1. P. 6-15. DOI: 10.17586/2587-800X-2019-4-1-6-15

DOI
10.17586/2587-800X-2019-4-1-6-15
References
  1. Borisov N.V., Lavrov A.V., Mel'nikov V.L., Smolin A.A., Sopronenko L.P., Zaharkina V.V. Digital humanities kak kommunikativnoe praktiko-orientirovannoe virtual'noe prostranstvo proektov cifrovogo kul'turnogo nasledija // Informacionnye tehnologii v gumanitarnyh naukah: sbornik dokladov Mezhdunarodnoj nauchno-prakticheskoj konferencii (Krasnojarsk, 18-22sentjabrja 2017g.) - 2018. - S. 103-110
  2. What is Photogrammetry? – URL:  http://www.photogrammetry.com/ (accessed date: 27.05.2019).
  3. Learn OpenGL. Urok 6.1. PBR ili Fizicheski-korrektnyj rendering. Teorija. – URL:  https://habr.com/ru/post/426123/ (accessed date: 19.09.2018).
English