Настоящий графический некстген от нейросетей

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Рассуждения | Компьютерные и мобильные игры

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

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

Многие сегодня уже слышали о технологии DLSS от компании NVidia, в которой нейросети достраивают картинку меньшего разрешения до большего. В представленной на видео технологии логика похожая, но разработчики пошли дальше. Вместо того, что бы просто повышать качество картинки, они накладывают на неё множество фильтров. Эти фильтры симулируют различные артефакты и особенности, которые появляются при реальной видеосъёмке. Вместо того, что бы пытаться сделать в игре фотореалистичные объекты, разработчики предлагают сделать фотореалистичным сам видеоряд при постобработке.

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

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

Но по итогу, у некоторых читателей может возникнуть вопрос — ну сделали такую нейросеть, а дальше что? Внедрение их в другие игры наверное требует больших усилий и никто этим не будет заниматься. На самом деле, данное предположение как раз таки и неверно. По большому счёту, эту нейросеть не требуется даже внедрять в игры. Она осуществляет постобработку видеопотока и никак не зависит от объектов или особенностей самой игры. Равно как и DLSS, вторую версию которой компания NVidia сделала уже полностью независимой от графического движка. При этом, стоит отметить и то, что представленную нейросеть можно обучать на совершенно разных наборах видеоизображений, тем самым добиваясь разных видеофильтров. 

Не стоит забывать и о том, что компания NVidia на DLSS 2.0 тоже не остановилась и на сегодняшний день продолжает работу в данном направлении. Задача повышения качества изображения самая тривиальная для нейросетей, её было проще всего реализовать. Но есть ещё множество других задач, которые такие нейросети способны решать. И многие команды разработчиков решением этих задач занимаются. Представленная в данной статье работа лишь одна из первых, но она уже показывает чего можно добиться используя нейросети.

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

Опять же, можно предположить, что это дело далёкого будущего. Однако, уже этой весной выходит игра, разработчики которой сделали первый шаг в данном направлении. Игровой мир Forza Horizon 5, который так всех приятно удивил своей детализацией, по словам разработчиков, создавался именно нейросетями. Они генерировали игровые модели и ландшафт по фотоснимкам, т.е. с помощью технологии фотограмметрии.

И это уже не какой то прототип небольшой команды разработчиков — это самая настоящая игра, которая выходит уже через несколько месяцев. Открытым остаётся вопрос относительно геймплея, но по уровню графики это определённо одна из самых лучших игр на сегодняшний день. И уровень этой графики достигнут благодаря нейросетям. Безусловно, не весь игровой мир создавали сети, труда живых людей в него вложено тоже немало. Тем не менее, его потребовалось существенно меньше, чем если бы вручную создавался весь мир. При этом, это даже не первая игра, в которой активно применяется данная технология. Первой стала Microsoft Flight Simulator 2020.

Подводя итоги, можно сказать, что мы сейчас живём в период зарождения мультимедийных нейросетей. Которые смогут взять на себя множество рутинных задач, в том числе и при создание видеоигр. Сегодня они уже используются не только для работы с видеоизображением, но и при создании анимации объектов и 3D-моделей. И с каждым годом количество задач, которые нейросети способны решать, продолжает расти. Можно конечно сомневаться, что все эти технологии быстро внедрят. Однако, почти ровно год назад я уже писал статью про фотограмметрию. И там я делал оптимистичный прогноз о широком распространении данной технологии в ближайшие несколько лет. Но даже я тогда не думал, что до выхода крупной высокобюджетной игры, активно использующей данную технологию, оставалось всего полтора года. Ближайшее десятилетие определённо сможет удивить прорывами во многих направлениях игровых технологий (помимо систем монетизации), которые будут обеспечены уже не прорывами в железе, а именно новыми нейросетевыми моделям.

Автор не входит в состав редакции iXBT.com (подробнее »)

20 комментариев

