일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 프메
- VUE
- node
- EnhancedInput
- 알고풀자
- 미니프로젝트
- 마인크래프트뮤지컬
- 정글사관학교
- 게임개발
- 언리얼
- Express
- Jinja2
- Unseen
- 스터디
- Enhanced Input System
- 프린세스메이커
- 언리얼뮤지컬
- 카렌
- Bootstrap4
- 언리얼프로그래머
- 으
- 데이터베이스
- flask
- 파이썬서버
- 디자드
- JWT
- Ajax
- 레베카
- R
- 스마일게이트
- Today
- Total
Showing
[컴퓨터 그래픽스] 트렌드 연구 NeRF, 3D Gaussian Splatting 본문
1. NeRF
Nerfs (Neural Radiance Fields)는 3D 장면을 렌더링하고 재구성하는 기술
이 기술은 주로 신경망(neural network)을 사용하여 복잡한 3D 장면을 매우 사실적으로 표현하는 데 사용
Nerfs의 주요 아이디어는 카메라에서 찍은 여러 2D 이미지와 그에 해당하는 카메라 위치를 입력으로 받아, 그 장면의 3D 표현을 학습하는 것입니다. 학습된 모델은 새로운 시점에서 장면을 렌더링할 수 있게 한다.
Nerfs의 주요 특징은 다음과 같다.
- 고해상도 3D 재구성: 매우 높은 해상도로 장면을 재구성할 수 있다.
- 다양한 시점에서의 렌더링: 학습된 모델을 통해 다양한 시점에서 장면을 실시간으로 렌더링할 수 있다.
- 효율적인 학습: 상대적으로 적은 데이터로도 장면을 학습할 수 있으며, 신경망의 효율성을 활용한다.
이 기술은 컴퓨터 그래픽스와 컴퓨터 비전 분야에서 큰 주목을 받고 있으며, 특히 실사와 같은 3D 장면을 생성하는 데 혁신적인 도구로 사용되고 있다. 이를 통해 영화, 게임, 가상 현실 등 다양한 응용 분야에서 새로운 가능성을 열어주고 있다.
https://modulabs.co.kr/blog/nerf-from-2d-to-3d/
2. 3D Gaussian Splatting With Deferred Reflection
3D Gaussian Splatting은 컴퓨터 그래픽스와 비전 분야에서 3D 장면을 표현하고 렌더링하는 데 사용되는 기술
이 방법은 장면의 각 점을 3D 공간에서 Gaussian 분포로 표현하여 고해상도의 장면을 효율적으로 재구성하고 렌더링할 수 있게 한다.
- Gaussian Splats: 장면의 각 점은 3D 공간에서 Gaussian 분포(일명 splats)로 표현됩니다. Gaussian 분포는 중심 위치와 크기, 방향을 가지며, 이를 통해 장면의 모양과 색상 정보를 나타낸다.
- 고해상도 재구성: 이 기술은 수많은 Gaussian splats를 결합하여 복잡하고 상세한 3D 장면을 재구성할 수 있습니다. 이는 특히 표면의 세부사항과 부드러운 변화를 잘 표현할 수 있게 한다.
- 효율적 렌더링: Gaussian splats는 비교적 적은 데이터로도 고해상도 장면을 표현할 수 있어 메모리와 계산 효율성이 높습니다. 이를 통해 실시간 렌더링이나 대규모 데이터 처리에 유리하다.
아래는 두 기술의 주요 차이점을 비교한 내용
Neural Radiance Fields (NeRFs)
- 기본 아이디어:
- NeRFs는 신경망을 사용하여 3D 공간의 색상 및 밀도를 표현
- 특정 시점에서 장면의 2D 이미지를 입력으로 받아 3D 장면을 학습
- 표현 방식:
- NeRFs는 신경망이 3D 공간의 방사 필드(radiance field)를 학습하여 각 위치와 방향에서의 색상을 예측하도록 한다.
- 복셀(voxel) 또는 점 클라우드(point cloud)와는 다르게 연속적인 표현을 제공
- 렌더링:
- 새로운 시점에서 장면을 렌더링할 때, 방사 필드에서 광선 추적(ray tracing)을 통해 색상을 계산
- 매우 사실적인 렌더링을 제공하지만, 계산 비용이 높을 수 있다.
- 응용 분야:
- 사실적인 3D 장면의 렌더링, 가상 현실, 영화 및 애니메이션 등에서 사용
3D Gaussian Splatting
- 기본 아이디어:
- 3D Gaussian Splatting은 장면의 각 점을 3D 공간에서 Gaussian 분포로 표현
- Gaussian 분포를 통해 장면의 모양과 색상 정보를 나타낸다.
- 표현 방식:
- 장면의 각 점은 Gaussian splats로 표현되어 중심 위치, 크기, 방향 등의 매개변수를 가진다.
- 이 접근 방식은 점 기반(point-based) 표현과 유사
- 렌더링:
- Gaussian splats는 메모리와 계산 효율성이 높아, 고해상도의 장면을 실시간으로 렌더링하는 데 적합
- Gaussian splats의 합성을 통해 부드럽고 세밀한 3D 장면을 재구성
- 응용 분야:
- 실시간 3D 렌더링, 가상 현실 및 증강 현실, 게임, 대규모 데이터 처리 등이 포함
비교 요약
- NeRFs는 신경망 기반의 연속적인 3D 표현을 사용하여 매우 사실적인 렌더링을 제공하지만, 계산 비용이 높을 수 있다.
- 3D Gaussian Splatting은 Gaussian 분포를 사용한 효율적인 점 기반 표현으로, 고해상도의 3D 장면을 실시간으로 렌더링하는 데 강점이 있다.
3D Gaussian Splatting은 NeRFs의 한 형태로 간주될 수 있다. 두 기술 모두 3D 장면을 재구성하고 렌더링하는데 신경망을 사용하지만, 접근 방식과 구현 세부 사항에서 차이가 있다. 3D Gaussian Splatting은 NeRFs의 개념을 기반으로 발전한 방법 중 하나로, NeRFs와 비교하여 몇 가지 독특한 특징을 가지고 있다.
공통점
- 신경망 사용: 두 기술 모두 신경망을 사용하여 3D 장면을 학습하고 재구성
- 장면 표현: 3D 장면의 각 지점에서 색상과 밀도 정보를 학습하여 새로운 시점에서 렌더링할 수 있다.
- 응용 분야: 가상 현실, 영화, 애니메이션 등에서 사실적인 3D 렌더링에 사용
차이점
- 표현 방식:
- NeRFs: 방사 필드(radiance field)를 학습하여 연속적인 3D 공간의 색상과 밀도를 예측. 이는 특정 시점에서의 이미지와 카메라 위치를 입력으로 받아 광선 추적(ray tracing)을 통해 새로운 시점을 렌더링.
- 3D Gaussian Splatting: 장면의 각 점을 Gaussian 분포로 표현합니다. Gaussian 분포는 중심 위치, 크기, 방향을 가지며, 이를 통해 장면의 모양과 색상 정보를 나타냅니다. 이는 점 기반(point-based) 표현 방식과 유사.
- 렌더링 효율성:
- NeRFs: 매우 사실적인 렌더링을 제공하지만, 계산 비용이 높고 실시간 렌더링이 어려울 수 있다.
- 3D Gaussian Splatting: Gaussian 분포를 사용하여 메모리와 계산 효율성이 높아, 고해상도의 장면을 실시간으로 렌더링하는 데 적합.
결론
3D Gaussian Splatting은 NeRFs의 아이디어를 확장하고 개선한 형태로 볼 수 있다. NeRFs가 연속적인 방사 필드를 사용하여 장면을 표현하는 반면, 3D Gaussian Splatting은 Gaussian 분포를 사용하여 더 효율적으로 장면을 표현하고 실시간 렌더링에 적합하도록 설계. 따라서, 3D Gaussian Splatting은 NeRFs의 한 종류로 이해할 수 있지만, 특정 응용과 요구 사항에 맞게 최적화된 방법으로 볼 수 있다.
'컴퓨터 공학, 전산학 > 그래픽스' 카테고리의 다른 글
[그래픽스] HDR(High Dynamic Range), HDRI (0) | 2024.01.29 |
---|---|
[그래픽스] ray tracing intersection with triangle (ray 방정식과 삼각형의 교점 찾기) (1) | 2023.12.15 |
[그래픽스] 그래픽스 파이프라인 개념과 GPU에서의 쉐이더를 통한 가속화 (0) | 2023.11.17 |
[그래픽스] 선형대수-행렬, 그래픽스 프로그래밍에서 자주 쓰는 연산 (1) | 2023.10.20 |
[OpenGL] opengl graphics pipeline의 이해와 hello_triangle 속 VAO와 VBO의 쓰임 (0) | 2023.10.11 |