[Real-time Photorealistic Dynamic Scene Representation and Rendering with 4D Gaussian Splatting]([2310.10642] Real-time Photorealistic Dynamic Scene Representation and Rendering with 4D Gaussian Splatting) (Zeyu Yang, Hongye Yang, Zijie Pan, Li Zhang / ICLR 2024)
Real-time dynamic scene rendering 연구
- 시간 자체를 gaussian 네번째 차원으로 통합한 4D gaussian을 설계하는 방식
Dynamic Scene Rendering의 어려움
기존 Dynamic Scene Rendering 접근법
6D plenoptic 함수 (~ 위치, 방향, 시간을 넣으면 색상이 나오는 함수)를 학습하는 방식
→ Scene의 움직임을 학습하지 않기 때문에 실제 역동적인 움직임에 잘 대응하지 못함
→ 시공간 정보들이 모두 하나의 파라미터를 공유하다보니, 원치않는 간섭이 발생할 수 있음
3D underlying representation의 움직임이나 변형으로 표현하려는 방식
→ [4DGS (Wu, 2024)](4D Gaussian Splatting for Real-Time Dynamic Scene Rendering 리뷰) 에서 언급한 비슷한 문제들
➡️ 4D Gaussian을 활용하여 4D volume을 직접 approximate하는 방법을 제안

이제 어떤 View에서 이미지 픽셀 는 뿐만 아니라 가 합쳐져서 indexing 필요
우리가 화면에 그리는 것은 특정 시간 의 스냅샷이므로, conditional probability를 도입하면 아래와 같이 rendering 수식을 쓸 수 있음.
복잡해보이지만 그냥 -blender 수식에 gaussian 함수 넣어준 것이고, 조건부 확률을 통해서 시간의 영향과 공간의 영향을 수식적으로 분리한 것처럼 보여준 것.
4D Gaussian, 는 3D Gaussian, 그리고 가 2D Gaussian.
➡️ 4D Gaussian → Conditional 3D Gaussian + marginal 1D Gaussian
➡️ Conditional 3D Gaussian을 splat 시키고, time-evolving color와 marginal 1D gaussian을 함께 고려하여 rendering
Representation of 4D Gaussian → Gaussian의 기하 구조와 움직임4D Spherindrical Harmonics → Gaussian의 외형 진화4D Gaussian이 이제 시간의 함수여야 한다는 것은 알겠는데, 수학적으로는 어떻게 표현해야할까.
가장 쉬운 방법은 공간과 시간이 서로 독립적이라고 가정하는 것
그렇게 되면 이미지 랜더링 식은 그냥 3D gaussian에 시간축 방향 1D 가우시안을 그냥 곱하는 방식이 됨.
이 방식은 static 3D Gaussian이 시간에 따라서 나타났다가 사라지는 것을 반복하는 느낌이고, 결국 효과적으로 scene의 motion을 표현하기는 어려움
이 연구에서는 시간과 공간을 동시에 고려하는 4D Gaussian Model을 도입.
3DGS와 같이 covariance matrix를 parameterize해줌
이때 Scaling matrix 와 Rotation matrix 을 4차원으로 정의하여 사용함.
4차원 회전을 활용하면 공간과 시간 축이 같이 뒤틀리면서 시간에 따라 3D 중심점이 조금씩 이동하게되고, 자연스럽게 scene의 motion을 표현할 수 있음.
회전의 경우 4차원 회전은 복잡하여, 두 개의 쿼터니언으로 4차원 회전을 만들어 사용하였다고 함.
색상 같은 경우에도 3DGS에서 view-dependent color 에 시간 요소를 결합해주었다.
기존의 3D spherical harmonics ()에 1-D basis function인 Fourier series를 결합한 4D spherindrical harmonics (4DSH)를 사용
→ 보는 방향 뿐만이 아니라 시간에 따라서 색깔이 변하는 가우시안을 표현
https://fudan-zvg.github.io/4d-gaussian-splatting/
이 연구도 프로젝트 페이지 영상 결과 참고하는게 좋아보임
Plenoptic Video dataset과 D-NeRF dataset 이용

