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

Описание принципа работы ESRGAN самыми простыми словами.

Журналист Medium Дейв Гершхорн опубликовал текст, в котором рассказал, как энтузиасты используют генеративно-состязательные сети (GANs, generative adversarial networks) для апскейла классических пиксельных игр. Выбрали главное.

В интернете можно найти множество примеров того, как ESRGAN применяется для улучшения качества пиксельной графики и текстур

Обычно создание ремейков занимает несколько лет активной работы. Но существует сообщество людей, которые используют генеративно-состязательные сети для осовременивания старых игр. Обычно энтузиасты используют алгоритм под названием ESRGAN, который получил главный приз на международном конкурсе по апскейлу изображений в 2018 году.

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

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

Чтобы понять, как работают алгоритмы, воссоздающие эти текстуры, нужно обратиться к истории того, как они были придуманы. В 2014 году Ян Гудфеллоу в обсуждении с коллегами понял, что ни один алгоритм не научится самостоятельно создавать изображения, так как они слишком сложны.

Гудфеллоу пытался решить эту проблему и пришёл к выводу, что нужно создать пару алгоритмов: один должен генерировать изображения, а второй — определять, насколько результат реалистичен. По задумке автора, эта пара могла бы автоматизировать обычный метод проб и ошибок, используемый исследователями при настройке алгоритмов. Подход сработал, и в сфере нейросетей открылась новая глава.

После этого ArXiv, онлайн-хранилище исследовательских работ, пользующихся популярностью у исследователей ИИ, стало наводнено статьями о GANs. Одна из этих работ была написана группой исследователей из Twitter, которые предложили адаптацию работы Гудфеллоу не для создания новых изображений, а для улучшения существующих — апскейлинга.

Апскейл текстур в Quake 2
Апскейл текстур в Quake 2

Исследователи обучили алгоритм GAN двум версиям изображений: одна группа была размытой и низкого качества, а другая — более высокого. Идея заключалась в том, что сперва алгоритм должен был изучать разницу между изображениями с низким и высоким качеством, а затем он смог бы восстанавливать детали в новых изображениях.

Этот подход был назван Super-Resolution Generative Adversarial Networks (SRGAN), а в более широких кругах начали применять новую итерацию под названием Enhanced Super-Resolution Generative Adversarial Network (ESRGAN).

SRGAN, как и GAN, состоит из двух алгоритмов: один генерирует изображение, а второй определяет — настоящее оно или нет. ESRGAN сравнивает сгенерированное изображение с реальным и пытается определить, какое из них больше похоже на реальное. По словам исследователей, этот более тонкий подход заставляет алгоритм генерировать детали с более чёткими краями и более реалистичными текстурами.

Апскейл персонажей из Doom
Апскейл персонажей из Doom

Всего через две недели после появления ESRGAN моддер под ником kingdomakrillic опубликовал на Tumblr туториал, в котором рассказал, как использовать алгоритм для апскейла в видеоиграх.

Kingdomakrillic обучил алгоритм не на фотографиях, которые использовали ученые, а на датасете комиксов Manga109. Изображения оттуда были больше похожи на графику из видеоигр, чем реальные изображения. Это позволило алгоритму более точно понять, какие элементы используются в играх.

Принцип работы ESRGAN заключается в том, что он ищет цветовые вариации между пикселями изображения, а затем добавляет детали, которые должны там быть, основываясь на изображениях, которые он видел ранее.

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

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

Изображение, сгенерированное ESRGAN на основе датасета из рисунков
Изображение, сгенерированное ESRGAN на основе датасета из рисунков
7777
17 комментариев

Андрей хорошо описал на пальцах как устроена GAN нейронная сеть. Ну и важно понимать, с выхода ESRGAN появилось так много алгоритмов, что его уже сейчас можно считать морально устаревшим. Задача эта называется Super Resolution и там каждый год прорыв очередной – все лучше и быстрее работает Upscale, все меньше данных нужно на тренировку и тп. 

12
Ответить

Комментарий недоступен

6
Ответить

Как раз наоборот. Если натянуть на модель с малым количеством вершин текстуру высокого разрешения, результат чаще всего выглядит так, как на картинке.
Это, конечно, утрированно, но суть передаёт. Иногда нужным бывает переделать саму модель, иначе дверь с нарисованными ручками в HD качестве смотрится просто ужасно.

6
Ответить

Кто бы в Fallout 1\2 графончик поправил. Паразит Тодд ничего делать не будет.

4
Ответить

Есть только модификации на повышение экранного разрешения.
Немного комично, как насилуют трёхмерные части модами на графику и текстурами высокого разрешения, но относительно простой ремастер классической дилогии ещё никто не сделал. Лица бы некоторые подправить...
Но, с другой стороны, с учётом плоского, практически одноэтажного мира детальная проработка изображений будет только отторгать.
Может быть, оно и не нужно? 

Ответить

Там движок очень корявый для экспериментов (хотя народ и его научился облагораживать), но соглашусь, что именно для ф1 и ф2 спрайты почему-то никто не облагородил. А жаль.

Ответить