Рендеринг в реальном времени для виртуальной реальности создаёт уникальный спектр задач, и основными из них являются необходимость поддержки фотореалистичных эффектов, достижение высоких разрешений и увеличение частоты обновления. Для решения этих задач исследователи Facebook Reality Labs разработали DeepFocus — систему рендеринга, представленную нами в декабре 2018 года; она использует ИИ для создания сверхреалистичной графики в устройствах с переменным фокусным расстоянием. В этом году на виртуальной Конференции SIGGRAPH мы представили дальнейшее развитие этой работы, открывающее новый этап на нашем пути к созданию будущих дисплеев высокой чёткости для VR.
В нашей технической статье для SIGGRAPH под названием "Нейронное суперсэмплирование для рендеринга в реальном времени" представлено решение на основе машинного обучения, преобразующее входящие изображения низкого разрешения в изображения высокого разрешения для рендеринга в реальном времени. Такой процесс апсэмплинга (upsampling) использует нейронные сети, обучаемые на статистике сцены, для восстановления точных деталей, позволяя при этом снизить вычислительные затраты на рендеринг этих деталей в приложениях реального времени.
Наше решение заключается в методе суперсэмплирования с предварительным обучением, достигающем суперсэмплирования в 16 раз контента для рендеринга с высокой пространственной и временной чёткостью, значительно превосходя предыдущие работы.
Анимация для сравнения отрендеренного цветного изображения с низким разрешением и выходного изображения с суперсэмплированием в 16 раз, созданным новым методом нейронного суперсэмплирования.
Чему посвящено это исследование?
Для снижения затрат на рендеринг на дисплеях высокого разрешения наш метод получает входящее изображение, в котором в 16 раз меньше пикселей, чем в нужном выходном изображении. Например, если целевой дисплей имеет разрешение 3840×2160, то наша сеть начинает с входящего изображения размером 960×540, отрендернного игровыми движками, а потом выполняет его апсэмплинг до разрешения целевого дисплея в процессе постобработки в реальном времени.
Хотя уже был проведён огромный объём исследований по апсэмплингу фотографических изображений на основе обучения, все эти работы не касались непосредственно уникальных потребностей такого отрендеренного контента, как изображения, создаваемые движками видеоигр. Так случилось потому, что существуют фундаментальные отличия в формировании изображения между отрендеренными и фотографическими изображениями. При рендеринге в реальном времени каждый сэмпл — это точка как в пространстве, так и во времени. Именно поэтому отрендеренный контент обычно имеет сильные искажения, создаёт зазубренные линии и другие артефакты сэмплирования, которые видны в примерах изображений с низким разрешением в этом посте. Из-за этого апсэмплинг отрендеренного контента становится задачей и сглаживания (антиалиасинга), и интерполирования, а не задачей устранения шумов и размытия, которая хорошо изучена специалистами по машинному зрению. То, что входящие изображения сильно искажены и что информация для интерполирования в пикселях совершенно отсутствует, создаёт значительные сложности в построении высокоточной реконструкции отрендеренного контента с временной целостностью.
Пример атрибутов рендеринга, используемых в качестве входящих данных для метода нейронного суперсэмплирования (векторы цвета, глубины и плотные векторы движения), отрендеренные с низким разрешением.
С другой стороны, при рендеринге в реальном времени у нас может быть несколько цветных изображений, созданных камерой. Как мы продемонстрировали в DeepFocus, современные движки рендеринга также предоставляют вспомогательную информацию, например, значения глубин. Мы заметили, что при нейронном суперсэмплировании дополнительная вспомогательная информация, предоставляемая векторами движения, оказалась особенно важной. Векторы движения определяют геометрические соотношения между пикселями в последовательных кадрах. Другими словами, каждый вектор движения указывает на местоположение субпикселя, в которой точка поверхности, видимая в одном кадре, могла находиться в предыдущем кадре. Для фотографических изображений такие значения обычно вычисляются методами машинного зрения, но подобные алгоритмы вычисления оптического движения подвержены ошибкам. В отличие от них, движок рендеринга может создавать плотные векторы движения напрямую, обеспечивая таким образом надёжные и достаточные входящие данные для нейронного суперсэмплинга, применяемого к отрендеренному контенту.
Наш метод основан на приведённых выше наблюдениях, он сочетает дополнительную вспомогательную информацию с новой пространственно-временной схемой нейронной сети, предназначенной для максимизации качества изображения и видео, обеспечивая при этом работу в реальном времени.
Принимая решение, наша нейронная сеть получает в качестве входящих данных атрибуты рендеринга (цвет, карта глубин и плотные векторы движения каждого кадра) и текущего, и нескольких предыдущих кадров, отрендеренных с низким разрешением. Выходящими данными сети становится цветное изображение высокого разрешения, соответствующее текущему кадру. Сеть использует обучение с учителем (supervised learning). Во время обучения с каждым входящим кадром низкого разрешения сопоставляется опорное изображение высокого разрешения с методами сглаживания, которое является целевым изображением для оптимизации обучения.
Примеры результатов. Сверху вниз показаны отрендеренные входящие цветовые данные в низком разрешении, результат суперсэмплинга в 16 раз, выполненного предлагаемым методом, и целевое изображение высокого разрешения, отрендеренное не в реальном времени.
Примеры результатов. Сверху вниз показаны отрендеренные входящие цветовые данные в низком разрешении, результат суперсэмплинга в 16 раз, выполненного предлагаемым методом, и целевое изображение высокого разрешения, отрендеренное не в реальном времени.
Примеры результатов. Слева направо показаны отрендеренные входящие цветовые данные в низком разрешении, результат суперсэмплинга в 16 раз, выполненного предлагаемым методом, и целевое изображение высокого разрешения, отрендеренное не в реальном времени.
Что дальше?
Нейронный рендеринг имеет огромный потенциал в AR/VR. Хоть эта задача и сложна, мы хотим вдохновить других исследователей на работу над этой темой. Так как производители дисплеев для AR/VR стремятся к повышению разрешений, увеличению частоты кадров и фотореалистичности, методы нейронного суперсэмплинга могут стать ключевым способом восстановления точных деталей из данных сцены, а не непосредственным рендерингом. Эта работа даёт нам понять, что будущее VR высокого разрешения заключается не только в дисплеях, но и в алгоритмах, необходимых для практического управления ими.
Полная техническая статья: Neural Supersampling for Real-time Rendering, Lei Xiao, Salah Nouri, Matt Chapman, Alexander Fix, Douglas Lanman, Anton Kaplanyan, ACM SIGGRAPH 2020.
Автор: PatientZero