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

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

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

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

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

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

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

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

Если вы не готовы устанавливать новую систему, то на серверах с GPU можно установить готовое решение (например Deepo) на 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.

Domains weekly: самый дорогой домен в зоне .TRAVEL, вакцина, теория заговора и отчёт от GoDaddy

В новой еженедельной подборке новостей расскажем, как пандемия повлияла на доменную зону Австралии, отчёте о продажах GoDaddy и крупнейших сделках...
Read More

IT-словарь: о чём говорят айтишники

Чтобы диалог с IT-специалистом получился конструктивным, полезно знать профессиональный сленг. Давайте вместе разбираться в нестандартных терминах и сленговых выражениях, чтобы...
Read More

Domains weekly: пять новых зон XYZ, успех .FOX и Digital Twins от .ART

В новом дайджесте целая подборка новостей про доменные зоны: XYZ приобрела пять «транспортных» доменов, свадебная .WED на аукционе, .ART запатентовала...
Read More

Спасайте данные пока не поздно: бэкап пользовательских файлов

Существует масса причин, которые могут привести к потере данных, поэтому тема бэкапов — одна из суперважных. Сегодня мы с инженером...
Read More

Зачем использовать видео для бизнеса?

Ещё в 2014 году психолог Джон Медина доказал, что через 72 часа человек помнит 10% прочитанного текста и 65% просмотренного...
Read More

Domains weekly: свобода зоны .JOBS, вторая волна «коронадоменов» и суд за POCKETBOOK.COM

Из нового доменного дайджеста вы узнаете о мерах предотвращения регистраций covid-доменов в .EU, отказе ICANN влиять на контент в новых...
Read More

Найти нишу для онлайн-бизнеса за 6 шагов

Вместе с нашим партнёром — регистратурой Radix, подготовили пост для тех, кто задумывается о создании онлайн-бизнеса, но не знает с...
Read More

Domains weekly: продажа WILLYOUSHUTUPMAN.COM и кража ‎Go-доменов

В сегодняшней подборке новостей расскажем о трёхзначных доменах в зоне .BLOG, новом лидере среди доменных зон по приоритетной регистрации, политическом...
Read More

Основы SEO-продвижения сайта: Базовая оптимизация сайта

Мы продолжаем публикацию статей на тему SEO-продвижения для начинающих специалистов и владельцев сайтов, которые хотят разобраться в этом интересном и...
Read More

Domains weekly: продолжение коронавирусного бума, день рождения .SU и попытка захвата SPASE.COM

В сегодняшней подборке новостей расскажем о стоимости домена INVEST.COM,  продолжении коронавирусного доменного бума, переходе Trademark Clearinghouse в .COM,  открытии регистрации...
Read More