Company
교육 철학

Real-Time Neural Appearance Models

이전에는 오프라인 렌더링에서만 가능했던 복잡한 외관을 가진 장면을 실시간으로 렌더링할 수 있는 완전한 시스템을 제안합니다.
이 시스템은 알고리즘적 혁신과 시스템 수준의 혁신을 결합하여 구현했습니다.
우리의 외관 모델(appearance model)학습된 계층적 텍스처(hierarchical textures)를 활용하며, 이 텍스처는 신경망 디코더(neural decoders)가 해석합니다. 디코더는 반사율(reflectance) 값과 중요도 샘플링된 방향(importance-sampled directions)을 생성합니다.
디코더의 모델링 용량을 최대화하기 위해, 두 가지 그래픽스 사전(prior)을 적용했습니다.
첫 번째 사전: 학습된 셰이딩 프레임(shading frames)으로 방향을 변환하여 중간 규모 효과(mesoscale effects)를 정확히 재구성합니다.
두 번째 사전: 마이크로패싯 샘플링 분포(microfacet sampling distribution)를 통해 신경망 디코더가 효율적으로 중요도 샘플링을 수행합니다.
이렇게 개발된 외관 모델은 비등방(anisotropic) 샘플링, 레벨 오브 디테일 렌더링, 그리고 깊게 계층화된 머티리얼 그래프를 압축된 단일 신경 표현(neural representation)으로 베이킹을 지원합니다.
또한, 레이 트레이싱 셰이더(ray tracing shaders)에 하드웨어 가속 텐서 연산을 직접 노출시켜 신경망 디코더를 실시간 경로 추적기(path tracer) 내에서 효율적으로 인라인 실행할 수 있음을 증명했습니다.
신경 머티리얼 수가 증가할 때의 확장성(scalability)을 분석하고, 일관적(coherent) 및 비일관적(divergent) 실행 코드 최적화를 통해 성능을 향상시킬 수 있습니다. 우리의 신경 머티리얼 셰이더는 비신경 기반 계층적 머티리얼보다 10배 이상 빠른 속도를 제공합니다.
이 연구는 게임이나 실시간 미리보기와 같은 애플리케이션에서 영화 품질의 비주얼(film-quality visuals)을 실시간으로 구현하는 길을 열어줍니다.
그림2 - 여러분께 [Jakob et al. 2019]와 비슷한 레이어링 방식으로 만든 다섯 가지 멋진 기준 재질의 렌더링 이미지를 보여드립니다! 이 재질들은 BRDF 표현과 중요도 샘플링을 위해 신경망 모델로 근사했어요. 각 객체는 복잡한 반사 특성과 고해상도 텍스처 때문에 실시간 렌더러에게 꽤 까다로운 도전이 되죠(자세한 내용은 표 1을 살펴보세요). 이 재질에 해당하는 셰이딩 그래프는 보충 자료에서 확인하실 수 있답니다.

1. INTRODUCTON

