Company
교육 철학

LightFormer: Light-Oriented Global Neural Rendering in Dynamic Scene

그림 1. 잘 확립된 many-light rendering 프레임워크를 활용하여, 우리는 LightFormer를 제안합니다. 이는 왼쪽에 보이는 것처럼 Light Encoding과 Light Gathering의 두 단계로 구성되어 있어요. 빛의 신경 표현에 집중함으로써, 우리 프레임워크는 완전히 동적인 대규모 장면의 현실적인 글로벌 조명을 실시간으로 생성할 수 있습니다. 이는 최신 신경 렌더링 기술뿐만 아니라 실시간 경로 추적 및 노이즈 제거 방법에도 도전적인 과제입니다. 오른쪽에 제시된 것처럼요.
실시간으로 글로벌 조명을 생성하는 것은 그래픽스 커뮤니티에서 오랜 도전 과제였어요. 특히 복잡한 조명이 있는 동적 장면에서는 더욱 그렇죠. 최근의 신경 렌더링 기술은 장면의 조명을 표현하기 위해 신경망을 활용함으로써 큰 가능성을 보여주고 있습니다.
그리고 최종적인 광휘를 디코딩하는 거예요. 하지만 객체의 매개변수를 표현에 포함하면 완전히 동적인 장면을 처리하는 데 한계가 있을 수 있어요. 이 연구에서는 LightFormer라는 신경 렌더링 접근 방식을 제시해요. 이 방법은 동적인 조명, 재질, 카메라, 애니메이션 객체를 포함한 완전히 동적인 장면에 대해 현실적인 전역 조명을 실시간으로 생성할 수 있답니다. 고전적인 다중 조명 방법에서 영감을 받아, 제안된 접근 방식은 장면 전체가 아니라 장면 내의 광원에 대한 신경 표현에 집중해요. 이렇게 하면 전반적인 일반화 능력이 향상되죠. 신경 예측은 각 광원에 대한 가상 점광과 음영 단서를 활용하여 이루어져요. 구체적으로 두 가지 단계가 탐구되는데요. 빛 인코딩 단계에서는 각 광원이 장면 내에서 가상 점광 세트를 생성하고, 이는 가시성 같은 화면 공간 음영 단서와 함께 암묵적인 신경 광 표현으로 인코딩돼요. 빛 수집 단계에서는 픽셀-광 주의 메커니즘이 각 음영 지점에 대한 모든 광 표현을 합성해요. 기하학과 재질 표현을 고려하여, 모든 광원의 합성된 광 표현과 함께 경량 신경망이 최종 광휘를 예측한답니다. 실험 결과, 제안된 LightFormer는 완전히 동적인 장면에서 실시간 성능으로 합리적이고 현실적인 전역 조명을 제공할 수 있음을 보여줘요.

1 INTRODUCTION

Neural rendering 방법은 전례 없는 수준으로 발전했습니다 [Tewari et al. 2022]. 이로 인해 radiance field representation [Mildenhall et al. 2021; Müller et al. 2022], path tracing과 adaptive sampling [Dong et al. 2023; Huo et al. 2020; Müller et al. 2021; Xu et al. 2023], denoising [Balint et al. 2023; Fan et al. 2021; Huo and Yoon 2021; Yu et al. 2021], complex material [Kuznetsov 2021; Vicini et al. 2019], 그리고 luminaires [Zhu et al. 2021] 등 다양한 분야가 크게 발전했습니다. 특히 실시간 global illumination은 그래픽스의 오랜 과제였지만, neural networks를 활용하면서 상당한 진전을 이루었습니다. 정적 장면의 고품질 global illumination 렌더링을 넘어 [Gao et al. 2022; Guo et al. 2022; Hadadan et al. 2021; Raghavan et al. 2023], 여러 접근법이 강체 변환된 객체, 가변 재질, 조명, 카메라가 있는 장면을 처리할 수 있음을 보여주었습니다 [Diolatzis et al. 2022; Granskog et al. 2020, 2021; Zheng et al. 2023]. 그러나 완전히 동적인 장면, 특히 애니메이션 객체나 대규모 장면을 다루는 것은 여전히 기존 방법들에게 도전 과제로 남아 있습니다.
최신 신경 광학 전송 방법은 신경망을 사용하여 복잡한 렌더링 기능을 표현합니다. 장면과 조명을 표현하기 위해 스크린 공간 방법은 일반적으로 G-Buffers [Nalbach et al. 2017; Xin et al. 2020]를 사용하여 장면을 표현하며, 조명은 직접 음영 [Xin et al. 2020]과 스크린 공간 버퍼 [Gao et al. 2022]를 통해 표현됩니다. 그러나 이러한 스크린 공간 표현은 카메라의 시야를 넘어서는 정보를 간과하여 상당한 오류를 초래할 수 있습니다. 예를 들어, 화면 밖 벽의 색상을 변경해도 렌더링 결과에 영향을 미치지 않습니다. Diolatzis et al. [2022]는 G-Buffers와 함께 명시적인 변수 매개변수를 사용하여 이 문제를 해결합니다. 하지만 매개변수가 일정 수를 초과하면 애니메이션 객체가 있는 동적 장면을 표현하기 어렵습니다.
대안적인 접근법은 관측을 통해 장면을 인코딩하여 화면 공간 기능을 보완합니다 [Eslami et al. 2018; Granskog et al. 2020]. 그러나 관측 카메라를 무작위로 선택하면 전체 장면을 적절히 커버하지 못할 수 있습니다. 또한 완전한 경로 추적 이미지를 관측으로 요구하는 것은 실시간 렌더링에 비현실적입니다. 그럼에도 이러한 관측은 이전에 보지 못한 장면에서도 장면과 조명을 캡처할 수 있어 일반화 능력에 기여합니다. 이 통찰을 바탕으로 NeLT [Zheng et al. 2023]는 각 가변 객체의 중심에서 장면을 관찰하여 포괄적인 장면 표현을 도입했습니다. 그러나 이 접근법은 객체 수에 따라 렌더링 비용이 선형적으로 증가하며, 각 객체의 광 전송 특성이 네트워크에 포함되어 있어 보이지 않는 객체가 있는 장면을 지원하지 못합니다.
이러한 문제를 해결하기 위해 LightFormer라는 neural rendering 프레임워크를 제안합니다. 이 프레임워크는 many-light rendering [Dachsbacher et al. 2014]에서 확장된 것으로, 빛의 관찰을 기반으로 합니다. 기존 방법들이 장면과 빛의 인코딩을 결합하는 것과 달리, 빛의 관찰을 사용하면 물리 기반의 빛 전송 방식을 제공합니다. Transformer 모델 [Vaswani et al. 2017]에서 영감을 받아, 제안된 아키텍처는 두 단계로 구성됩니다. 첫째, 장면에 존재하는 모든 빛의 정보를 light embedding으로 인코딩합니다. 둘째, G-Buffer를 사용해 각 shading point에 대해 해당 light embedding을 쿼리하고, attention 메커니즘을 통해 최종 radiance로 디코딩합니다. 이 encoder-decoder 아키텍처는 many-light rendering의 가상 점광원(VPL) 생성 및 수집 단계와 일치합니다(그림 1 왼쪽 참조). 빛의 관찰을 기반으로 그림자, 반사광, 간접 조명에 대한 shading 단서를 각각 생성하여 렌더링 품질과 일반화 능력을 향상시켰습니다.

우리의 주요 기술적 기여는 다음과 같아요.

우리는 완전한 동적 장면을 실시간으로 처리할 수 있는 새로운 neural rendering 프레임워크를 소개해요.
우리는 neural reflective shadow map을 탐구했어요. 이 맵은 빛 전송을 위한 가시성과 간접 조명 같은 중요한 단서를 제공하면서, 그럴듯한 전역 조명 효과를 제공할 수 있답니다 (Sec. 4).
우리는 pixel-light attention 메커니즘을 갖춘 neural light gathering 알고리즘을 개발했어요 (Sec. 5). 이 알고리즘은 many-light 방식으로 동적 광원의 기여를 효율적으로 수집할 수 있답니다.
실험 결과, 이 프레임워크가 이전의 neural rendering 기준보다 뛰어난 결과를 보여준다는 것이 입증되었어요. 비록 path tracing 방법과 비교했지만, 저희 연구는 주로 새로운 neural rendering 프레임워크의 잠재력을 탐구하는 데 중점을 두고 있어요. 그래서 production rendering을 위한 성숙한 global illumination 솔루션을 제공하는 것이 주 목적은 아니랍니다.

