3D Gaussian Splatting 강의 정리

상솜공방·2025년 7월 19일

논문 리뷰

목록 보기
20/57

영상 출처: https://www.youtube.com/watch?v=uetF_awWYLc


Projection of Gaussian

1. 3D 가우시안 스플래팅의 기초 수식

가우시안 프리미티브의 수학적 정의

3D 가우시안 스플래팅은 공간을 수많은 가우시안 분포의 조합으로 표현한다. 임의의 3차원 점 xx가 주어졌을 때, ii번째 가우시안 프리미티브가 해당 위치에 미치는 영향력 Gi(x)G_i(x)는 다음과 같은 지수 함수 형태로 정의된다.

Gi(x)=e12(xμi)TΣi1(xμi)G_i(x) = e^{-\frac{1}{2}(x-\mu_i)^T \Sigma_i^{-1} (x-\mu_i)}

이 수식의 결과값은 0에서 1 사이의 범위를 가지며, 특정 공간 위치에 가우시안이 얼마나 짙게 존재하는지를 나타내는 밀도로 해석할 수 있다.

수식 내부의 지수 항을 구성하는 핵심 요소들은 다음과 같다.
먼저 xμix-\mu_i는 임의의 점 xxii번째 가우시안의 중심점 μi\mu_i 사이의 거리를 나타내는 벡터다.
Σi\Sigma_iii번째 가우시안의 형태와 방향성을 결정하는 3x3 공분산 행렬이다. 이 행렬의 대각 성분은 각 축 방향으로의 분산을 의미하고, 비대각 성분은 각 축 방향 간의 상관관계를 나타낸다. 공분산 행렬은 스케일 정보를 담고 있는 행렬 SS와 회전 정보를 담고 있는 행렬 RR의 조합으로 구성된다.

지수 항 전체인 (xμi)TΣi1(xμi)(x-\mu_i)^T \Sigma_i^{-1} (x-\mu_i)는 단순한 유클리드 거리가 아닌, 분포의 형태를 고려한 마할라노비스 거리의 제곱을 의미한다. 이 거리 값이 작을수록 점 xx가 가우시안 중심 μi\mu_i와 가깝다는 것을 뜻하며, 그 결과 Gi(x)G_i(x)의 값은 1에 수렴하게 된다.

고윳값과 고유벡터의 직관적 이해

공분산 행렬이 공간을 어떻게 왜곡하는지 이해하기 위해서는 선형 변환의 고윳값과 고유벡터 개념이 필수적이다. 선형 변환을 적용했을 때 새로운 축의 기준을 찾는 과정이 바로 고유 분해다. 특정 벡터 공간에 선형 변환 행렬 AA를 곱했을 때, 벡터의 방향은 변하지 않고 오직 크기만 단순히 상수배만큼 늘어나거나 줄어드는 벡터가 존재한다. 이를 수식 AX=λXAX = \lambda X를 만족하는 영벡터가 아닌 XX를 찾는 과정으로 정의한다. 이때 식을 만족하는 상수 λ\lambda를 고윳값이라 부르고, 벡터 XX를 고유벡터라고 부른다.

노트에 적힌 A=[1234]A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} 행렬을 예시로 든다.
고윳값을 찾기 위해서는 식을 AXλIX=0A X - \lambda I X = 0 형태로 정리한 뒤, (AλI)X=0(A - \lambda I)X = 0을 구성해야 한다. 이 방정식이 자명해인 X=0X=0 이외의 해를 가지려면 행렬 AλIA - \lambda I의 역행렬이 존재하지 않아야 한다. 즉, 행렬식 det(AλI)\det(A - \lambda I)의 값이 0이 되어야 한다.
해당 행렬에 대한 특성 방정식은 λ25λ2=0\lambda^2 - 5\lambda - 2 = 0으로 도출되며, 근의 공식을 통해 λ=5±332\lambda = \frac{5 \pm \sqrt{33}}{2}이라는 고윳값을 얻게 된다. 이렇게 구한 고윳값을 다시 본래의 방정식에 대입하면 그에 상응하는 고유벡터 공간을 찾아낼 수 있다.