최근 렌더링 알고리즘, 광선 전달 기법, 레이 트레이싱 하드웨어의 발전으로 실시간으로 구현 가능한 이미지 품질의 한계가 크게 높아졌습니다. 그러나 실시간 재질(material) 모델의 발전은 상대적으로 더디게 진행되고 있습니다. 오프라인 렌더링에서는 깊이 있는 다층 재질(layered material)과 정교한 셰이딩 그래프가 일반적이지만, 이러한 접근법은 실시간 환경에서는 계산 비용이 너무 커서 적용하기 어렵습니다.
계산량 외에도 복잡한 재질은 중요도 샘플링과 필터링에서 추가적인 문제를 일으킵니다. 세밀한 재질은 축소 과정에서 심각한 앨리어싱(aliasing)을 발생시키며, 다층 재질의 복잡한 다중 로브(multi-lobe) 반사 특성은 제대로 샘플링되지 않으면 높은 분산(variance)을 초래합니다.
최근 연구들[Kuznetsov et al. 2022; Sztrajman et al. 2021; Zheng et al. 2021]은 다층 퍼셉트론(MLP)이 외관 모델링, 중요도 샘플링, 필터링에 효과적인 도구가 될 수 있음을 보여주었습니다. 그러나 이러한 모델들은 영화 수준의 사실적인 외관을 지원하지 못하며, 실시간 환경에서 고품질 시각 효과를 제공할 수 있는 확장 가능한 해결책은 아직 제시되지 않았습니다.
본 논문의 목표는 바로 여기에 있습니다. 영화 및 VFX 산업에서 사용되는 고품질 재질(예시는 그림 2, 통계는 표 1 참조)을 실시간으로 렌더링하는 것입니다. 이들 재질은 사실성과 시각적 충실도를 최우선으로 하며, 매우 고해상도 텍스처에 크게 의존합니다. 또한 범용 셰이더(ubershader)가 아닌 반사 성분의 레이어링을 통해 재질 외관을 구성하여, 수십 개의 파라미터를 가진 다양한 BRDF 조합을 가능하게 합니다. 이러한 재질을 단순한 해석적 모델로 근사하는 것은 부정확하며(그림 3 참조), 따라서 이를 실시간 애플리케이션에 구현하는 일은 매우 어려운 과제입니다.
이를 위해 본 연구에서는 i) 기존 연구의 효과적인 요소를 선별적으로 활용하고, ii) 새로운 알고리즘적 혁신을 도입하며, iii) 신경망을 고전적 래스터라이제이션과 경로 추적 모두에서 렌더링 루프의 최심부(inner loop)에 효율적으로 통합할 수 있는 확장 가능한 방안을 제안합니다.
또한 우리는 성능을 위해 편집 가능성을 과감히 포기하고, 대신 아티스트가 편집을 마친 재질을 신경망이 해석 가능한 뉴럴 텍스처(Neural Texture)로 '베이킹(baking)'하는 방식을 취합니다. 본 연구의 모델은 빠른 렌더링을 위한 최적화된 표현으로, 편집 이후 최적화 과정을 통해 베이킹됩니다.
영화 수준의 외관을 실시간으로 렌더링하기 위해, i) 기존 연구에서 필요한 요소를 선별적으로 활용하고, ii) 새로운 알고리즘적 혁신을 도입하며, iii) 신경망을 고전적 래스터라이제이션과 경로 추적 모두의 렌더링 루프 최심부(inner loop)에 효율적으로 통합할 수 있는 확장 가능한 해법을 개발했습니다.
성능 최적화를 위해 편집 가능성을 과감히 포기하고, 참조 재질을 신경망이 해석하는 뉴럴 텍스처로 '베이킹(baking)'합니다. 이 모델은 빠른 렌더링을 위한 최적화된 표현으로, 편집 완료 후 최적화 과정을 통해 베이킹됩니다.
우리의 모델은 인코더(encoder)와 두 개의 디코더(decoder)로 구성되며, 이들 사이에 신경망 기반 잠재(Neural Latent) 텍스처가 위치합니다. 인코더는 BRDF 파라미터를 매핑합니다.
표 1. 그림 2에 제시된 참조 재질의 통계. 셰이딩 그래프의 셰이딩 노드(a)는 프로그래밍적으로 다수의 BRDF 레이어(b)로 변환되며, 이는 파라미터(c)로 제어됩니다. 이러한 파라미터는 RGB 텍스처를 통해 공간적으로 변화하고(괄호 안은 사용된 총 채널 수)(d), 최종적으로 사용된 RGB 메가텍셀 수는 (e) 열에 표시됩니다.
재질
노드(a)
레이어(b)
파라미터(c)
텍스처(d)
MTexels(e)
Teapot ceramic
37
5
121
5 (11)
1174
Teapot handle
41
2
91
11 (19)
152
Slicer handle
20
5
43
3 (7)
201
Slicer blade
54
3
114
16 (40)
324
Inkwell
49
5
143
4 (11)
201
모델은 인코더 → (잠재 뉴럴 텍스처) → 2개의 디코더로 구성됩니다.
인코더는 복잡한 BRDF 파라미터(러프니스, 금속성, 굴절 등)를 컴팩트한 뉴럴 표현(잠재 공간)으로 변환합니다.
디코더들은 이 잠재 표현을 다시 렌더링에 필요한 값(반사율, 샘플링 분포 등)으로 해석합니다. 영화 제작용 재질 그래프는 매우 복잡하며 파라미터가 수십~수백 개에 달합니다.
이러한 재질을 실시간으로 계속 편집 가능하게 유지하면 성능이 심각하게 저하되므로,
아티스트가 편집을 완료한 후 → 뉴럴 텍스처로 '베이킹(bake)' → 실시간 엔진에서 빠르게 활용하는 방식을 채택했습니다.
즉, 런타임에서는 "재질을 계산하는 것"이 아니라 "이미 학습된 함수로 재질을 빠르게 조회"하는 것입니다.
표 1의 의의: 각 재질의 복잡성을 수치로 보여주는 자료입니다.
예시: Inkwell은 49개의 노드, 5개의 BRDF 레이어, 143개 파라미터, 4장의 텍스처(총 11채널), 약 201 메가텍셀로 구성됩니다. 이는 전통적인 방식으로는 실시간 렌더링이 불가능할 정도로 복잡하다는 점을 수치로 강조합니다. 이러한 복잡성을 뉴럴 모델로 압축함으로써, 동일한 시각적 품질을 훨씬 효율적으로 렌더링할 수 있음을 입증합니다.
그림3 - 앞의 두 열은 그림 2의 다층 티포트(Teapot) 재질을 단순 해석적 BRDF로 근사한 결과입니다. 이 모델은 총 8개의 공간적으로 변화하는 입력 채널만 사용합니다: 베이스 컬러(3), 스펙큘러 러프니스(1), 스펙큘러 노멀 맵(2), 스펙큘러리티(1), 메탈니스(1). 세 번째 열은 8채널 잠재 텍스처로 파라미터화된 우리의 뉴럴 BRDF 결과입니다. FLIP 시각화는 참조 이미지(마지막 열, 그림 2 및 표 1)와의 지각적 차이를 보여줍니다. 해석적 BRDF의 파라미터는 수치적으로 최적화되거나 수동으로 조정되었으나, 두 경우 모두 참조의 복잡성을 포착할 표현력이 부족해 더 큰 근사 오차가 발생합니다. 특히 도자기 유약(ceramic glazing)의 시점에 따른 파란색 변화(color shift)를 제대로 재현하지 못합니다.
우리의 신경망 기반 모델은 재질의 복잡성과 무관하게 평가 비용이 일정하므로, 복잡한 머티리얼도 실시간 패스 트레이서에서 렌더링할 수 있습니다. 이를 위해 (그림 2와 같은) 레이어드 머티리얼을 적용한 고정밀 자산을 제작했으며, 이는 10 cm 관찰 거리에서도 또렷한 디테일을 제공합니다. 나아가 이러한 고난도 자산의 시각적 충실도를 그대로 재현하면서도, 기존의(적정 수준으로 최적화된) 셰이딩 모델 대비 셰이딩 속도가 최대 10배 빠르고, 샘플링·필터링 기능(그림 1)까지 추가로 제공합니다. 실시간 프레임 속도에서 높은 시각적 충실도를 달성하기 위해 뉴럴 모델과 시스템 차원 모두의 혁신이 필요했습니다. 구체적인 혁신 사항은 다음과 같습니다.
필름 퀄리티 뉴럴 머티리얼을 위한 완전하고 확장 가능한 시스템
인코더를 이용한 기가텍셀급 자산에 대한 실용적 학습(tracable training)
노멀 매핑과 샘플링을 위한 프라이어(prior)를 포함한 디코더
실시간 셰이더에서의 신경망 효율적 실행
우리는 모델과 시스템이 함께 발전해야 뉴럴 셰이더의 실시간 구현이 가능하다고 보며, 이를 뒷받침하기 위해 본 시스템을 견고한 기반으로 설계하였다.