2 RELATED WORK

이 연구는 neural rendering, implicit scene representation, 그리고 realistic light transport에 관한 광범위한 관련 연구를 바탕으로 하고 있어요.

2.1 Precomputed Global Illumination

Precomputed radiance transfer (PRT) [Sloan et al. 2002]는 동적인 환경 조명 하에서 정적 장면의 실시간 렌더링을 혁신적으로 변화시켰어요. 빛의 이동을 구면 조화 함수(SH) 기저 함수의 계수로 저장함으로써 효율적인 통합이 가능해졌답니다. 이후 연구에서는 모든 주파수에 걸쳐 음영 결과를 얻기 위해 웨이블릿이나 구면 가우시안 함수 [Ng et al. 2004; Wang et al. 2009] 같은 대안적인 접근법이 탐구되었어요. 이러한 기저 함수들은 유용하지만, 한계도 있답니다.
저주파 표현과 합리적 불변성 부족에 관한 문제를 해결하기 위해 Xu et al. [2022]는 최근에 neural basis functions를 제시했어요. 이전 연구들은 주로 정적 장면과 먼 거리의 조명에 초점을 맞췄지만, PRT 시스템을 근거리 영역 조명 [Kristensen et al. 2005; Wu et al. 2020], 편집 가능한 재료 [Ben-Artzi et al. 2008, 2006; Sun et al. 2007], 그리고 정적 장면의 제한을 완화하는 방향으로 확장하려는 노력이 있었어요 [Sloan et al. 2005; Zhou et al. 2005]. Sloan et al. [2005]는 zonal harmonics를 사용해서 빠른 회전으로 전송 함수를 표현하여 PRT에서의 국부 변형을 가능하게 했어요. 하지만 이 접근법은 그림자 변화와 같은 전역적인 효과를 포착하지 못해요. Zhou et al. [2005]는 장면 내 각 강체 객체에 대해 그림자 필드를 미리 계산하여, 동적 조명 하에서 실시간 부드러운 그림자를 구현했어요. 이러한 발전에도 불구하고, PRT에서의 동적 기하학은 여전히 강체 객체 변환이나 국부 표면 변형으로 제한되어 있어요 [Ramamoorthi et al. 2009]. 실시간 전역 조명을 위해 lightmaps와 light probes를 굽는 방법 [Greger et al. 1998]은 산업에서 널리 사용되고 있어요. 최근에는 glossy probe projection 기술 [Rodriguez et al. 2020]이 제안되어, 정적이고 복잡한 광택 장면을 상호작용적으로 렌더링할 수 있게 되었어요. Guo et al. [2022]는 프로브 기반의 neural rendering 프레임워크를 도입하여, 효율적인 light probe의 사전 계산과 고품질 전역 조명을 생성했어요. 우리는 이러한 최근 연구들이 주로 정적 장면과 조명 조건에 초점을 맞추고 있으며, 복잡하고 동적인 시나리오에서의 성능은 여전히 불분명하다는 점을 주목해요.

2.2 학습 기반의 빛 전송

최근 몇 년간, 장면을 표현하고 전역 조명을 미리 계산하기 위해 딥러닝을 사용하는 데 많은 관심이 쏠렸어요 [Tewari et al. 2022]. 이러한 학습 기반 방법들은 신경망의 압축성 덕분에 이전 기술들에 비해 메모리 사용량이 적어요. Ren et al. [2013]은 동적 점 조명과 뷰를 사용하여 신경망으로 간접 조명을 모델링한 선구자였어요. Eslami et al. [2018]은 신경망이 여러 관찰 이미지를 인코딩하여 장면을 표현하고 새로운 뷰를 렌더링할 수 있음을 보여줬어요. Granskog et al. [2020]은 신경 장면 표현의 제어 가능성을 높이기 위해 조명, 재료, 기하학 정보를 분리하고, G-buffer를 활용하여 선명하고 현실적인 결과를 생성했어요. NeRF [Mildenhall et al. 2021]는 정적 장면의 방사 필드를 볼륨으로 정의된 신경망을 사용하여 표현해요. 볼륨 렌더링 기법을 통해 새로운 뷰에서 놀라운 재구성 결과를 얻었답니다. 마찬가지로, Neural Radiosity [Hadadan et al. 2021]는 신경망을 사용하여 방사 필드를 표현하고, 잔차 노름을 최소화하여 렌더링 방정식을 해결해요. 위의 방법들은 재학습 없이 동적 장면을 처리할 수 없다는 점을 주의해야 해요. PRT 프레임워크를 기반으로 한 최근 발전 [Raghavan et al. 2023; Rainer et al. 2022]은 환경 조명을 표현하기 위해 신경망을 사용하지만, 정적 장면과 먼 조명을 가정하고 있어요.
Diolatzis et al. [2022]의 최근 발전은 복잡한 전역 조명 효과를 재구성하기 위해 효과적인 데이터를 샘플링하는 데 능동 학습 기법을 활용했어요. 이전 연구들이 암시적 신경 장면 표현에 의존한 것과는 대조적으로
관찰에 따르면 [Eslami et al. 2018; Granskog et al. 2020], 이 방법은 명시적인 파라메트릭 장면 표현을 사용해요. 하지만 이 표현은 특정 장면 구성에 제한되어 있어서, 애니메이션 객체나 텍스처를 표현하는 데 어려움을 겪고, 일반화하는 데 한계가 있답니다. 또한, 다양한 변수, 예를 들어 가변적인 텍스처를 가진 복잡한 동적 장면은 장면 표현 벡터의 크기 때문에 여전히 어려운 문제로 남아 있어요. 최근에 NeLT [Zheng et al. 2023]는 각 기하학적 객체와 관련된 빛의 전이를 신경망을 통해 모델링하여 유연한 신경 장면 표현을 향해 진전을 이루었어요. 여러 개의 강체 변환 기하학을 가진 장면에 대해 고품질의 결과를 생성할 수 있지만, 많은 동적 객체를 가진 복잡한 장면을 처리하는 것은 객체 수에 비례하여 선형적으로 증가하는 조합 과정이 너무 시간이 많이 걸려서 여전히 도전 과제로 남아 있어요. 특히, 우리 프레임워크의 성능은 객체 수(조명 제외)에 직접적으로 의존하지 않아서, 동적이고 대규모 장면의 실시간 렌더링이 가능하답니다.

2.3 화면 공간 전역 조명

화면 공간 접근법은 주로 실시간 응용 프로그램에서 그 효과성과 구현의 용이성 때문에 널리 사용되고 있어요. 화면 공간 앰비언트 오클루전(SSAO) [Shanmugam and Arikan 2007]은 깊이 버퍼로부터 그럴듯한 앰비언트 오클루전을 생성하는 잘 확립된 기술이에요. SSAO를 기반으로, 화면 공간 방향성 오클루전(SSDO) [Ritschel et al. 2009]은 색상 번짐과 같은 간접 조명 효과를 도입했어요. 이후의 접근법들은 화면 공간 필터링 [Robison and Shirley 2009]이나 화면 공간 레이 마칭 [McGuire and Mara 2014]을 사용하여 광택 반사 효과를 얻으려 했답니다. 하지만 화면 공간 정보의 한계 때문에, 이러한 방법들은 대부분 근사치 결과만 제공할 수 있어요.
최근 몇 년 동안, neural networks와 결합된 screen space global illumination 방법들이 급증했어요. Deep shading [Nalbach et al. 2017]은 convolutional neural networks를 사용해서 screen space buffers만으로 다양한 시각적 효과를 예측해요. 현실적인 결과를 얻을 수 있지만, 시간적 안정성은 고려되지 않았어요. Xin et al. [2020]은 새로운 temporal loss를 도입해서 시간적 일관성을 개선했지만, 단일 반사 확산 간접 조명에만 초점을 맞췄어요. Datta et al. [2022]는 neural networks를 사용해 screen space shadow buffers로부터 부드러운 그림자를 정확하게 생성했지만, 이 방법은 여러 광원 아래의 간접 조명을 다루지 않아요. 최근에 Gao et al. [2022]는 screen space buffers와 직접 조명으로부터 고품질의 간접 조명을 예측하는 neural rendering framework를 제안했지만, 이는 정적 장면의 동적 영역 조명에만 제한돼요.
결국, 사전 계산된 global illumination과 비교했을 때, screen space 접근법은 화면 너머의 제한된 정보 때문에 고품질 결과를 생성하는 데 어려움을 겪어요. 특히, screen space buffers를 global illumination으로 매핑하는 것은 매우 제약이 적고 모호한 문제라서 학습 알고리즘에 큰 도전을 줘요.

2.4 실시간 Ray Tracing

특수 하드웨어인 RTCore와 최신 denoising 알고리즘 [Balint et al. 2023; Huo and Yoon 2021;
Müller et al. 2021; Nvidia 2023b에 따르면, 최근 몇 년간 실시간 ray tracing은 물리 기반의 매우 현실적인 결과를 보여줬어요. 하지만, 샘플링 절차의 특성 때문에 시간적 일관성을 유지하는 게 어려울 수 있어요 [Balint et al. 2023]. 특히 제한된 시간과 하드웨어 성능으로 작업할 때 그렇죠. 실시간 시나리오에서는 종종 픽셀당 매우 적은 샘플만 허용되기도 해요 [Fan et al. 2021; Nvidia 2023a]. 최첨단 딥러닝 기반의 노이즈 제거기는 이 문제를 완전히 해결하지 못하고 있어요. 예를 들어, 시간적 누적 방법은 결과를 더 흐릿하게 만들 수 있답니다.
실시간 ray tracing과 노이즈 제거 방법과는 달리, 우리 방법은 시간적으로 일관되고 선명한 입력을 활용해요 [Diolatzis et al. 2022; Granskog et al. 2020; Zheng et al. 2023]. 그리고 정교하게 설계된 파이프라인을 통해 강력한 시간적 일관성을 달성하죠. 경로 추적 방법은 순수한 반사와 굴절 같은 효과에 뛰어나고, 복잡한 재료와 빛의 전파를 지원하는 데 일반화가 잘 되지만, 우리 방법은 특정 시나리오에서 더 뛰어난 성능을 보여요. 6.2절에서 설명한 것처럼요. 특히, 우리 방법은 그림자 같은 고주파 셰이딩 디테일을 효과적으로 보존하고, 큰 장면에서도 시간적으로 더 안정적인 결과를 제공해요. 제한된 시간 내에 충분한 빛 경로를 추적하는 게 어려운 상황에서도 말이죠.

3 OVERVIEW

3.1 문제 정의

우리의 목표는 완전히 동적인 장면의 실시간 global illumination을 위한 신경 렌더링 방법을 탐구하는 거예요. 여기에는 동적인 조명, 뷰, 재료뿐만 아니라 변형 가능하고 애니메이션된 객체도 포함되지만 이에 국한되지는 않아요. 이 맥락에서 렌더링 과정은 장면, 조명, 카메라가 주어졌을 때 복잡하고 비선형적인 매핑이 되는데, 이는 다음과 같이 표현돼요.
여기서 s는 전체 장면을 나타내고, L은 모든 광원을, o는 카메라의 원점을, w는 카메라 원점에서 셰이딩 포인트로의 방향을 나타내요.
이전 연구들에서 일반화가 부족해서 동적 장면을 효과적으로 렌더링하는 데 어려움이 있었어요. 이를 해결하기 위해, 우리는 장면 s와 빛 L을 네트워크에 직접 넣는 대신, F라는 신경망을 신경 셰이더로 학습하는 데 집중하고 있어요. 이 목표를 달성하기 위해, s와 L에서 더 포괄적이고 유용한 정보를 추출하려고 해요. 이렇게 하면 네트워크가 특정 장면 구성을 외우는 대신, 빛 전송 작업에 집중할 수 있게 되거든요.
동적 장면의 렌더링을 향상시키기 위한 우리의 접근법은 빛의 관찰을 활용하는 데 기반을 두고 있어요. 장면과 빛의 인코딩을 결합하는 무작위 카메라 관찰과 달리, 빛의 관찰은 s와 L의 인코딩을 분리하여 빛 전송에 더 가치 있는 정보를 제공해요. 첫째, 빛의 관찰을 사용하면 가시성을 위한 고전적인 섀도우맵 같은 충분한 음영 단서를 제공해요. 둘째, 반사 섀도우맵 개념과 유사하게 [Dachsbacher and Stamminger 2005], 빛의 관찰에서 픽셀은 간접적인 빛의 원천으로 간주될 수 있어요.
이는 전역 조명에 중요한 단서를 제공하죠. 마지막으로, 객체별 표현이 객체 수에 따라 렌더링 비용을 증가시키는 것과 달리 [Zheng et al. 2023], 빛의 관찰을 활용하는 우리의 방법은 신경 렌더링 기술을 사용하여 대규모 동적 장면을 렌더링할 수 있게 해요.

3.2 파이프라인 개요

동적 장면을 렌더링하는 데 있어 빛의 관찰이 주는 이점을 최대한 활용하기 위해, 우리는 다중 빛 렌더링 방법 [Dachsbacher et al. 2014]과 Transformer 아키텍처 [Vaswani et al. 2017]의 특징을 통합한 파이프라인을 탐구해요. 우리 파이프라인은 두 가지 주요 단계로 구성되어 있어요: 빛 인코딩 단계와 빛 수집 단계인데, 이는 각각 다중 빛 렌더링의 빛 생성-수집 단계와 Transformer의 인코더-디코더 단계에 해당해요.
빛 인코딩 단계에서는 먼저 반사 그림자 맵을 사용해서 각 빛으로부터 장면을 캡처해요 [Dachsbacher and Stamminger 2005]. 렌더링된 반사 그림자 맵의 각 텍셀은 빛 원천에서 방출되는 간접 가상 점광원(VPL)을 나타내요. 반사 그림자 맵의 깊이 정보는 전통적인 그림자 맵처럼 사용되며, 화면 공간으로 변환되어 음영 단서로 활용돼요. 이러한 모든 입력은 일련의 인코더를 통해 인코딩되어 각 빛 원천에 대한 빛 임베딩을 얻어요.
빛 수집 단계에서는 각 음영 지점에 대한 빛 정보를 모아서 최종 렌더링 이미지를 생성하는 것이 목표예요. 여러 빛 원천이 있는 장면에서는 Transformer 블록을 사용해 모든 빛 임베딩에 대해 주의를 기울여, 각 음영 지점에 대한 효과적인 구성 빛 임베딩을 만들어내요. 이 절차는 전통적인 다중 빛 렌더링 프레임워크에서 수동으로 정의된 오류 범위 [Walter et al. 2005]를 요구하거나 가상 빛의 작은 부분 집합을 선택하는 [Hašan et al. 2007] 빛 제거 단계를 대체해요. 구성된 빛 임베딩과 각 음영 지점의 기하학 및 재료 정보를 바탕으로, 음영 디코더를 사용해 최종 렌더링 결과를 생성해요.

4 LIGHT ENCODING

장면의 각 빛을 인코딩하여 그 빛의 임베딩을 얻는 과정은 그림 2에 나와 있어요. 우리는 VPL을 사용해서 많은 빛 렌더링 기법을 따르며 빛을 표현해요 [Dachsbacher et al. 2014]. 점 기반 표현의 뛰어난 특성을 물려받아, VPL은 빛의 통합 표현을 가능하게 하고, 다양한 빛 유형에 대한 통합 인코딩 방식을 가능하게 해요. 직접 빛 전송과 간접 빛 전송의 뚜렷한 특성을 고려하여, VPL을 두 가지 유형으로 정의합니다. 직접 조명에서는 빛의 방출 표면에서 나오는 조명 정보만 필요하며, 이를 직접 VPL이라고 해요. 간접 조명에서는 모든 조명된 표면이 빛의 원천으로 간주되어야 하며, 이를 간접 VPL이라고 부릅니다. 특히, 두 가지 다른 인코딩 네트워크가 각각의 빛 임베딩을 얻기 위해 적용돼요. 복잡하고 고주파의 음영 결과를 생성하고 프레임워크의 일반화를 향상시키기 위해, 우리는 s와 L의 추가 정보를 네트워크 친화적인 화면 공간 버퍼로 탐색하며, 이를 음영 단서라고 불러요. 각 음영 단서는 고유한 특징을 유지하므로, 각각을 별도로 인코딩하기 위해 다른 인코딩 네트워크가 적용됩니다.
그림 2. LightFormer의 Light Encoding Stage입니다. 장면 내 각 빛에 대해, 다양한 빛의 속성을 인코딩하기 위해 여러 VPL 인코더와 shading clue 인코더를 적용해요. 이렇게 얻어진 신경망 특징들은 각 빛에 대한 통합된 light embedding을 얻기 위해 결합됩니다.

4.1 Direct Light Embedding

장면에 존재하는 각 빛에 대해, 방출된 표면에서 무작위 샘플을 사용하여 일련의 direct VPLs를 생성해요. 또한, 방출된 복사 분포에 기반한 importance sampling을 적용하여 대표 샘플을 얻습니다. 각 샘플에 대해 위치, 법선, 방출된 복사, 샘플링 확률을 기록해요. 이후, 각 direct VPL의 예상 전력을 계산하고, NeLT 연구 [Zheng et al. 2023]에 따라 평균 예상 전력으로 정규화합니다. 이 작업은 특히 높은 dynamic range (HDR)를 보이는 조명 분포를 다룰 때 direct VPLs의 일반화에 기여해요.
우리의 프레임워크는 영역 조명과 환경 조명 외에도 점 조명과 방향성 조명 같은 Delta 광원을 지원해요. 일부 조명에 대한 유효하지 않은 필드(예: 환경 조명에서의 VPL 위치)는 통합된 표현을 유지하기 위해 고유한 상수 값으로 채워집니다. 이 표현은 임의의 영역 조명의 형태와 공간적으로 변화하는 방출 속성을 포함한 충분한 정보를 제공해요.
각 direct VPL을 인코딩하기 위해 multilayer perception (MLP)을 사용해요. 각 빛에 대한 통합된 신경 표현을 얻기 위해 평균 풀링을 사용하여 이를 집계합니다. 네트워크 아키텍처의 자세한 내용은 보충 문서에서 확인할 수 있어요.

4.2 Neural Reflective Shadow Map

Reflective Shadow Map (RSM) [Dachsbacher and Stamminger 2005]는 그림자와 간접 조명을 렌더링하는 우리 방법의 기초가 돼요. 이 방법은 Neural Reflective Shadow Map으로 간주되죠. 각 간접 VPL은 깊이, 위치, 법선, 반사된 플럭스를 포함해요. 전통적인 RSM 기법은 간접 VPL의 일부를 선택하기 위해 휴리스틱 규칙을 사용하는데, 우리는 신경망을 활용해서 모든 간접 VPL에서 정보를 인코딩하고 수집해요. 또한, 우리 방법은 성능을 고려하여 간접 VPL로부터 조명을 계산할 때 명시적인 가시성 테스트를 피합니다.
간접 VPL로부터 조명을 계산할 때 성능을 고려하여 명시적인 가시성 테스트를 피하는 것도 중요해요.
원래 RSM은 점광원이나 방향광 같은 델타 광원을 위해 설계되었어요. RSM을 다른 유형의 광원에 적용하려면 포인트 프록시가 필요하답니다. 이전 방법들은 영역 광원의 중심점을 선택했지만 [Datta et al. 2022], 우리 방법은 직접 VPL의 평균 위치를 사용해요. 이렇게 하면, 방사된 광선 분포를 고려한 중요 샘플링을 통해 직접 VPL의 분포가 더 대표적인 프록시를 제공할 수 있답니다.
RSM은 점광원 같은 전방향 광원에 대해서는 큐브맵에 저장돼요. 방향광이나 스포트라이트의 경우, 단일 텍스처를 사용해요. 하지만 영역 광원을 다룰 때는, 하나의 텍스처로는 왜곡이 심해서 충분하지 않아요. 그래서 우리는 영역 광원을 위한 고품질의 광원 관측을 저장하기 위해 큐브맵을 사용하고, 보이지 않는 픽셀은 효율성을 유지하기 위해 버려요. 직접 VPL과 마찬가지로, 우리는 MLP를 사용해 각 간접 VPL을 인코딩해요. 또한, RSM의 깊이 정보를 활용해 그림자의 음영 단서를 생성하는데, 이는 다음 섹션에서 더 자세히 설명할게요.

4.3 화면 공간 셰이딩 단서

신경망 기반의 빛 전송 분야에서는 그림자와 반사 효과를 정확하게 렌더링하는 것이 큰 도전 과제예요. 이 효과들은 본질적으로 고주파 특성을 가지고 있거든요 [Diolatzis et al. 2022; Zheng et al. 2023]. G-buffers는 널리 사용되지만, 이러한 효과에 대한 충분한 정보를 제공하지 못하는 경우가 많아요. 이론적으로는 direct VPLs가 빛의 원천을 충실히 표현할 수 있지만, direct VPLs만을 입력으로 사용해서 복잡한 빛 전송 함수를 학습하는 것은 여전히 어려워요.
이 문제를 해결하기 위해, 우리는 그림자와 하이라이트를 위한 셰이딩 단서를 도입했어요. 장면과 조명의 더 포괄적인 표현을 제공함으로써, 신경망이 학습하기 쉽고 일반화 능력을 향상시키는 것을 목표로 하고 있답니다. 우리 접근 방식은
그림 3. LightFormer의 빛 수집 단계입니다. 각 광원의 screen-space embedding과 G-Buffers가 주어지면, 먼저 각 픽셀에 대해 pixel-light attention을 수행해요. 각 shading 포인트의 구성된 light embedding은 G-Buffers와 함께 shading decoders에 의해 최종 radiance를 예측하는 데 사용됩니다. 우리는 세 개의 광원 아래에서 하나의 shading 포인트에 대한 pixel-light attention을 설명합니다.
이는 Zeng et al. [2023]과 같은 최신 relighting 기술의 발전에서 영감을 받았어요. 이 기술들도 렌더링 정확도를 높이기 위해 유사한 힌트를 사용하거든요.
그림자 단서입니다. 생성된 그림자 맵이 주어지면, 가시성 정보를 명확하게 해결할 수 있어요. Neural shadow mapping [Datta et al. 2022]은 일련의 screen space shadow buffers로부터 고품질의 soft shadow를 생성하기 위해 compact UNet을 사용합니다. 우리는 이 포괄적인 연구를 확장하여 여러 광원 아래에서 soft shadow를 달성하려고 해요. 우리 shadow clues encoder의 입력은 7채널 버퍼입니다:
여기서 d는 emitter-to-occluder 깊이이고, df는 픽셀에서 emitter까지의 거리입니다. cₑ와 cc는 각각 빛 방향과 시야 방향과의 법선 벡터의 내적이에요. p는 G-Buffers에서 가져온 위치 버퍼입니다. d는 RSM의 그림자 맵을 screen space로 투영하여 얻어집니다. 마찬가지로, 이러한 입력들은 MLP 대신 UNet에 의해 인코딩되는데, 이는 soft shadow를 재구성하는 데 공간 정보의 중요성을 고려한 것입니다. Neural shadow mapping과 비교했을 때, 우리 방법은 몇 가지 주요 차이점을 보입니다.
첫째, 우리의 인코더는 최종 그림자 마스크를 직접 예측하는 신경 그림자 매핑과 달리 각 음영 점의 가시성 정보를 저장하는 임베딩을 생성합니다. 다수의 광원 있는 장면에서는 신경 그림자 매핑이 각 광원에 대한 개별 그림자 마스크를 예측해야 합니다. 반면, 우리의 방법은 모든 광원의 그림자 임베딩을 융합하고 이를 한 번만 디코딩하여 우수한 성능을 달성합니다. 인코딩 프로세스를 최적화하는 데 집중함으로써 우리는 UNet의 크기를 줄이는 데 성공했습니다. 자세한 아키텍처는 보조 문서에서 확인할 수 있습니다.
둘째, 원래 입력 버퍼 [Datta et al. 2022] 외에도 GBuffer에서 위치 버퍼 p를 보조 입력으로 통합합니다.
그림자 품질을 향상시키기 위한 보조 입력입니다. 원래 입력은 소프트 그림자 효과를 위해 차폐체에서 수신기로의 거리를 활용하여 그림자가 없는 모든 음영 점에 대해 동일한 입력을 생성합니다. 이로 인해 합성곱 신경망이 차폐체와 수신기를 구별하는 데 어려움을 겪어, 수신기에서 차폐체 표면으로 흐릿한 그림자가 드리워지는 등의 아티팩트가 발생합니다. 위치 버퍼를 포함함으로써 우리는 장면의 기하학에 대한 단서를 제공하여 이 현상을 완화하는 데 도움을 줍니다.
고품질 그림자 단서는 고해상도 그림자 맵에 의존한다는 점에 유의하십시오. 그러나 반사 그림자 맵의 해상도는 간접 VPL 인코딩 프로세스의 성능에 직접적인 영향을 미칩니다. 품질과 성능 사이의 균형을 맞추기 위해 우리는 정확한 가시성을 보장하기 위해 깊이 버퍼를 전체 해상도로 렌더링하며, 다른 버퍼는 간접 조명의 저주파 특성으로 인해 낮은 해상도를 가집니다. 실제로 우리는 깊이 저장을 위해 큐브맵 면당 1024x1024 해상도를 사용하고, 위치, 법선 및 반사 플럭스 저장을 위해 64x64 해상도를 사용합니다.
반사적 단서. 그림자뿐만 아니라 컴퓨터 그래픽에서 반사적 요소를 예측하는 것도 어려운 일이에요. 반사적 음영의 모습은 조명 방향, 시점 방향, 음영 법선, 그리고 재료의 특성 같은 요소에 의해 결정돼요. 동적인 장면에서는 이러한 모든 요소가 변할 수 있기 때문에, 반사 효과를 렌더링하는 것은 정적인 장면에 비해 더 높은 차원의 매핑이 필요하답니다.
그림자 단서에 사용되는 접근 방식과 유사하게, 우리는 빛 정보를 화면 공간 버퍼로 변환해요. 먼저, 각 음영 지점이 각 광원의 방향을 인식할 수 있도록 하는 빛 방향 버퍼를 사용해요. 면적 조명에 대해서는 조명의 점 프록시 위치를 사용합니다. 프록시의 위치가 근사치이긴 하지만, 네트워크가 암묵적으로 편향을 보정하고 대부분의 경우 눈에 띄는 영향을 보이지 않는다는 것을 알게 되었어요. 게다가,
잘 알려진 Blinn-Phong shading 모델 [Blinn 1977]에서 영감을 받아, 우리는 반벡터 버퍼를 도입해서 반사 효과를 렌더링하는 또 다른 단서를 제공해요. 노멀과 반벡터의 내적을 단순히 계산함으로써, 반사 결과의 대략적인 표현을 얻을 수 있어요. 이렇게 하면 반사 효과를 예측하는 복잡성을 줄일 수 있답니다. 우리는 반벡터와 빛의 방향을 각각 MPLs로 인코딩하는데, 이는 이들의 속성이 다르기 때문이에요.
각각의 광원에 대해, 앞서 언급한 특징들을 따로 인코딩한 후, 이를 통합된 화면 공간의 빛 임베딩으로 결합해요. 직접 VPLs와 간접 VPLs의 임베딩은 특징 벡터로 표현되고, 셰이딩 단서의 임베딩은 화면 공간 특징 맵의 형태로 표현돼요. Granskog et al.과 Diolatzis et al. [2022; 2020]의 방법론을 따라, VPL 임베딩을 화면 공간 차원에 맞게 확장한 후, 모든 임베딩을 연결해서 최종 빛 임베딩을 얻어요.

5 빛 모으기

이 단계에서는, 장면 내 각 광원의 빛 임베딩을 가지고 장면을 조명할 수 있어요. 많은 빛 렌더링에서의 빛 모으기 과정과 유사하게 [Dachsbacher et al. 2014], 셰이딩 과정은 다음과 같이 공식화할 수 있어요.
여기서 x는 셰이딩 포인트이고, Уⱼ는 j번째 VPL을 나타내며, ƒ(x)는 BRDF 함수, G(x,는 기하학적 항을 나타내고, V(x,yⱼ)는 셰이딩 포인트 x와 VPL Уј 사이의 가시성을 나타내요.
속도를 높이기 위해, 우리는 동일한 광원에서 발생하는 모든 VPL을 개별적으로 기여도를 누적하는 전통적인 방법 대신, 동시에 하나의 light embedding으로 처리해요. 구체적으로, 우리는 신경망을 활용해서 각 shading point에 대해 light embeddings로부터 모든 빛 정보를 암묵적으로 모으거든요. 이 빛 모으기 단계는 두 단계로 구성돼요 (그림 3). 먼저, pixel-light attention 메커니즘을 사용해서 모든 light embedding을 구성해요 (섹션 5.1). 그 다음, 각 shading point의 구성된 light embedding을 가지고 결과를 렌더링해요 (섹션 5.2). 이 과정은 다음과 같이 공식화됩니다.
여기서 G-Buffers g(x)는 위치, 법선, 확산 색상, 반사 색상, 거칠기를 포함해요. Z는 구성된 light embedding이에요. Zₖ는 k번째 빛의 light embedding을 나타내요. C와 R은 각각 light embedding을 구성하고 (섹션 5.1), 렌더링하는 (섹션 5.2) 신경망이에요.

5.1 Pixel-light Attention

모든 VPL을 모으는 간단한 방법은 PointNet [Qi et al. 2017]처럼 pooling 연산을 적용하는 거예요. 하지만, 각 shading point에 대해 다른 빛의 중요성은 다르답니다. 예를 들어, shading point에서 멀리 떨어져 있거나 낮은 방사율을 가진 빛은 일반적으로 최종 방사율에 미치는 영향이 미미해요. 전통적인 방법들, 예를 들어 lightcuts [Walter et al. 2005]와 MRCS [Hašan et al. 2007]는 이러한 통찰을 바탕으로 모으기 단계를 가속화하는 것을 목표로 해요.
클러스터링이나 VPLs를 명시적으로 제거하는 것과 달리 [Prutkin et al. 2012; Walter et al. 2005], 우리 neural light transfer는 각 빛의 적응적 중요성을 탐색하여 컴팩트한 neural light 표현을 구성하는 적절한 방법을 찾고 있어요. 이 컴팩트한 표현은 디코더가 빛 정보의 중요한 측면에 집중할 수 있도록 도와주고, 그 결과 디코더의 작업 부담을 줄여 더 작고 빠른 디코더를 사용할 수 있게 해준답니다. Transformer 아키텍처의 cross attention operation을 기반으로 [Vaswani et al. 2017], 우리는 모든 light embedding을 효과적으로 모으기 위해 pixel-light attention을 탐구하고 있어요. 그림 3은 우리 pixel-light attention 블록의 세부 사항을 보여줍니다.
Attention 메커니즘은 query Q와 key K가 주어졌을 때 일련의 가중치를 계산하고, 이 가중치로 value 벡터 V를 구성하여 결과를 얻을 수 있어요. 우리 pixel-light attention에서는 각 shading point의 G-Buffers가 Q로 사용되고, 모든 빛의 light embedding z가 V로 간주됩니다. 고전적인 cross-attention에서 K와 V에 동일한 embedding을 사용하는 것과 달리, 우리는 Z에서 직접 light embedding Zd를 잘라내어 K로 사용해요. ablation 연구에 따르면, 전체 light embedding을 K로 사용할 경우 계산 비용이 크게 증가할 것이라고 해요 (우리 방법에 비해 약 3배).
또한, 실질적인 성능을 향상시키기 위해 8개의 헤드를 가진 multi-head attention [Vaswani et al. 2017]을 활용하고 있어요. neural light 수집 단계 이후, 구성된 light embedding은 디코더 네트워크의 입력으로 사용됩니다.

5.2 Rendering

각 shading point에 대한 구성된 light embedding을 통해, 우리는 기하학 및 재료 정보를 입력으로 받아 최종 radiance를 디코딩합니다, 이는 Eq. 5와 같아요. 특히, 직접 및 간접 shading이 서로 다른 물리적 요소에 의존하기 때문에, 우리는 이를 예측하기 위해 별도의 디코더를 적용합니다.
여기서 Rd와 Rᵢ는 각각 직접 및 간접 디코더를 나타내요. Zd, Zh, zₗ, Zs, 그리고 Zᵢ는 각각 직접 빛, 반 벡터, 빛의 방향, 그림자, 그리고 간접 빛 부분을 나타내는 조합된 빛 임베딩 Z의 구성 요소랍니다 (그림 2). T¹, T¹ˢ, 그리고 T*는 각각 다른 빛의 전달을 나타내며, 이는 직접 음영, 직접 그림자, 그리고 간접 음영이에요. 최종 방사율은 이들을 조합하여 얻습니다:
여기서 O는 Hadamard 곱(즉, 픽셀 단위 곱셈)을 나타내요. NeLT [Zheng et al. 2023]와 유사하게, 각 음영 구성 요소에 별도의 손실을 추가하면 성능이 향상될 수 있다고 믿어요.
직접 및 간접 디코더를 위해, 우리는 Gao et al. [2022]의 이전 작업과 유사한 신경망 구조를 사용해요. 이는 픽셀 생성기의 경량화된 변형이에요 [Diolatzis et al. 2022; Granskog et al. 2020; Sitzmann et al. 2019]. 우리의 관찰에 따르면, 이 컴팩트한 디코더 네트워크의 구현은 기본 픽셀 생성기와 비교했을 때 디코딩 과정을 상당히 가속화해요. 동시에, 강력한 빛 임베딩 덕분에 만족스러운 품질의 렌더링 결과를 제공합니다. 주의할 점은, 직접 디코더는 직접 음영과
그림 4. 우리 데이터셋에서 렌더링된 장면 샘플의 시각화입니다.
그림자를 생성해요. 구체적으로, 그림자를 예측하기 위해 디코더의 중간 레이어에 조합된 그림자 임베딩 Zₛ를 주입합니다. 네트워크 아키텍처에 대한 추가 세부 사항은 보충 문서에 나와 있어요.

6 RESULTS

6.1 구현 세부사항

데이터셋. 제안한 접근 방식의 효과를 검증하기 위해 Chess, Gig, Emernald Square, Living Room이라는 네 가지 매우 동적인 장면을 만들었어요. 이 네 장면 모두에서 카메라 뷰를 다양하게 해서 학습 데이터의 다양성을 확보했답니다. 각 데이터셋마다 학습을 위해 20,000개의 랜덤 장면을 렌더링하고, 테스트를 위해 100개의 랜덤 장면을 렌더링했어요. VPL 생성 과정에서는 각 조명에 대해 500개의 VPL을 샘플링하고, 환경 조명에는 2000개의 VPL을 샘플링했어요. 그림 4는 우리 데이터셋의 선택된 렌더링 예제를 보여줍니다.
특히, Chess 장면에서는 체스판과 매우 반사율이 높은 체스말이 클래식한 Cornell 박스 안에 배치되어 있어요. 두 개의 면적 조명이 각각 상단과 뒷면에 배치되어 있답니다. 각 체스말은 애니메이션이 적용되어 있고, 두 개의 조명은 변형이 가능해요. 또한, Cornell 박스의 두 측면 색상도 조정할 수 있답니다. Gig 장면은 매우 동적인 조명으로 구성된 현대적인 무대예요. 무대 조명을 위한 여섯 개의 면적 조명이 있으며, 각각 다른 강도와 색상을 가지고 있어요. 벽에는 큰 발광 텍스처 조명이 있어요. 두 개의 무대 조명은 계속 회전하고 있답니다. 벽의 기본 색상은 무작위로 변경할 수 있어서 복잡한 전역 조명 시나리오를 만들 수 있어요. 또한, 28개의 애니메이션 캐릭터가 무대나 바닥에 있어요. Emernald Square 장면은 총 10.68M 삼각형을 포함한 대규모 장면으로, 40개의 애니메이션 캐릭터와 버스가 포함되어 있어요. 고품질의 나무들이 현실적이면서도 복잡한
그림자를 드리워서 렌더링에 큰 도전이 된답니다. 이 장면은 환경 조명으로 비춰지며, 환경 맵은 회전 및 변경이 가능해요. Living Room 장면은 두 개의 애니메이션 캐릭터가 있는 현대적인 실내 장면을 묘사해요. 거실은 서로 다른 모양의 세 개의 면적 조명으로 비춰지고 있어요. 소파와 조명은 이동, 회전, 크기 조정이 가능하답니다.
Falcor [Kallweit et al. 2022] 렌더링 프레임워크를 사용해서 모든 학습 데이터를 생성했어요. 참조 이미지는 512x512 해상도와 픽셀당 2,048 샘플을 사용한 경로 추적으로 렌더링했답니다. 경로 추적 중에 직접 조명, 그림자, 간접 조명 요소를 기록했어요. 그림자 맵의 크기는 장면에 따라 다르며, 대부분의 장면에서는 1024X1024 해상도를 사용해요.
Emernald Square의 대규모 장면을 처리하려면, 정확성을 유지하기 위해 매우 고해상도의 그림자 맵이 필요해요. 제한된 메모리 내에서 그림자 정확성을 달성하기 위해, 고전적인 방법인 계단식 그림자 맵(CSM) [Zhang et al. 2006]을 사용하죠. CSM의 정신에 영감을 받아, 대규모 장면에서 고품질의 그림자 단서를 얻기 위해 4개의 계단으로 신경 반사 그림자 맵을 확장했어요. 마찬가지로, 각 계단의 모든 RSM 버퍼에 대해 다른 해상도를 적용하며, 최대 2,048x2,048 해상도를 사용합니다.
최적화. 우리는 shading decoders의 출력에 하이브리드 손실을 적용해요. 손실 함수는 다음과 같이 표현할 수 있습니다:
where the per-pixel L₁ loss is calculated by all shading components.
이전 연구 [Diolatzis et al. 2022]처럼 구조적 비유사성(DSIIM) 손실을 적용해도 성능 향상이 없다는 것을 관찰했어요. 또한, neural shadow mapping [Datta et al. 2022]에서 설명된 접근 방식을 따라 부드러운 그림자를 위해 VGG 손실을 포함했고, 대략적으로 동일한 크기를 위해 가중치를 1에서 0.1로 설정했답니다. 고동적 범위 이미지 처리에 사용된 이전 방법 [Xu et al. 2019; Zheng et al. 2023]과 유사하게, 손실 함수를 계산하기 전에 로그 변환 log(1을 사용했어요. 이 단계는 학습 과정을 안정화하는 데 도움이 됩니다.
우리 모델은 Adam optimizer를 사용해 end-to-end로 학습되며, 학습률은 10⁻⁴이고 미니 배치 크기는 4입니다. 모든 인코더와 디코더는 함께 학습돼요. 모델은 두 개의 NVIDIA RTX A6000 그래픽 카드에서 약 50시간 동안 최적화됩니다.

6.2 비교

우리의 제안된 접근법의 효과를 검증하기 위해, 최신 신경 렌더링 방법인 CNSR [Granskog et al. 2020]와 AE [Diolatzis et al. 2022]와 결과를 비교해요. 또한, 최신 버전의 Nvidia OptiX AI 가속 Denoiser (ONND) [Nvidia 2023b]와 Intel Open Image Denoise (OIDN) [Áfra 2024]를 실시간 경로 추적 및 디노이징의 강력한 기준점으로 사용해요. 이는 Balint et al. [2023]의 최근 연구에서 제시된 접근법을 따르는 것이랍니다.
공정한 비교를 위해, CNSR과 AE를 각 장면에 대해 동일한 데이터셋으로 학습시켜요. 두 모델 모두 수렴을 보장하기 위해 동일하거나 더 긴 기간 동안 학습됩니다. CNSR의 경우, 제안된 방법과 마찬가지로 전체 G-Buffers를 사용해요. AE의 경우, 일반화되지 않은 사례를 위해 설계되었기 때문에, 정규화된 매개변수를 제공해요.
표 1. 우리와 최신 신경 렌더링 방법의 정량적 결과입니다. CNSR과 AE의 시간은 RTX A6000에서 PyTorch로 측정되었어요. ONND와 OIDN의 시간은 Falcor에서 RTCore로 가속된 경로 추적 시간과 RTX 4090에서의 디노이징 과정을 합한 것입니다. 우리 방법에 대해서는 PyTorch와 TensorRT (TRT) 버전의 두 가지 시간을 제시합니다. 방법: CNSR [Granskog et al. 2020], AE [Diolatzis et al. 2022], ONND [Nvidia 2023b], OIDN [Áfra 2024]. 지표: 상대 제곱 오차 (RSE), 학습된 지각적 이미지 패치 유사도 (LPIPS).
그림 5. Chess 장면과 복잡한 조명 아래에서 ONND와의 동일 시간 비교입니다. 우리 방법과 ONND의 LPIPS는 각각 0.3751과 0.4843이에요. 동적 결과는 보충 비디오를 참조하세요.
애니메이션 타임스탬프의 최상의 품질을 위해, AE를 훈련할 때는 균일한 데이터 샘플링 전략을 사용해서 우리 방법과 맞추고 있어요. 그들의 적응형 데이터 샘플링 전략도 우리 방법에 도움이 될 수 있다고 믿고, 이는 앞으로의 연구 과제로 남겨두기로 했어요. ONND의 경우, 이전 연구 [Balint et al. 2023]에서 제안한 대로 최신 버전 8.0을 사용하고, [Hasselgren et al. 2020]의 시간적 확장과 [Bako et al. 2017]의 커널 기반 확장을 포함했어요. GPU 가속을 지원하는 OIDN의 최신 버전 2.2.2도 사용했답니다. 표 1에서는 우리 결과와 기준선의 정량적 비교를 보여주고, 방법들은 신경 렌더링과 실시간 경로 추적 두 가지 범주로 나뉘어 있어요. 모든 방법의 시각적 비교 결과는 그림 6에 나와 있어요.
표 1의 첫 번째 부분에서 보이는 것처럼, 우리 방법은 모든 장면에서 CNSR과 AE에 비해 전반적으로 더 나은 지표를 달성했어요. 그림 6의 시각적 비교도 이 관찰을 뒷받침하죠. CNSR과 AE가 모든 장면, 특히 그림자와 하이라이트 같은 고주파 영역에서 실패하는 것은 놀랍지 않아요. 음영 단서가 없으면, 이러한 접근 방식은 동적 장면 정보와 음영 결과 간의 복잡한 매핑을 컴팩트한 네트워크에 내장해야 하는데, 이는 매우 동적인 장면에서는 해결 불가능해지거든요. 품질 외에도, 표 1에서 보이는 것처럼 우리 방법은 대부분의 경우 이 신경 렌더링 방법들보다 더 빠르답니다. 우리 성능은 조명의 수에 따라 선형적으로 확장되기 때문에, 7개의 조명이 있는 Gig 장면에서는 성능이 떨어져요. 성능 확장성에 대한 추가 논의는 7장에서 제공해요.
경로 추적 및 디노이징 방법과의 비교를 위해, 각 장면에서 대략적으로 동일한 시간 비교를 달성하기 위해 서로 다른 픽셀당 샘플(spp)을 선택했어요. 두 번째
Table 1의 일부를 보면, 우리 방법이 비교적 복잡하고 큰 장면들(예: Gig와 Emernald Square)에서는 최신의 path tracing과 denoising 방법들을 능가할 수 있어요. 하지만 다른 장면에서는 덜 효과적일 수 있답니다. 이는 복잡하고 큰 장면을 추적하는 데 비용이 많이 들기 때문에, 제한된 실시간 예산 내에서 충분한 빛의 이동을 포착하기 어렵기 때문이에요. Figure 6의 세 번째와 네 번째 줄에서 명확히 나타나듯이, denoising 방법에서는 그림자, 텍스처, 기하학의 세부적인 음영이 많이 누락되어 있어요. 하지만 우리 방법은 이러한 고주파 음영 세부 사항을 성공적으로 보존한답니다. path tracing의 또 다른 일반적인 부작용은 시간적 및 시각적 일관성이 떨어져서 상당한 깜빡임 아티팩트가 발생하는 것이에요. 이는 보충 비디오에서 명확히 보여주고 있어요.
또한, Figure 5에 보이는 것처럼, 우리 Chess 장면의 면적 조명을 복잡한 조명 기구로 교체했어요. 투명한 껍질 안에 18개의 전구가 있어서 매우 까다로운 빛의 이동이 발생하거든요 [Zhu et al. 2021]. 이 경우, 삼각형의 수는 많지 않지만, path tracing은 여전히 실시간 예산 내에서 충분한 결과를 생성하는 데 어려움을 겪어요. 하지만 우리 방법은 이 까다로운 장면을 실시간으로 렌더링할 수 있게 해준답니다. 이는 보충 비디오에서 확인할 수 있어요.
전체적으로, 우리 방법과 path tracing 방법은 서로 다른 종류의 시나리오에서 뛰어난 성능을 보여요. 우리 방법은 시간적으로 일관된 렌더링 결과를 제공하며, 큰 장면이나 복잡한 장면에서도 세부 사항을 잘 유지해요. 하지만 성숙한 렌더링 방법인 path tracing은 더 많은 종류의 재료, 빛의 이동, 완전히 동적인 장면을 처리하는 데 유리한 일반화 능력을 보여준답니다. 이는 7장에서 더 자세히 논의할 거예요. 그럼에도 불구하고, 장면 매개변수를 네트워크 표현에서 분리하는 light-oriented 아키텍처 덕분에, 우리 프레임워크는 이전의 neural rendering 방법들보다 뛰어난 성능을 발휘해요. 특히, 매우 동적인 장면에서도 직접적인 음영, 그림자, 간접 음영 요소를 정확하게 예측하죠. 여러 개의 자유롭게 움직일 수 있는 객체가 있는 도전적인 장면으로 모델을 검증하기 위해 Interior Design이라는 장면을 구성했어요. 이는 렌더링 중 모델링 응용 프로그램을 보여주기도 해요. 더 많은 논의와 결과는 보충 자료에 제공되어 있어요. 그림 7은 조명 위치를 조작하고 벽 색상을 변경할 때의 결과를 보여줘요. 조명 소스의 변환이 고주파 반사 효과의 변화를 초래한다는 것이 명백해요. 마찬가지로, 벽 색상의 변화는 간접 음영의 변화를 유발해요. 더 동적인 결과는 보충 비디오를 참조하세요. 또한, 우리는 전체 해상도 결과 세트를 웹 기반 뷰어로 보충 자료로 제공했어요.
그림 6. 우리 방법과 최신 neural rendering 방법의 비교 결과입니다. 흰색 화살표는 그림자와 음영 효과의 차이를 보여주는 영역을 강조해요. 체스 장면에서 FLIP [Andersson et al. 2021] 오류 지도를 보여주어 지각적 차이를 설명합니다. 모든 장면에서 추가적인 오류 지도(RSE, SSIM 등)는 보충 자료를 참조하세요.
웹 기반 뷰어에서 전체 해상도 결과 세트를 보충 자료로 제공했어요.

6.3 Ablation Study

우리 설계 프레임워크의 각 구성 요소의 효과를 연구했어요. 이는 표 2와 그림 8에 나타나 있습니다.
픽셀-라이트 어텐션. 효과를 평가하기 위해, 우리는 픽셀-라이트 어텐션을 평균 풀링과 비교해 봤어요. 평균 풀링 변형과 공정하게 비교하기 위해, 디코더에 추가 레이어를 넣어서 네트워크 성능을 비슷하게 유지했답니다. 분명히,
우리의 픽셀-라이트 어텐션이 평균 풀링보다 더 나은 품질을 보여줬어요. 특히 여러 광원이 있는 경우에 말이죠.
음영 단서. 우리의 접근법에서 반사 단서는 두 가지 스크린 공간 입력, 즉 빛의 방향과 하프 벡터에서 유래해요. 각각의 영향을 종합적으로 평가했는데, 이는 표 2와 그림 8에 나와 있어요. 각각의 음영 단서가 결과에 눈에 띄는 영향을 미친다는 것을 알 수 있었어요. 예를 들어, 그림 8의 두 번째 행에서 보듯이, 하프 벡터가 없으면 반사 하이라이트가 흐려지고, 그림자 단서가 없으면 캐릭터의 자기 그림자를 충실하게 해결할 수 없답니다.
Fig. 7. 동적 장면의 조명 (a)과 재질 (b)을 편집한 렌더링 결과예요. 각각 두 가지 예시로 보여드려요.
Table 2. Gig 데이터셋에서 해상도 512x512로 테스트한 ablation 연구의 정량적 결과입니다.
GI 분해. 직접 및 간접 음영을 예측하는 것 외에도, 우리는 통합 디코더를 사용해 구성된 빛 임베딩을 기반으로 최종 방사율을 직접 생성하는 방법을 탐구해요. 공정한 비교를 위해, 실험에서는 통합 디코더의 크기를 두 배로 늘리고 L₁ 손실로 모델을 훈련합니다. 결과 (Figure 8과 Table 2)는 우리 모델이 통합 디코더보다 뛰어나다는 것을 보여줘요.
Fig. 8. 다양한 변형 간의 시각적 비교입니다. 캐릭터의 머리카락의 반사 효과가 다르고, 그림자 단서가 없으면 자체 그림자가 사라져요. (빨간 화살표가 차이점을 강조합니다. 자세한 내용은 확대해 보세요).
Fig. 9. 일반화 연구입니다. 우리 방법은 보지 못한 애니메이션 동작과 보지 못한 객체에 대해서도 합리적이고 현실적인 결과를 생성할 수 있어요.
이러한 개선은 각 shading 구성 요소에 대한 명확한 지도와 디코더에 대한 개별 입력 덕분이라고 생각해요. 이런 요소들이 학습 과정을 단순화하고 결국 더 나은 결과를 이끌어낼 수 있거든요.

6.4 일반화 분석

우리 방법은 이전 방법들보다 더 나은 일반화 능력을 보여줘서, 동적인 장면에 대해서도 정확한 예측이 가능해요. 이를 검증하기 위해 새로운 행동을 포함한 장면에서 모델을 테스트했어요. 구체적으로, Gig 장면에서 무대 위 두 사람의 애니메이션 동작을 새로운 동작으로 바꿔봤어요. 우리 방법은 일관되게 합리적이고 현실적인 specular와 shadow 효과를 생성해요. 반면, CNSR은 특히 그림자와 하이라이트에서 잘못된 shading 결과를 내놓아요.
또한, 보지 못한 객체에 대한 다양한 방법의 일반화 능력을 평가했어요. 새로운 행동을 하는 보지 못한 캐릭터를 도입했을 때도, 우리 방법은 CNSR보다 더 현실적인 shading 결과를 만들어내요. 또한, Emernald Square의 대규모 장면에서 자유롭게 움직일 수 있는 객체를 포함한 어려운 사례도 테스트했어요. 나무를 자유롭게 이동, 회전, 확대/축소하고, 버스를 거리 블록을 가로질러 움직이면서 테스트했어요. 우리 모델은 일반화 능력 덕분에 여전히 시각적으로 그럴듯한 결과를 만들어내요. 특히, 우리 학습 세트는 단 하나의 장면으로 구성되어 있어요. 대규모 장면 데이터셋을 사용하면 보지 못한 객체에 대한 일반화 성능이 크게 향상될 것으로 기대돼요. 하지만, 이런 실험을 위한 준비는 현재로서는 비용이 너무 많이 들 수 있어요. 반면, path tracing 방법은 이런 문제를 겪지 않아요. 따라서, 이는 미래 연구의 중요한 방향으로 남아 있어요.

7 한계점과 미래 작업

고주파 간접 음영. 우리 프레임워크가 합리적인 전역 조명 결과를 성공적으로 만들어내긴 하지만, 간접 음영에서 고주파 효과를 처리하는 데는 여전히 어려움이 있어요. 그림 10에서 보이는 것처럼, 첫 번째 행은
그림 10. 실패 사례의 예시입니다. 우리 방법은 정확한 간접 그림자와 거울 반사 효과를 예측하는 데 어려움을 겪고 있어요. 참고로, 첫 번째 행은 간접 음영 결과를 보여주며, 시각화를 위해 밝기가 10배로 증폭되었어요.
Emernald Square 장면의 잔디 위 간접 그림자가 바닥에 원하는 부드러운 간접 그림자 대신 직접 그림자와 유사한 고주파 패턴을 보이고 있어요. 이는 잔디의 복잡한 가시성 때문이라고 생각하고, 간접 디코더에 그림자 단서를 포함시키는 것이 잠재적인 해결책이 될 수 있어요. 또는 간접 VPL의 가시성에 대한 추가 단서를 제공하는 것이 간접 그림자를 처리하는 더 일반적인 해결책이 될 수 있으며, 이는 향후 연구 과제로 계획하고 있어요. 게다가, 그림 10의 두 번째 행은 매우 반짝이는 반사를 해결하는 데 어려움을 보여주고 있어요. 효과적인 해결책 중 하나는 이전 연구에서 언급한 것처럼 간접 조명을 위한 음영 단서로 두 번째 반사 G-버퍼를 생성하는 것이에요 [Diolatzis et al. 2022; Guo et al. 2022]. 다른 유망한 방법으로는 auto-encoder (AE) 접근법에서 데이터 중요도 샘플링 전략을 적용하거나, 간접 VPL에 대한 효과적인 주의 메커니즘을 탐구하는 것이 있어요. 이는 이러한 고주파 간접 음영을 렌더링하는 데 도움이 될 수 있을 거예요.
복잡한 빛의 전달. 비록 그림 5에서 복잡한 조명 기구의 예를 제공했지만, 많은 복잡한 빛의 전달 사례는 여전히 탐구되지 않은 상태로 남아 있으며, 여기에는 표면 아래 산란, 카우스틱, 체적 렌더링이 포함됩니다. 이론적으로, 우리의 프레임워크는 이전의 신경 렌더링 작업의 결과에 의해 입증된 바와 같이 이러한 복잡한 효과를 처리할 가능성이 있습니다 [Diolatzis et al. 2022; Gao et al. 2022]. 그러나 매우 동적인 장면에서 복잡한 빛의 전달을 처리하기 위해 새로운 음영 단서를 도입하는 등의 추가적인 노력이 필요하며, 우리는 이것을 미래의 작업으로 간주합니다.
성능 확장성. LightFormer는 매우 동적인 대규모 장면을 실시간으로 렌더링할 수 있는 유연한 신경 렌더링 프레임워크를 제공합니다. 그러나 렌더링 비용을 조정하는 객체 지향 스키마 [Zheng et al. 2023]와 유사하게
객체 수에 따라 LightFormer의 계산 비용도 조명 수에 따라 확장됩니다. 특히, 계산 비용은 조명 인코딩 단계에서 픽셀 수와 조명 수 모두에 대해 선형적으로 확장됩니다. 하나씩 디코딩한 다음 합성을 수행하는 것과 달리, 우리의 프레임워크는 모든 조명 정보를 잠재 공간에서 구성하여 여러 디코딩 프로세스의 비용을 줄입니다. 게다가, 디코딩 프로세스의 성능은 조명 수를 제외하고 픽셀 수와만 관련이 있습니다. 조명 제거 [Dachsbacher and Stamminger 2006; Harada et al. 2012], VPL 클러스터링 [Prutkin et al. 2012; Simon et al. 2015] 및 고급 그림자 맵 [Olsson et al. 2015]과 같은 최신 기술은 많은 수의 조명을 효율적으로 처리하는 데 적용될 수 있습니다. 또한, 조명 제거 개념을 우리의 픽셀-조명 주의와 결합하여 렌더링 성능을 더욱 향상시키는 것이 가치 있는 방향이라고 믿습니다.

8 CONCLUSION

우리는 LightFormer라는 유연하고 일반화 가능한 신경 렌더링 프레임워크를 제안했어요. 이 프레임워크는 완전히 동적인 장면에서 고품질의 실시간 global illumination을 제공해요. 구체적으로, 우리는 neural reflective shadow map을 사용해서 각 빛의 관측을 생성해요. 빛의 소스 파라미터와 specular, shadow, indirect lighting에 중요한 shading 단서들이 각 빛의 임베딩에 인코딩돼요. 픽셀-빛 attention을 활용해서 각 shading 포인트에 대한 모든 빛 임베딩을 구성하고 최종 radiance를 디코딩해요. 우리의 구현 결과는 최신 신경 렌더링 기술보다 뛰어난 렌더링 품질을 보여줬어요. path tracing과 denoising 방법과 비교했을 때, 우리 방법은 더 안정적인 시간적 결과를 제공하며, 추적 비용이 많이 드는 큰 장면에서도 뛰어난 품질을 달성해요.
하지만 LightFormer도 여전히 몇 가지 도전 과제가 있어요. 이는 7장에서 논의했어요. 우리가 일반화와 동적 장면 지원을 개선했지만, 현재의 성숙한 렌더링 방법인 rasterization이나 path tracing 기반 방법들이 확실히 더 일반화 가능해요. 복잡한 빛의 이동 경로의 일부 측면은 아직 충분히 탐구되지 않아서, 실제 제작 렌더링에는 도전이 될 수 있어요. 그럼에도 불구하고, 특히 AI 개발의 현재 급증 상황에서 신경 렌더링의 잠재력을 더 탐구하는 것은 도전적이면서도 흥미로운 연구 방향을 제시해요. LightFormer가 실시간 렌더링과 머신러닝의 세계를 연결하는 중요한 역할을 하길 바라며, 앞으로 더 많은 흥미로운 연구를 촉발하길 기대해요.

ACKNOWLEDGMENTS

모든 리뷰어들에게 통찰력 있는 의견에 감사드려요. 또한 Chuankun Zheng, Yuzhi Liang에게 유익한 논의에 감사드리며, He Zhu에게 3D 장면 준비에 감사드려요. 이 연구는 중국 국가 중점 R&D 프로그램(No. 2024YDLN0011, No. 2023YFF0905102), NSFC(No. 62441205), 저장성 중점 R&D 프로그램(No. 2023C01039)의 부분적인 지원을 받았어요.
REFERENCES