Поиск по сайту Поиск

Улучшаем графику в старых играх и видео с помощью нейросетей

Бывало ли с вами такое: вы решили скачать любимую компьютерную игру детства и ненадолго погрузиться в счастливые воспоминания. Установили её, запустили, но… Графика 20-летней давности выглядит, мягко говоря, неактуально. Наша новая статья поможет решить эту проблему: мы расскажем, как улучшить текстуры в играх и видео с помощью нейросетей.

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

https://69.media.tumblr.com/6bef021801510314ebc6ebc18259ac45/tumblr_pf9uxzaFQR1xvyxl5o5_r2_640.gif

Что вам понадобится

Многим нейронным сетям для обучения нужны высокопроизводительные видеокарты. Чаще всего для этого не достаточно обычных графических процессоров, установленных в персональных компьютерах. Поэтому лучше всего воспользоваться нашими облачными серверами с мощными GPU NVIDIA Tesla V100, которые в несколько раз ускоряют обучение популярных нейросетей.

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

Если вы не готовы устанавливать новую систему, то на облачных серверах уже есть готовое решение на Ubuntu 18.04 с настроенными популярными библиотеками для машинного обучения.

Выбор игры

Лучше выбрать игру начала 2000-х годов и старше, поскольку для более новых предлагаемые методы, скорее всего, окажутся бесполезными. Это может быть 3D или 2D-игра со спрайтами низкого разрешения (спрайт — графический объект в компьютерной графике). Апскейлинг обычно хорошо работает в играх с около-реалистичной графикой (не рисованной), которая не выглядела реалистично из-за аппаратных ограничений того времени. Текстуры таких игр могли содержать много деталей, но из-за маленького разрешения экранов не было смысла делать их более качественными. Современные мониторы имеют высокое разрешение, поэтому мы можем использовать методы машинного обучения для улучшения текстур.

Извлечение текстур (файлов данных)

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

Выбор модели

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

Waifu2x

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

Пример улучшенных с помощью Waifu2x моделей в Morrowind:

https://staticdelivery.nexusmods.com/mods/100/images/45247-1-1508332506.png

ESRGAN

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

Улучшенные c ESRGAN текстуры Morrowind:

https://staticdelivery.nexusmods.com/mods/100/images/46221/46221-1544880920-600360147.png

GameWorks: Materials & Textures

Коммерческое решение для апскейлинга от NVIDIA. Оно разработано специально для игр и требует меньше настроек, но вам потребуется аккаунт NVIDIA, чтобы получить доступ к бета-версии.

Пример улучшенных с её помощью текстур Doom:

AI Gigapixel

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

Пример улучшения графики в Final Fantasy VII:

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

https://staticdelivery.nexusmods.com/mods/130/images/66368/66368-1555526671-1243585418.png

Повышение качества видео

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

Пример работы ESRGAN:

ДоПосле

Пример работы video2x:

preview

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

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

Заключение

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

Материалы для статьи взяты с сайта reddit.com.

Как оформить характеристику с места работы на сотрудника — образец, структура и особенности
Характеристика — не формальность. Это объективная оценка профессиональных качеств, навыков, личных характеристик и потенциала работника, данная его непосредственным руководителем или...
Read More
Сделайте сами или сделаем вместе: как Рег.ру разделился на два направления
Мы провели ребрендинг, чтобы разделить запуск онлайн-бизнеса на два разных сценария. Теперь вы выбираете: идти самостоятельно или довериться команде специалистов...
Read More
Как использовать матрицу Эйзенхауэра для управления задачами
В мире, где ежедневные задачи сыплются как из рога изобилия, а список дел растет быстрее, чем мы успеваем его прочитать,...
Read More
Секреты продвижения: зачем бизнесу нужен сайт
Эффективный инструмент или дань моде? Рассказываем, зачем малому и среднему бизнесу свой сайт и как его оптимизировать.
Read More
Рег.решение развернуло карьеру на 180°
Рег.решение для профессионалов «Развитие личного бренда» — это готовая система, которая за 3 недели создаст надежный фундамент для вашего профессионального...
Read More
Анализ рынка: этапы и бизнес-инструменты
Анализ рынка — это как разведка перед боем: прежде чем вложить деньги, запускать продукт или строить стратегию, бизнесу нужно понять,...
Read More
Что такое когортный анализ и зачем он нужен бизнесу
Когда бизнес растет, поток данных о клиентах превращается в лавину. Рекламные кампании, подписки, заказы, возвраты — цифры множатся, но не...
Read More
Чек-лист онбординга сотрудников — что включить для эффективного адаптационного процесса
Представьте: вы приходите в новую компанию. Все новое — люди, процессы, правила, даже корпоративные чаты. Если вас просто посадят за...
Read More
Финансовая стратегия роста для компании: этапы и особенности
Финансовая стратегия роста определяет, как компания будет привлекать, распределять и использовать капитал, чтобы поддерживать развитие, инвестировать в новые направления, повышать...
Read More
Обратная связь от клиентов — зачем нужна и как правильно собирать
Слушать и слышать друг друга — секрет успешных отношений, причем не только романтических, но и коммерческих, между бизнесом и его...
Read More