Й
Реалистичная картинка это прежде всего освещение, никакие нейросети здесь ничем не помогут.
Cама технология интересная и позволяет сильно сократить время на разработку. Сейчас ее используют даже модеры в Assetto Corsa для создания треков
Последний раз редактировалось
Arguzd
Так в приведённой в начале разработке в том числе и освещение меняют нейросетями.
Й
Реалистичное освещение это рейтрейсинг, есть пока только в одной игре — Quake 2 RTX. Нейросети ничего здесь не сделают, они не могут из обычного освещения сделать рейтрейсинг
Arguzd
Ну, собственно, в статье по той разработке и описано как они это делают — http://vladlen.info/papers/EPE.pdf. Рейтрейсинг, пока что, необходим для реализации отражений. Но в случае с освещением это далеко не единственный путь.
Й
Какой еще может быть путь для освещения? Отражения как раз это полная ерунда, на картинку они влияют слабо. А освещение через рейтрейсинг пока ни одна игра, кроме Q2, не тянет. Там еще совершенно умопомрачительная картинка из под воды, со всеми преломлениями и отражениями
Последний раз редактировалось
Arguzd
Тот рейтрейсинг, который есть сейчас, способен создать корректное освещение буквально только в вакууме. В атмосфере же есть эффект рассеивания света и ряд оптических эффектов порождаемых этой атмосферой (то же марево над асфальтом или в пустыне). В реальности свет, во-первых, отражается буквально ото всех поверхностей, не только от зеркальных (поэтому, к примеру, днём даже если квартира не на солнечной стороне, в ней всё равно будет светло), во-вторых, он постоянно рассеивается на пути через атмосферу планеты и в последствии после отражения от каждой поверхности. И это даже если мы говорим о солнечной ясной погоде. В случае облачной погоды или тумана, тот рейтрейсинг который существует сегодня, в принципе не способен корректно смоделировать освещение, поскольку единого источника света в принципе нет — буквально всё небо является более менее равномерным источником света. А представленные в статье сети как раз и занимаются постобработкой изображения для корректного рассеивания света. По освещённости объектов на изображении сеть определяет источники света и, в зависимости от погоды и заданных настроек (предполагаемого климата), корректно этот свет рассеивает, добиваясь более равномерного и естественного освещения сцены. Безусловно, получается это не всегда. Но это уже получается. Притом, что представленный проект всего лишь прототип.
Й
Рейтрейсинг он и есть рейтрейсинг, он всегда корректно считает освещение независимо от того, облачно или нет. И при чем здесь нейросеть? Она не умеет рейтрейсингом считать, для освещения она бесполезна
Arguzd
Ну, к сожалению, я не могу в рамках комментария рассказать часть школьной программы по оптике. Коротко я уже описал в предыдущем комментарии. Есть явления рассеивания света атмосферой и множественных отражений. Современный рейтрейсинг эти явления не учитывает. А поскольку мы живём в атмосфере, современный рейтрейсинг в принципе не может корректно смоделировать освещение окружающего нас мира. Представленная в проекте сеть это рассеивание моделирует при постобработке. Если есть какие то конкретные вопросы, могу на них ответить.
Й
Учитывает рейтрейсинг все, именно затем он и нужен. И в Quake 2 RTX места, не освещенные прямыми лучами источников света, освещаются именно что переотражениями от рассеяния на освещенных поверхностях.
Только там освещение выглядит натурально, во всех остальных играх неосвещенные прямыми источниками места всегда проблема
Arguzd
Что бы говорить по делу, вот ссылка на книгу по технологии рейтрейсинга, которая была написана специалистами NVidia — http://www.realtimerendering.com/raytracinggems/unofficial_RayTracingGems_v1.9 .pdf. Если считаете, что там всё врут и рейтрейсинг работает по другому, либо есть какой то мегакрутой рейтрейсинг, где всё есть, можете привести свои источники, я готов их рассмотреть.
В этой же книге, в главе 2 рассматривается математический базис рейтрейсинга. Там речь идёт исключительно о геометрии преломления световых лучей (именно лучей, т.е. траекторий полёта фотонов света, которые в реальности не являются лучами). Эффект рассеивания в математическом базисе не учитывается, корпускулярно-волновой дуализм фотонов света не учитывается.
Далее, в части 3 (главах с 11 до 14) рассматривается реализация базовых алгоритмов преломления лучей. В ней указываются сложности, которые возникают при множественных отражениях. Отдельно пишется (в частности в главе 11), что при реализации они ограничивают количество повторных отражений от объектов. Прямо пишется, что множественные отражения реализованы на пол шишечки, ибо требуют большого количества ресурсов и артефактят.
Далее, в части 5 (главах с 19 по 22) они периодически упоминают о вспомогательных алгоритмах и технологиях, которые используют при отрисовки теней. В частности (особенно в главе 19) там говорится и про denoising/шумоподавление/размытие теней. То есть те технологии, которые используют для размытия границ теней. Но это и всё, что они делают. Рассеивание света, в свою очередь, это не просто размытие теней. Рассеивание подразумевает отражение фотонов света от молекул/атомов газа атмосферы. И эти фотоны отражаются, а не пропадают бесследно. После этого они летят в стороны и освещают другие объекты. Т.е. каждая молекула/атом газа в атмосфере отражает свет в случайном направлении. И чем атмосфера насыщеннее, тем активнее идёт это отражение. И поэтому, к примеру, в тумане зачастую всё пространство освещено практически равномерно, без теней. В современной технологии рейтрейсинга этого нет.
Итого, я привёл конкретные доказательства того, что рейтрейсинг сейчас не учитывает рассеивание и множественные отражения. Если не согласны, прошу приводите доказательства, а не просто своё мнение о технологии.
Последний раз редактировалось
Й
Естественно учитывается рассеяние лучей, что вы там курите? С 3D Studio когда-нибудь работали?
В играх тот же самый рейтрейсинг, только кроме Quake 2, в котором все освещение сделано рейтрейсингом, ни одна современная игра полный расчёт освещения не тянет
Arguzd
То есть доказательств нет и это просто необоснованное мнение.
Последний раз редактировалось
Й
Патч 1.2.0:
«Fixed the misdirection of second bounce lighting into the diffuse channel when the light path starts as specular on the primary surface»
https://github.com/NVIDIA/Q2RTX/blob/master/changelog.md
Последний раз редактировалось
Arguzd
Я и не говорил, что вторичных отражений в рейтрейсинге в принципе нет. Дословная цитата моего предыдущего комментария — «Далее, в части 3 (главах с 11 до 14) рассматривается реализация базовых алгоритмов преломления лучей. В ней указываются сложности, которые возникают при множественных отражениях. Отдельно пишется (в частности в главе 11), что при реализации они ограничивают количество повторных отражений от объектов. Прямо пишется, что множественные отражения реализованы на пол шишечки, ибо требуют большого количества ресурсов и артефактят». Но, во-первых, несколько отражений и полноценные множественные отражения это разное. Во-вторых, рассеивание они всё ещё не учитывают. А именно от рассеивание зависит вторичное освещение пространства. Если бы его не было, даже в солнечный день в квартире, окна которой выходят на теневую сторону, было бы темно как в жёпе у негра.
209011867@vkontakte
Ну кстати, то же метро RTX, весьма не дурно выглядит, и на данный момент обладает лучшим освещением. Т.к там используется только Ray Trace, а все запеченные источники света вырезали. Да, это не уровень Quake, но разница, по сравнению с обычной версией метро, с гибридным RT, все равно огромная в пользу новой версии, из которой вырезан весь запеченный свет.
Arguzd
Кстати, на примере метро хорошо заметна неестественность теней, создаваемых современным рейтрейсингом. Там даже зимой, при куче снега, если заглянуть в какой-нибудь закуток, будет слишком темно. Это происходит потому, что не учитывается свет отражённый от снега, который очень хорошо всё освещает. Если замечали, зимой ночью намного светлее чем летом. Поскольку даже тот небольшой свет, что есть, не поглощается тёмной почвой, а повторно отражается снегом. И я не говорю сейчас, что рейтрейсинг херня и его не надо применять. Я имею ввиду именно то, что он всё ещё далёк от естественного освещения.
Последний раз редактировалось
Й
Да какой в Метро рейтрейсинг. Глобальное освещение полностью считается только в Quake 2, во всех остальных играх всякие добавки по мелочи.
Современный движок с полным рейтрейс освещением ни одна карта не потянет
Z
Спасибо за подробное описание! Сам полез читать, очень интересно
w
первое видео выглядит блевотно. спасибо, не надо нам такого в играх. вся фотореалистичность у них заключается в радикальном снижении качества изображения с кучей фильтров сверху. да, видео выглядит как снятое на старый дерьмовый видеорегистратор. фотореалистично? вполне. красиво и нужно? точно нет
209011867@vkontakte
Фильтр с мылом, урезанием всех цветом и шакальным качеством, будто снято на древнюю камеру за 50 рублей — не делают игру фотореалистичной. А вот фотограмметрия — да. Которая на самом деле не редко используется в современных проектах. Да и про невероятно реалистичные ассеты и удобный инструментарий с Quixel Megascans тоже не стоит забывать.
Вспомнить те же древние, фототекстуры, которыми щеголял сталкер. Лучшие текстуры на момент выхода, да и сейчас, до сих пор не дурно выглядит. Или взять то же освещение. Даже по современным мерках свет в сталкере весьма хорош, и невероятно объемен. Разве что индуры выглядят по современным меркам плохо, т.к нет GI, а соответственно и хотя бы одного или двух отскоков лучей и качественного АО.

Добавить комментарий