렌즈를 통과하는 빛에 빗댄 노트의 비유는 매우 직관적이다. 빛이 렌즈를 통과할 때 대부분의 빛은 굴절하여 방향이 바뀐다. 그러나 렌즈의 특정 축을 통과하는 빛은 방향이 꺾이지 않고 그대로 직진하며, 빛의 세기만 변하게 된다. 여기서 방향이 꺾이지 않는 빛의 경로가 고유벡터 공간을 의미하며, 빛의 세기가 변하는 정도가 고윳값의 크기를 의미한다.

2. 2D 가우시안을 통한 기하학적 특성 이해

크기 변환과 로컬 공분산 행렬

3차원의 복잡한 변화를 직관적으로 파악하기 위해, 노트에서는 이를 2차원 공간의 타원 분포로 단순화하여 설명하고 있다. 타원의 xx축 스케일링 요소를 2, yy축 스케일링 요소를 1이라고 가정한다. 이는 기하학적으로 x222+y212=1\frac{x^2}{2^2} + \frac{y^2}{1^2} = 1 형태의 타원 방정식을 이룬다.

이러한 형태적 특징을 통계학적 의미의 공분산 행렬로 변환하기 위해 스케일 요소의 제곱을 분산으로 사용한다. 그 결과 회전이 없는 기본 상태의 로컬 공분산 행렬 SlocalS_{local}은 다음과 같이 구성된다.

Slocal=[4001]S_{local} = \begin{bmatrix} 4 & 0 \\ 0 & 1 \end{bmatrix}

이 행렬은 전치 행렬과 형태가 같은 대칭 행렬 조건을 만족한다. 행렬의 대각 성분인 4와 1은 양수 값을 가지므로 통계적 분산으로 취급할 수 있다. 또한 대각선을 제외한 비대각 원소들이 모두 0으로 채워져 있다. 이는 해당 데이터 분포에서 xx 변수와 yy 변수 간에 어떠한 상관관계도 존재하지 않으며, 두 변수가 완전히 독립적으로 분포하고 있음을 수학적으로 보장한다.

회전 변환과 새로운 공분산 행렬의 도출

앞서 정의한 축에 정렬된 가우시안 분포를 원점 기준으로 45도 회전시킨 상황을 가정한다. 2차원 평면에서의 45도 회전 행렬 RR은 다음과 같이 계산된다.

R=[cos45sin45sin45cos45]=[22222222]R = \begin{bmatrix} \cos 45^\circ & -\sin 45^\circ \\ \sin 45^\circ & \cos 45^\circ \end{bmatrix} = \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{bmatrix}

회전이 적용되지 않은 원래 확률 변수 XX의 공분산 행렬이 ΣX\Sigma_X일 때, 이 공간에 선형 변환 행렬 AA를 곱해 생성된 새로운 확률 변수 Y=AXY=AX의 공분산 행렬 ΣY\Sigma_YAΣXATA \Sigma_X A^T의 관계로 유도된다. 이 규칙을 회전 행렬에 적용하면, 45도 회전된 가우시안의 새로운 공분산 행렬 Σy\Sigma_yRSlocalRTR S_{local} R^T 연산을 통해 구할 수 있다. 계산 과정은 다음과 같다.

Σy=[22222222][4001][22222222]=[52323252]\Sigma_y = \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{bmatrix} \begin{bmatrix} 4 & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \\ -\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{bmatrix} = \begin{bmatrix} \frac{5}{2} & \frac{3}{2} \\ \frac{3}{2} & \frac{5}{2} \end{bmatrix}

공분산 행렬의 고유 분해

