Назад в библиотеку

RenderFormer: Нейронный рендеринг треугольных сеток на основе трансформеров с глобальным освещением

Авторы: Чонг Цзен, Юэ Донг, Питер Пирс, Хонгчи У, Син Тонг

Источник: Chong Zeng, Yue Dong, Pieter Peers, Hongzhi Wu, and Xin Tong. 2025. RenderFormer: Transformer-based Neural Rendering of Triangle Meshes with Global Illumination. In Special Interest Group on Computer Graphics and Interactive Techniques Conference Conference Papers (SIGGRAPH Conference Papers '25), August 10–14, 2025, Vancouver, BC, Canada. ACM, New York, NY, USA, 11 pages. https://doi.org/10.1145/3721238.3730595

Аннотация

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

Ключевые слова: рендеринг, глобальное освещение, последовательность-в-последовательность, трансформер

1 Введение

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

Примеры сцен, отрендеренных RenderFormer
Рисунок 1 – Примеры сцен на основе треугольных сеток, отрендеренных с помощью RenderFormer без обучения или донастройки под конкретную сцену, включая (множественные) зеркальные отражения, сложные тени с деталями более мелкими, чем треугольник, диффузное непрямое освещение, глянцевые отражения, мягкие и жёсткие тени, а также несколько источников света.

В этой статье мы делаем первый шаг к полностью нейронному конвейеру рендеринга, названному RenderFormer, который (a) не требует обучения под конкретную сцену, (b) принимает на вход классическое описание сцены на основе треугольных сеток, и (c) рендерит сцену с полным глобальным освещением. Для достижения этих целей мы предлагаем новый взгляд на решение задачи переноса света в виртуальной сцене и формулируем рендеринг как преобразование последовательности в последовательность, где каждый токен в последовательности представляет треугольник со свойствами отражения, который впоследствии преобразуется в треугольник с установившимся распределением яркости равновесия переноса света. Вместо того чтобы явно описывать результирующее распределение яркости и следовать потоку света через виртуальную сцену, как предписано Уравнением Рендеринга [Kajiya 1986], RenderFormer обучает нейронный конвейер рендеринга непосредственно на данных с минимальными априорными ограничениями. По сравнению с традиционными парадигмами рендеринга: RenderFormer напрямую «решает» уравнение рендеринга без шума интегрирования по методу Монте-Карло и без необходимости сложных алгоритмических модификаций, как при растеризации. В отличие от существующих методов нейронного рендеринга для синтетических сцен, RenderFormer не требует обучения под конкретную сцену/объект (например, объекты на Рисунке 1 не входят в обучающий набор).

RenderFormer следует двухэтапной архитектуре: этапу, независимому от точки обзора, который моделирует перенос света от треугольника к треугольнику, и этапу, зависящему от точки обзора, который преобразует трансформированную последовательность токенов треугольников в изображение. Оба этапа основаны на мощной архитектуре трансформера [Vaswani et al. 2017], известной своей способностью моделировать связи на больших расстояниях (например, перенос света от одного треугольника ко всем другим треугольникам). Однако, в отличие от типичных архитектур трансформеров, RenderFormer использует (относительное) позиционное кодирование, основанное на 3D пространственном положении треугольников, а не на 1D индексной позиции в последовательности. Подобно большинству методов нейронного рендеринга, RenderFormer не требует рекурсивных вычислений и напрямую решает задачу глобального освещения за один проход. Более того, RenderFormer полностью основан на обучаемых нейронных компонентах и, таким образом, естественно полностью дифференцируем, не полагаясь на существующие фиксированные (т.е. необучаемые) алгоритмы рендеринга, такие как растеризация, трассировка лучей или лучевая маршевая трассировка.

В этой статье мы представляем первый шаг к полностью нейронному конвейеру рендеринга на ограниченном наборе типов сцен. Во-первых, из-за вычислительных затрат трансформеров, RenderFormer в настоящее время ограничен треугольными сетками из не более чем 4 096 треугольников. Во-вторых, RenderFormer также ограничен вариациями, наблюдаемыми во время обучения: в настоящее время наши обучающие данные включают только одну модель отражения [Walter et al. 2007], с параметрами, назначенными для каждого треугольника (т.е. без текстур). Обучающие сцены включают не более 8 диффузных источников света, а камера (с фиксированным разрешением 512 × 512) размещается вне ограничивающего ящика сцены. Мы считаем, что RenderFormer при дальнейшей разработке и оптимизации потенциально может предложить альтернативную парадигму рендеринга как для прямых, так и для обратных задач рендеринга, используя текущие (и будущие) достижения в тензорных ядрах, оптимизированных для трансформеров.

2 Смежные работы

Уравнение рендеринга. Уравнение рендеринга [Kajiya 1986] формально описывает перенос света в виртуальных сценах, определённых их геометрией (обычно моделируемой треугольными сетками), соответствующими свойствами материалов в виде двунаправленных функций распределения отражения (BRDF) [Nicodemus et al. 1992], источниками света и виртуальной камерой. За последние четыре десятилетия было предложено множество методов для точного и эффективного решения уравнения рендеринга. Методы трассировки путей на основе метода Монте-Карло и их варианты [Dutré et al. 2018; Pharr et al. 2023] являются одними из самых популярных и эффективных методов решения уравнения рендеринга. Недавно для компенсации значительных вычислительных затрат алгоритмы трассировки путей были дополнены методами машинного обучения [Wang et al. 2023] (например, фильтрацией [Bako et al. 2017] или кэшированием [Coomans et al. 2024; Müller et al. 2021]). Все вышеперечисленные методы явно кодируют уравнение рендеринга как часть метода решения и, следовательно, из-за рекурсивной природы уравнения рендеринга эти методы также являются рекурсивными. RenderFormer не полагается явно на уравнение рендеринга и напрямую вычисляет перенос света без рекурсии.

Альтернативный класс математических методов решения уравнения рендеринга — это методы конечных элементов, а получаемый класс алгоритмов рендеринга называется методами радиозити [Cohen et al. 1988; Goral et al. 1984]. Однако классические методы радиозити в основном ограничены изотропным рассеиванием от диффузных поверхностей. В духе радиозити, Hadadan et al. [2021] представляют вариант нейронной радиозити, вдохновлённый обучением, который отделяет решение уравнения рендеринга (т.е. обучение) и рендеринг (т.е. инференс), что позволяет эффективно синтезировать произвольные виды сцены без ограничений на материалы. Нейронная радиозити (и её расширение на динамические сцены [Su et al. 2024b]) имеет сходство с предварительно вычисленной передачей излучения (PRT) [Sloan et al. 2023], которая формулирует перенос света как скалярное произведение между матрицей переноса света сцены и освещением, выраженным в подходящем базисе (например, сферических гармониках). Вдохновляясь PRT, Rainer et al. [2022] и Gao et al. [2022] используют нейронные сети для обучения подходящего представления падающего освещения вместо заранее определённого базиса освещения. Методы нейронной радиозити и PRT предполагают большие накладные расходы на предварительные вычисления для каждой сцены. Хотя обучение RenderFormer дорогостояще, обучение происходит только один раз, после чего сцены могут рендериться без дополнительного обучения.

Нейронный рендеринг. Методы нейронного рендеринга [Tewari et al. 2022] заменяют симуляцию переноса света обучаемым нейронным процессом, и поэтому уравнение рендеринга никогда не накладывается явно, вместо этого неявное представление переноса света изучается. Нейронные поля излучения (NeRFs) [Mildenhall et al. 2021] являются известным примером такого неявного представления переноса света. Нейронный рендеринг в целом использует нейронное представление сцены, которое требует специализированных методов [Granskog et al. 2020, 2021; Haque et al. 2023; Yuan et al. 2022; Zheng et al. 2024] для выполнения изменений в сцене. В отличие от них, RenderFormer принимает на вход стандартное описание сцены на основе треугольных сеток и, следовательно, совместим с существующими инструментами для создания виртуальных сцен.

Sanzenbacher et al. [2020] выполняют нейронное шейдинг в экранном пространстве с дополнением глобального нейронного переноса света, вычисленного на представлении сцены в виде облака точек. Хотя облако точек помогает обобщать вычисления переноса света, двухэтапная сеть обучается для каждой сцены (либо статической, либо динамической). В отличие от этого, RenderFormer не требует обучения для каждой сцены. RenderNet [Nguyen-Phuoc et al. 2018] и нейронный воксельный рендеринг [Rematas and Ferrari 2020] обучаются конвейеру нейронного рендеринга на основе свёрточных сетей. Однако вместо треугольных сеток оба метода принимают на вход 3D воксельную сетку и обучаются только локальному шейдингу при единственном точечном источнике света. В отличие от них, RenderFormer рендерит сцену с полным глобальным освещением.

Трансформеры для рендеринга. Ключевой строительный блок RenderFormer — это архитектура трансформера [Vaswani et al. 2017], построенная на основе блоков многоголового внимания и отображающая последовательность токенов в другую последовательность токенов при обработке связей на больших расстояниях. Трансформеры зарекомендовали себя как эффективные архитектуры для задач компьютерного зрения [Dosovitskiy et al. 2020] и для управления крупными языковыми моделями [Kenton and Toutanova 2019]. В рендеринге Ren et al. [2024] используют механизм кросс-внимания в трансформерах для ускорения этапа сбора в нейронных отражающих карт теней. В контексте NeRFs, NerFormer [Reizenstein et al. 2021] использует эпиполярные ограничения и внимание для построения объёмов признаков. IBRNet [Wang et al. 2021a] оценивает плотность вдоль лучей с помощью трансформеров. Недавние методы интерполяции видов [Liang et al. 2024; Sajjadi et al. 2022; Suhail et al. 2022; Varma et al. 2022] не только используют трансформеры для вычисления признаков вдоль лучей, но также применяют трансформер для агрегации признаков вдоль лучей. LVMS [Jin et al. 2024] использует другой подход и напрямую преобразует патчи пикселей из входных изображений в интерполированные виды. Jin et al. кодируют позы входных и выходных камер путём токенизации лучей обзора для каждого пикселя; RenderFormer использует аналогичную стратегию для токенизации позы виртуальной камеры.

3 RenderFormer

RenderFormer состоит из двух этапов: независимого от точки обзора этапа и зависимого от точки обзора этапа. Оба этапа используют архитектуру трансформера. Независимый от точки обзора этап (раздел 3.1) принимает на вход последовательность треугольников с соответствующими свойствами и преобразует её в последовательность признаков для каждого треугольника, которые хранят нейронное кодирование общего исходящего излучения треугольника. Зависимый от точки обзора этап (раздел 3.2) принимает на вход преобразованную последовательность треугольников, а также токены, представляющие наборы лучей, соответствующих патчам пикселей размером 8 × 8 в целевом изображении, и преобразует последние в значения исходящего излучения, соответствующие каждому лучу в наборе. Мы обучаем RenderFormer сквозным образом (раздел 3.3) один раз, после чего треугольное представление сцены может быть подано в RenderFormer без какой-либо донастройки или обучения.

3.1 Независимый от точки обзора этап

Архитектура трансформера. Независимый от точки обзора этап близко следует оригинальной архитектуре трансформера [Vaswani et al. 2017] с полным двунаправленным самовниманием. Трансформер принимает на вход последовательность эмбеддингов треугольников (т.е. токенов). Каждый токен треугольника кодирует всю релевантную информацию для рендеринга, такую как нормаль поверхности и отражательная способность. Кроме того, мы добавляем 16 регистровых токенов к входной последовательности, которые могут использоваться трансформером для хранения глобальной информации и потенциально для удаления высокочастотного шума во вложении [Darcet et al. 2024]. Каждый треугольный и регистровый токен является 768-мерным вектором. Независимый от точки обзора этап состоит из 12 слоёв трансформера, где каждый слой имеет 6 головок внимания и 768 скрытых единиц, за которыми следует полносвязная сеть 768 × 4. Мы следуем подходу LLaMA [Touvron et al. 2023] и применяем предварительную нормализацию с использованием RMS-нормализации [Zhang and Sennrich 2019], а в качестве функции активации используем SwiGLU [Shazeer 2020]. Кроме того, мы используем QK-нормализацию [Henry et al. 2020] для стабилизации обучения. Рисунок 2 (верхняя часть) обобщает архитектуру независимого от точки обзора этапа.

Обзор архитектуры RenderFormer
Рисунок 2 – Обзор архитектуры RenderFormer. Верхняя часть: независимый от точки обзора этап решает перенос света от треугольника к треугольнику из последовательности токенов треугольников, кодирующих свойства отражения каждого треугольника. Относительное положение каждого треугольника кодируется отдельно и применяется к каждому токену на каждом слое самовнимания. Нижняя часть: зависимый от точки обзора этап принимает на вход позицию виртуальной камеры, закодированную как последовательность наборов лучей. Под руководством результирующих токенов треугольников из независимого от обзора этапа через слой кросс-внимания, токены наборов лучей преобразуются в токены, кодирующие исходящее излучение для каждого луча обзора. Наконец, токены наборов лучей преобразуются в значения радиометрической яркости в логарифмическом HDR-кодировании через дополнительный плотный визуальный трансформер.

Относительное пространственное позиционное кодирование. Ключевое отличие RenderFormer от типичного использования трансформеров (например, в крупных языковых моделях) заключается в том, что индексная позиция токена (т.е. треугольника) в последовательности несущественна; обмен двух треугольников местами в последовательности должен давать одинаковый результат. Однако положение треугольника в виртуальном мире имеет значение. Вклад в глобальный перенос света различается для двух треугольников с точно такими же свойствами отражения и формой (и, следовательно, с идентичным эмбеддингом токена), но находящихся в разных позициях в сцене. Кроме того, перемещение всей сцены (включая источники света и виртуальную камеру) не изменяет переноса света. Следовательно, RenderFormer требует относительного позиционного кодирования, основанного на 3D пространственном положении для каждого треугольника относительно других треугольников. Поэтому мы не кодируем абсолютную позицию треугольника путём добавления позиционного кодирования непосредственно к токену треугольника, а вместо этого адаптируем вращательное позиционное кодирование (RoPE) [Su et al. 2024a] для модификации токена треугольника, чтобы встроить относительное 3D пространственное положение треугольника. RoPE выражает позиционное кодирование как поворот и опирается на тот факт, что композиция двух поворотов эквивалентна относительному повороту между ними. Однако, в отличие от простого индекса в последовательности, положение треугольника определяется тремя 3D вершинами с вещественными значениями. Поэтому мы сначала объединяем позиции всех трёх вершин в 9-мерный вектор и умножаем каждый элемент, дублированный 6 раз, на каждую из 6 частот (с масштабами, экспоненциально распределёнными между 1 и 5: [1.0, 1.3797, 1.9037, 2.6265, 3.6239, 5.0]), получая вектор из 54 масштабированных частот. Следуя RoPE, мы кодируем каждый коэффициент как синус и косинус угла, пропорционального масштабированным частотам, и создаём блочно-диагональную матрицу поворота, где каждая пара синус/косинус определяет поворот для каждого блока 2 × 2. Каждая из 6 головок внимания работает с 128 коэффициентами эмбеддинга токена треугольника (6 головок × 128 = 768). Следовательно, мы применяем блочный поворот только к первым 108 коэффициентам для каждой головки, оставляя оставшиеся 20 коэффициентов без изменений. Как и в RoPE, мы применяем относительное пространственное позиционное кодирование к токенам на каждом слое внимания. В идеале мы хотели бы, чтобы относительное позиционное кодирование также было инвариантно к поворотам сцены. Однако, поскольку SO(3) не коммутативна, это сложно достичь с помощью RoPE. Чтобы гарантировать, что регистровые токены также инвариантны к перемещению сцены, мы также применяем относительное пространственное позиционное кодирование к регистровым токенам, используя среднее положение всех вершин сцены.

Эмбеддинг треугольника. Для каждого треугольника мы хотим закодировать всю релевантную информацию, необходимую для рендеринга, такую как затеняющие нормали, свойства отражения и излучение (в случае источника света). Как отмечалось выше, положение и форма треугольника будут закодированы через относительное пространственное позиционное кодирование. Мы храним нормаль для каждой вершины, которая интерполируется (и нормируется) по треугольнику с использованием абсолютного позиционного кодирования для нормалей вершин. Практически, мы кодируем все три нормали с помощью (NeRF) позиционного кодирования [Mildenhall et al. 2021] с 6 частотами (используя те же частоты, что и для относительного пространственного позиционного кодирования), которые впоследствии расширяются до 768-мерного вектора через один линейный слой с последующей RMS-нормализацией. Мы моделируем отражательную способность поверхности с помощью модели BRDF на основе микроповерхностей с использованием GGX-распределения нормалей [Walter et al. 2007], параметризованной диффузной альбедо, зеркальной альбедо и шероховатостью. Мы объединяем параметры отражения, а также излучение в 10-мерный вектор (3D для всех параметров, кроме шероховатости (1D)). Этот 10-мерный вектор расширяется до 768-мерного вектора одним линейным слоем с последующей RMS-нормализацией. Полученный 768-мерный вектор добавляется к вышеупомянутому эмбеддингу нормалей.

3.2 Зависимый от точки обзора этап

Цель зависимого от точки обзора этапа — преобразовать токены треугольников, преобразованные предыдущим независимым от точки обзора этапом, в значения яркости пикселей, соответствующие заданной виртуальной камере. По соображениям производительности мы кодируем патч из 8 × 8 пикселей яркости в один выходной токен. Вдохновляясь работами Gao et al. [2024] и Jin et al. [2024], мы задаём виртуальную камеру для трансформера, зависимого от точки обзора, путём кодирования набора из 8 × 8 лучей, которые проходят через центры пикселей в соответствующем выходном патче.

Архитектура трансформера. Мы следуем аналогичной архитектуре, что и для независимого от точки обзора трансформера, за исключением того, что он преобразует последовательность токенов наборов лучей (вместо токенов треугольников), и мы повторяем слои внимания только 6 раз вместо 12. Кроме того, перед каждым слоем самовнимания мы добавляем слой кросс-внимания, который соединяет токены наборов лучей с токенами треугольников (включая регистровые токены) из независимого от точки обзора этапа. Роль слоя кросс-внимания — найти треугольники, связанные с лучами в наборе. Как и раньше, каждый слой трансформера имеет 6 головок, 768 скрытых единиц и полносвязную сеть 768 × 4. Мы снова используем активации SwiGLU, QK-нормализацию и RMS-нормализацию. Кроме того, мы обнаружили, что зависимому от точки обзора этапу требуется более высокая точность (tf32), чем независимому от точки обзора этапу (который использует bf16), для сходимости во время обучения. Дополнительно, для декодирования токенов патчей пикселей в значения радиометрической яркости RGB в логарифмическом HDR-кодировании log(𝑥 + 1), мы обнаружили, что хотя яркость, наблюдаемая для каждого луча обзора, не зависит от других лучей обзора, обмен информацией между лучами обзора через самовнимание между токенами наборов лучей улучшает точность рендеринга (Таблица 1, 3-я vs. 4-я строка). Кроме того, мы используем плотный визуальный трансформер [Ranftl et al. 2021] для признаков из последних 4 слоёв зависимого от точки обзора трансформера, чтобы дополнительно улучшить точность (Таблица 1, 1-я vs. 2-я строка) и уменьшить (но не полностью устранить) зависимость от разрешения. Рисунок 2 (нижняя часть) обобщает зависимую от точки обзора архитектуру.

Таблица 1. Исследование аблационного анализа различных вариантов и архитектур моделей. Из-за вычислительных ограничений все исследования аблационного анализа выполняются с разрешением 256 × 256. Конфигурации слоёв обозначаются как: #независимых от обзора + #зависимых от обзора слоёв.
Вариант PSNR ↑ SSIM ↑ LPIPS ↓ FLIP ↓
полный зависимый от обзора этап 29.77 0.9526 0.05514 0.1751
без dpt 29.75 0.9476 0.05519 0.1806
без самовнимания 29.70 0.9503 0.05703 0.1766
без dpt и без самовнимания 29.15 0.9396 0.06407 0.1836
зависимый от обзора этап в координатах камеры 29.77 0.9526 0.05514 0.1751
зависимый от обзора этап в мировых координатах 28.98 0.9420 0.06309 0.1904
205M / 768d токены / 12 + 6 слоёв 29.77 0.9526 0.05514 0.1751
143M / 768d токены / 8 + 4 слоя 28.99 0.9444 0.06408 0.1873
71M / 512d токены / 8 + 4 слоя 28.27 0.9356 0.07238 0.2032
45M / 384d токены / 8 + 4 слоя 27.87 0.9295 0.07921 0.2075
12 + 6 слоёв 29.77 0.9526 0.05514 0.1751
9 + 9 слоёв 30.11 0.9554 0.05121 0.1735
6 + 12 слоёв 30.38 0.9560 0.05043 0.1685
0 + 18 слоёв 28.28 0.9355 0.07152 0.1994

Чтобы уменьшить степени свободы в обучающих данных, мы выполняем зависимый от точки обзора этап в координатах камеры, а не в мировых координатах, как в зависимом от обзора этапе. Это тривиально достигается путём применения относительного пространственного позиционного кодирования с использованием преобразованных координат вершин на каждом слое внимания. Мы не применяем никаких других преобразований (например, нормалей), потому что после независимого от точки обзора преобразования интерпретация токенов треугольников больше не согласуется с исходным эмбеддингом. Выражая позиционное кодирование треугольников (и регистров) в координатах камеры, мы избегаем необходимости изучения преобразования из мировых координат в координаты камеры, что также помогает улучшить точность (Таблица 1, 5-6-я строки).

Четыре шаблонные сцены, используемые для генерации обучающих данных.
Рисунок 3 – Четыре шаблонные сцены, используемые для генерации обучающих данных.

Эмбеддинг набора лучей. Каждый набор лучей — это коллекция из 8 × 8 лучей, которые проходят через центр пикселей соответствующего патча пикселей. Поскольку сцена выражена в координатах камеры на зависимом от точки обзора этапе, начало всех лучей находится в (0, 0, 0). Поэтому нам необходимо закодировать только нормализованные направления каждого луча. Мы объединяем 64 вектора направлений в 192-мерный вектор, который последовательно кодируется одним линейным слоем с последующей RMS-нормализацией в 768-мерный токен.

3.3 Обучение

Мы обучаем RenderFormer сквозным образом с использованием оптимизатора AdamW [Loshchilov and Hutter 2019] с размером батча 128, линейным увеличением скорости обучения до 1.0×10-4 за 8,000 шагов с последующим косинусным распадом на 8 GPU NVIDIA A100 с 40 ГБ памяти, используя Flash-Attention 2 [Dao 2024] и Liger Kernel [Hsu et al. 2024] для ускорения. Сначала мы обучаем RenderFormer с разрешением 256 × 256 и максимальным количеством треугольников 1,536 в течение 500 тыс. итераций, что заняло примерно 5 дней, за которыми последовали дополнительные 100 тыс. итераций дообучения с разрешением 512 × 512 и максимальным количеством треугольников 4,096, что заняло ещё 3 дня. Хотя RenderFormer инвариантен к перемещению сцены благодаря относительному пространственному позиционному кодированию, он не инвариантен к поворотам. Поэтому мы повышаем стабильность к поворотам сцены, применяя случайный поворот к сцене (включая камеру); это не требует повторного рендеринга, и поэтому поворот выполняется на лету во время обучения с использованием RoMa [Brégier 2021].

Функция потерь

Мы обучаем RenderFormer в режиме обучения с учителем, вычисляя L1-потерю между эталонным HDR-изображением синтетической сцены и прогнозом RenderFormer. Чтобы избежать доминирования потери из-за небольших ошибок на ярких бликах, мы сначала применяем логарифмическое преобразование к изображениям перед вычислением L1-потери. Кроме того, для минимизации перцептивных различий мы также включаем LPIPS-потерю [Zhang et al. 2018] к тонально-отображённой версии (𝑐𝑙𝑎𝑚𝑝(log 𝐼/log 2, 0, 1)) обоих изображений. Финальная потеря тогда:

$$loss_{L1} + 0.05 \cdot loss_{LPIPS}$$

Обучающие данные

Наш обучающий набор состоит из синтетических сцен, составленных из 1-3 случайно выбранных объектов из набора данных Objaverse [Deitke et al. 2023], случайным образом размещенных в одном из четырёх шаблонных сцен (показаны на Рисунке 3), которые состоят из комбинации (случайно перемещённых, повёрнутых и масштабированных) пола, задней и боковых стен. Камера размещается вне сцены таким образом, чтобы её обзор не перекрывался ни одной из шаблонных стен, с углом обзора (FOV), равномерно распределённым между 30° и 60°. Камера направлена в сторону центра (с некоторыми возмущениями, чтобы избежать всегда точного центрирования) на расстоянии, равномерно распределённом между 1.5 и 2.0 единиц, где одна единица соответствует размеру ограничивающего ящика сцены. Между 1 и 8 источников света (т.е. треугольников с диффузным излучением), с интенсивностью, равномерно распределённой между 2,500 и 5,000 𝑊/𝑢𝑛𝑖𝑡𝑠², размещаются по аналогичной процедуре, как и камера, но на расстоянии, равномерно распределённом между 2.1 и 2.7 единиц. Мы случайным образом назначаем параметры материалов либо на каждый объект, либо на каждый треугольник с соотношением 1:1. Мы случайным образом назначаем RGB-цвет диффузной альбедо с максимальной интенсивностью на каждый цветовой канал, установленной таким образом, чтобы сумма с монохроматической зеркальной альбедо лежала между 0.9 и 1.0 (равномерно распределённо). Шероховатость логарифмически выбирается из интервала [0.01, 1.0]. Кроме того, мы случайным образом выбираем с равной вероятностью, затеняется ли объект с использованием нормалей на вершинах или плоским затенением.

Вычислительная сложность слоёв внимания масштабируется квадратично с числом токенов, а значит и треугольников в нашем случае. Поэтому мы ограничиваем общее количество треугольников в сценах до 4,096; увеличение этого предела является интересным направлением для будущих исследований. Поскольку объекты в наборе данных Objaverse легко превышают наш бюджет треугольников, мы ремешируем объекты, сначала удаляя внутренние или неправильно сформированные треугольники (путём преобразования в знаковое поле расстояния с последующим шагом marching cubes для преобразования обратно в чистую треугольную сетку), а затем используем Qslim для уменьшения количества граней между 256 и 3,072.

Мы генерируем 8 млн HDR обучающих изображений для 2 млн синтетических сцен из 4 различных точек обзора с разрешением 256 × 256 (с максимальным количеством треугольников 1,536) и дополнительные 8 млн HDR обучающих изображений с разрешением 512 × 512 с максимальным количеством треугольников 4,096 с использованием Blender Cycles с 4,096 выборками на пиксель (с использованием адаптивной выборки и денойзинга).

4 Результаты

Мы демонстрируем RenderFormer на различных сценах (Рисунок 1 и Рисунок 4), демонстрирующих разные аспекты переноса глобального света. Для каждого примера мы показываем эталонный рендер, вычисленный с помощью Blender Cycles с 4,096 выборками на пиксель, и изображение различий, масштабированное в 5 раз, а также ошибки PSNR, SSIM, LPIPS [Zhang et al. 2018] и HDR-FLIP [Andersson et al. 2020]. Качественно результаты RenderFormer выглядят визуально похожими, хотя и не идентичными. Тем не менее, RenderFormer успешно включает многие важные эффекты переноса света, такие как тени, диффузные и зеркальные взаимные отражения, глянцевые отражения и множественные зеркальные взаимные отражения. Хотя это не принудительно обеспечивается, RenderFormer стабилен к изменениям параметров сцены, как показано в дополнительном видео, где мы перемещаем камеру, перемещаем освещение и изменяем свойства отражения.

Различные сцены, отрендеренные с помощью RenderFormer
Рисунок 4 – Различные сцены, отрендеренные с помощью RenderFormer и сравнённые с эталонными изображениями, полученными с помощью трассировки пути. Мы также приводим ошибки PSNR, SSIM, LPIPS и FLIP.
Сравнение равного времени рендеринга
Рисунок 5 – Сравнение равного времени рендеринга между RenderFormer и Blender Cycles с (неадаптивными) 26 выборками на пиксель и без денойзинга.
Таблица 2 – Сравнение времени работы между RenderFormer и Blender Cycles с 4,096 выборками на пиксель (соответствующих настройкам для генерации обучающих данных). Мы включаем как время с адаптивной выборкой и денойзингом, так и без них. Кроме того, мы предоставляем детализацию времени, затраченного на независимый от обзора и зависимый от обзора этапы. Время измеряется в секундах с предварительно кэшированными ядрами и исключая стоимость загрузки сцены.
Рисунок 1
Первый
Второй Третий Четвёртый
#Треугольников 5366 4400 4527 7321
Cycles 4,096 адаптивных впп + денойзинг 3.97 4.73 3.77 2.71
Cycles 4,096 впп 12.05 11.21 9.95 7.83
RenderFormer 0.0760 0.0613 0.0625 0.0978
Независимый от обзора этап 0.0282 0.0186 0.0192 0.0429
Зависимый от обзора этап 0.0478 0.0427 0.0433 0.0549

Таблица 2 сравнивает время работы на четырёх сценах из Рисунка 1 для неоптимизированного RenderFormer (чистая реализация на PyTorch без компиляции DNN, но с предварительным кэшированием ядер) и Blender Cycles с 4,096 выборками на пиксель (соответствующих обучающим данным RenderFormer) с разрешением 512 × 512 на одном GPU NVIDIA A100. Для дополнительного понимания мы также предоставляем качественное сравнение при равном времени (Рисунок 5) первой сцены из Рисунка 1; поскольку фиксированная стоимость денойзинга превышает время RenderFormer, а зависящая от сцены нелинейная стоимость адаптивной выборки, мы отключаем обе оптимизации для сравнения при равном времени. Помимо оптимизации реализации RenderFormer, мы можем дополнительно ускорить рендеринг для статичных сцен путём повторного использования преобразованной последовательности, независимой от обзора, или для анимаций путём рендеринга 48 кадров параллельно с использованием батчинга.

4.1 Анализ и аблационное исследование

Архитектура RenderFormer отличается от предыдущих методов нейронного рендеринга и следует значительно другому способу решения уравнения рендеринга по сравнению с классическими методами глобального освещения. Чтобы лучше понять внутреннюю работу RenderFormer, мы проводим серию аблационных исследований. Из-за вычислительных ограничений все аблационные эксперименты выполняются с разрешением 256 × 256.

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

Размер модели. Ключевой параметр дизайна в моделях трансформеров — это длина признаков токена; более длинные признаки приводят к большим моделям и, следовательно, к более длительному времени обучения. Таблица 1 (строки 7-11) перечисляет средние ошибки PSNR, SSIM, LPIPS [Zhang et al. 2018] и HDR-FLIP [Andersson et al. 2020] по 400 тестовым сценам, отрендеренным из 4 точек обзора (т.е. всего 1,600) для моделей, обученных с длиной признаков от 768 до 192. Мы также изменяем количество слоёв внимания для дальнейшего уменьшения количества параметров модели с 205 млн до 143 млн, 71 млн и 45 млн соответственно. В целом, большее количество параметров даёт более точные результаты.

Количество слоёв. В предыдущем эксперименте мы намеренно сохраняли соотношение слоёв внимания между независимым от обзора и зависимым от обзора этапами постоянным. Мы проводим дополнительное аблационное исследование, чтобы лучше понять влияние соотношения слоёв внимания между обоими этапами. Таблица 1 (строки 11-14) сравнивает модели RenderFormer с различным распределением общего количества 18 слоёв внимания по двум этапам. Рисунок 6 качественно показывает влияние изменения количества слоёв внимания на этап. Мы наблюдаем, что RenderFormer получает пользу от включения большего количества слоёв внимания в зависимом от обзора этапе, чем в независимом от обзора. Полное исключение независимого от обзора этапа (Таблица 1, 14-я строка и Рисунок 6, 2-й столбец) не даёт хороших результатов, что указывает на необходимость независимого от обзора этапа для получения хороших результатов. Однако рендеринг часто требует тщательного баланса между точностью и скоростью. Время работы каждого этапа зависит от различных факторов. Независимый от обзора этап масштабируется примерно как O(#𝑡𝑟𝑖𝑠²), тогда как зависимые от обзора слои масштабируются как O(#𝑏𝑢𝑛𝑑𝑙𝑒𝑠² + #𝑏𝑢𝑛𝑑𝑙𝑒𝑠 × #𝑡𝑟𝑖𝑠). Кроме того, разница в точности (bf16 против tf32) накладывает дополнительное аппаратно-зависимое масштабирование производительности между этапами. Идеальное количество слоёв внимания на этап является сложным и зависит от размера сетки, разрешения и аппаратного обеспечения. Поэтому мы выбираем соотношение 12 + 6 слоёв внимания между независимым от обзора и зависимым от обзора этапами, балансируя точность и скорость обучения/рендеринга (т.е. ~25% быстрее при ~5% потере точности).

Качественное сравнение различных соотношений слоёв внимания
Рисунок 6 – Качественное сравнение вариаций количества слоёв внимания, независимых и зависимых от обзора, на этап. RenderFormer показан в последнем столбце с соотношением 12 слоёв, независимых от обзора, и 6 слоёв, зависимых от обзора.
Визуализация преобразованных токенов
Рисунок 7 – Визуализация преобразованных токенов из независимого от обзора этапа, которые (после преобразования) кодируют плавное диффузное затенение и взаимные отражения, а также тени с детализацией на уровне субтреугольников.
Визуализация среднего внимания на треугольник
Рисунок 8 – Визуализация среднего внимания на треугольник для заданного набора лучей на зависимом от обзора этапе. Среднее внимание даёт представление о том, какие треугольники RenderFormer использует для вычисления исходящего излучения для лучей в наборе. Как и ожидалось, наибольшее внимание получают треугольники, непосредственно видимые, и треугольники вокруг отражённого направления.

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

Интерпретация вложения токенов треугольников не следует исходному вложению после прохождения через независимый от обзора этап, что делает невозможным прямую визуализацию токенов треугольников. Поэтому мы обучаем небольшой вспомогательный MLP, который преобразует преобразованный токен треугольника в 32 × 32 RGB-текстуру для каждого треугольника. Поскольку регистровые токены могут содержать важную информацию, мы также включаем слой кросс-внимания между каждым токеном треугольника и 16 регистровыми токенами. Мы обучаем MLP и слои кросс-внимания, сохраняя независимый от обзора этап замороженным, на небольшом батче (~500) простых солидных диффузных сцен. MLP намеренно делается мелким, чтобы ограничить его простыми операциями, которые напрямую визуализируют информацию, вложенную в токены. Рисунок 7 показывает, что независимый от обзора этап решает значительную часть диффузного переноса света между треугольниками, а также тени.

Использование треугольников большего размера
Рисунок 9 – Использование треугольников большего, чем обычно, размера для постамента и икосферы приводит к ухудшению теней и затенения (2-й столбец). Интересно, что это ухудшение также видно в отражениях на задней стене.

Зависимый от обзора этап собирает информацию из токенов треугольников для вычисления наблюдаемого излучения для каждого пикселя. На Рисунке 8 мы визуализируем (сумму) весов внимания, проецируемых на соответствующие треугольники для выбранных наборов лучей и визуализированных из соответствующего ракурса. Эта визуализация показывает, насколько каждый треугольник вносит вклад в финальное излучение, наблюдаемое для заданного набора лучей. Из Рисунка 8 мы видим, что основной вес лежит на непосредственно видимом треугольнике, а также на треугольниках вокруг отражённого направления. Мы также видим, что распределение весов меняется, когда мы увеличиваем шероховатость материала.

4.2 Обобщение параметров сцены

Хотя предыдущее аблационное исследование и анализ дают больше представления о внутренней работе RenderFormer, они не показывают, как модель работает в практических ситуациях и каковы её пределы. Поэтому мы проводим несколько экспериментов для изучения возможностей обобщения RenderFormer в отношении треугольных сеток, источников света и камеры.

Треугольные сетки. В настоящее время обучающие данные генерируются таким образом, что треугольники примерно одинакового размера. Чтобы лучше понять, влияет ли размер треугольника на точность решения, мы проводим эксперимент, в котором рендерим сцену дважды (Рисунок 9), один раз, когда постамент и икосфера представлены 1318 треугольниками среднего размера, и один раз с 332 более крупными треугольниками. Как видно на Рисунке 9 (2-й столбец), качество затенения и теней на больших треугольниках ухудшается из-за того, что токенам треугольников теперь нужно хранить более сложную информацию на треугольник.

RenderFormer с несколькими источниками света
Рисунок 10 – RenderFormer может обрабатывать несколько источников света с правильными отражениями и тенями (1-4 столбцы), пока количество источников не превышает 8 (как в обучении). При большем количестве источников могут отсутствовать блики или тени (например, отсутствующая двойная тень в нижней части в 5-м столбце). В таком случае мы всё ещё можем вычислить правильный результат путём композитинга нескольких изображений с одним источником света (6-й столбец)
Ограничения RenderFormer при работе с освещением
Рисунок 11 – Слева: RenderFormer никогда не обучался со светом внутри сцены и поэтому не может правильно рендерить такие сцены. В центре: RenderFormer может симулировать цветные источники света, используя линейность переноса света и смешивая три изображения (по одному для каждого цветового канала). Справа: RenderFormer не может правильно рендерить сцены с источниками света большего размера, чем в обучающих данных. Разделение треугольника может исправить ошибку, если количество источников света не превышает максимум, виденный во время обучения (8), в этом случае мы можем использовать линейность переноса света, рендеря каждый разделённый источник отдельно.
RenderFormer с большим количеством треугольников
Рисунок 12 – RenderFormer может обрабатывать сцены с большим количеством треугольников, чем при обучении, хотя и с потерей деталей и тонких особенностей.

Слои внимания, образующие основу трансформеров, затратны в вычислительном отношении. Поэтому обучающий набор для RenderFormer ограничен сценами максимум с 4096 треугольниками. Рисунок 12 показывает, что RenderFormer может обрабатывать более крупные треугольные сетки во время инференса, хотя и с некоторой потерей деталей. Однако мы наблюдаем, что в целом RenderFormer работает корректно при большинстве случаев переноса света. Мы используем это свойство во время обучения, сначала дообучая на более маленьких сценах (1536 треугольников), а затем уточняя на более крупных сценах (4096 треугольников). Однако из-за O(𝑁²) сложности слоёв внимания существует предел того, насколько далеко можно продвинуть модель, прежде чем закончатся ресурсы.

Многие методы оптимизации внимания, используемые в LLM и Vision Transformers [Dong et al. 2023; Liu et al. 2021; Wang et al. 2021b], используют свойства, присущие 1D последовательностям или 2D изображениям, тогда как RenderFormer работает в 3D, что затрудняет прямое применение. Адаптация современных методов из LLM и Vision Transformers (таких как линейные механизмы внимания, нативное разреженное внимание и параллелизм последовательностей) является перспективным направлением для будущих исследований, особенно в сочетании с установленными методологиями компьютерной графики, такими как LoD и BVH.

Освещение. RenderFormer в настоящее время обучён для сцен с 1-8 источниками света. Рисунок 10 (столбцы 1-4) показывает последовательность изображений сцены с увеличивающимся количеством источников света. Мы наблюдаем, что RenderFormer не всегда корректно обрабатывает случаи, когда количество источников света превышает максимум, виденный во время обучения, что приводит к неполным теням или отсутствующим бликам (Рисунок 10, 5-й столбец). Максимальное количество источников света можно увеличить либо обучая с большим количеством источников, либо используя линейность переноса света, рендеря каждый источник света отдельно и складывая полученные изображения (Рисунок 10, 6-й столбец).

В настоящее время RenderFormer также обучён со световыми источниками, расположенными вне сцены, и размещение источника света внутри сцены даёт неправильный результат (Рисунок 11, 2-й столбец). Более того, RenderFormer обучён только для белых источников света; RenderFormer игнорирует цвет, когда сталкивается с цветным источником света. Эту проблему можно решить либо расширив обучающий набор, либо используя линейность переноса света (Рисунок 11, 4-й столбец).

Кроме того, RenderFormer обучён для ограниченного диапазона размеров источников света. Как и ожидалось, превышение обученного размера источника света (Рисунок 11, 6-й столбец) не даёт правильных теней. Мы можем либо расширить обучающий набор, либо создавать более крупные источники света, разделяя источник света на большее количество (меньших) треугольников (Рисунок 11, 7-й (прямой рендер) и 8-й столбец (композитный рендер)).

Устойчивость RenderFormer к параметрам камеры
Рисунок 13 – RenderFormer устойчив к приближению камеры ближе, чем виденное во время обучения (2-й столбец), пока камера остаётся вне сцены (3-й столбец). RenderFormer также устойчив к превышению поля зрения, виденного во время обучения (4-6 столбцы). Мы также обнаружили, что RenderFormer работает корректно при более высоких разрешениях (7-9 столбцы), с различиями вокруг разрывов глубины (например, между серой и синей стенами)
RenderFormer и сложные перекрытия
Рисунок 14 – RenderFormer может корректно воспроизводить перекрытия для сцен со многими объектами. Однако тени, отбрасываемые объектами с очень сложными формами, могут привести к потере деталей в отбрасываемой тени

Параметры камеры. Подобно источникам света, RenderFormer также обучён только для камеры, расположенной вне сцены. В результате RenderFormer никогда не учился, что треугольники могут находиться за камерой, и не может корректно рендерить такие сцены (Рисунок 13, 3-й столбец). Расширение обучающего набора для включения таких случаев может позволить RenderFormer научиться обрабатывать такие ситуации.

RenderFormer также обучён для ограниченного диапазона углов обзора (FOV). Однако из Рисунка 13 (4-6 столбцы) видно, что RenderFormer, по-видимому, устойчив к выходу за этот диапазон.

RenderFormer также обучён только для фиксированного разрешения 512 × 512. Хотя теоретически наборы лучей могут моделировать более высокое разрешение, мы обнаружили, что RenderFormer проявляет небольшую зависимость от разрешения. Как показано на Рисунке 13 (8-й и 9-й столбцы), при применении к более высоким разрешениям RenderFormer работает корректно, с большинством ошибок, сосредоточенных вокруг разрывов глубины. Мы также используем это свойство, сначала обучая RenderFormer с более низким разрешением (256 × 256), а затем дообучая его с разрешением 512 × 512.

Сложность сцены. Наконец, мы исследуем точность RenderFormer в отношении сложности сцены. В частности, мы изучаем, может ли RenderFormer обрабатывать сложные перекрывающие объекты и множественные зеркальные отражения. Рисунок 14 показывает сцены с возрастающей сложностью перекрывающих объектов. Первые два столбца показывают серию плотно упакованных плоскостей, отбрасывающих тени между плоскостями и полом. Рисунок 14 (3-5 столбцы) показывает серию маленьких перекрывающих объектов, размещенных на различном расстоянии между плоскостью пола и источником света. Мы наблюдаем, что тени от перекрывающих объектов со сложными формами иногда теряют мелкие детали (Рисунок 14, столбцы 3-5).

Рисунок 15 показывает, насколько хорошо RenderFormer обрабатывает многократные отражения. Хотя RenderFormer не рассуждает с точки зрения физических отражений переноса света, мы обнаруживаем, что RenderFormer корректно моделирует в среднем 3 отражения зеркального света, но более высокие отражения теряются (например, 2-е отражение красного шара на задней стене в последнем примере на Рисунке 15). Мы обнаружили, что глубина отражения не зависит от количества слоёв, зависимых от обзора, и предполагаем, что это ограничение в основном связано с недостатком обучающих примеров с более высокими зеркальными отражениями, и тщательное расширение обучающего набора данных может улучшить производительность для многократных отражений.

Текстуры. RenderFormer предполагает постоянные свойства отражения по треугольнику. Мы проводим исследовательский эксперимент по расширению RenderFormer для включения пространственно-вариативного отражения поверхности путём модификации вложения токена отражения. Вместо расширения стекированных параметров отражения в 768-мерный вектор, мы напрямую кодируем пространственно-вариативную информацию на уровне треугольника. Для вложения пространственно-вариативных параметров (т.е., 13 каналов, содержащих диффузную альбедо, зеркальную альбедо, шероховатость и нормаль поверхности), мы сначала растеризуем параметры в равнобедренный прямоугольный треугольник с разрешением 32 × 32. Затем мы объединяем все тексели в 13312-мерный вектор (т.е., 32 × 32 текселей и 13 каналов на тексель), который кодируется одним линейным слоем с последующей RMS-нормализацией в 768-мерный токен. Наши начальные результаты (Рисунок 16) показывают, что RenderFormer способен моделировать пространственно-вариативное отражение, хотя и с размытием. Расширение длины токена может улучшить качество текстуры; мы оставляем это для будущих исследований.

Множественные зеркальные отражения в RenderFormer
Рисунок 15 – RenderFormer корректно обрабатывает 1 и 2 рекурсивных зеркальных взаимных отражения. Однако из-за недостатка обучающих примеров с большим количеством зеркальных взаимных отражений, он не всегда корректно разрешает отражения высшего порядка (например, отражение красного шара в отражении зеркала на верхней стене).
Preliminary results of extending RenderFormer to support spatially-varying material properties.
Рисунок 16 – Предварительные результаты расширения RenderFormer для поддержки пространственно-вариативных свойств материалов.

5 Заключение

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

Существует множество направлений для дальнейшего улучшения RenderFormer. Во-первых, мы можем расширить обучающий набор для поддержки более разнообразных положений камеры и источников света. Кроме того, хотя наша текущая реализация использует обучающие данные, отрендеренные с использованием модели BRDF GGX, мы не накладываем никаких внутренних архитектурных ограничений, связанных с моделью отражения. Следовательно, RenderFormer может быть обучён на альтернативных наборах данных с использованием других моделей отражения, включая те, которые моделируют прозрачность или подповерхностное рассеивание. В настоящее время RenderFormer поддерживает только простые источники света, и расширение на окружающее освещение и не-диффузные источники света дополнительно обобщит RenderFormer. Поскольку RenderFormer полностью основан на трансформерах, он по своей природе дифференцируем, что позволяет нам обучать RenderFormer непосредственно на данных. Интересным и перспективным направлением для будущей работы, использующим встроенную дифференцируемость, было бы применение RenderFormer к задачам обратного рендеринга. Наконец, мы хотели бы исследовать иерархические методы внимания, основанные на существующих ускоряющих структурах группировки для классических методов рендеринга (например, BVH), для поддержки более сложных сцен с более крупными треугольными сетками.

Благодарности

Мы хотим поблагодарить Кексун Чжана и Кайци Чена за обсуждения дизайна модели трансформеров и оптимизаций производительности, а также Сэма Сартора за советы по Blender Cycle и предварительное рецензирование этой работы. Питер Пирс получил поддержку частично от гранта NSF IIS-1909028. Чонг Цзен и Хонгчи У получили частичную поддержку от NSF China (62332015, 62227806 & 62421003), XPLORER PRIZE и Информационного технологического центра и Государственной ключевой лаборатории САПР и компьютерной графики, Чжэцзянского университета.

Список литературы

  1. Pontus Andersson, Jim Nilsson, Tomas Akenine-Möller, Magnus Oskarsson, Kalle Åström, and Mark D Fairchild. 2020. FLIP: A Difference Evaluator for Alternating Images. Proc. ACM Comput. Graph. Interact. Tech. 3, 2 (2020).
  2. Steve Bako, Thijs Vogels, Brian Mcwilliams, Mark Meyer, Jan NováK, Alex Harvill, Pradeep Sen, Tony Derose, and Fabrice Rousselle. 2017. Kernel-predicting convolutional networks for denoising Monte Carlo renderings. ACM Trans. Graph. 36, 4 (2017).
  3. Romain Brégier. 2021. Deep Regression on Manifolds: a 3D Rotation Case Study. International Conference on 3D Vision.
  4. Michael F Cohen, Shenchang Eric Chen, John R Wallace, and Donald P Greenberg. 1988. A progressive refinement approach to fast radiosity image generation. In Proceedings of the 15th annual conference on Computer graphics and interactive techniques. 75–84.
  5. Arno Coomans, Edoardo Alberto Dominici, Christian Döring, Joerg H. Mueller, Jozef Hladky, and Markus Steinberger. 2024. Real-time Neural Rendering of Dynamic Light Fields. Comp. Graph. Forum (2024).
  6. Tri Dao. 2024. FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning. In ICLR.
  7. Timothée Darcet, Maxime Oquab, Julien Mairal, and Piotr Bojanowski. 2024. Vision Transformers Need Registers. In ICLR.
  8. Matt Deitke, Dustin Schwenk, Jordi Salvador, Luca Weihs, Oscar Michel, Eli VanderBilt, Ludwig Schmidt, Kiana Ehsani, Aniruddha Kembhavi, and Ali Farhadi. 2023. Objaverse: A universe of annotated 3d objects. In CVPR. 13142–13153.
  9. Zican Dong, Tianyi Tang, Lunyi Li, and Wayne Xin Zhao. 2023. A survey on long text modeling with transformers. arXiv preprint arXiv:2302.14502 (2023).
  10. Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. 2020. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. In ICLR.
  11. Philip Dutré, Philippe Bekaert, and Kavita Bala. 2018. Advanced global illumination. AK Peters/CRC Press.
  12. Duan Gao, Haoyuan Mu, and Kun Xu. 2022. Neural global illumination: Interactive indirect illumination prediction under dynamic area lights. Trans. Vis. and Comp. Graph. 29, 12 (2022), 5325–5341.
  13. Ruiqi Gao, Aleksander Holynski, Philipp Henzler, Arthur Brussee, Ricardo Martin-Brualla, Pratul P. Srinivasan, Jonathan T. Barron, and Ben Poole*. 2024. CAT3D: Create Anything in 3D with Multi-View Diffusion Models. NeurIPS (2024).
  14. Cindy M Goral, Kenneth E Torrance, Donald P Greenberg, and Bennett Battaile. 1984. Modeling the interaction of light between diffuse surfaces. ACM SIGGRAPH computer graphics 18, 3 (1984), 213–222
  15. Jonathan Granskog, Fabrice Rousselle, Marios Papas, and Jan Novák. 2020. Compositional neural scene representations for shading inference. ACM Trans. Graph. 39, 4 (2020).
  16. Jonathan Granskog, Till N Schnabel, Fabrice Rousselle, and Jan Novák. 2021. Neural scene graph rendering. ACM Trans. Graph. 40, 4 (2021).
  17. Saeed Hadadan, Shuhong Chen, and Matthias Zwicker. 2021. Neural radiosity. ACM Trans. Graph. 40, 6 (2021).
  18. Ayaan Haque, Matthew Tancik, Alexei A Efros, Aleksander Holynski, and Angjoo Kanazawa. 2023. Instruct-nerf2nerf: Editing 3d scenes with instructions. In CVPR. 19740–19750.
  19. Alex Henry, Prudhvi Raj Dachapally, Shubham Shantaram Pawar, and Yuxuan Chen. 2020. Query-Key Normalization for Transformers. In EMNLP. 4246–4253.
  20. Pin-Lun Hsu, Yun Dai, Vignesh Kothapalli, Qingquan Song, Shao Tang, Siyu Zhu, Steven Shimizu, Shivam Sahni, Haowen Ning, and Yanning Chen. 2024. Liger Kernel: Efficient Triton Kernels for LLM Training. arXiv preprint arXiv:2410.10989 (2024). arXiv:2410.10989 [cs.LG] https://arxiv.org/abs/2410.10989
  21. Haian Jin, Hanwen Jiang, Hao Tan, Kai Zhang, Sai Bi, Tianyuan Zhang, Fujun Luan, Noah Snavely, and Zexiang Xu. 2024. Lvsm: A large view synthesis model with minimal 3d inductive bias. arXiv preprint arXiv:2410.17242 (2024).
  22. James T Kajiya. 1986. The rendering equation. In Proceedings of the 13th annual conference on Computer graphics and interactive techniques. 143–150.
  23. Jacob Devlin Ming-Wei Chang Kenton and Lee Kristina Toutanova. 2019. Bert: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of naacL-HLT, Vol. 1. 2.
  24. Yixun Liang, Hao He, and Yingcong Chen. 2024. Retr: Modeling rendering via transformer for generalizable neural surface reconstruction. NeurIPS 36 (2024).
  25. Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, and Baining Guo. 2021. Swin transformer: Hierarchical vision transformer using shifted windows. In CVPR. 10012–10022.
  26. Ilya Loshchilov and Frank Hutter. 2019. Decoupled Weight Decay Regularization. In ICLR.
  27. Ben Mildenhall, Pratul P Srinivasan, Matthew Tancik, Jonathan T Barron, Ravi Ramamoorthi, and Ren Ng. 2021. Nerf: Representing scenes as neural radiance fields for view synthesis. Commun. ACM 65, 1 (2021), 99–106.
  28. Thomas Müller, Fabrice Rousselle, Jan Novák, and Alexander Keller. 2021. Real-time neural radiance caching for path tracing. ACM Trans. Graph. 40, 4 (2021).
  29. Thu Nguyen-Phuoc, Chuan Li, Stephen Balaban, and Yong-Liang Yang. 2018. RenderNet: A deep convolutional network for differentiable rendering from 3D shapes. In NeurIPS.
  30. FE Nicodemus, JC Richmond, JJ Hsia, IW Ginsberg, and T Limperis. 1992. Geometrical considerations and nomenclature for reflectance. In Radiometry. 94–145.
  31. Matt Pharr, Wenzel Jakob, and Greg Humphreys. 2023. Physically based rendering: From theory to implementation. MIT Press.
  32. Gilles Rainer, Adrien Bousseau, Tobias Ritschel, and George Drettakis. 2022. Neural Precomputed Radiance Transfer. Comp. Graph. Forum 41, 2 (April 2022).
  33. René Ranftl, Alexey Bochkovskiy, and Vladlen Koltun. 2021. Vision transformers for dense prediction. In CVPR. 12179–12188.
  34. Jeremy Reizenstein, Roman Shapovalov, Philipp Henzler, Luca Sbordone, Patrick Labatut, and David Novotny. 2021. Common objects in 3d: Large-scale learning and evaluation of real-life 3d category reconstruction. In ICCV. 10901–10911.
  35. Konstantinos Rematas and Vittorio Ferrari. 2020. Neural Voxel Renderer: Learning an Accurate and Controllable Rendering Tool. In CVPR. 5416–5426.
  36. Haocheng Ren, Yuchi Huo, Yifan Peng, Hongtao Sheng, Weidong Xue, Hongxiang Huang, Jingzhen Lan, Rui Wang, and Hujun Bao. 2024. LightFormer: Light-Oriented Global Neural Rendering in Dynamic Scene. ACM Trans. Graph. 43, 4 (July 2024).
  37. Mehdi SM Sajjadi, Henning Meyer, Etienne Pot, Urs Bergmann, Klaus Greff, Noha Radwan, Suhani Vora, Mario Lučić, Daniel Duckworth, Alexey Dosovitskiy, et al. 2022. Scene representation transformer: Geometry-free novel view synthesis through set-latent scene representations. In CVPR. 6229–6238.
  38. Paul Sanzenbacher, Lars Mescheder, and Andreas Geiger. 2020. Learning neural light transport. arXiv preprint arXiv:2006.03427 (2020).
  39. Noam Shazeer. 2020. Glu variants improve transformer. arXiv preprint arXiv:2002.05202 (2020).
  40. Peter-Pike Sloan, Jan Kautz, and John Snyder. 2023. Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments. In Seminal Graphics Papers: Pushing the Boundaries, Volume 2. 339–348.
  41. Jianlin Su, Murtadha Ahmed, Yu Lu, Shengfeng Pan, Wen Bo, and Yunfeng Liu. 2024a. Roformer: Enhanced transformer with rotary position embedding. Neurocomputing 568 (2024), 127063.
  42. Rui Su, Honghao Dong, Jierui Ren, Haojie Jin, Yisong Chen, Guoping Wang, and Sheng Li. 2024b. Dynamic Neural Radiosity with Multi-grid Decomposition. In SIGGRAPH Asia 2024 Conference Papers. 1–12.
  43. Mohammed Suhail, Carlos Esteves, Leonid Sigal, and Ameesh Makadia. 2022. Light field neural rendering. In CVPR. 8269–8279.
  44. A. Tewari, J. Thies, B. Mildenhall, P. Srinivasan, E. Tretschk, W. Yifan, C. Lassner, V. Sitzmann, R. Martin-Brualla, S. Lombardi, T. Simon, C. Theobalt, M. Niessner, J. T. Barron, G. Wetzstein, M. Zollhöfer, and V. Golyanik. 2022. Advances in Neural Rendering. Comp. Graph. Forum 41, 2 (2022), 703–735.
  45. Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, et al. 2023. Llama: Open and efficient foundation language models. arXiv preprint arXiv:2302.13971 (2023).
  46. Mukund Varma, Peihao Wang, Xuxi Chen, Tianlong Chen, Subhashini Venugopalan, and Zhangyang Wang. 2022. Is attention all that NeRF needs?. In ICLR.
  47. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In NeurIPS. 6000–6010.
  48. Bruce Walter, Stephen R. Marschner, Hongsong Li, and Kenneth E. Torrance. 2007. Microfacet models for refraction through rough surfaces. In EGSR. 195–206.
  49. Qianqian Wang, Zhicheng Wang, Kyle Genova, Pratul P Srinivasan, Howard Zhou, Jonathan T Barron, Ricardo Martin-Brualla, Noah Snavely, and Thomas Funkhouser. 2021a. Ibrnet: Learning multi-view image-based rendering. In CVPR. 4690–4699.
  50. Qi Wang, Zhihua Zhong, Yuchi Huo, Hujun Bao, and Rui Wang. 2023. State of the Art on Deep Learning-enhanced Rendering Methods. Machine Intelligence Research 20, 6 (2023), 799–821.
  51. Wenhai Wang, Enze Xie, Xiang Li, Deng-Ping Fan, Kaitao Song, Ding Liang, Tong Lu, Ping Luo, and Ling Shao. 2021b. Pyramid vision transformer: A versatile backbone for dense prediction without convolutions. In ICCV. 568–578.
  52. Yu-Jie Yuan, Yang-Tian Sun, Yu-Kun Lai, Yuewen Ma, Rongfei Jia, and Lin Gao. 2022. Nerf-editing: geometry editing of neural radiance fields. In CVPR. 18353–18364.
  53. Biao Zhang and Rico Sennrich. 2019. Root mean square layer normalization. NeurIPS 32 (2019).
  54. Richard Zhang, Phillip Isola, Alexei A Efros, Eli Shechtman, and Oliver Wang. 2018. The unreasonable effectiveness of deep features as a perceptual metric. In CVPR. 586–595.
  55. Chuankun Zheng, Yuchi Huo, Hongxiang Huang, Hongtao Sheng, Junrong Huang, Rui Tang, Hao Zhu, Rui Wang, and Hujun Bao. 2024. Neural Global Illumination via Superposed Deformable Feature Fields. In SIGGRAPH Asia 2024 Conference Papers. 1–11.