Paper/Neural rendering

Does Gaussian Splatting need SFM Initialization?

침닦는수건 2024. 4. 26. 12:52
반응형

내 맘대로 Introduction

 

이 논문의 목적은 단 하나다. Gaussian splatting의 초기화를 어떻게 하는 것이 좋을까. 

 

COLMAP을 쓰는게 정말 효과적일까? 그냥 random initialization은 의미가 없나? NeRF를 써서 초기화하는건 훨씬 더 좋은가?를 궁금해하고 그것을 실험을 증명해본 논문이다. 

 

새로운 초기화 기법을 제안한게 아니다 보니 테크니컬 리포트 같이 결과를 공유하는데 의의가 있는 보고용 논문이다. 

 

메모


이부분은 딱히 중요한 내용이 없음.

3DGS가 랜덤 초기화로 시작해서는 NeRF에 대비해서 수렴하는게 어렵다는 내용. 


랜덤 초기화는 어떤가?

결론은 복원하고자 하는 물체, 공간을 충분히 덮는 크기의 volume을 잡기만 했다면 random init.도 plausible performance를 보인다고 한다. 

(조금 더 기대했는데...정녕 이게 끝이란 말인가...?)

NeRF를 이용한 초기화

NeRF ray sampling 시에 importance sampling을 한다. 

어느 위치에 surface가 있을지 weight 분포를 보는 것.

이 weighted 분포가 높은 곳에 3DGS 중심을 생성하는 방식으로 초기화를 하면 효과가 좋다고 한다.

--------
ray sampling 할 때도 min to max uniform sampling으로 위치를 잡는 것에서 착안해서 여기서도 0~1 uniform sampling으로 surfaceness를 계산해서 활용한다.


NeRF를 이용한 보조

사실 가장 먼저 생각할 수 있는 초기화 방법은 NeRF rendered depth를 활용하는 방식이다.

depth로 구한 초기 위치도 사실 surface에 유사하므로 위의 importance sampling으로 구하는 방식이랑 큰 차이는 없었을 것이다. 

근데 저자들은 depth는 따로 빼서 학습 loss에서 기여하도록 했다. 

3DGS rendered depth와 NeRF rendered depth가 같도록 regularization을 가해주는 식이다. 




육안으로 봤을 땐 큰 차이가 안나지만, NeRF 초기화 + depth 활용이 디테일이 조금 더 살아난다는 것을 보이고자 한 듯.


random init.은 bounding box의 크기가 충분히 크고 그 안에서 uniform으로 한다면 성능이 크게 차이나진 않는다. 

반면 NeRF 활용은 NeRF의 성능에 상관없이 효과적인 초기화를 제공하는 편.




depth loss도 도움이 되는 편.
반응형