Улучшение графики нейросетью: апскейлинг и ремастеринг

0
26

Выбор игры

Во что поиграть - изображение номер один
Во что поиграть — изображение номер один

Если повезёт, файлы текстур будут находиться в отдельной папке в виде обычных изображений. Иногда данные могут иметь формат, специфичный для движка игры. В этом случае они, скорее всего, будут сжаты и собраны в один или несколько файлов. Если выбранная вами игра была достаточно популярна, то фанаты и модеры наверняка уже нашли способы извлечь из неё всё необходимое. Поищите информацию в интернете — там точно найдется подходящее руководство. В Warcraft 3, например, текстуры хранятся в виде.blp-файлов, которые можно сконвертировать в JPG или PNG и обратно.

Выбор модели

Нейросеть для создания 3D моделей: лучшие - изображение номер два
Нейросеть для создания 3D моделей: лучшие — изображение номер два

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

Waifu2x

Нейросеть - изображение номер три
Нейросеть — изображение номер три

Метод использует глубокие свёрточные нейронные сети для масштабирования изображений в 1.6 или 2 раза. Ссылка выше позволит работать прямо в браузере, но вы можете настроить модель, скачав её с GitHub. Нейросеть обучена на изображениях в стиле аниме, поэтому больше подходит для мультипликационных текстур.

ESRGAN

Real-ESRGAN - изображение номер четыре
Real-ESRGAN — изображение номер четыре

Модель применяет генеративно-состязательные сети для увеличения разрешения изображений в 4 раза. Мы писали о её более ранней версии. Она была создана, чтобы работать на реальных фотографиях, поэтому хорошо подойдёт для детализированных текстур. В этом посте вы найдёте руководство по её использованию в Windows.

AI Gigapixel

Introducing - изображение номер пять
Introducing — изображение номер пять

Платный коммерческий продукт. Работает с реальными фотографиями и позволяет выполнять масштабирование до 600%. Если у вас есть деньги и желание поэкспериментировать, то результаты могут оказаться очень хорошими.

Приведённые выше архитектуры можно переобучать, настраивать и даже комбинировать между собой. Например, модификация для Fallout: New Vegas сделана с использованием сразу трёх нейросетей: Waifu2x, ESRGAN и AI Gigapixel.

Нейросети для апскейлинга позволяют улучшить качество кат-сцен в играх или увеличить разрешение старых кинофильмов. Например, не так давно пользователь сайта «Хабрахабр» повысил разрешение мультфильма «Тайна третьей планеты» до 720P. Вы можете попробовать запустить скрипт для покадрового улучшения качества видео с помощью ESRGAN или скачать проект video2x (для Windows), использующий Waifu2x.

Таблица №1

До После

AntiDupl — находит дубликаты изображений с разными разрешениями и форматами. Хороший инструмент для предварительной обработки.

Custom Texture Tool PS — помогает конвертировать популярный в играх формат текстур.dds в PNG или JPG и выполнять масштабирование с помощью Waifu2x.

Часто задаваемые вопросы об улучшении текстур нейросетями

Вопрос: Какие форматы изображений поддерживают нейросети для апскейла текстур?
Ответ: Большинство современных моделей, таких как ESRGAN и Waifu2x, работают с распространенными растровыми форматами: PNG, JPEG, BMP. Для сохранения качества без потерь рекомендуется использовать PNG.

Вопрос: Можно ли улучшить текстуры из старых 3D-игр автоматически для всех файлов?
Ответ: Да, но это требует подготовки: необходимо извлечь все файлы текстур из архивов игры, а затем использовать пакетную обработку в выбранном инструменте (например, AI Gigapixel), что может занять много времени.

Вопрос: Насколько мощный компьютер нужен для обработки текстур нейросетью?
Ответ: Требования зависят от модели и размера текстур. Для базового использования Waifu2x достаточно среднего ПК. Для ESRGAN и работы с HD-текстурами желательна дискретная видеокарта NVIDIA с достаточным объемом памяти VRAM (от 4 ГБ).

Вопрос: Теряет ли нейросеть детали оригинальной текстуры при увеличении?
Ответ: Наоборот, современные модели (ESRGAN) обучены не только увеличивать разрешение, но и «додумывать» реалистичные детали, отсутствующие в оригинале, делая изображение четче и детализированнее.

Вопрос: Как правильно подготовить исходную текстуру перед обработкой?
Ответ: Желательно начать с наилучшей доступной исходной версии. Если текстура сжата с артефактами (JPEG), стоит поискать её в оригинальных ресурсах игры или предварительно немного очистить шумы.

Вопрос: Что делать, если нейросеть «переусердствовала» и текстура выглядит неестественно?
Ответ: Можно попробовать другую предобученную модель (в ESRGAN их множество), уменьшить коэффициент масштабирования (например, делать апскейл в 2x, а не в 4x) или вручную подкорректировать результат в графическом редакторе.

Вопрос: Можно ли с помощью нейросети создать полностью новые текстуры?
Ответ: Прямое создание «с нуля» — не основная функция апскейл-моделей. Однако нейросети для генерации изображений (например, Stable Diffusion) можно использовать для создания концептов или уникальных деталей, которые затем дорабатываются.

Вопрос: Сохранятся ли прозрачность (альфа-канал) и нормал-мапы при обработке?
Ответ: Это зависит от инструмента. Многие онлайн-сервисы и некоторые реализации моделей могут игнорировать альфа-канал. Необходимо проверять настройки софта или использовать desktop-приложения, которые поддерживают каналы прозрачности.

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

Вопрос: Есть ли бесплатные альтернативы платным программам вроде AI Gigapixel?
Ответ: Да, бесплатными и мощными альтернативами являются open-source проекты: ESRGAN с графическим интерфейсом (например, через GUI от AUTOMATIC1111), Cupscale или различные реализации Waifu2x.

Краткий чек-лист: путь к улучшенным текстурам

  1. Определите игру и конкретные текстуры, которые нуждаются в улучшении.
  2. Найдите и извлеките оригинальные файлы текстур из архивов игры.
  3. Создайте резервные копии всех исходных файлов.
  4. Изучите особенности текстур игры (стиль, палитра) для выбора подходящей модели.
  5. Выберите нейросетевую модель (ESRGAN для реализма, Waifu2x для аниме/стилизованной графики).
  6. Подготовьте рабочее окружение: установите необходимое ПО или настройте онлайн-сервис.
  7. Проведите тестовую обработку одной-двух текстур для оценки результата.
  8. Настройте параметры обработки: коэффициент масштабирования, удаление шума.
  9. Запустите пакетную обработку для всех выбранных текстур.
  10. Внимательно проверьте результаты, особенно края, прозрачность и цветопередачу.
  11. При необходимости выполните ручную пост-обработку в графическом редакторе.
  12. Убедитесь, что итоговые файлы имеют корректные имена и форматы.
  13. Правильно упакуйте улучшенные текстуры в мод или замените оригинальные файлы.
  14. Запустите игру, чтобы протестировать текстуры в движке и при разном освещении.