Connect with us

Разработка

Как улучшить графику в FIFA 18 при помощи глубокого обучения

Создание реалистичных лиц при помощи нашумевшего алгоритма deepfakes.

Анна Гуляева

Опубликовано

/

     
     

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

Проверим это на FIFA 18

Футбол —  это мой любимый спорт, поэтому я выбрал FIFA для экспериментов с глубоким обучением. Чтобы понять, помогут ли недавние улучшения в глубоком обучении ответить на мой вопрос, я попытался улучшить лица игроков, используя нашумевший алгоритм deepfakes. Это сеть глубокого обучения, которая может создавать очень реалистичные лица людей. В этом проекте я хочу воссоздать лица игроков в игре и улучшить их, чтобы они выглядели, как настоящие.

Примечание: вот отличное объяснение того, как работает алгоритм.

Сбор данных для обучения

Начнем с одного из наиболее качественно созданного игрока в FIFA 18 — Криштиану Роналду. Чтобы получить данные для алгоритма, я просто записал видео с моментом из игры. Теперь мы хотим заменить это лицо настоящим лицом Роналду. Для этого я скачал несколько изображений, которые показывают его лицо с разных углов. Это все, что нужно для обучения модели.

Архитектура и обучение модели

Алгоритм deepfakes включает обучение сетей глубокого обучения под названием автокодировщики. Эти сети используются для самообучения, и в них есть шифратор, который может зашифровать входные данные в компактном виде, и дешифратор, который может восстанавливать оригинальные данные. Благодаря этой архитектуре сеть может не просто копировать входные данные, а учиться на принципе их распределения. Для изображений в качестве шифратора мы используем сверточную сеть, а в качестве дешифратора — разверточную сеть. Эта архитектура нужна, чтобы минимизировать ошибку реконструирования для самообучения.

В нашем случае мы обучаем две сети одновременно. Одна сеть учится воссоздавать лицо Роналду на основе графики FIFA 18. Другая сеть учится воссоздавать лицо на основе фотографий Роналду. В deepfakes обе сети пользуются одним шифратором, но обучаются на разных дешифраторах. Итак, у нас есть две сети, которые изучили, как Роналду выглядит в игре и в реальности.

При тренировке уже обученной модели на других лицах total loss снижается с 0,06 до 0,02 за четыре часа обучения на GTX 1070. Я проводил обучение на основе оригинальной модели CageNet, которая была обучена для генерирования лица Николаса Кейджа.

Использование модели для обмена лицами

Теперь веселая часть. Алгоритм может менять лица местами при помощи хитрого трюка. Мы загружаем во вторую сеть входные данные первой сети. Так шифратор получить зашифрованные данные от лица из игры, но дешифратор реконструирует настоящее лицо при помощи этих данных. Вуаля, сеть конвертировала лицо из FIFA в настоящее лицо Роналду.

Результаты

GIF ниже показывает результаты запуска этого алгоритма на лицах других игроков. Я думаю, что результат получился удивительным.

Больше результатов можно найти на моем YouTube-канале.

Можем ли мы использовать алгоритм, чтобы поместить себя в игру?

Что если вы сможете поиграть в режим “История” со своим лицом вместо Алекса Хантера? Вам нужно всего лишь загрузить минутное видео со своим лицом и скачать обученную модель. Теперь вы можете пройти историю с собой в качестве персонажа.

Сильные и слабые стороны

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

Но есть и ограничение — эти лица генерируются постфактум, как CGI в фильмах, а игра требует генерирования лиц в реальном времени. Но этот подход не требует человеческого вмешательства для генерирования результатов, как только модель обучена, и единственный сдерживающий фактор — это время, требуемое на создание изображения. Я думаю, что скоро у нас будут более легкие модели, которые будут работать быстро и качественно, потому что сейчас у нас уже есть YOLO и SSD MobileNets для обнаружения объектов в реальном времени, что было невозможно с более ранними моделями вроде RCNN.

 

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Новости

Новый язык программирования Alexa Presentation Language

Основная новость для разработчиков с конференции Amazon – новый язык программирования навыков для Alexa.

AppTractor

Опубликовано

/

Автор:

Называется он Alexa Presentation Language (APL) и с его помощью можно создавать визуально-голосовые приложения с изображениями, графикой, слайдами, аудио и видео,  HTML5.

Такие приложения просто адаптируются для различных устройств – Echo Show, Fire TV, Fire Tablet и т.п. А сторонние устройства смогут получать APL приложения через Alexa Smart Screen и TV Device SDK.

Более подробно о возможностях нового языка вы можете узнать тут.

Комментарии
Продолжить чтение

Новости

Интересные материалы: 20.09

Наш дайджест полон разочарования, конечных автоматов и программистского дзена.

AppTractor

Опубликовано

/

Автор:

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Комментарии
Продолжить чтение

Кроссплатформенная разработка

Google выпустил последнюю превью-версию Flutter

На Google Developer Days China была объявлена финальная девелоперская версия Flutter.

AppTractor

Опубликовано

/

Автор:

Судя по всему, Flutter Release Preview 2  – последняя версия перед выпуском стабильной версии Flutter 1.0, которая должна выйти в этом году.

Это уже шестая итерация почти за полтора года – первый анонс Flutter состоялся на Google I/O в мае 2017 года, а первая бета вышла в феврале.

В Flutter Release Preview 2 – поддержка фонового выполнения задач, уменьшение размера приложений до 30%, «pixel-perfect» приложения для iOS и расширенная поддержка этой системы.

Как говорит Google, на Flutter уже есть приложения Alibaba (Android, iOS), Tencent Now (Android, iOS) и Google Ads (Android, iOS).

 

 

Комментарии
Продолжить чтение

Новости

Интересные материалы: 19.09

У нас сегодня инструменты, уроки, курсы и исследования.

AppTractor

Опубликовано

/

Автор:

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Комментарии
Продолжить чтение

Реклама

Наша рассылка

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X
X

Спасибо!

Теперь редакторы в курсе.