Вo врeмя aнoнсa игрoвoй пoтoкoвoй службы Stadia кoмпaния Google сooбщилa, чтo мoжнo будeт примeнять рaзличныe фильтры (нaпримeр, в стилe извeстныx xудoжникoв), чтoбы измeнять облик своих трансляций с помощью инструментов машинного обучения. Научный сотрудник Stadia Райан Поплин (Ryan Poplin) и инженер-программист службы Адам Принс (Adam Prins) рассказали кое-что о создании технологии.
Изменение стиля подразумевает процесс объединения содержимого одного изображения и характера другого для создания чего-то нового. Это хорошо изученная задача в машинном обучении с множеством доступных реализаций с открытым исходным кодом. Многие методы могут создавать эстетически приятные статичные изображения, однако при создании анимации и обработке видеороликов результаты иногда оставляют желать лучшего. Элементы, отображаемые в одном кадре, такие как цвета, текстуры и мазки кисти, могут исчезать в следующем, что приводит к неприятным мерцаниям. Эти проблемы решались, но прежде они требовали вычислительных ресурсов, которые делали невозможной обработку в реальном времени в разрешениях 1080p или выше.
Google понравилась модель изменения стиля изображения в реальном времени, разработанная командой Magenta (с кодом и документацией могут ознакомиться все желающие), и она решила изучить, какие усовершенствования можно внести для применения этого метода к потоковым играм. Вначале были удалены те части модели, которые не могли эффективно просчитываться с помощью GPU, потому что основной акцент делался на скорость. Удивительно, но оставшиеся блоки по-прежнему были способны качественно производить стилизацию. Затем специалисты поискового гиганта увеличили количество остаточных блоков в средних слоях модели, пока визуальное качество не перестало улучшаться.
Для повышения согласованности обработки кадров использовался дополнительный параметр на основе предсказания движения пикселей (задействованы эти наработки). Так как подобный анализ может требовать значительных вычислительных ресурсов, его необходимо рассчитывать только при обучении модели. В результате модель, обрабатывая лишь один текущий кадр, создаёт стабильную последовательность.
Чтобы такой стиль можно было накладывать на любую игру без необходимости доступа к исходному коду, Google создала набор параметризуемых шейдеров постобработки Vulkan. Размер финальной модели получился относительно небольшим (около 512 Кбайт), а шейдеры могут работать в режиме реального времени поверх игрового потока.
Подобный инструмент, как считает Google, открывает для разработчиков новые формы взаимодействия, в том числе изменяя визуальный стиль прямо во время игры. Это даёт игроку возможность настраивать художественные стили самостоятельно, в том числе на основе пользовательских рисунков.
Источник: