Nvidia представили GANcraft — нейросеть для создания фотореалистичных изображений на основе трехмерных блочных миров, подобных мирам в Minecraft. GANcraft создаёт визуализацию мира, перенимая его структуру и добавляя фотореализм. Фреймворк, позволяет задать траекторию камеры и стиль выходных изображений. Модель не требует обучения на новых входных данных для генерации кадров.
Зачем это нужно
«Представьте себе мир, в котором каждый майнкрафтер — 3D-художник!», — Nvidia
GANcraft упрощает процесс 3D-моделирования сложных сцен с пейзажами, для создания которых могут потребоваться годы опыта. Это имеет применение в сферах, в которых необходима генерация пейзажей.
Нейросеть принимает на вход следующие данные:
- мир, состоящий из блоков с метками, например, «грязь», «трава», «дерево», «песок» или «вода»;
- траекторию камеры;
- изображение или параметры стилизации.
На выходе нейросеть генерирует видеоряд с точки зрения камеры.
Отличие от предыдущих методов
Сравнивая результаты существующих методов решения задачи, авторы указали на наличие проблем:
- MUNIT и SPADE не сохраняют согласованность точек обзора (одни и те же объекты генерируются по-разному с разных точек обзора);
- wc-vid2vid создает видео с согласованными точками обзора, но качество изображения ухудшается со временем из-за накопления ошибок;
- NSVF-W от Nvidia справляется с задачей, однако выходное изображение не содержит мелких деталей и выглядит скучно.
В отличие от них, GANcraft генерирует детализированный видеоряд с согласованными точками обзора.
Как это работает
- В первую очередь каждому углу блока присваивается набор свойств, отвечающих за внешний вид и геометрию.
- Для произвольно выбранных точек обзора камеры производится поиск пересечений лучей обзора с сеткой блоков. Производится трилинейная интерполяция свойств блоков в указанных пересечениях.
- Результат интерполяции попадает на вход многослойному перцептрону, задающему набор свойств для пикселей выходного изображения.
- Последний этап получения кадра — свёрточная нейросеть, выполняющая рендер.
На этапах 3 и 4 выходное изображение подвергается стилизации, которую можно задать картинкой-примером.
Кроме того, для выполнения быстрого и стабильного обучения без учителя используется инструмент SPADE. Он генерирует реалистичные картинки для отдельных кадров, на которые опирается функция потерь свёрточной нейросети. Таким образом достигается близость результата, обладающего согласованным углом обзора, к реалистичной картинке. Также это решает проблему отсутствия пейзажей с подходящими ракурсами, необходимых нейросети в качестве «истинных» изображений.