2024. 12. 22. 17:05ㆍ컴퓨터비전&AI
NeRF: Neural Radiance Fields
: 딥러닝 기반으로 3D 장면의 빛과 구조를 학습하여 새로운 시점 합성(novel view synthesis)을 제공
객체의 3D 모델을 생성하는 기술이 아니라, 객체를 바라보는 모든 장면을 생성하는 Novel View Synthesis 기술
실제로 존재하지 않는 시점에서의 새로운 이미지를 생성한다.
=> 3D 데이터를 미리 생성해 저장하지 않고, 필요할 때마다 계산해서 이미지를 만들어냄.
- 입력 데이터
- 다양한 각도에서 객체를 촬영한 이미지 (RGB + Mask(물체와 배경 구분)의 4채널)
- 카메라 파라미터 (카메라 위치 + 각도)
- 출력 데이터 : 입력 이미지에 없던 새로운 view
- : 극각(polar angle), z축을 기준으로 방향과 이루는 각도.
- ϕ: 방위각(azimuth angle), xy 평면에서 방향과 x축이 이루는 각도
- 밀도(𝜎)가 높다:
- 해당 위치에 물질(물체)이 존재할 가능성이 높음, 광선(ray)이 그 지점을 통과할 때 흡수되거나 산란되는 빛의 양이 많음. 결과적으로, 빛이 카메라까지 도달하지 못할 가능성이 커짐.
- 밀도(𝜎)가 낮다:
- 해당 위치에 물질이 거의 없거나 완전히 비어 있음. 광선이 해당 지점을 통과하면서 거의 흡수되지 않음. 결과적으로, 빛이 투명하게 통과하여 카메라까지 도달.
입력:
- : 3D 공간의 좌표를 인코딩한 벡터 (입력 차원: 60). #60은 고주파수와 저주파수 정보를 모두 학습
이는 를 고차원 주파수 공간으로 변환한 값입니다(Positional encoding). - # 고주파 인코딩을 통해 장면의 작은 디테일(예: 물체의 경계, 복잡한 텍스처 물체의 날카로운 경계 등)을 더 잘 학습. 안하면 5나 5.5나 비슷한데? 하면서 동일하게 봄
- gamma: 광선 방향을 인코딩한 벡터 (입력 차원: 24).
이는 광선의 방향 (θ,ϕ)를 고차원 주파수 공간으로 변환한 값입니다.
은닉층:
- 파란색 박스는 각 층의 뉴런 수를 나타냅니다. 모든 은닉층은 256개의 뉴런으로 구성. 비선형 활성화 함수(ReLU)를 사용.
- 총 8개의 은닉층으로 구성되어 있으며, 중간에 입력 gamma(x)를 다시 추가하는 구조(스킵 연결)가 포함되어 있음
- #위치 정보 손실을 방지
출력:
- 밀도(𝜎): 네트워크 중간 단계에서 계산되며, 해당 위치에 물질이 존재하는 정도(density)를 나타냅니다.
- RGB: 네트워크 마지막에서 광선 방향 gamma를 추가로 고려하여 색상 정보를 계산합니다.
밀도(σ): 물체의 존재 여부만 나타내므로 위치 정보만으로 예측.
RGB(색상): 물체의 색상은 방향에 따라 달라질 수 있으므로, 위치 정보 + 방향 정보를 모두 사용해 예측.
(a) 5D Input: Position + Direction
(b) Output: Color + Density
(c) Volume Rendering
: 최종 색상.
T(t): 누적 투명도(transmittance).
σ(t): 밀도(해당 위치에 물체가 있을 가능성).
c(t): 색상(RGB)
Ray 1과 Ray 2: 서로 다른 광선(ray)을 따라가며, 각 광선의 경로에 따라 색상과 밀도가 다르게 계산
(d) Rendering Loss
네트워크 예상 색상 - ground truth
<Hierarchical Sampling(계층적 샘플링)>
2단계의 샘플링 과정(coarse와 fine)을 통해 샘플링 효율을 높이고, 더 정밀한 볼륨 렌더링 결과를 얻음.
중요한 위치에 더 많은 샘플을 할당
- Coarse Sampling: 광선을 따라 균일하게 샘플링하여 대략적인 밀도(σ)를 계산.
- Fine Sampling: coarse 단계에서 계산된 밀도를 기반으로, 중요한 구간에 추가 샘플링을 수행.
Coarse Network
- 입력:
- 5D 정보: 위치 (x,y,z)와 방향 (θ,ϕ)
- 처리:
- 균일한 간격으로 샘플링된 광선(ray) 지점에서 밀도와 색상(RGB)을 계산.
- 광선의 전체 경로에 대한 대략적인 밀도 곡선(위 그래프)을 생성.
- 출력:
- 대략적인 색상 값 (RGB)와 밀도 값 (σ)
Fine Network
- 입력:
- coarse 단계의 밀도 곡선을 기반으로 밀도가 높은(즉, 물체가 있을 가능성이 높은) 위치에서 추가 샘플링.
- 기존 샘플링 간의 세부적인 위치를 추가로 샘플링.
- 처리:
- 새롭게 샘플링된 지점에서 밀도(σ)와 색상(RGB)을 더 정밀하게 계산.
- finer한 밀도 곡선(아래 그래프)을 생성.
- 출력:
- 세부적인 색상 값 (RGB)와 밀도 값 (σ). 이를 통해 더 높은 품질의 볼륨 렌더링 결과를 생성.
'컴퓨터비전&AI' 카테고리의 다른 글
[3DGS] 3D Gaussian Splatting (0) | 2024.12.24 |
---|---|
[배울랑교AI] 이미지 처리 (0) | 2024.11.27 |
[배울랑교AI] 영상 처리 (0) | 2024.11.27 |
[AI배울랑교] 컴퓨터 비전 (2) | 2024.11.27 |
[배울랑교 AI] 컴퓨터 비전 기능을 구현 (0) | 2024.11.27 |