Введение
Активное использование трехмерного моделирования в различных сферах человеческой деятельности привело к тому, что возникла потребность в формировании различных механизмов и алгоритмов работы над междисциплинарными проектами.
Например, использование принципов фотограмметрии для задач сохранения культурного наследия предполагает использование технологических устройств на местности (сканирование архитектурных объектов) в натуральную величину [1].
Для проектов, где ключевыми факторами являются скорость создания и аутентичность трехмерных объектов, методы фотограмметрии удобны и дают необходимый результат [2].
1. Создание фотореалистичной модели
1.1. Получение фотоизображений
Основной задачей создания фотореалистичных моделей было их дальнейшее использование для приложения в дополненной реальности. По этой причине тематические модели создавались на основе готовых продуктов, таких как выпечка (рис. 1), салат и другие блюда. Для создания фотореалистичных моделей было решено использовать технологию фотограмметрии, так как она позволяет с высокой точностью передать все особенности объекта, его форму, текстуру и т.д.
Во время создания моделей возникали разнообразные проблемы, от шумов на объекте, до некорректной топологии. Что бы решить эти проблемы, были проведен ряд экспериментов, после чего был получен требуемый результат.
Одной из проблем, как уже было сказано ранее, была проблема с шумами, её удалось решить благодаря добавлению дополнительных источников света, использованию лайтбокса с вращающимся стендом. Это позволило снимать объект с одного ракурса, имея при этом постоянное освещение (рис. 2).
Второй проблемой была неправильная топология, которая происходила вследствие искажений и нехватки изображений. Данную проблему удалось решить, благодаря использованию портретного объектива с постоянным фокусным расстоянием и съемкой объекта в несколько этапов с разных ракурсов. Кроме того, для решения этой проблемы и соблюдения размеров были использованы маркеры, которые располагались вокруг модели и впоследствии позволяли задать истинные размеры и произвести выравнивание фотоснимков.
1.2. Подготовка и обработка фотоизображений
На данном этапе требовалось обработать фотографии и преобразовать их из формата RAW в формат JPEG. Кроме того, для каждого фотоизображения требовалось создавать маску, которая позволяла впоследствии ускорить процесс обработки и создания фотореалистичной модели.
Для каждой модели необходимо было подготовить, в среднем около 100–150 снимков, что позволяло построить облако точек высокого качества (рис. 3).
Для преобразования, обработки и создания фотоснимков использовался программный продукт Adobe Lightroom, в котором предварительно создавался макрос, по которому обрабатывались все фотоизображения, создавались маски и сохранялись в отдельную директорию на жестком диске.
1.3. Создание трехмерной модели на основе фотоизображений
Для создания трехмерной модели был использован программный продукт с функцией сетевого рендеринга Agisoft Photoscan.
Процесс работы в приложении состоял из нескольких этапов:
- Расстановка фотоизображений;
- Оптимизация расположения фотоизображений;
- Создание облака точек;
- Создание топологии;
- Создание текстуры;
- Экспорт модели.
После подготовки окружения был использован сетевой рендеринг, позволивший распределить и ускорить вычисления.
Создание модели проводилось в несколько этапов с использованием разных настроек для того, чтобы понять ошибки на ранних этапах и уменьшить вычислительный временной интервал.
Таким образом, этапами создания модели были (рис. 4):
- создание облака точек;
- создание топологии;
- создание текстуры.
На рис. 5 представлена готовая фотореалистичная трехмерная модель, демонстрируемая в приложении дополненной реальности.
2. Оптимизация модели
Созданная с помощью фотограмметрии трехмерная модель (рис. 6) не может быть сразу использована для приложения в дополненной реальности, поскольку данная модель слишком детализирована. На рис. 7 отображена полигональная сетка трехмерной модели. Плотность сетки очень высока — модель содержит примерно 70 тысяч полигонов (треугольников).
Стоит отметить, что в полигоне в рамках трехмерного редактора может быть сколько угодно вершин. Тем не менее, видеокарта рассматривает полигон в триангулированном виде. Поэтому при импорте трехмерной модели в игровой движок или подобные системы происходит автоматическая триангуляция. Причина, по которой используются треугольники, заключается в удобстве хранения и обработки данных, а также из геометрии известно, что для определения плоскости необходимым и достаточным условием являются координаты трех точек в пространстве. Таким образом, в данной статье мы будем вести подсчет полигонов трехмерной модели относительно треугольников.
Рассмотрим несколько способов полигональной оптимизации:
- автоматическая ретопология (треугольники, четырехугольники);
- инструменты ручной ретопологии;
- комбинированный способ.
Представленные способы имеют свои преимущества и недостатки.
2.1. Метод автоматической ретопологии (триангуляция)
В ходе ряда экспериментов с методом автоматической ретопологии (триангуляции) (рис. 8) были выявлены следующие преимущества:
- модель была значительно оптимизирована примерно до шести треугольников;
- полигональная сетка в триангулированном виде — при импорте в игровые движки модель будет именно в таком виде, как выглядит в трехмерном редакторе, что позволит избежать возможных неожиданных проблем с топологией полигональной сетки;
- данный метод демонстрирует быстрый результат в режиме реального времени.
Недостатки:
- получившуюся в результате полигональную сетку неудобно и практически невозможно редактировать вручную;
- могут возникнуть проблемы с группами сглаживания, а учитывая предыдущий пункт, ситуация может оказаться крайне проблематичной.
2.2. Метод автоматической ретопологии (четырехугольники)
Были выявлены следующие преимущества данного метода (рис. 9):
- модель была значительно оптимизирована примерно до 2–2,5 тысяч четырехугольников (4–5 тысяч треугольников);
- аккуратная, последовательная полигональная сетка трехмерной модели, удобно редактировать вручную (при необходимости).
Недостатки:
- алгоритмы автоматической ретопологии, преобразующие полигональную сетку к четырехугольникам, требуют времени;
- чем сложнее модель, тем больше времени уйдет на процесс ретопологии.
2.3. Метод ручной ретопологии
С помощью инструментов ручной ретопологии можно добиться наилучших результатов, поскольку сам процесс полностью контролируется. На рис. 10 представлен вариант ручной ретопологии.
Модель оптимизирована примерно до 1000 треугольников. Как видно, полигональная сетка отличается аккуратностью, плотность сетки распределена согласно деталям, которым необходимо уделить больше внимания. Тем не менее, ручная ретопология — это очень долгий, трудоемкий процесс, требующий специальной подготовки, что является, по сути, единственным существенным недостатком данного метода.
2.4. Комбинированный метод
Комбинированный метод подразумевает использование и автоматической, и ручной ретопологии. В ходе исследования было выявлено, что это самый оптимальный метод, поскольку позволяет экономить время и получить качественный результат. Что касается выбора автоматической ретопологии, то вариант, преобразующий полигональную сетку в четырехугольники предпочтительнее, поскольку данный метод предоставляет удобство для дальнейшего редактирования топологии.
2.5. Создание карт нормалей
После того, как трехмерная модель была оптимизирована — количество полигонов снизилось, однако потерялась детализация, которая присутствует на высокополигональном варианте и повышает фотореалистичность модели.
Для решения этой проблемы необходимо воспользоваться технологией Normal mapping, которая позволяет перенести рельеф, мелкие детали с высокополигональной модели на низкополигональную. Для этого создается RGB карта, каждый пиксель которой несет информацию о координатах векторов нормалей высокополигональной модели. Далее карта нормалей накладывается на оптимизированную модель (рис. 11).
В результате, несмотря на то, что модель существенно оптимизирована, благодаря технологии Normal mapping удается сохранить необходимую детализацию.
2.6. Создание фотореалистичных материалов
При создании материалов использовалась методология физически корректного рендеринга (PBR).
Существуют два подхода создания текстурных карт в рамках PBR (Рис.12) [3]:
- metal/roughness;
- specular/glossiness.
Визуально результаты данных подходов практически одинаковы, тем не менее, в ходе исследования было выявлено, что подход metal/roughness имеет ряд преимуществ:
- подход менее ресурсоемок (карты metallic и roughness — черно белые, соответственно необходимо меньше памяти для хранения);
- подход подразумевают простую, интуитивно понятную настройку и контроль над физическими параметрами материала;
- подход широко распространен, существует достаточное количество учебных пособий и материалов по данной тематике.
В результате, с использованием подход metal/roughness, был достигнут более качественный результат.
Малышев, К.В., Смолин, А.А., Шевченко, Д.В. Использование методов фотограмметрии для создания фотореалистичной модели // Культура и технологии. 2019. Том 4. Вып. 1. С. 6-15. DOI: 10.17586/2587-800X-2019-4-1-6-15
- Борисов Н.В., Лавров А.В., Мельников В.Л., Смолин А.А., Сопроненко Л.П., Захаркина В.В. Digital humanities как коммуникативное практико-ориентированное виртуальное пространство проектов цифрового культурного наследия // Информационные технологии в гуманитарных науках: сборник докладов Международной научно-практической конференции (Красноярск, 18-22сентября 2017г.) - 2018. - С. 103-110
- What is Photogrammetry? – URL: http://www.photogrammetry.com/ (дата обращения: 27.05.2019).
- Learn OpenGL. Урок 6.1. PBR или Физически-корректный рендеринг. Теория. – URL: https://habr.com/ru/post/426123/ (дата обращения: 19.09.2018).