ВСЕ ТЕКСТЫ
2023-12-23 13:34

3D моделирование с помощью AI / Ирина Загузина

КОЛУМНИСТЫ СТАТЬИ
Привет! На связи Загузина Ирина. Я архитектор и программный инженер, работаю техническим 3D-художником в студии по производству короткометражных фильмов на движке Unreal Engine 5. Архитектура – мой камень творческого преткновения и источник вдохновения. Я работаю в цифре и вместе с тем хочу делать физические проекты.

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

Моя специализация – 3D-моделирование, метавселенные, искусственный интеллект, виртуальная и дополненная реальность и медиа-искусство. В свободное время я изучаю психологию, историю искусств, сказки и фольклор, люблю петь, участвую в опен-коллах по цифровому искусству.

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

С появлением нейронок в открытом доступе я тут же нырнула в их использование. Первая нейросеть, с которой я столкнулась, – Midjourney. Я настолько была поражена возможностью воплощать идеи в виде иллюстраций при помощи нескольких строчек текстового запроса, что, спустя неделю после предоставления доступа, полетела в Минск делать международную карту, дабы оплачивать подписку. Я использовала нейросеть всё реже, пока однажды не попала в лабораторию по изучению различных нейросетей. И вот там я узнала о перспективе генерации 3D-моделей.

*прикрепляю несколько своих примеров генераций пространств и референсов при помощи Midjourney, думаю, это будет показательно

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

▪️генерация облака точек;

▪️генерация 3D-объектов из 2D-изображений;

▪️генерация SDF файлов;

▪️генерация снимков МРТ и др.

Чтобы понять, в чём сложность генерации 3D-объектов, нужно понять, как AI создаёт более упрощённые форматы медиа - изображения из текстового запроса.

AI можно представить как сферу, из которой в пространство идут лучи. Всё пространство наполнено сферами, и сам AI также является сферой. Когда создаётся текстовый запрос, AI посылает луч в сторону наиболее соответствующей запросу сфере или сферам.

Например:

Я ввожу запрос – концепт 3D-арта героини игры по миру Средиземья.

AI начинает обработку, выделяя основные направления, которые ему нужно проанализировать в запросе. Он выводит их как своеобразные тэги. Ему нужно изучить, что такое 3D-арт, что такое героиня, что такое Средиземье, и откуда оно взялось.

Если представить это визуально, AI отправляет в разные стороны от себя лучи, которые, находя похожие по содержанию объекты, подписанные подобным образом, либо находятся внутри каталогов с подборками по похожим темам (как папки на компьютере с изображениями), формирует своеобразный мудборд. Он накидывает идеи, предлагая их комбинации пользователю. И со временем, я могу уточнять запрос. К примеру, написать, что у героини голубые глаза. Что она эльфийской расы и что она лучница.

Чем точнее запрос, тем точнее будет нарисована иллюстрация.

Почему это не будет работать с 3D-форматом? AI воспринимает изображение в евклидовом пространстве. Это значит, что изображение для него является набором точек на оси математических координат XYZ. Если AI «смотрит» на иллюстрацию, то он видит сборище точек, которые собираются в одну фигуру. Если эта фигура соотносится с фигурой, которую он видел в каталоге под названием «красный квадрат», то он определяет эту фигуру как красный квадрат. И так, подтягивая данные из других каталогов, он формирует изображение. То есть, он воспринимает то, что находится на плоскости. Он обрабатывает пиксели, но не может увидеть объект в перспективе или со спины. Будто бы человек, который находится у восточного фасада здания, не может увидеть западный фасад, пока не обойдёт его. Потому что, если представить AI как глаза человека, он может видеть что-то перед собой, но у него отсутствует пространственное мышление.

У AI нет навыка пространственного мышления. Чтобы он приобрёл его, необходимо:

▪️Обучить его различать понятия точка, вектор, вершина, ребро – это математические единицы, которые используются в 3D-моделировании;

▪️Дать огромную базу 3D-объектов, не только пустотелых (3D-объект с внешней оболочкой, но без внутреннего наполнения – похож на здание, у которого есть только фасады, но нет внутренней конструкции), но и твердотелых (объекты, имеющие физическую и виртуальную толщину – подобно разрезу стены или конструкционный узел), для того, чтобы он освоил их и понял разницу;

▪️Перейти от метода клипового обучения (обучение, которое строится на подборе похожих по теме изображений) к методу deep learning - когда подключается система обучения не только на уровне плоскостей и изображений, но и объёмных структур;

▪️Глубже начать применять метод reinforcement data. Это похоже на то, как игрок игры пытается перепрыгнуть с платформы на платформу. И пока не достигнет финиша, он не получает приз. Как только он получил приз, он запомнил, что это тот результат, который был нужен. Похожая история с собакой Павлова – как только звенит колокольчик, собаке предлагается еда, она её ест. В какой-то момент, спустя время, собака усваивает, что колокольчик значит еда. И у неё начинает выделяться слюна. То есть, она готова получить свою еду. Таким же образом, можно научить AI.

Как же выглядит обучение AI 3D-моделированию?

Это можно представить как лазерную линейку, которую поместили внутрь комнаты. И её задача лучами (подобно технологии LiDAR) создать "срезы" этого пространства. Таким образом, AI разбивает объект на плоскости и видит, где находится пространство, где находится преграда. И вот, перемещая её из комнаты в комнату, постепенно можно обучить, какой конфигурации должна быть комната, какой она может быть высоты. На то, чтобы объяснить, чем отличается пространство квартиры и кафедрального собора, могут уйти годы.

Однако, современная индустрия уже работает над решением проблемы моделирования 3D-пространств при помощи AI.

▪️Создание коллаборативных AI агентов – когда одна нейросеть с профессиональным уклоном тренирует другую нейросеть – техническую. Таким образом, они смотрят на формирующийся объект с разных точек зрения. Как два (или больше) разных человека, которые смотрят на здание с разных сторон.

▪️Работа с неевклидовыми данными через pytorch nvidia - нововведение, которое разрабатывает компания NVIDIA.

▪️Также уже сейчас можно создать 3D-модель персонажа или объекта при помощи генерации карты глубины (текстурной карты для 3D-моделей, которая определяет по теням и световым пятнам изображения, где углубление, где объект объёмный. Будто она смотрит на рельеф) и других инструментов.

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

Источники изображений:
1 – 6: Midjourney