Paper/Neural rendering

Mip-Splatting: Alias-free 3D Gaussian Splatting

침닦는수건 2023. 12. 7. 20:29
반응형

내 맘대로 Introduction

 

또 중요한 의미를 갖는 3D GS 파생 연구가 나온 것 같다. Mip-NeRF와 같이 aliasing 문제를 풀어서 성능을 끌어올리는 컨셉의 gaussian splatting 논문이다. 현재 3D GS 기술을 분석하길 3D to 2D gaussian projection 이후에 픽셀 해상도 단위로 discretize해서 사용하는 부분에서 성능 저하 여지가 많다고 지적한다. 이러한 문제는 학습할 때와 다른 focal length, 다른 카메라 거리일 때 두드러지는 현상과 일맥상통한다.

 

핵심 아이디어는 2d gaussian projection은 실제로 물리적으로 projection(검정색 선)되는데 실제로 구현적으로 픽셀 단위로 끊어지게 되는 projection(빨간색 선)과의 gap을 줄이는 것이다. 3D smoothing filter와 2D Mip filter, 총 2가지 필터를 디자인해서 풀었다. 

 

이 논문 어렵다. 내용보다 설명하기가 더 어렵다.

 

메모하며 읽기

첫번째로 이 논문을 이해하기 위해 깔고 가야하는 이론적 배경이 1개 있다.

sampling에 관한 것인데 "continuous signal을 aliasing 없이 discrete signal의 조합으로 잘 표현하기 위한 조건" 으로 이해하면 된다.


1) continuous signal이 특정 범위 안으로 한정될 것.
2) sampling rate가 continuous signal 최고 frequency의 최소 2배는 넘을 것 
-------

이 말이 지금 3d gaussian 하고 이미지 관계를 푸는 것과 무슨 상관이 있나 싶을텐데,

간단히 말하면 continuous signal을 3d gaussian의 크기, sampling rate는 이미지의 해상도 라고 볼 수 있다. 

대충 주어진 해상도의 이미지를 만들어내기 위한 3d gaussian의 최대 크기 를 찾아낼 때 참고할 이론이다. 

직접 쓰이지 않는다. 컨셉만 가져온다. 

3D GS recap이 주된 내용인데 dilation은 한 번 짚고 넘어가야 한다. 이 부분이 논문에서 문제로 지적하는 원인이기 때문.

dilation이라는 용어는 이 논문의 저자들이 새로 붙인 것이라서 그냥 받아들이면 되고 의미만 이해해보면

3D to 2D projection했을 때 gaussian이 너무 작을 경우에는 의미가 전혀 없으므로 약간의 최소 크기를 보장하기 위해 scalar dilation hyperparmaeter를 더해준다.

극단적으로 projection했더니 2D gaussian이 만약 이미지 픽셀 보다 작을 경우, 이미지 픽셀 크기나 그것보다 조금 더 큰 크기로 보정해주는 기능이라고 보면 된다.

이렇게 하면 생성된 gaussian 들이 그래도 최소 크기를 가진다.



근데 scalar parameter가 의미없는 gaussian을 줄이는데는 기여를 조금 할지 모르겠지만 성능 저하의 원인이기도 하다고 지적한다.




왼쪽 그림(a)처럼 3d gaussian 크기가 충분해서 픽셀보다 작거나 몇 픽셀 안되는 크기로 projection되는 것을 걱정할 필요가 없을때는 dilation parameter를 통해 픽셀 단위로 크기를 보장하는 것이 큰 무리는 없다. 

하지만 만약 3d gaussian이 너무 작아서 픽셀보다 작은 크기로 projection 됐을 경우에는 dilation을 통해 픽셀 전체로 확장시켜 버리는 것이 물리적으로 맞아떨어지지 않기 때문에 성능에 좋은 영향을 주진 못한다고 말한다.
실제로 3d gaussian의 크기가 이러한 dilation으로 인한 문제를 야기하기도 하지만 물리적으로 image plane이 앞뒤로 움직였을 때도 비슷한 혹은 더 심각한 문제가 발생할 수 있다. (focal length 변화)

먼저 1) zoom in(focal length가 커질 경우) + small 3d gaussian일 경우