새롭게 구한 공분산 행렬 Σy\Sigma_y에 담긴 물리적 의미를 파악하기 위해 다시 한번 고윳값과 고유벡터를 찾는다. 특성 방정식 det(ΣyλI)=0\det(\Sigma_y - \lambda I) = 0을 풀면 λ25λ+4=0\lambda^2 - 5\lambda + 4 = 0이 도출되며, 이를 만족하는 고윳값은 λ1=4\lambda_1 = 4λ2=1\lambda_2 = 1이다.

첫 번째 고윳값 λ1=4\lambda_1 = 4를 만족하는 고유벡터를 계산하면 v1=[12,12]Tv_1 = [\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}]^T를 얻는다. 이는 원래 xx축이었던 방향이 원점을 기준으로 45도 회전한 새로운 주축 방향을 가리킨다. 두 번째 고윳값 λ2=1\lambda_2 = 1에 대한 고유벡터는 v2=[12,12]Tv_2 = [-\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}]^T로, 본래의 yy축이 45도 회전한 방향을 나타낸다.

이 결과는 대단히 중요한 사실을 시사한다. 회전 변환으로 인해 행렬의 형태가 복잡해졌음에도 불구하고, 행렬을 고유 분해하여 얻은 고윳값들은 원본 가우시안 분포가 지니고 있던 본래의 분산 값인 4와 1을 그대로 보존하고 있다. 또한 이렇게 도출된 고유벡터들은 형태가 찌그러지거나 왜곡되지 않은 상태로 45도 회전된 주축의 방향 자체를 정확히 지시한다.

3. 역행렬과 마할라노비스 거리의 물리적 의미

공분산 행렬의 역행렬 전개

가우시안 밀도 함수를 계산하기 위해서는 공분산 행렬 전체의 역행렬 Σy1\Sigma_y^{-1}이 필요하다. 앞서 구한 Σy=RSlocalRT\Sigma_y = R S_{local} R^T에 역행렬 기호를 취하면 행렬 곱의 성질에 의해 순서가 뒤집히면서 전개된다.

Σy1=(RSlocalRT)1=(RT)1Slocal1R1\Sigma_y^{-1} = (R S_{local} R^T)^{-1} = (R^T)^{-1} S_{local}^{-1} R^{-1}

여기서 회전 행렬 RR은 각 열벡터가 서로 직교하는 직교 행렬이다. 직교 행렬은 자신과 자신의 전치 행렬을 곱했을 때 단위 행렬이 되는 특성이 있다. 따라서 직교 행렬의 역행렬은 자신의 전치 행렬과 완전히 동일한 값을 가지며, 수식으로 표현하면 RT=R1R^T = R^{-1}이 성립한다. 이 성질을 이용해 앞선 역행렬 전개식을 간소화하면 다음과 같은 최종 형태를 얻는다.

Σy1=RSlocal1RT\Sigma_y^{-1} = R S_{local}^{-1} R^T

분산을 고려한 정규화된 거리 계산

마할라노비스 거리가 데이터의 분산을 어떻게 정규화하는지 파악하기 위해, 먼저 회전이 적용되지 않은 기초 상태의 공분산 역행렬 Slocal1S_{local}^{-1}을 분석한다.

Slocal1=[4001]1=[14001]S_{local}^{-1} = \begin{bmatrix} 4 & 0 \\ 0 & 1 \end{bmatrix}^{-1} = \begin{bmatrix} \frac{1}{4} & 0 \\ 0 & 1 \end{bmatrix}

이 역행렬을 사용하여 두 개의 타원 위 점 PA=[2,0]TP_A = [2, 0]^TPB=[0,1]TP_B = [0, 1]^T의 중심점 기준 마할라노비스 거리를 계산한다.
PAP_A의 경우 마할라노비스 거리의 제곱은 [2,0][14001][20]=1[2, 0] \begin{bmatrix} \frac{1}{4} & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 2 \\ 0 \end{bmatrix} = 1이 되며, 제곱근을 씌운 실제 거리는 1이다.
PBP_B의 경우에도 연산 결과 [0,1][14001][01]=1[0, 1] \begin{bmatrix} \frac{1}{4} & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 0 \\ 1 \end{bmatrix} = 1이 도출되어 거리는 1이 된다.

