그림 1. RenderFormer를 사용하여 장면별 학습이나 미세 조정 없이 렌더링된 삼각형 메쉬 기반 장면의 예시입니다. 여기에는 (다중) specular reflection, 삼각형보다 세밀한 복잡한 그림자, diffuse indirect lighting, glossy reflection, 부드러운 그림자와 강한 그림자, 다중 광원 등이 포함됩니다.
본 연구는 RenderFormer라는 neural rendering 파이프라인을 소개합니다. 이 파이프라인은 장면의 삼각형 기반 표현에서 global illumination 효과를 직접 렌더링하며, 장면별 학습이나 미세 조정이 필요하지 않습니다. 물리 기반 렌더링 접근 대신, 렌더링을 시퀀스-투-시퀀스 변환으로 정의합니다. 즉, 삼각형의 반사 특성을 나타내는 토큰 시퀀스를 작은 픽셀 패치의 출력 토큰 시퀀스로 변환하는 것입니다.
시퀀스-투-시퀀스 변환은 입력 시퀀스를 출력 시퀀스로 매핑하는 변환 과정입니다. RenderFormer에서는 삼각형의 반사 특성을 나타내는 토큰 시퀀스를 픽셀 패치의 출력 토큰 시퀀스로 변환하는 방식으로, 전통적인 물리 기반 렌더링 방정식을 명시적으로 풀지 않고 transformer 아키텍처를 통해 렌더링 문제를 해결합니다.
RenderFormer는 두 단계 파이프라인을 따릅니다. 첫 번째는 삼각형 간 빛 전송을 모델링하는 뷰 독립적 단계이고, 두 번째는 첫 번째 단계의 삼각형 시퀀스가 안내하는 광선 묶음 토큰을 해당 픽셀 값으로 변환하는 뷰 종속적 단계입니다. 두 단계 모두 transformer 아키텍처를 기반으로 하며, 최소한의 사전 제약으로 학습됩니다. 다양한 형태와 빛 전송 복잡성을 가진 장면에서 RenderFormer를 시연하고 평가합니다.
Transformer 아키텍처는 self-attention 메커니즘을 기반으로 입력 시퀀스의 토큰들 간의 장거리 관계를 효과적으로 모델링하는 신경망 구조입니다. RenderFormer에서는 삼각형의 반사 특성을 나타내는 토큰 시퀀스를 픽셀 패치로 변환하는 sequence-to-sequence 변환에 이 아키텍처를 활용하며, 3D 공간 위치 기반의 상대적 positional encoding을 사용합니다.
1 Introduction
전통적인 그래픽 파이프라인은 가상 장면을 렌더링할 때 빛의 물리적 과정을 시뮬레이션합니다. 최근 neural rendering은 이 시뮬레이션 과정을 건너뛰고 빛의 전달 효과를 직접 예측하도록 학습합니다. 하지만 대부분의 neural rendering 방법은 고정된 장면에 모델을 과적합시키는 방식으로 작동합니다. 이는 흥미로운 질문을 제기합니다—렌더링 모델이 아닌 렌더링 파이프라인 자체를 학습할 수 있을까?
이 논문은 완전한 neural rendering pipeline을 향한 첫걸음인 RenderFormer를 제시합니다. RenderFormer는 (a) 장면별 학습이 필요 없고, (b) 고전적인 triangle-mesh 기반 장면 표현을 입력으로 받으며, (c) 완전한 global illumination으로 장면을 렌더링합니다. 이를 위해 가상 장면에서 light transport를 해결하는 새로운 관점을 제시하고, 렌더링을 sequence-to-sequence 변환으로 공식화했습니다. 각 시퀀스의 토큰은 반사 특성을 가진 삼각형을 나타내며, light transport equilibrium의 수렴된 radiance 분포를 가진 삼각형으로 변환됩니다. Rendering Equation [Kajiya 1986]에 따라 빛의 흐름을 추적하고 radiance 분포를 명시적으로 계산하는 대신, RenderFormer는 최소한의 사전 제약으로 데이터로부터 neural rendering pipeline을 직접 학습합니다.
기존의 렌더링 패러다임과 비교했을 때, RenderFormer는 Monte-Carlo 통합 노이즈 없이 직접적으로 렌더링 방정식을 해결하고, 래스터화에서처럼 복잡한 알고리즘 수정이 필요하지 않습니다. 기존의 합성 장면을 위한 neural rendering 방법과 달리 장면별 또는 객체별 학습이 필요 없습니다. 예를 들어 그림 1의 객체들은 학습 세트에 포함되지 않았습니다.
RenderFormer는 두 단계로 구성됩니다. 첫 번째 단계는 view-independent로 삼각형 간의 light transport를 모델링하고, 두 번째 단계는 view-dependent로 변환된 triangle tokens의 시퀀스를 이미지로 평가합니다. 두 단계 모두 transformer architecture [Vaswani et al. 2017]를 기반으로 하며, 이는 긴 범위의 관계를 효과적으로 모델링합니다(예: 한 삼각형에서 다른 모든 삼각형으로의 light transport). 일반적인 transformer와 달리 시퀀스의 1D 인덱스 위치가 아닌 삼각형의 3D 공간 위치를 기반으로 한 상대적 positional encoding을 사용합니다. 대부분의 neural rendering 기술과 마찬가지로 반복 계산 없이 단일 패스로 global illumination transport를 직접 해결합니다. 또한 완전히 학습 가능한 neural components로 구성되어 rasterization, ray tracing, ray marching 같은 고정된 렌더링 알고리즘에 의존하지 않고 자연스럽게 완전 미분 가능합니다.
이 논문은 제한된 장면 유형에 대한 완전한 neural rendering pipeline을 향한 초기 단계를 제시합니다. 현재 RenderFormer에는 두 가지 주요 제약이 있습니다. 첫째, transformer의 계산 비용으로 인해 최대 4,096개의 삼각형으로 구성된 triangle meshes로 제한됩니다. 둘째, 훈련 중에 본 변형으로 제한됩니다. 현재 훈련 데이터는 단일 reflectance model [Walter et al. 2007]만 포함하며, 그 매개변수는 삼각형마다 할당됩니다(텍스처 없음). 훈련 장면에는 최대 8개의 diffuse light sources가 포함되고, 카메라는 512x512 해상도로 장면의 bounding box 외부에 배치됩니다. 추가 개발 및 최적화를 통해 RenderFormer가 transformer-optimized tensor cores의 발전을 활용하면서 forward와 inverse rendering 응용 프로그램 모두에 대한 대체 렌더링 패러다임을 제공할 수 있을 것입니다.
2 Related Work
Rendering Equation. Rendering Equation [Kajiya 1986]은 가상 장면에서 빛의 이동을 공식적으로 설명합니다. 장면은 triangle mesh로 모델링된 기하학, Bidirectional Reflectance Distribution Functions (BRDFs) [Nicodemus et al. 1992] 형태의 재질 특성, 광원, 그리고 가상 카메라로 정의됩니다. 지난 40년 동안 Rendering Equation을 정확하고 효율적으로 해결하기 위한 다양한 방법이 제안되었습니다. Monte Carlo path tracing과 그 변형들 [Dutré et al. 2018; Pharr et al. 2023]은 가장 널리 사용되는 방법 중 하나입니다. 최근에는 높은 계산 비용을 줄이기 위해 path tracing 알고리즘을 머신 러닝 기법 [Wang et al. 2023](예: filtering [Bako et al. 2017] 또는 caching [Coomans et al. 2024; Müller et al. 2021])으로 보강하고 있습니다. 이러한 모든 방법은 Rendering Equation을 명시적으로 포함합니다. 따라서 Rendering Equation의 재귀적 특성으로 인해 이 방법들도 재귀적입니다.
재귀. RenderFormer는 Rendering Equation에 명시적으로 의존하지 않으며, 재귀 없이 빛의 이동을 직접 계산합니다.
Rendering Equation을 해결하는 또 다른 수학적 기법으로 유한 요소 방법(finite element methods)이 있습니다. 이로부터 유도된 렌더링 알고리즘 클래스를 radiosity 방법이라고 합니다 [Cohen et al. 1988; Goral et al. 1984]. 그러나 고전적인 radiosity 방법은 주로 확산 표면에서의 등방성 산란에 제한됩니다. Radiosity의 정신을 이어받아 Hadadan et al. [2021]은 학습 기반의 neural radiosity 변형을 소개했습니다. 이 방법은 Rendering Equation을 푸는 것(즉, 학습)과 렌더링(즉, 추론)을 분리하여 재질의 제한 없이 장면의 임의 뷰를 효과적으로 합성할 수 있습니다. Neural radiosity(그리고 동적 장면으로의 확장 [Su et al. 2024b])는 Precomputed Radiance Transfer (PRT) [Sloan et al. 2023]와 유사합니다. PRT는 빛의 전파를 장면의 빛 전파 행렬과 적절한 기저(예: Spherical Harmonics)로 표현된 조명 간의 내적으로 공식화합니다. PRT에 영감을 받아 Rainer et al. [2022]와 Gao et al. [2022]는 사전 정의된 조명 기저 대신 신경망을 활용하여 입사 조명의 적절한 임베딩을 학습했습니다. Neural radiosity와 PRT 방법은 각 장면마다 큰 사전 계산 오버헤드가 발생합니다. RenderFormer의 학습도 비용이 많이 들지만, 한 번만 학습하면 이후에는 추가 학습 없이 장면을 렌더링할 수 있습니다.
Neural Rendering. Neural rendering 방법은 [Tewari et al. 2022] 빛의 이동을 시뮬레이션하는 대신 학습된 neural process를 사용합니다. Neural Radiance Fields (NeRFs) [Mildenhall et al. 2021]는 이러한 암묵적 빛 이동 표현의 대표적인 예시입니다. Neural rendering은 일반적으로 neural scene representation을 사용하며, 장면을 수정하려면 특별한 방법이 필요합니다 [Granskog et al. 2020, 2021; Haque et al. 2023; Yuan et al. 2022; Zheng et al. 2024]. 반면 RenderFormer는 일반적인 triangle mesh 기반의 장면 설명을 입력으로 받아 가상 장면을 제작하는 기존 툴 체인과 호환됩니다.
Sanzenbacher et al. [2020]는 화면 공간에서 neural shading을 수행하고, 장면의 pointcloud 표현에서 계산된 global neural light transport를 추가했습니다. Point-cloud는 빛 이동 계산을 일반화하는 데 도움을 주지만, 두 단계 네트워크는 장면마다 (정적이든 동적이든) 훈련이 필요합니다. 반면 RenderFormer는 장면별 훈련이 필요하지 않습니다. RenderNet [NguyenPhuoc et al. 2018]과 Neural Voxel Rendering [Rematas and Ferrari 2020]은 convolutional neural rendering 파이프라인을 학습합니다. 그러나 triangle meshes 대신 3D voxel grid를 입력으로 사용하고, 단일 point light 아래에서의 local shading만 학습합니다. 반면 RenderFormer는 장면을 완전한 global illumination으로 렌더링합니다.
렌더링을 위한 트랜스포머. RenderFormer의 핵심 구성 요소는 트랜스포머 아키텍처입니다 [Vaswani et al. 2017]. 이는 다중 헤드 어텐션 블록을 중심으로 구축되었으며, 긴 범위의 종속성을 처리하면서 토큰의 시퀀스를 다른 토큰의 시퀀스로 매핑합니다. 트랜스포머는 비전 작업 [Dosovitskiy et al. 2020] 및 대형 언어 모델 [Kenton and Toutanova 2019]에서 효과적인 아키텍처로 입증되었습니다. 렌더링에서 Ren et al. [2024]은 신경 반사 그림자 맵의 수집 단계를 가속화하기 위해 트랜스포머의 교차 주의 메커니즘을 활용합니다. NeRFs의 맥락에서 NerFormer [Reizenstein
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는 두 단계로 구성됩니다: view-independent 단계와 view-dependent 단계. 두 단계 모두 transformer 아키텍처를 사용합니다. view-independent 단계(3.1절)는 삼각형과 해당 속성들을 입력으로 받아 각 삼각형의 특징으로 변환합니다. 이 특징은 삼각형의 전체 outgoing radiance를 신경망으로 인코딩한 정보를 담고 있습니다. view-dependent 단계(3.2절)는 변환된 삼각형 시퀀스와 목표 이미지의 8×8 픽셀 패치에 해당하는 광선 묶음을 나타내는 토큰들을 입력으로 받습니다. 그런 다음 이 토큰들을 각 광선 묶음에 해당하는 outgoing radiance 값으로 변환합니다. RenderFormer는 한 번 end-to-end로 학습한 후, 삼각형 기반의 장면을 별도의 fine-tuning이나 추가 학습 없이 렌더링할 수 있습니다.
3.1 View-independent 단계
Transformer Architecture. view-independent 단계는 원래의 transformer architecture [Vaswani et al. 2017]를 따릅니다. 완전한 양방향 self-attention이 포함되어 있습니다. transformer는 삼각형 임베딩 시퀀스(즉, 토큰들)를 입력으로 받습니다. 각 삼각형 토큰은 렌더링에 필요한 모든 정보를 인코딩합니다. 예를 들어, 표면의 법선과 반사율 같은 것들입니다. 추가로, transformer가 전역 정보를 저장하고 임베딩에서 고주파 잡음을 제거할 수 있도록 16개의 register 토큰을 입력 시퀀스에 추가합니다 [Darcet et al. 2024]. 각 삼각형과 register 토큰은 768차원 벡터입니다. view-independent 단계는 12개의 transformer 레이어로 구성됩니다. 각 레이어는 6개의 헤드와 768개의 hidden unit을 가지고 있으며, 그 뒤에 768x4 feed-forward fully connected network가 따라옵니다. LLaMA [Touvron et al. 2023]를 따라 RMS-Normalization [Zhang and Sennrich 2019]을 사용해 pre-normalization을 적용하고, 활성화 함수로 SwiGLU를 사용합니다 [Shazeer 2020]. 또한, QK-Normalization [Henry et al. 2020]을 활용해 학습을 안정화합니다.
Relative Spatial Positional Embedding. RenderFormer와 일반적인 transformer 사용법(예: large language model) 사이의 주요 차이점은 시퀀스 내에서 token(즉, triangle)의 인덱스 위치가 중요하지 않다는 것입니다. 시퀀스에서 두 triangle을 바꿔도 동일한 결과가 나와야 합니다. 하지만 가상 세계에서 triangle의 3D 공간 위치는 중요합니다. 동일한 반사 특성과 모양을 가진 두 triangle이라도 장면 내 위치가 다르면 global light transport에 대한 기여가 달라집니다. 또한 전체를 이동시키면 장면(조명과 가상 카메라 포함)이 light transport를 변경하지 않습니다. 따라서 RenderFormer는 각 삼각형의 3D 공간 위치에 기반한 상대적 positional encoding이 필요합니다. 삼각형의 절대 위치를 triangle token에 positional encoding으로 직접 추가하는 대신, Rotational Positional Encoding(RoPE) [Su et al. 2024a]을 사용하여 삼각형의 상대적 3D 공간 위치를 임베딩합니다. RoPE는 positional embedding을 회전으로 표현하며, 두 회전의 조합이 두 회전 사이의 상대적 회전과 같다는 특성을 활용합니다. 하지만 단순한 시퀀스 인덱스와 달리, 삼각형의 위치는 부동 소수점 값을 가진 세 개의 3D 꼭짓점으로 결정됩니다. 먼저 세 꼭짓점의 위치를 9D 벡터로 연결하고, 각 요소를 6번 복제한 후, 6개의 주파수(1에서 5 사이에 지수적으로 분포된 스케일: [1.0, 1.3797, 1.9037, 2.6265, 3.6239, 5.0])와 곱하여 54개의 스케일된 주파수 벡터를 만듭니다. RoPE를 따라, 각 계수를 스케일된 주파수에 비례하는 각도의 사인과 코사인으로 인코딩하고, 각 사인/코사인 쌍이 2x2 블록의 회전을 결정하는 블록 대각선 회전 행렬을 구성합니다. 6개의 attention head 각각은 삼각형 token 임베딩의 128개 계수에 작용합니다(6 heads × 128 = 768). 따라서 각 head의 처음 108개 계수에만 블록 회전을 적용하고, 나머지 20개 계수는 그대로 둡니다. RoPE와 유사하게, 각 attention layer에서 토큰에 상대적 공간 positional embedding을 적용합니다. 이상적으로는 상대적 positional encoding이 장면 회전에 대해서도 불변이기를 원하지만, SO(3)는 교환 법칙이 성립하지 않아서 RoPE로는 이를 달성하기 어렵습니다.
Register 토큰이 장면 이동에 대해 불변하도록 하기 위해, 모든 장면 vertex의 평균 위치를 사용하여 상대적 공간 위치 인코딩을 적용합니다.
Triangle Embedding. 각 삼각형에는 렌더링에 필요한 모든 정보를 포함합니다. 예를 들어 shading normal, 반사 특성, 발광(광원의 경우) 등이 있습니다. 삼각형의 위치와 모양은 상대적 공간 위치 인코딩을 통해 표현됩니다.
각 vertex마다 normal을 저장하며, 이 normal은 삼각형을 따라 보간되고 정규화됩니다. Vertex별 normal의 절대 위치 인코딩을 사용합니다. 구체적으로, 세 개의 normal을 NeRF 위치 인코딩[Mildenhall et al. 2021]으로 6개의 주파수를 사용해 인코딩하고, 단일 선형 레이어와 RMS-Normalization을 거쳐 768차원 벡터로 확장합니다.
표면 반사는 미세면 BRDF 모델로 모델링합니다. GGX normal-facet 분포[Walter et al. 2007]를 사용하며, 확산 알베도, 반사 알베도, 거칠기로 매개변수화합니다. 반사 매개변수와 발광을 10차원 벡터로 결합합니다(거칠기를 제외한 모든 매개변수는 3차원, 거칠기는 1차원). 이 10차원 벡터는 단일 선형 레이어와 RMS-Normalization을 거쳐 768차원 벡터로 확장됩니다. 이렇게 얻은 768차원 벡터는 위의 normal embedding에 추가됩니다.
그림 2. RenderFormer 아키텍처 개요. 위쪽: view-independent 단계는 각 삼각형의 반사 특성을 인코딩한 삼각형 토큰 시퀀스로부터 삼각형 간의 빛 전송을 해결합니다. 각 삼각형의 상대 위치는 별도로 인코딩되어 각 self-attention 레이어에서 각 토큰에 적용됩니다. 아래쪽: view-dependent 단계는 가상 카메라 위치를 ray-bundle 시퀀스로 인코딩하여 입력으로 받습니다. cross-attention 레이어를 통해 view-independent 단계의 삼각형 토큰의 안내를 받아, ray-bundle 토큰은 각 view ray의 outgoing radiance를 인코딩하는 토큰으로 변환됩니다. 마지막으로, ray-bundle 토큰은 dense vision transformer를 통해 log-encoded HDR radiance 값으로 변환됩니다.
3.2 View-dependent 단계
view-dependent 단계의 목표는 view-independent 단계에서 변환된 삼각형 토큰을 주어진 가상 카메라에 해당하는 radiance 픽셀 값으로 변환하는 것입니다. 성능상의 이유로 출력 토큰에 8×8 radiance 픽셀 패치를 인코딩합니다. Gao et al. [2024]와 Jin et al. [2024]의 연구에 영감을 받아, view-dependent transformer에 가상 카메라를 지정할 때 해당 출력 패치의 픽셀 중심을 통과하는 8×8 광선 묶음을 인코딩합니다.
Transformer Architecture. view-independent transformer와 유사한 구조를 따르지만, triangle tokens 대신 ray-bundle tokens의 시퀀스를 변환합니다. attention layers는 12번이 아닌 6번만 반복합니다. 또한 각 self-attention layer 앞에 cross-attention layer를 두어 ray-bundle tokens을 view-independent 단계의 triangle tokens(등록 토큰 포함)과 연결합니다. cross-attention layer는 ray-bundle에 있는 광선과 관련된 삼각형을 찾는 역할을 합니다. 각 transformer layer는 6개의 heads, 768개의 hidden units, 그리고 768×4 feed-forward network를 가지고 있습니다. SwiGLU 활성화 함수, QK-normalization, RMSNormalization도 사용합니다. view-dependent 단계는 학습 중 수렴을 위해 view-independent 단계(bf16)보다 더 높은 정밀도(tf32)가 필요합니다. pixel-patch tokens을 log(x+1)-encoded HDR RGB radiance 값으로 디코딩할 때, 각 view ray에서 관찰된 radiance는 다른 view ray와 독립적이지만, ray-bundle tokens 간의 self-attention을 통해 view ray 간의 정보를 공유하면 렌더링 정확도가 향상됩니다(표 1, 3번째 vs. 4번째 행). 또한 dense vision transformer [Ranftl et al. 2021]를 사용합니다.
표 1. 다양한 모델 변형 및 아키텍처에 대한 ablation 연구. 계산 제약으로 인해 모든 ablation 연구는 256×256 해상도에서 수행됩니다. 레이어 구성은 #view-independent + #view-dependent layers로 표시됩니다.
view-dependent transformer의 마지막 4개 레이어에서 나온 특징을 사용하여 정확도를 더욱 향상시키고 (표 1, 1번째 vs. 2번째 행), 해상도 의존성을 줄이지만 완전히 없애지는 못합니다. 그림 2 (하단)는 view-dependent 아키텍처를 요약합니다.
훈련 데이터의 자유도를 줄이기 위해, 우리는 view-dependent 단계를 world coordinates가 아니라 camera coordinates에서 수행해요. 이건 각 attention layer에서 변환된 vertex coordinates를 사용해 상대적인 positional spatial embedding을 적용함으로써 쉽게 달성할 수 있답니다. view-independent 변환 이후에는 triangle tokens의 해석이 원래의 embedding과 더 이상 일치하지 않기 때문에, 다른 변환(예: normals)은 적용하지 않아요. 삼각형(및 registers)의 positional embedding을
그림 3. 훈련 데이터를 생성하기 위해 사용된 네 가지 템플릿 장면.
camera coordinates로 표현함으로써, world-to-camera 변환을 학습할 필요가 없어져요. 이 방법은 정확도를 향상시키는 데도 도움이 된답니다 (표 1, 5번째와 6번째 행).
Ray Bundle Embedding. 각 ray bundle은 해당 픽셀 패치의 중심을 통과하는 8 X 8개의 광선 모음이에요. view-dependent 단계에서 장면이 camera coordinates로 표현되기 때문에, 모든 광선의 시작점은 (0,0,0)이에요. 따라서 우리는 각 광선의 정규화된 방향만 인코딩하면 되죠. 64개의 방향 벡터를 192차원 벡터로 쌓은 후, 단일 선형 레이어와 RMS-Normalization을 통해 768차원 토큰으로 인코딩해요.
3.3 훈련
RenderFormer는 AdamW [Loshchilov and Hutter 2019] 옵티마이저를 사용해서 end-to-end로 학습해요. 먼저 RenderFormer를 256 X 256 해상도에서 최대 1,536개의 삼각형 메쉬 크기로 50만 번 반복 학습하는데, 이 과정은 약 5일이 걸렸어요. 그 후, 512 X 512 해상도에서 최대 4,096개의 삼각형 메쉬 크기로 10만 번의 추가 미세 조정을 하는데, 이 과정은 추가로 3일이 걸렸답니다. RenderFormer는 상대적 공간 위치 임베딩 덕분에 장면의 평행 이동에는 불변이지만, 회전에 대해서는 불변하지 않아요. 그래서 장면 회전에 대한 안정성을 높이기 위해 장면(카메라 포함)에 무작위 회전을 적용해요. 이 과정은 재렌더링이 필요 없어서 RoMa [Brégier 2021]를 사용해 학습 중에 실시간으로 수행합니다.
손실 함수. RenderFormer는 감독 학습 방식으로 학습되며, 합성 장면의 렌더링된 참조 HDR 이미지와 RenderFormer의 HDR 예측 간의 L1 손실을 계산해요. 밝은 하이라이트의 작은 오류가 손실을 지배하지 않도록, L1 손실을 계산하기 전에 이미지에 로그 변환을 먼저 적용해요. 또한, 지각적 차이를 최소화하기 위해 톤 매핑된 버전(두 이미지의 clamp(log I/log 2,0,1)에 대해 LPIPS 손실 [Zhang et al. 2018]도 포함합니다. 최종 손실은 lossL₁ + 0.05lossLPIPS가 됩니다.
훈련 데이터. 우리 훈련 세트는 Objaverse 데이터셋 [Deitke et al. 2023]에서 무작위로 선택된 1~3개의 객체로 구성된 합성 장면으로 이루어져 있어요. 이 객체들은 네 가지 템플릿 장면 중 하나에 무작위로 배치되는데요, 이 템플릿 장면은 (무작위로 이동, 회전, 크기 조정된) 바닥, 뒤쪽, 옆쪽 벽의 조합으로 이루어져 있답니다. 카메라는 템플릿 벽에 의해 시야가 가려지지 않도록 장면 밖에 배치되고, 시야각(FOV)은 30°에서 60° 사이에서 균일하게 샘플링돼요. 카메라는 중심을 향해 조준되지만, 항상 정확한 중심을 겨냥하지 않도록 약간의 변동을 줍니다.
표 2. RenderFormer와 Blender Cycles의 시간 비교입니다. 각 픽셀당 4,096 샘플을 사용하여 훈련 데이터 생성 설정과 일치시켰어요. 적응형 샘플링과 노이즈 제거를 포함한 시간과 포함하지 않은 시간을 모두 포함했어요. 또한, 뷰 독립적 단계와 뷰 의존적 단계에서 소요된 시간을 세분화해서 제공해요. 시간은 사전 캐시된 커널을 사용하여 초 단위로 측정되며, 장면 로딩 비용은 제외됩니다.
항상 정확한 중심을 겨냥하지 않도록 약간의 변동을 줍니다), 장면의 경계 상자의 크기를 1 단위로 하여 1.5에서 2.0 단위 사이에서 균일하게 샘플링된 거리에서 조준됩니다. 1~8개의 광원(즉, 확산 방출을 가진 삼각형)이 카메라와 유사한 절차에 따라 배치되며, 2.1에서 2.7 단위 사이에서 균일하게 샘플링된 거리에서 배치됩니다. 우리는 객체별 또는 삼각형별로 1:1 비율로 무작위로 재질 매개변수를 할당해요. 확산 알베도에 RGB 색상을 무작위로 할당하고, 각 색상 채널의 최대 강도는 단색의 반사 알베도와의 합이 0.9에서 1.0 사이가 되도록 설정합니다 (균일하게 샘플링). 거칠기는 [0.01, 1.0] 범위에서 로그 샘플링됩니다. 또한, 객체가 정점별 노멀로 음영 처리될지 평면 음영 처리될지를 동일한 확률로 무작위로 선택합니다.
Attention 레이어의 실행 복잡도는 토큰 수에 따라 제곱적으로 증가해요. 그래서 우리 경우에는 삼각형 수에 따라 증가하죠. 그 결과로, 우리는 장면 내 삼각형의 총 수를 4,096개로 제한했어요. 이 제한을 늘리는 것은 미래 연구에서 흥미로운 주제가 될 수 있답니다. Objaverse 데이터셋의 객체들은 우리의 삼각형 예산을 쉽게 초과하기 때문에, 우리는 객체를 다시 메쉬 처리해요. 먼저 내부나 잘못된 삼각형을 제거하고 (서명 거리 필드로 변환한 후, marching cubes 단계를 통해 깨끗한 삼각형 메쉬로 다시 변환), Qslim을 사용해 면의 수를 256에서 3,072 사이로 줄여요.
우리는 2백만 개의 합성 장면에서 8백만 개의 HDR 훈련 이미지를 4개의 다른 시점에서 256 x 256 해상도로 렌더링해요 (최대 삼각형 수는 1,536개). 그리고 추가로 8백만 개의 HDR 훈련 이미지를 512 x 512 해상도로, 최대 삼각형 수 4,096개로 렌더링해요. Blender Cycles를 사용해서 픽셀당 4,096 샘플로 (adaptive sampling과 denoising을 사용해) 렌더링합니다.
4 Results
우리는 다양한 장면에서 RenderFormer를 시연해요 (그림 1과 그림 4). 이는 전역 조명 전달의 다양한 측면을 보여주죠. 각 예제마다, Blender Cycles로 픽셀당 4,096 샘플로 계산된 참조 렌더와 5배 확대된 차이 이미지를 보여주고, PSNR, SSIM, LPIPS [Zhang et al. 2018] 및 HDRFLIP [Andersson et al. 2020] 오류를 표시해요. 질적으로 보면, RenderFormer 결과는 시각적으로 비슷하지만 정확히 같지는 않아요. 그럼에도 불구하고, RenderFormer는 그림자, 확산 및 반사 간섭, 광택 반사, 다중 반사 간섭과 같은 많은 중요한 조명 전달 효과를 포함할 수 있어요. 명시적으로 강제하지는 않았지만, RenderFormer는 장면 매개변수의 변화에 안정적이에요.
그림 4. RenderFormer로 렌더링된 다양한 장면과 경로 추적 참조 이미지와의 비교. PSNR, SSIM, LPIPS, FLIP 오류도 나열했어요.
그림 5. RenderFormer와 Blender Cycles를 비교한 결과예요. 여기서는 (비적응형) 26 샘플러-퍼-픽셀을 사용하고, 노이즈 제거는 하지 않았어요.
보충 영상에서 카메라를 움직이고, 조명을 이동시키고, 반사 특성을 변경하는 장면을 볼 수 있어요.
표 2는 그림 1에 있는 네 가지 장면에서의 시간 비교를 보여줘요. 여기서는 최적화되지 않은 RenderFormer(순수 PyTorch 구현, DNN 컴파일 없이, 커널의 사전 캐싱만 사용)과 Blender Cycles를 비교했어요. Blender Cycles는 4,096 샘플-퍼-픽셀을 사용하고, 512 X 512 해상도에서 단일 NVIDIA A100 GPU로 실행했어요. 추가적인 통찰을 제공하기 위해, 그림 1의 첫 번째 장면에 대한 질적 동시간 비교(그림 5)도 제공해요. 노이즈 제거의 고정 비용이 RenderFormer의 시간보다 크고, 장면에 따라 달라지는 비선형적인 적응형 샘플링 비용 때문에, 동시간 비교에서는 두 최적화를 모두 비활성화했어요. RenderFormer 구현을 최적화하는 것 외에도, 정적 장면에서는 뷰에 독립적인 변환 시퀀스를 재사용하거나, 애니메이션에서는 48 프레임을 병렬로 배치하여 렌더링 속도를 더욱 높일 수 있어요.
4.1 분석 및 소거 연구
RenderFormer의 아키텍처는 기존의 신경망 렌더링 방법들과 다르고, 고전적인 전역 조명 방법과 비교했을 때 렌더링 방정식을 해결하는 방식이 상당히 달라요. RenderFormer의 내부 작동 방식을 더 잘 이해하기 위해 일련의 소거 연구를 수행해요. 계산 제약 때문에, 모든 소거 실험은 256 X 256 해상도에서 수행했어요.
상대적 공간 위치 임베딩. RenderFormer와 전통적인 트랜스포머의 주요 차이점 중 하나는 시퀀스 인덱스 위치 대신 월드 공간에서 삼각형의 위치를 기반으로 한 위치 인코딩을 사용한다는 점입니다.
RoPE를 기반으로 한 공간 위치 인코딩. 그러나 우리는 또한 정점 노멀을 임베딩하기 위해 NeRF와 유사한 위치 인코딩을 사용했습니다. 이것은 또한 NeRF 위치 인코딩을 사용하여 노멀과 함께 삼각형 위치를 임베딩하는 것이 가능한지에 대한 질문을 제기합니다. 그러나 우리는 삼각형 위치에 대한 이러한 위치 인코딩으로 훈련하는 것이 안정적이지 않으며, 최적이 아닌 지역 최소값으로 수렴하기 쉽다는 것을 발견했습니다.
모델 크기. 변환기 모델에서 주요 설계 매개변수는 토큰 피처 길이입니다. 더 큰 피처는 더 큰 모델을 생성하며, 따라서 더 긴 훈련 시간을 초래합니다. 표 1(7번째에서 11번째 행)은 768에서 192까지의 피처 길이로 훈련된 모델에 대해 4개의 시점(즉, 총 1,600)에서 렌더링된 400개의 테스트 장면에 대한 평균 PSNR, SSIM, LPIPS [Zhang et al. 2018] 및 HDR-FLIP [Andersson et al. 2020] 오류를 나열합니다. 우리는 또한 주의 레이어의 수를 조정하여 모델 매개변수 수를 각각 205M에서 143M, 71M 및 45M로 추가로 줄입니다. 일반적으로 더 많은 매개변수는 더 정확한 결과를 생성합니다.
레이어의 수. 이전 실험에서는 view-independent 단계와 view-dependent 단계 사이의 attention 레이어 비율을 일정하게 유지했어요. 두 단계 사이의 attention 레이어 비율이 미치는 영향을 더 잘 이해하기 위해 추가적인 ablation 실험을 수행했답니다. 표 1(11-14행)에서는 두 단계에 걸쳐 총 18개의 attention 레이어를 다르게 분할한 RenderFormer 모델을 비교했어요. 그림 6에서는 각 단계별로 attention 레이어 수를 변화시켰을 때의 영향을 질적으로 보여줍니다. RenderFormer는 view-independent 단계보다 view-dependent 단계에 더 많은 attention 레이어를 포함할 때 이점이 있다는 것을 관찰했어요. view-independent 단계를 완전히 제거하면(표 1의 14번째 행과 그림 6의 두 번째 열) 좋은 결과를 내지 못했어요. 이는 좋은 결과를 얻기 위해 view-independent 단계가 필요하다는 것을 나타냅니다. 하지만 렌더링은 종종 정확도와 속도 사이의 신중한 균형을 요구하죠. 각 단계의 실행 시간은 다양한 요인에 따라 달라집니다. view-independent 단계는 대략 O(#tris²)로 확장되고, view-dependent 레이어는 O(#bundles² + #bundles X #tris)로 확장됩니다. 또한, 정밀도의 차이(bf16 대 tf32)는 두 단계 사이에 추가적인 하드웨어 의존적인 성능 차이를 초래합니다. 각 단계별 이상적인 attention 레이어 수는 복잡하며, 메쉬 크기, 해상도, 하드웨어에 따라 달라집니다. 그래서 우리는
그림 6. 각 단계별로 view-independent와 view-dependent attention 레이어 수를 변화시킨 질적 비교. RenderFormer는 마지막 열에 12개의 view-independent 레이어와 6개의 view-dependent 레이어 비율로 표시되어 있습니다.
그림 7. 변환된 토큰의 시각화로, view-independent 단계에서 변환 후 부드러운 확산 음영과 상호 반사, 그리고 삼각형 하위 단위의 그림자를 인코딩합니다.
그림 8. 주어진 raybundle에 대해 view-dependent 단계에서 삼각형별 평균 attention을 시각화한 것이에요. 평균 attention은 RenderFormer가 raybundle의 광선을 계산할 때 어떤 삼각형을 사용하는지를 보여줘요. 예상대로 직접 보이는 삼각형과 반사 방향 주변의 삼각형이 가장 많은 attention을 받습니다.
view-independent와 view-dependent attention 레이어 사이에 12+6 분할을 선택해서 정확도와 학습/렌더링 속도를 균형 있게 맞췄어요.
다양한 단계의 역할. 이전의 ablation 연구에서는 두 단계가 모두 필요하며, 각각 렌더링 파이프라인에서 역할을 한다는 것을 명확히 보여줬어요. 하지만, 이전의 ablation 실험은 각 단계가 정확히 무엇을 하는지에 대한 통찰을 제공하지는 않아요.
삼각형 토큰의 임베딩 해석은 viewindependent 단계를 거친 후 초기 임베딩을 따르지 않아서, 삼각형 토큰의 직접적인 시각화를 방해해요. 그래서 우리는 각 삼각형에 대해 변환된 삼각형 토큰을 32 X 32 RGB 텍스처로 변환하는 작은 보조 MLP를 훈련시켰어요.
그림 9. 받침대와 icosphere에 일반적인 것보다 큰 삼각형을 사용하면 그림자와 음영이 저하됩니다(두 번째 열). 흥미롭게도, 이 저하는 뒷벽의 반사에서도 볼 수 있어요.
레지스터 토큰이 중요한 정보를 포함할 수 있기 때문에, 각 삼각형 토큰과 16개의 레지스터 토큰 사이에 cross-attention layer도 포함시켰어요. MLP와 cross-attention layer를 훈련하는 동안, view-independent 단계는 고정된 상태로 두고, 단순한 단색의 diffuse 장면을 약 500개 정도의 작은 배치로 훈련해요. MLP는 의도적으로 얕게 설계되어, 토큰에 내재된 정보를 직접 시각화하는 간단한 작업만 수행하도록 제한했어요. 그림 7은 view-independent 단계가 삼각형 간의 diffuse light transport와 그림자의 상당 부분을 해결하는 것을 보여줘요. view-dependent 단계는 삼각형 토큰에서 정보를 모아 각 픽셀의 관측된 방사휘도를 계산해요. 그림 8에서는 선택된 ray-bundles에 대해 적절한 시점에서 시각화된 삼각형에 투영된 attention 가중치의 합을 시각화했어요. 이 시각화는 주어진 ray-bundle에 대해 최종 방사휘도에 각 삼각형이 얼마나 기여하는지를 보여줘요. 그림 8에서 직접 보이는 삼각형과 반사 방향 주변의 삼각형에 주요 가중치가 놓여 있는 것을 볼 수 있어요. 또한, 재질의 거칠기를 증가시킬 때 가중치 분포가 어떻게 변하는지도 볼 수 있답니다.
4.2 장면 매개변수의 일반화
이전의 ablation 연구와 분석은 RenderFormer의 내부 작동에 대한 더 많은 통찰력을 제공하지만, 모델이 실제 상황에서 어떻게 작동하는지와 그 한계가 무엇인지를 알려주지는 않아요. 그래서 RenderFormer의 일반화 능력을 삼각형 메쉬, 광원, 카메라에 대해 탐색하는 여러 실험을 수행했어요.
삼각형 메쉬. 현재 훈련 데이터는 삼각형들이 모두 대략 같은 크기로 생성되도록 되어 있어요. 삼각형 크기가 솔루션의 정확도에 영향을 미치는지 더 잘 이해하기 위해, 받침대와 icosphere가 1,318개의 삼각형으로 표현된 장면을 두 번 렌더링하는 실험을 수행했어요 (그림 9).
그림 10. RenderFormer는 최대 8개의 조명까지는 정확한 반사와 그림자를 처리할 수 있어요 (1번째부터 4번째 열까지). 훈련 시에 본 조명 수를 초과하면, 하이라이트나 그림자가 누락될 수 있어요 (예: 5번째 열의 아래쪽 그림자에서 누락된 이중 그림자). 이런 경우, 여러 개의 단일 조명 이미지를 합성하여 올바른 결과를 계산할 수 있답니다 (6번째 열).
그림 11. 왼쪽: RenderFormer는 장면 내부의 조명으로 훈련된 적이 없어서, 그런 장면을 정확히 렌더링하지 못해요. 가운데: RenderFormer는 빛의 전송 선형성을 활용하고 세 가지 이미지(각 색상 채널마다 하나씩)를 혼합하여 색이 있는 조명을 시뮬레이션할 수 있어요. 오른쪽: RenderFormer는 훈련 중에 본 것보다 큰 광원을 가진 장면을 정확히 렌더링하지 못해요. 삼각형을 세분화하면, 훈련 중에 본 최대 조명 수(8개)를 초과하지 않는 한 오류를 수정할 수 있어요. 이 경우, 각 세분화된 조명을 별도로 렌더링하여 빛의 전송 선형성을 여전히 활용할 수 있답니다.
그림 12. RenderFormer는 훈련된 것보다 더 많은 삼각형이 있는 장면도 처리할 수 있지만, 세부 사항과 얇은 특징이 손실될 수 있어요.
평균 크기와 332개의 더 큰 삼각형으로 한 번씩. 그림 9의 2번째 열에서 볼 수 있듯이, 더 큰 삼각형에서의 음영과 그림자의 품질이 저하되는데, 이는 삼각형 토큰이 이제 삼각형당 더 복잡한 정보를 저장해야 하기 때문이에요.
LLM과 Vision Transformers에서 사용되는 많은 attention 최적화 기술들은 1D 시퀀스나 2D 이미지의 고유한 특성을 활용해요 [Dong et al. 2023; Liu et al. 2021; Wang et al. 2021b]. 하지만 RenderFormer는 3D에서 작동하기 때문에 직접 적용하기가 어렵답니다. LLM과 Vision Transformers의 최신 기술들(예: 선형 attention 메커니즘, 네이티브 희소 attention, 시퀀스 병렬 처리)을 도입하는 것은 미래 연구에 유망한 방향이에요. 특히 LoD와 BVH 같은 기존 컴퓨터 그래픽스 방법론과 결합하면 더욱 그렇죠.
Transformers의 핵심을 이루는 attention 레이어는 계산 자원 측면에서 비용이 많이 들어요. 그래서 RenderFormer의 학습 세트는 최대 4,096개의 삼각형을 가진 장면으로 제한됩니다. 그림 12는 RenderFormer가 추론 시 더 큰 삼각형 메쉬를 처리할 수 있음을 보여주지만, 세부 사항이 약간 손실될 수 있답니다. 하지만 전반적으로 RenderFormer는 대부분의 광 전송을 올바르게 모델링하면서 우아하게 실패하는 것을 관찰했어요. 우리는 먼저 작은 장면(1,536개의 삼각형)에서 사전 학습한 후, 더 큰 장면(4,096개의 삼각형)에서 정제하는 방식으로 이 특성을 학습에 활용합니다. 그러나 attention 레이어의 O(N²) 복잡성 때문에 자원이 부족해지기 전에 모델을 얼마나 멀리 밀어붙일 수 있는지에는 한계가 있어요.
조명. RenderFormer는 현재 1개에서 8개의 광원을 가진 장면을 위해 학습되어 있어요. 그림 10(1~4번째 열)은 광원이 점점 증가하는 장면의 이미지 시퀀스를 보여줍니다. RenderFormer가 학습 중에 본 최대 광원 수를 초과하는 경우에는 그림자나 하이라이트가 불완전하게 나타나는 것을 관찰했어요(그림 10, 5번째 열). 최대 광원 수는 더 많은 광원으로 학습하거나, 각 광원을 개별적으로 렌더링하고 결과 이미지를 더하는 방식으로 광 전송의 선형성을 활용하여 증가시킬 수 있습니다(그림 10, 6번째 열).
현재 RenderFormer는 장면 외부에 위치한 광원으로도 학습이 되어 있어요. 게다가 RenderFormer는 오직 백색 광원만을 위해 학습되어 있어서, 색이 있는 광원을 만나면 색을 무시해요. 이 문제는 학습 세트를 확장하거나 빛의 전송 선형성을 활용하면 해결할 수 있어요 (그림 11, 네 번째 열).
또한, RenderFormer는 광원의 크기가 제한된 범위에서만 학습되어 있어요. 예상대로, 학습된 광원 크기를 초과하면 (그림 11, 여섯 번째 열) 올바른 그림자가 생성되지 않아요. 학습 세트를 확장하거나, 광원을 더 많은 (작은) 삼각형으로 나누어 더 큰 광원을 구성할 수 있어요 (그림 11, 일곱 번째 열 (직접 렌더) 및 여덟 번째 열 (합성 렌더)).
그림 13. RenderFormer는 카메라가 장면 밖에 있는 한, 훈련 중에 본 것보다 더 가까이 이동해도 견고하게 작동해요(2번째 열). 또한, 훈련 중에 본 시야각을 초과해도 견고하게 작동한답니다(4번째-6번째 열). 더 높은 해상도로 렌더링할 때도 RenderFormer는 우아하게 실패하는데요(7번째-9번째 열). 예를 들어, 회색 벽과 파란 벽 사이의 깊이 불연속성 주변에서 차이가 발생해요.
그림 14. RenderFormer는 많은 객체가 있는 장면에서 가려짐을 정확하게 재현할 수 있어요. 하지만, 매우 복잡한 형태의 가리개가 드리우는 그림자는 그림자 세부 사항의 손실을 초래할 수 있답니다.
카메라 매개변수. 빛의 원천과 마찬가지로, RenderFormer는 장면 밖에 위치한 카메라에 대해서만 훈련되었어요. 그 결과, RenderFormer는 삼각형이 카메라 뒤에 배치될 수 있다는 것을 배우지 못했고, 그러한 장면을 올바르게 렌더링하지 못해요(그림 13, 3번째 열). 훈련 세트를 확장하여 이러한 경우를 포함시키면 RenderFormer가 이러한 상황을 처리하는 방법을 배울 수 있을 거예요.
RenderFormer는 제한된 범위의 FOV에 대해서만 훈련되었어요. 하지만 그림 13(4번째에서 6번째 열)을 보면, RenderFormer가 이 범위를 벗어나도 견고하게 작동하는 것처럼 보여요.
RenderFormer는 고정된 512 x 512 해상도에 대해서만 훈련되었어요. 이론적으로는 ray-bundles가 더 높은 해상도를 모델링할 수 있지만, RenderFormer는 약간의 해상도 의존성을 보인답니다. 그림 13(8번째와 9번째 열)에 나타난 것처럼, 더 높은 해상도에 적용할 때 RenderFormer는 우아하게 실패하며, 대부분의 오류는 깊이 불연속성 주변에 집중되어 있어요. 이 특성을 활용하여 처음에는 낮은 해상도(256 x 256)에서 RenderFormer를 훈련한 후, 512 x 512 해상도로 미세 조정했어요.
장면 복잡도. 마지막으로, RenderFormer가 장면의 복잡도에 대해 얼마나 정확한지 탐구해 봤어요. 특히, RenderFormer가 복잡한 가리개와 여러 개의 반사 처리를 잘 할 수 있는지 조사했답니다. 그림 14는 가리개의 복잡도가 증가하는 장면을 보여줘요. 첫 두 열은 서로 가까이 붙어 있는 평면들이 바닥과 평면 사이에 그림자를 드리우는 모습을 보여줍니다. 그림 14의 세 번째부터 다섯 번째 열은 바닥 평면과 광원 사이에 다양한 거리로 배치된 작은 가리개들을 보여줘요. 복잡한 모양의 가리개 그림자가 때때로 세부 사항을 놓치는 것을 관찰할 수 있었어요 (그림 14, 세 번째부터 다섯 번째 열).
그림 15는 RenderFormer가 여러 번의 반사를 얼마나 잘 처리하는지를 보여줘요. RenderFormer는 빛의 이동 경로에서 물리적 반사를 고려하지 않지만, 평균적으로 3번의 반사를 정확하게 모델링해요. 하지만 더 높은 차수의 반사는 놓치게 되죠 (예: 그림 15의 마지막 예시에서 뒷벽에 있는 빨간 공의 두 번째 반사). 반사 깊이는 뷰 종속 레이어의 수와는 독립적이라는 것을 발견했어요. 이 한계는 주로 고차 반사에 대한 훈련 예시가 부족하기 때문이라고 생각하고, 훈련 데이터셋을 신중하게 보강하면 다중 반사에 대한 성능을 향상시킬 수 있을 거예요.
텍스처. RenderFormer는 삼각형 위에서 반사 특성이 일정하다고 가정해요. 우리는 반사 토큰 임베딩을 수정하여 RenderFormer를 공간적으로 변화하는 표면 반사를 포함하도록 확장하는 탐색 실험을 수행했어요. 쌓인 반사 매개변수를 768차원 벡터로 확장하는 대신, 삼각형 수준에서 공간적으로 변화하는 정보를 직접 인코딩합니다. 공간적으로 변화하는 매개변수(즉, 확산 알베도, 반사 알베도, 거칠기, 표면 법선 등 13개의 채널)를 임베딩하기 위해, 먼저 이등변 직각삼각형으로 32 x 32 해상도로 매개변수를 래스터화해요. 그런 다음, 모든 텍셀을 13,312차원 벡터(즉, 32 x 32 텍셀과 텍셀당 13개의 채널)로 연결하고, 이를 단일 선형 레이어로 인코딩한 후 RMS-Normalization을 통해 768차원 토큰으로 변환합니다. 초기 결과(그림 16)는 RenderFormer가 공간적으로 변화하는 반사를 모델링할 수 있음을 보여주지만, 약간 흐릿하게 나타나요. 토큰 길이를 확장하면 텍스처 품질이 향상될 수 있지만, 이는 향후 연구로 남겨둡니다.
그림 15. RenderFormer는 1차 및 2차 재귀적 반사 상호작용을 올바르게 처리해요. 하지만, 더 많은 반사 상호작용을 가진 학습 예제가 부족하기 때문에, 더 높은 차수의 반사를 항상 정확하게 해결하지는 못해요 (예: 위쪽 벽의 거울에 비친 빨간 공의 반사).
그림 16. 공간적으로 변화하는 물질 특성을 지원하도록 RenderFormer를 확장한 초기 결과입니다
5 Conclusion
이 논문에서는 RenderFormer라는 transformer 기반의 신경 렌더링 파이프라인을 소개해요. 이 시스템은 일반적인 삼각형 메쉬를 입력으로 받아서, 전역 조명을 고려한 장면의 이미지를 출력하거든요. RenderFormer는 가상 장면에서의 빛 전송 문제를 두 단계의 시퀀스-투-시퀀스 변환으로 해결해요. 첫 번째 단계에서는 삼각형 시퀀스를 변환해서 뷰 독립적인 삼각형 간 전송을 모델링하고요. 두 번째 단계에서는 첫 번째 단계의 삼각형 시퀀스에 따라 광선 묶음 시퀀스를 관측된 방사 값 시퀀스로 변환해요.
RenderFormer를 더 개선할 수 있는 방법이 많아요. 먼저, 카메라와 조명 위치의 다양성을 지원하기 위해 학습 데이터를 확장할 수 있어요. 현재 구현은 GGX BRDF 모델을 사용해 렌더링된 학습 데이터를 활용하지만, 반사 모델과 관련된 본질적인 구조적 제한은 없어요. 따라서 RenderFormer는 투명성이나 피하 산란을 모델링하는 다른 반사 모델을 사용하는 대체 데이터셋으로도 학습할 수 있답니다. 현재 RenderFormer는 단순한 광원만 지원하지만, 환경 조명이나 비확산 광원을 추가하면 RenderFormer의 일반화가 더 잘 될 거예요. RenderFormer는 완전히 transformer 기반이라서 본질적으로 미분 가능해요. 그래서 데이터를 통해 직접 RenderFormer를 학습시킬 수 있죠. 미래 연구의 흥미롭고 유망한 방향은 이 미분 가능성을 활용해 RenderFormer를 역 렌더링 응용에 적용하는 것이에요. 마지막으로, 기존의 그룹 기반 가속 구조를 기반으로 한 계층적 주의 메서드를 조사해서 더 큰 삼각형 메쉬를 가진 복잡한 장면을 지원하고 싶어요.
기법들 (예: BVH)을 통해서 말이죠.
Acknowledgments
Kexun Zhang과 Kaiqi Chen에게 transformer 모델 설계와 성능 최적화에 대한 논의에 대해 감사드리고, Sam Sartor에게는 Blender Cycle 팁과 사전 검토에 대해 감사드립니다. Pieter Peers는 NSF의 IIS-1909028 지원을 받았습니다. Chong Zeng과 Hongzhi Wu는 NSF China(62332015, 62227806 & 62421003), XPLORER PRIZE, 그리고 Zhejiang University의 정보 기술 센터 및 CAD&CG 국가 중점 연구실의 지원을 부분적으로 받았습니다.
References



















