[3D CV] The smallest scaling axis can be normal in 3D Gaussians
3D Gaussian을 2D disc 형태로 만들려면, 3D Gaussian의 가장 작은 scale axis를 normal vector로 사용합니다.
- During optimization, we expect Gaussians to become flat, disc-like, with one scaling axis much smaller than the other two. This scaling axis serves as an
approximation of a normal direction.
3D Gaussian에 normal을 얻는 과정은 다음과 같습니다.
- normal을 scale axes중 argmin으로 찾고, OneHot으로 그 axis만 1로 하고 나머지 2개 axes는 0으로 만듭니다.
- Rotation matrix에 이 OneHot vector를 곱해주면 normal을 구할 수 있습니다.
- 추가적으로 Gaussian normal이 camera viewing direction과 dot product를 했을 때, 음수이면, normal의 방향을 flip 해줍니다.
위와 같이 3D Gaussian으로부터 직접적으로 smallest scale axis를 사용하여, normal vector를 만들어 쓰는 경우, 3D Gaussian의 geometry부터 normals을 derive하는 것이므로, normal estimates를 directly하게 update할 수 있다는 장점이 있습니다.
- 그러므로 normal을 구하기 위한 additional learnable parameters 또한 필요하지 않습니다.
- 직관적으로, 이는 또한 가우시안이 scene의 geometry에 더 잘 맞도록 합니다.
-
가우시안의 방향과 스케일이 surface normal에 맞춰 정렬되도록 강제되기 때문입니다.
How to acquire normal maps
Pseudo Normal Maps와 Omnidata Model로 획득한 Normal Maps의 차이
Pseudo Normal Maps
- 기원: rendered depths의 gradient에서 유도됨.
- 특징: 깊이 정보의 변화율을 사용하여 Normal Map을 생성.
- 결과: 노이즈가 많고, 특히 복잡한 장면에서 신뢰할 수 없는 법선 추정.
- 예시 (Fig. 2a): 지도 학습 시, Pseudo Normal Map은 노이즈가 많은 예측된 법선을 생성함.
Omnidata Model
- 기원: 사전 훈련된 Omnidata 모델을 사용하여 Normal Map 획득.
- 특징: 더 정확한 법선 정보를 제공하는 신경망 모델.
- 결과: 장면의 기하학을 더 잘 포착하며, 부드럽고 신뢰할 수 있는 법선 추정.
- 예시 (Fig. 2b): Omnidata 모델을 사용한 Normal Map은 부드러운 예측된 법선을 생성함.
결론적으로 predicted normals을 supervise하기 위해 사용된 monocular cues (ground truth)는 Omnidata로부터 estimate한 normals입니다.
-
Implementation Details에서도 같은 설명을 monocular normal cues를 pre-trained Omnidata model에서 얻었다고 주장하고 있습니다.
추가적으로 인접한 픽셀 간의 smooth regularization으로 Total Variation (TV) Loss를 주었습니다.
-
Depths에 대한 TV Loss
-
Normals에 대한 TV Loss
-
Total Variation Loss는 smoothing regularization이라고도 표현합니다.
Nomral Initialization
- 초기 SfM 포인트 클라우드(point cloud)로부터 Open3D를 사용하여 법선(normal) 방향을 추정함으로써 가우시안 방향(Gaussian orientations)을 초기화합니다.
-
추정된 법선을 기반으로 가우시안 방향 q를 정렬하고, 하나의 스케일링 축(scaling axis)을 나머지보다 작게 설정합니다. 이 초기화는 수렴 속도를 높이는 데 도움이 됩니다.
Reference
DN-Splatter: Depth and Normal Priors for Gaussian Splatting and Meshing
Leave a comment