2. RELATED WORK

이 절에서는 신경망 기반 재질 표현, 필터링, 샘플링과 관련된 선행 연구를 검토하며, 고전적인 재질 모델에 대한 자세한 개요는 “Physically Based Rendering: From Theory to Implementation” (3rd Edition, 2016)을 참고한다.

2.1 Nerual appearance modeling

우리는 기존 재질을 신경망 기반으로 표현하고, 이를 기하학(classical geometry) 위에서 실시간 렌더링하는데 집중한다. 따라서 ray marching 기반의 신경 필드 (ray marched nerual fields)[Baatz et al. 2022; Mildenhall et al. 2020; Müller et al. 2022] 는 사용하지 않으며, 이러한 방법은 향후 유효한 대안이 될 수 있다.
우리의 연구 목표는 일반적으로 Neural BRDFs [Fan et al. 2022; Kuznetsov et al. 2019, 2021; Rainer et al. 2020, 2019; Sztrajman et al. 2021; Zheng et al. 2021] 과 비슷하다. 이러한 방법들의 공통점은 신경망을 Pair of direction(빛이 들어오는 방향, 카메라나 눈으로 가는 방향)을 조건으로 넣어서 연구 한다. 선택적으로 훈련된 Latent code 를 사용하는 것이다. 이러한 Latent code는 텍스처에 저장되며 [Thies et al. 2019], 고전적인 UV 매핑(classical UV mapping) 을 통해 샘플링되어 공간적으로 변화하는 BRDFs 를 지원한다.
Latent texture 를 얻기 위해서 Kuznetsov et al. [2019]의 NeuMIP 연구에서는 무작위로 초기화된 잠재 텍스처를 역전파를 통해 직접 최적화(direct optimization)하는 방식을 사용한다. 이는 단순하지만 수백만 개의 텍셀을 가진 대규모 텍스처에서는 비용이 많이 든다. 반대로, Rainer et al. [2019]는 오토인코더(auto-encoder) 아키텍처에 의존하여 일련의 반사율 측정값을 잠재 코드로 인코딩한다.
Kuznetsov et al. [2019]의 NeuMIP 연구에서는 무작위로 초기화된 잠재 텍스처를 역전파를 통해 직접 최적화(direct optimization)하는 방식을 사용한다. 이는 단순하지만 수백만 개의 텍셀을 가진 대규모 텍스처에서는 비용이 많이 든다. 반대로, Rainer et al. [2019]는 오토인코더(auto-encoder) 아키텍처에 의존하여 일련의 반사율 측정값을 잠재 코드로 인코딩한다.
우리는 하이브리드 접근 방식을 취한다: 먼저 인코더를 학습시키고, 학습 도중에 이를 사용해 계층적 잠재 텍스처(hierarchical latent texture)를 생성한 후, 이를 직접 최적화를 통해 미세 조정(finetune)한다. 이 접근법은 인코더-디코더 아키텍처의 속도와 직접 최적화의 유연성을 결합한 것이다. Rainer et al. [2019]와 달리, 우리는 반사율 측정값을 인코딩하지 않고, 해당 재질 파라미터 집합(albedo, roughness, normal 등)을 인코딩한다.
Zheng et al. [2021]과 Sztrajman et al. [2021]은 입력 방향(input directions)을 반각 좌표계(half-angle coordinate system) [Rusinkiewicz 1998]로 재파라미터화하였다. 이러한 특정 인코딩은 우리의 경우에는 큰 이점을 제공하지 않았지만, 우리는 이러한 원리를 활용하여 새로운 그래픽스 사전 지식, 즉 신경망이 학습한 셰이딩 좌표계로의 회전을 도입하였으며, 이를 통해 노멀 맵과 여러 겹으로 이루어진 재질을 보다 효과적으로 처리할 수 있도록 하였다. Fan et al. [2022]은 학습 세트에 포함되지 않은 새로운 BRDF도 잠재 코드(layered latents) 를 층층이 쌓는 방식으로 렌더링할 수 있었다. 하지만 이 방법은 실시간 처리에는 적합하지 않은 대규모 신경망을 필요로 한다.
우리는 작은 규모의 네트워크에 집중하며, 학습 시 사용된 재질만 렌더링하고 일반화는 추구하지 않는다. 대신, 여러 겹의 재질(layered materials) 은 각 층을 따로 표현하지 않고 모든 층의 결합 효과를 한 번에 포착하여 지원한다. 이렇게 함으로써 원래 재질의 명시적인 레이어 표현도, 신경망 컴포넌트의 추가적 레이어링도 피할 수 있다.
참고문헌
nvidia_neural_materials_author_paper.pdf
43.9 MB