만약 자를 대고 재는 물리적 유클리드 거리를 사용했다면 PAP_A까지의 거리는 2, PBP_B까지의 거리는 1로 서로 달랐을 것이다. 하지만 마할라노비스 거리는 공간의 분산 형태를 행렬 계산의 가중치로 역산하여 포함시킨다. 데이터가 넓게 퍼져 있는 축 방향으로는 거리의 측정 단위를 길게 늘려 잡고, 좁게 분포하는 축 방향으로는 측정 단위를 촘촘하게 만든다. 그 결과 분포의 경계선상에 있는 모든 점들은 중심으로부터 통계적으로 완벽히 동일한 거리 상에 위치하게 된다.

회전이 고려된 마할라노비스 거리

이제 회전 변환이 포함된 전체 공분산 역행렬 Σy1=RSlocal1RT\Sigma_y^{-1} = R S_{local}^{-1} R^T를 적용한 마할라노비스 거리의 제곱 D2D^2를 살펴본다.

D2=(xμ)T(RSlocal1RT)(xμ)D^2 = (x-\mu)^T (R S_{local}^{-1} R^T) (x-\mu)

이 수식을 행렬 곱의 결합 법칙과 전치 행렬의 분배 법칙을 역이용하여 묶어보면 다음과 같은 형태로 다시 쓸 수 있다.

D2=(RT(xμ))TSlocal1(RT(xμ))D^2 = (R^T(x-\mu))^T S_{local}^{-1} (R^T(x-\mu))

이 형태는 연산의 기하학적 순서를 명확하게 보여준다. 입력된 상대 좌표 벡터 (xμ)(x-\mu)에 가장 먼저 전치된 회전 행렬 RTR^T가 곱해진다. 앞서 설명했듯 직교 행렬에서 전치 행렬은 역방향 회전을 의미한다. 즉, 임의의 점 좌표를 45도 회전된 현재 좌표계가 아니라, 회전이 일어나기 전 축에 나란히 정렬되어 있던 원래의 로컬 좌표계 공간으로 되돌려 놓는 것이다. 공간을 원래 상태로 되돌린 이후에 기본 스케일 역행렬 Slocal1S_{local}^{-1}을 곱하여 분산을 고려한 거리를 측정한다. 이는 공간 자체를 변형시켜 거리를 재는 것과, 점을 원래 공간으로 끌고 와서 거리를 재는 것이 수학적으로 동일한 행위임을 증명한다.

최종 가우시안 밀도 함수의 해석

최종적으로 3D 가우시안의 수식 Gi(x)=e12D2G_i(x) = e^{-\frac{1}{2} D^2}로 돌아온다.
여기서 지수 항에 붙은 1/21/2은 그래프의 곡률을 조절하는 스케일링 인자 역할을 한다. 이 상수 덕분에 지수 함수가 급격하게 0으로 추락하지 않고 보다 완만한 형태의 종 모양(Bell curve) 분포를 그릴 수 있게 된다.

가우시안의 중심점인 μi\mu_i 위치에서는 마할라노비스 거리 D2D^2가 0이 된다. 지수 함수의 특성에 따라 e0e^0이 되므로, 이 지점에서의 렌더링 밀도 값은 가장 높은 1에 도달한다. 반대로 임의의 점이 중심에서 한없이 멀어질수록 거리 D2D^2는 무한대로 발산한다. 이 경우 ee^{-\infty}의 형태가 되어 밀도 값은 점진적으로 0에 수렴하여 사라지게 된다. 이러한 연속적이고 미분 가능한 밀도 함수 특성이 경사 하강법을 통한 3차원 공간의 파라미터 최적화를 가능하게 만드는 핵심 원동력이다.

profile
상어 인형을 좋아하는 사람

0개의 댓글