
[Paper]
Chen, G., & Wang, W.
arXiv preprint 2024
3DGS를 공부를 하다 보니 3DGS에는 어떤 분야와 응용이 연구가 되어가고 있는지 확인하고 싶었다. 또한 하나의 분야를 건드리기 위해서 그 분야만 보는것이 아니라 여러 분야를 봐야 더 효율적으로 연구에 접근할 수 있다고 생각이 들었기 때문에 survey 논문을 찾아서 읽게 되었다. 논문의 모든 내용을 다 읽지는 않았고 필요한 부분들 위주로 찾아서 읽었다.
주로 본 sectioin은 다음과 같다
기존의 image-based 3D reconstruction은 여러 장의 이미지를 이용해 3D scene을 복원하는 분야다. 그 중에서 NeRF는 큰 전환점이었지만 큰 단점이 2개가 존재했다.
Section 4는 Vanilia 3DGS 이후 연구들이 어떤 방향으로 발전했는지 정리한다.
논문은 크게 다음 방향을 제시한다.
1. Sparse Input
2. Memory-efficient 3DGS
3. Photorealistic 3DGS
4. Improced Optimization Algorithms
5. 3D Gaussian with More Properties
6. Hybrid Representation
7. New Rendering Algorithm
8. Kernel Engineering
3DGS는 여러 시점의 이미지가 충분할 때 좋은 품질을 얻지만 입력 view가 적으면 관측되지 않은 영역이 많아지고 geometry가 틀어지거나 artifact가 생긴다.
Sparse input은 이러한 문제를 크게 두 방향으로 해결한다.
3DGS는 explicit representation이기 때문에 장면이 커질수록 Gaussian 수가 크게 증가하기 때문에 메모리 부담이 크다.
Memory-efficient 3DGS 연구는 크게 두 방향이다.
compression이 단순 저장 용량만 줄이는것이 아니라 드론, 로봇, edge device에서는 GPU memory가 제한적이기 때문에 위와 같은 영역에서도 적용하려고 한다.
3DGS는 빠른 rendering이 장점이지만 rendering pipeline이 단순하기 때문에 photoreaslim 관점에서는 여러 문제가 있다.
3DGS 최적화는 Gaussian parameter를 업데이트하고 densification/pruning을 통해 Gaussian 수를 조절하는 과정이다. 하지만 기본 optimization은 항상 안정적이지 않다.
다음과 같은 문제가 발생한다.
논문에서는 개선 방향을 3개로 정리하고 있다
기본 3DGS의 Gaussian은 novel-view synthesis를 위해 설계되어 있어서 위치, scale, rotation, opacity, color는 있지만 의미 정보는 없다.
그래서 downstream task를 위해서 Gaussian에 추가 속성이 필요하다. 예를 들면 다음과 같다.
이런 속성을 추가하여 object-aware 할 수 있게 된다.
Hybrid representation은 Gaussian 자체에 속성을 추가하는 것과는 다르다. Gaussian 주변에 MLP, grid, hash grid, deformation field 같은 구조화된 표현을 결합하는 방식이다. 3DGS의 Gaussian은 unordered set이다. 리스트 순서에 공간적 의미가 없다. 그래서 object grouping, temporal tracking, deformation modeling이 어렵다.
Hybrid representation은 이 문제를 보완하기 위해 canonical Gaussian과 deformation field를 결합한다.
기본 3DGS는 rasterization 기반이라 빠르지만 Gaussian overlap, depth sorting, temporal artifact, reflection, shadow, refraction, complex camera model 처리에는 한계가 있다.
특히 Gaussian들이 겹치는 경우 중심점 depth만으로 sorting하면 visibility가 불안정해질 수 있다. 카메라가 움직이면서 sorting order가 바뀌면서 popping이나 flickering 같은 temporal artifact가 발생한다.
이를 해결하기 위해 ray tracing 기반 Gaussian rendering이 연구되고 있다.
기본 Gaussian kernel은 부드럽고 이론적으로 공간 전체에 영향을 주는 성질을 가지므로 sharp boundary, thin surface, hard edge 등을 표현하는 데 비효율적이다.
이 문제를 해결하기 위해 다음 방향이 연구된다.
Fig. 1. Typical applications benefited from GS (Sec. 5).
Section 5는 3DGS 연구들이 어디에 응용이 되고 있는지 정리한다.
논문은 크게 다음 방향을 제시한다.
1. Robotics
2. Dynamic Scene Reconstruction
3. Generation and Editing
4. Avatar
5. Endoscopic Scene Reconstruction
6. Large-scale Scene Reconstruction
7. Physics
Robotics에서는 3DGS는 SLAM, dense mapping, manipulation에 활용된다.
기존 NeRF 기반 방식은 정확한 scene representation을 제공할 수 있지만 계산량이 커서 real-time robotics에는 부담이 크다. 반면 3DGS는 explicit representation이기 때문에 Gaussian map에 직접 접근할 수 있고 빠른 rendering이 가능하다.
Robotics에서 중요한 응용은 다음과 같다.
특히 robotics에서는 scene이 정적이지 않기 때문에 물체가 움직이고 occlusion이 생기고 sensor noise가 존재한다. 따라서 계속 update해야 한다.
Dynamic scene reconstruction은 시간에 따라 변하는 장면을 복원하는 문제다. 3DGS를 dynamic scene에 적용하려면 시간 차원을 모델링해야 한다. 대표 방식은 두가지다.
하지만 현재 방법들은 대부분 per-Gaussian deformation에 의존해서 object-level motion reasoning이 부족하다. 큰 장면이나 긴 sequence에서는 scalability와 robustness가 문제가 된다.
Generation은 text/image prompt로 새로운 3DGS asset이나 scene을 만드는 문제다. Editing은 기존 3DGS를 수정하는 문제다. 크게 3가지로 정리된다.
Editing은 크게 2가지다.
Avatar 분야에서는 3DGS를 이용해 fully-body avatar와 head avatar를 만든다. Fully-body avatar에서는 보통 canonical Gaussian을 body model이나 skeleton에 맞춰 deformation한다. Head avatar에서는 facial expression, wrinkle, hair, speech-driven animation 같은 세밀한 번형이 중요하다.
Avatar 연구에서 중요한 개념은 다음이다.
Endoscopic scene reconstruction은 내시경 수술 장면을 3DGS로 복원하는 분야다. 기존 방법들은 depth guidance, surface regularization, spatiotemporal Gaussian tracking 등을 사용한다.
대규모 장면 복원은 자율주행, 항공 측량, 드론 mapping에서 중요하다.
하지만 large-scale 3DGS는 Gaussian 수가 폭증한다. large scale에서는 수천만 Gaussian이 필요하고 GPU memory와 rendering cost가 매우 커진다. 따라서 아래와 같은 연구를 진행하고 있다.
Physics-based 3DGS는 Gaussian을 단순 rendering primitive가 아니라 simulation particle 또는 material element로 보는 방향이다.
이 분야에서는 Gaussian이 두 가지 역할을 가진다.
이를 통해 deformable object, fluid, fracture, material dynamics 등을 표현하려는 연구가 진행된다. 그러나 아직 physics-based GS는 아직 제한적이다. 특정 물리 현상에 특화된 경우가 많고 rigid, elastic, plastic, fluid, granular dynamics를 하나의 framework에서 모두 처리하기는 어렵다.
Section 6은 여러 3DGS 방법의 성능을 비교한다. 하지만 이 section에서 중요한 점은 어떤 방법이 무조건 최고가 아니다.
3DGS는 task가 매우 다양하다.
따라서 모든 방법을 하나의 dataset이나 하나의 metric으로 공정하게 비교하기 어렵고 PSNR, SSIM, LPIPS 같은 수치도 구현과 hyperparameter에 따라 달라질 수 있다.
Section 7은 3DGS의 미래 방향을 정리한다. 3DGS는 NeRF의 빠른 대안에서 출발했지만 이제는 3D word modeling을 위한 general representation으로 확장되고 있다. 최근에는 per-scene optimization에서 feed-forward Gaussian prediction으로 이동하고 있다. 장면마다 오래 최적화하는 대신 학습된 network가 sparse view나 multi-view input에서 Gaussian을 직접 예측하는 방향이다.
또한 Transformer, hybrid attention, test-time training 등을 활용해 더 많은 view와 더 큰 scene-level context를 처리하는 방향으로 발전하고 있다.
미래의 3DGS는 단순한 이미지를 잘 렌더링하는 것이 아니라 physics와 semantics를 함께 이해야 한다.
예를 들어 이런 정보가 필요하다.
대규모 데이터에서 physical prior를 학습하는 것도 중요한 방향이다.
예를 들어 많은 데이터를 통해 다음과 같은 지식을 배울 수 있다.
이런 prior가 있으면 적은 관측만으로도 새로운 object나 environment에 빠르게 적응할 수 있다.
현재 3DGS는 주로 object의 외부 surface와 appearance를 잘 표현한다. 하지만 CT처럼 object 내부 구조를 volume으로 표현해야 하는 경우에는 아직 한계가 있다.
Gaussian이 unorderd하고 splatting/density control 중심으로 구성되어 있기 때문에 내부 구조를 체계적으로 표현하기 어렵다.
3DGS는 자율주행, 드론, 방산, 디지털 트윈에도 활용될 수 있다.
현실 데이터를 직접 수집하는 것은 비용이 크기 때문에 photorealistic simulator가 중요하다. 하지만 simulator가 실제로 유용하려면 단순히 도시를 예쁘게 복원하는 것만으로는 부족하기 때문아 다음과 같은 기능이 필요하다.