NeRF: Representing Scenes asNeural Radiance Fields for View Synthesis

2026. 3. 11. 17:43·ML&DL/논문리뷰

Abstract

NeRF는 소수의 입력 이미지로부터 복잡한 장면의 새로운 시점을 합성하는 방법을 제안한다. 장면의 3D 위치 (x,y,z)와 시선 방향 (θ,ϕ)을 입력으로 받아 부피 밀도와 view-dependent 색을 출력하는 5차원 neural radiance field로 표현하며, 이는 fully-connected 신경망으로 구현된다. 새로운 이미지는 카메라 광선을 따라 여러 5D 좌표를 샘플링한 뒤 volume rendering을 통해 색과 밀도를 이미지로 투영하여 생성된다. 이 렌더링 과정은 미분 가능하기 때문에 카메라 위치가 알려진 이미지들만으로 모델을 학습할 수 있다. 실험 결과 제안한 방법은 복잡한 기하 구조와 재질을 가진 장면에서도 사실적인 새로운 시점을 생성하며, 기존 neural rendering 및 view synthesis 방법보다 더 높은 성능을 보인다.

 

Introduction

 

NeRF 논문은 여러 장의 2D 이미지로부터 새로운 시점의 이미지를 생성하는 view synthesis 문제를 해결하기 위해 제안된 방법이다. 기존의 3D reconstruction 방식에서는 보통 물체의 3차원 기하 구조를 먼저 복원한 뒤 이를 이용해 이미지를 렌더링한다. 그러나 실제 상황에서는 정확한 3D 정보를 얻기 어려운 경우가 많고, 대부분 여러 각도에서 촬영된 2D 사진만 존재한다. 이 논문은 이러한 상황에서 명시적인 3D 모델을 직접 복원하기보다는 이미지와 일관된 장면 표현을 신경망으로 학습하는 접근을 제안한다. 장면을 하나의 연속적인 함수로 표현하고 이를 통해 임의의 시점에서 새로운 이미지를 렌더링하는 방식이다.

 

논문에서 제안하는 장면 표현은 Neural Radiance Field라는 5차원 함수이다. 이 함수는 공간상의 위치 (x, y, z)와 카메라의 시선 방향 (θ,ϕ)를 입력으로 받아 해당 위치에서의 색상과 밀도를 출력한다. 여기서 밀도는 그 위치에 물질이 얼마나 존재하는지를 나타내는 값으로, 광선이 그 지점을 통과할 때 색이 얼마나 축적되는지를 결정한다. 이 함수는 MLP로 구현되며 하나의 네트워크가 장면 전체를 표현하도록 학습된다. 이러한 방식은 물체를 명확한 표면(mesh)으로 가정하지 않고 공간 전체에 분포된 밀도로 장면을 표현하기 때문에, 나뭇잎이나 머리카락처럼 복잡하고 경계가 모호한 구조도 자연스럽게 표현할 수 있다. 또한 색상은 위치뿐 아니라 시선 방향에도 의존하도록 설계되어 있어 금속 표면의 반짝임과 같은 view-dependent reflection도 표현할 수 있다.

 

하지만 실제 학습 데이터는 3차원 정보가 아니라 2차원 이미지이기 때문에, 신경망이 예측한 3D 장면을 다시 2D 이미지로 변환하는 과정이 필요하다. 이를 위해 논문에서는 volume rendering이라는 그래픽스 기반 렌더링 방식을 사용한다. 학습 과정에서는 카메라에서 광선을 발사하고 그 광선 위의 여러 3D 위치를 샘플링한 뒤, 각 위치에서 신경망이 예측한 색상과 밀도를 이용해 최종 픽셀 색상을 계산한다. 이렇게 생성된 이미지와 실제 이미지 사이의 오차를 이용해 네트워크를 학습하게 된다. 이 렌더링 과정은 미분 가능하기 때문에 이미지 오차를 역전파하여 신경망이 장면의 구조와 색을 스스로 학습할 수 있다.

 

이 방법은 기존의 voxel 기반 장면 표현 방식이 가진 한계를 극복한다. 기존 volumetric 방법은 3차원 공간을 voxel grid와 같은 격자로 나누어 저장하는데, 해상도를 높이기 위해 격자를 세밀하게 만들수록 메모리 사용량이 크게 증가한다. 복잡한 장면의 경우 하나의 scene에 수십 GB의 메모리가 필요하기도 한다. 반면 NeRF는 공간을 직접 저장하지 않고 장면을 표현하는 함수를 신경망의 가중치로 압축한다. 그 결과 약 5MB 정도의 작은 메모리만으로도 장면을 표현할 수 있으며, 좌표를 연속적으로 입력할 수 있기 때문에 해상도 제한 없이 정밀한 렌더링이 가능하다.

 

광선 위의 샘플을 선택하는 방식에도 중요한 설계가 있다. 만약 항상 동일한 간격으로 샘플을 선택한다면 모델이 특정 격자 위치에 의존하게 될 수 있다. 이를 방지하기 위해 논문에서는 각 구간을 나눈 뒤 그 안에서 무작위로 샘플을 선택하는 stratified sampling 방식을 사용한다. 이렇게 하면 학습 과정에서 다양한 위치가 선택되어 네트워크가 공간을 격자가 아닌 연속적인 3차원 구조로 학습하게 된다.

 

또한 입력에 포함되는 시선 방향 (θ,ϕ)는 카메라의 방향을 나타내는 두 각도이다. θ는 기준면에 대해 위아래로 얼마나 바라보는지를 나타내는 상하 각도이고, ϕ는 기준점을 중심으로 좌우로 얼마나 회전해 바라보는지를 나타내는 좌우 각도이다.

 

Neural Radiance Field Scene Representation

논문에서는 장면을 5차원 벡터 함수로 정의하며, 이 함수의 입력은 공간상의 위치 x=(x,y,z)와 시선 방향 (θ,ϕ)이고 출력은 해당 위치에서의 색상 c=(r,g,b)과 부피밀도 σ이다. 이 함수는 MLP인 F_θ로 근사되며 하나의 신경망이 장면 전체를 표현하도록 학습된다.

 

이 표현 방식에서 밀도 σ는 광선이 공간을 따라 이동할 때 특정 위치에서 물질을 만날 확률과 같은 의미를 가지며, 이 값이 클수록 해당 위치에서 색상이 더 많이 누적된다. 이러한 밀도 기반 표현은 물체의 더 일반적인 표현을 가능하게 하며 복잡한 장면의 기하 구조와 재질을 자연스럽게 모델링할 수 있게 한다.

 

논문에서는 색상 예측이 단순히 위치에만 의존하지 않고 시선 방향에도 의존하도록 설계한다. 이를 위해 네트워크는 먼저 위치 좌표 x만을 입력으로 받아 여러 개의 fully connected layer를 거쳐 밀도 σ와 중간 feature vector를 출력한다. 이후 이 feature vector에 시선 방향 정보를 결합하여 추가적인 layer를 통과시켜 최종 RGB 색상을 예측한다. 이러한 구조는 장면이 다중 시점에서 일관된 표현을 가지도록 하면서도, 관찰 방향에 따라 달라지는 반사 효과를 표현할 수 있도록 만든다.

 

실제로 논문에서는 시선 방향을 고려하지 않은 모델이 금속 표면이나 반짝임과 같은 specular 효과를 제대로 재현하지 못한다는 점을 Fig.4를 통해 보여준다.

(c)는 특정 3D 고정점 하나를 모든 각도(반구 형태의 시선 방향 전체)에서 바라보았을 때 색상이 어떻게 연속적으로 변하는지를 시각화한 것


또한 논문에서는 시선 방향을 활용하면 동일한 3D 위치라도 관찰 방향에 따라 다른 색을 예측할 수 있음을 설명한다. 예를 들어 물체의 특정 지점을 두 개의 서로 다른 카메라 위치에서 바라보면 반사 특성에 따라 서로 다른 색이 나타날 수 있다. Fig.3에서는 이러한 현상을 시각적으로 보여주며, 동일한 3D 위치에서 시선 방향이 달라질 때 색상이 어떻게 달라지는지를 예시로 제시한다. 이 그림을 통해 NeRF가 view-dependent radiance를 모델링할 수 있음을 확인할 수 있다.

 

**본문의 비람베르트(non-Lambertian)란 금속, 물결, 유리처럼 바라보는 각도에 따라 빛이 다르게 반사되어 반짝거리는 현상을 말한다.

 

Volume Rendering with Radiance Fields

해당 섹션에서는 앞서 정의한 neural radiance field를 이용해 실제 이미지를 렌더링하는 방법을 설명한다. NeRF는 공간의 모든 위치에서 색과 밀도를 예측하는 연속적인 5차원 함수이지만, 이를 실제 이미지로 변환하기 위해서는 카메라에서 보이는 픽셀 색상을 계산하는 과정이 필요하다. 이를 위해 논문에서는 컴퓨터 그래픽스에서 사용되는 volume rendering 원리를 활용한다.

 

이 방법은 먼저 카메라에서 각 픽셀 방향으로 하나의 광선(ray)을 발사한다. 이 광선은 공간을 따라 이동하면서 여러 위치를 통과하게 되며, 각 위치에서 neural radiance field가 예측한 색상과 밀도 값을 이용해 최종 픽셀 색상을 계산한다. 밀도는 해당 위치에 입자가 존재할 확률과 같은 의미를 가지며, 광선이 공간을 따라 이동할 때 그 위치에서 얼마나 많은 색이 누적되는지를 결정한다. 따라서 광선이 지나가는 동안 각 지점에서의 색과 밀도를 적절히 누적하면 하나의 픽셀 색상을 계산할 수 있다. 논문에서는 이러한 과정을 수학적으로 적분 형태로 정의하여 광선을 따라 누적되는 색을 계산한다.

 

하지만 실제 계산에서는 연속적인 적분을 그대로 계산할 수 없기 때문에, 광선을 따라 여러 개의 샘플 지점을 선택하여 근사적으로 값을 계산한다. 즉 카메라에서 발사된 광선 위에서 일정한 구간을 나누고 각 구간에서 하나의 샘플 위치를 선택한 뒤, 해당 위치의 색과 밀도를 이용해 픽셀 색을 계산한다. 이렇게 계산된 값들은 전통적인 그래픽스에서 사용하는 alpha compositing 방식과 유사하게 누적된다. 이 과정 전체는 미분 가능하게 설계되어 있기 때문에, 렌더링된 이미지와 실제 이미지 사이의 오차를 이용해 신경망의 가중치를 학습할 수 있다.

 

논문에서는 샘플 위치를 선택할 때 stratified sampling 방식을 사용한다. 이는 광선의 구간을 여러 개로 나눈 뒤 각 구간 내부에서 무작위 위치를 선택하는 방식이다. 만약 항상 동일한 위치에서만 샘플을 선택한다면 모델이 특정 이산적인 위치에 의존하게 될 수 있는데, 무작위 샘플링을 사용하면 학습 과정에서 다양한 위치가 선택되기 때문에 장면을 보다 연속적인 공간으로 학습할 수 있다. 또한 이러한 방식은 광선 적분을 근사하면서도 계산 효율을 유지하는 장점이 있다.

 

 

Optimizing a Neural Radiance Field

앞서 설명한 장면 표현과 volume rendering만으로는 복잡한 실제 장면을 충분히 정밀하게 표현하기 어렵기에, 이를 해결하기 위한 positional encoding과 hierarchical sampling 두 가지 핵심 기법을 제안한다.

 

먼저 positional encoding은 신경망이 고주파(high-frequency) 정보를 제대로 표현하지 못하는 문제를 해결하기 위해 도입된다. 일반적으로 MLP는 입력 좌표를 그대로 사용할 경우 색상이나 기하 구조의 미세한 변화를 잘 학습하지 못하고 결과 이미지가 흐릿해지는 경향이 있다. 신경망은 상대적으로 저주파(low-frequency) 함수를 더 쉽게 학습하는 성질을 가지기 때문에 이를 해결하기 위해, 입력 좌표를 그대로 사용하지 않고 사인과 코사인 함수 기반의 고주파 변환을 통해 더 높은 차원의 공간으로 매핑한 뒤 신경망에 입력한다.

 

이러한 positional encoding을 사용하면 네트워크가 더 복잡하고 세밀한 장면 구조를 표현할 수 있으며, Fig.4에서는 positional encoding을 제거했을 때 장면의 세부 구조와 텍스처가 크게 흐려지는 현상을 보여준다. 

 

두 번째로 제안되는 방법은 hierarchical sampling이다. 기본적인 volume rendering에서는 각 광선 위에서 일정한 개수의 샘플을 사용해 색을 계산하지만, 실제 장면에서는 광선이 지나가는 대부분의 공간이 비어 있는 경우가 많기 때문에 모든 위치를 동일한 밀도로 샘플링하는 것은 비효율적이다. 이를 해결하기 위해 논문에서는 두 개의 네트워크를 사용하는 계층적 샘플링 방식을 도입한다. 먼저 coarse 네트워크를 이용해 광선 위의 여러 위치에서 대략적인 밀도 분포를 추정하고, 이 결과를 이용해 실제 물체가 존재할 가능성이 높은 구간에 더 많은 샘플을 배치한다. 이후 fine 네트워크가 이 추가 샘플들을 이용해 더 정밀한 렌더링을 수행한다.

 

이 과정에서 coarse 네트워크가 계산한 색은 다음과 같이 가중합 형태로 표현된다.

exp(-σδ)→ 빛이 이 구간을 통과할 확률, 1 − exp(-σδ)→ 이 구간에서 물체를 만날 확률

 

이 가중치들을 정규화하면 광선 위에서의 확률 분포(PDF)를 만들 수 있으며, 이 분포를 이용해 중요한 영역에서 더 많은 샘플을 선택하게 된다. 이를 통해 렌더링 효율과 품질을 동시에 개선할 수 있다.

 