정해진 해상도의 이미지 평면이 물체에 가까워 질수록 1픽셀이 차지하는 화각이 줄어듦으로 projected 2d gaussian도 도 뾰족해진다. (3d gaussian이 엄청 작아서 여전히 1픽셀보다 작게 projection될 때다. 이때 똑같이 1픽셀 크기로 dilation해주는데 픽셀 크기가 작아졌으니 뾰족해 진 것과 같다.)

그러면 애초에 학습 때 이런 걸 보여줬으면 모를까


이렇게 생겼을 때 렌더링 잘되도록 학습시켜놨는데 갑자기


이렇게 뾰족하게 줄여버리면 물체가 얇아지는 문제가 있을 것이다.
반대로 2) zoom out(focal length 작아질 경우)가 확 커질 경우


원래 1픽셀보다 크게 projection 돼서 dilation 영향 거의 안 받던 3D gaussian도 1픽셀 이하로 projection될 가능성이 생긴다. 

이러면 3d gaussian이 엄청 작을때랑 똑같은 문제를 겪게 된다. blur되고 더 밝게 나오고 등등.
이런 문제들인 수백만 개나 되는 gaussian으로 구성된 scene에서 엄청 빈번하게 발생되는 일이라 해결하지 않으면 렌더링 퀄리티 저하는 반드시 수반되는 현상이다. 

그렇다고 dilation을 빼버리면 엄청 작은 gaussian이 무수히 많이 더 생성돼서 메모리가 터져버린다.

그러므로 반드시 해결해야 하는 문제다. 

3d gaussian scale vs pixel size
먼저 3d gaussian 크기와 pixel size 간의 문제 이므로 3d gaussian의 크기를 pixel size를 고려하여 특정 크기 안으로 제한하는 아이디어를 사용한다. 

3d gaussian의 크기를 제한한다고 해도 focal length가 짧아져 버리거나 카메라 거리가 멀어지는 것은 어쩔 수 없는 문제기 때문에 이를 풀기 위해선 2D filter를 가해서 gaussian이 이를 인지하고 학습될 수 있도록 했다.


3d gaussian의 크기를 제한하는 기준은 training view 해상도로 생성한다. 



일단 focal length (px unit)을 알고 거리 d를 알면 1픽셀 움직였을 때 거리 d에서는 얼마나 움직일지 간단히 계산할 수 있다. 

(거리가 멀수록 1픽셀 움직였을 때 공간에서는 많이 움직일 것)

주어진 거리를 대상으로 1픽셀 움직였을 때 변화하는 거리가 일종의 sampling rate가 되는 것인데 이 정도 관찰 주기로 표현 가능한 signal은 sampling theorem에 의하면 이 관찰 주기의 두배 2d/f가 될 것이다. 

frequency로 보면 f/2d 까지 표현할 수 있다. 즉 다르게 말하면 gaussian의 크기가 2d/f 보다 작아버리면 aliasing 문제가 발생한다는 논리가 된다. 

2d/f가 gaussian의 최소 크기가 되는 셈이다. 

---------------

갖고 있는 training view를 종합해서 보았을 때 주어진 3d gaussian에 대해 최소 크기에 대한 기준을 v = max(f/d)로 찾는다.
최소 크기에 대한 제약조건은 기존 dilation 수식(5)에 박아넣는 식으로 구현했다. 

의미로 보면 기존 3d gaussian에 또 다른 gaussian을 곱해서 크기를 억제하는 것과 비슷한 의미이므로 구현적으로는 gaussian 끼리의 convolution으로 구현했다.

gaussian 끼리 convolution한 결과 수식(9)와 같이 앞에 sqrt term이 생긴다. 

이렇게 구현하면 2d/f 크기 이하로만 gaussian이 생성되도록 유도된다.

위 3d smoothing regularization은 gaussian의 최소 크기에 대한 억제 였다.

다시 말하지만 focal length가 멀어지는 것에 대한 대처는 되지 않는다. 

따라서 이 문제를 추가적으로 풀어주기 위해서 주어진 gaussian이 기존 dilation을 포함해서 2d로 projection될 때 더 smoothing 되도록 한 번 더 regularization을 가해줬다. 

말이 어려운데, 2d projection 이후에 그냥 s 를 가진 gaussian convolution을 곱해줘서 조금 더 smoothing된 projection 값을 같도록 해준 것이다.

이렇게 학습시키면 smoothing된 이후에도 선명하도록 강제되니까 focal length 변화에 조금은 대응 능력이 생긴다.
반응형