논문에서는 또한 실제 학습 과정에 대한 구현 방법도 설명한다. 각 장면에 대해 하나의 neural radiance field를 학습하며, 입력 데이터로는 여러 장의 RGB 이미지와 해당 이미지의 카메라 위치 및 내부 파라미터가 사용된다. 학습 과정에서는 이미지의 모든 픽셀 중 일부 광선을 무작위로 선택한 뒤, hierarchical sampling을 통해 샘플 지점을 생성하고 volume rendering을 통해 픽셀 색상을 계산한다. 이후 예측된 색상과 실제 이미지의 픽셀 색상 사이의 제곱 오차를 손실 함수로 사용해 네트워크를 최적화한다.

 

Results

 

제안한 NeRF 방법을 기존 view synthesis 방법들과 비교하여 성능을 평가한다. 정량적 비교 결과는 Table 1에 제시되어 있으며,

 

정성적 비교 결과는 Fig.5와 Fig.6을 통해 확인할 수 있다. 실험 결과 NeRF는 기존 방법들보다 더 높은 PSNR과 더 사실적인 새로운 시점 이미지를 생성하는 성능을 보였다.

 

NeRF 모델의 주요 설계 요소가 성능에 미치는 영향을 분석한 실험 결과는 Table 2에 제시되어 있으며, 기준 모델은 모든 구성 요소를 포함한 전체 NeRF 모델이다. 먼저 positional encoding, view-dependent color, hierarchical sampling을 모두 제거한 최소 모델과 비교했을 때 성능이 크게 감소하는 것을 확인할 수 있다. 또한 전체 모델에서 각 요소를 하나씩 제거한 실험에서는 positional encoding과 view-dependent modeling이 가장 큰 성능 향상을 제공하며, hierarchical sampling도 추가적인 성능 개선을 가져오는 것을 확인하였다. 입력 이미지 수를 줄이는 실험에서는 이미지 수가 감소할수록 성능이 떨어지지만, 25장의 이미지만 사용해도 기존 방법들보다 높은 성능을 유지하는 것을 보였다. 마지막으로 positional encoding에서 사용하는 최대 주파수 L 값을 검증한 결과, 주파수를 너무 적게 사용할 경우 성능이 감소하지만 일정 수준 이상에서는 추가적인 성능 향상이 거의 없음을 확인하였다.

 

Conclusion

장면을 3D 위치와 시선 방향을 입력으로 받아 밀도와 view-dependent 색을 출력하는 5차원 neural radiance field로 표현함으로써, 기존의 CNN 기반 voxel 표현 방식보다 더 높은 품질의 렌더링을 생성할 수 있음을 보여준다. 또한 샘플 효율성을 높이기 위해 hierarchical sampling 전략을 제안하였지만, neural radiance field를 더 효율적으로 최적화하고 렌더링하기 위한 연구는 여전히 필요하다고 언급한다. 더불어 장면을 신경망 가중치로 표현하는 방식은 voxel이나 mesh와 달리 해석 가능성이 낮기 때문에, 이러한 표현을 분석하고 이해하는 방법 또한 중요한 향후 연구 방향으로 제시한다. 마지막으로 실제 이미지로부터 학습된 neural radiance field를 활용해 복잡한 장면을 구성하는 새로운 그래픽스 파이프라인으로 발전할 가능성을 제시한다.

'ML&DL > 논문리뷰' 카테고리의 다른 글

V-JEPA: Revisiting Feature Prediction for Learning VisualRepresentations from Video  (0) 2026.03.20
3DGS: 3D Gaussian Splatting for Real-Time Radiance Field Rendering  (0) 2026.03.12
I-JEPA: Self-Supervised Learning from Images with aJoint-Embedding Predictive Architecture  (0) 2026.03.10
MAE: Masked Autoencoders Are Scalable Vision Learners  (0) 2026.03.09
SAM: Segment Anything  (0) 2026.03.09
'ML&DL/논문리뷰' 카테고리의 다른 글
  • V-JEPA: Revisiting Feature Prediction for Learning VisualRepresentations from Video
  • 3DGS: 3D Gaussian Splatting for Real-Time Radiance Field Rendering
  • I-JEPA: Self-Supervised Learning from Images with aJoint-Embedding Predictive Architecture
  • MAE: Masked Autoencoders Are Scalable Vision Learners
minyoy
minyoy
  • minyoy
    MINYOY
    minyoy
  • 전체
    오늘
    어제
    • 분류 전체보기 (25) N
      • ML&DL (24) N
        • 논문리뷰 (24) N
      • 알고리즘 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
minyoy
NeRF: Representing Scenes asNeural Radiance Fields for View Synthesis
상단으로

티스토리툴바