arXiv 2024. [Paper] [Page]
Jiawei Zhang, Jiahe Li, Xiaohan Yu, Lei Huang, Lin Gu, Jin Zheng, Xiao Bai
Beihang University | Macquarie University | RIKEN AIP | The University of Tokyo
20 May 2024

Introduction

3DGS는 sparse한 point cloud를 사용하여 3D Gaussian을 초기화한다. 그런 다음 3D Gaussian의 최적화와 density control이 수행되어 장면의 radiance field를 얻는다. 학습 뷰가 sparse하면 두 개의 3D Gaussian radiance field가 동일한 장면을 나타내도록 학습되어도 Gaussian의 위치와 렌더링된 픽셀 모두에서 차이가 있다. 새로운 Gaussian을 생성하고 정규 분포에서 샘플링하여 위치를 초기화하는 density control 중에 이 차이가 크게 증가한다. Sparse한 학습 뷰를 사용하면 최적화에서 3D에서 2D로의 projection이 모호해져 장면을 정확하게 표현하기 위해 Gaussian을 수정하는 데 어려움을 겪게 되어 차이가 누적될 수 있다.

본 논문에서는 두 개의 3D Gaussian radiance field의 다양한 동작과 재구성 품질 사이의 연관성을 밝한다. 저자들은 두 radiance field의 차이점을 정량적으로 측정하기 위해 점 불일치 (point disagreement)와 렌더링 불일치 (rendering disagreement)를 제안하였다. 점 불일치는 Gaussian의 point cloud에 대해 평가되는 Gaussian 위치의 차이이다. 렌더링 불일치는 렌더링된 픽셀의 차이이며, 렌더링된 이미지를 GT 테스트 뷰와 비교하여 radiance field의 재구성 품질을 측정한다. 또한 dense한 뷰로 학습된 radiance field를 GT로 활용하여 Gaussian 위치를 평가하고 depth map을 렌더링하여 재구성 품질에 대한 보다 포괄적으로 평가하였다. 실험 결과 두 불일치와 정확한 재구성 사이에는 음의 상관관계가 있다. 이를 통해 두 개의 radiance field를 비교하여 부정확한 재구성을 supervision 없이 식별할 수 있다.

본 논문은 이 실험 결과를 바탕으로 두 개의 3D Gaussian field를 동일한 뷰로 학습시키고 학습 중에 공동 정규화를 수행하는 CoR-GS를 제안하였다. 점 불일치와 렌더링 불일치를 기반으로 부정확한 재구성을 식별하고 억제함으로써 sparse 뷰에서의 3DGS를 개선한다. 점 불일치를 억제하기 위해 co-pruning를 사용한다. Co-pruning은 두 개의 3D Gaussian field를 두 개의 point cloud로 처리하여 포인트 간 매칭을 수행한다. 반대쪽 point cloud에서 일치하는 점이 근처에 없는 Gaussian을 outlier로 간주하여 제거한다. 렌더링 불일치를 억제하기 위해 pseudo-view 공동 정규화를 사용한다. 학습 뷰를 보간하여 pseudo-view를 샘플링하고 렌더링 불일치가 높은 픽셀이 부정확하게 렌더링된 것으로 간주한다. 부정확한 렌더링 결과를 억제하기 위해 추가 정규화 항으로 렌더링된 픽셀의 차이를 계산한다.

Co-pruning과 pseudo-view 공동 정규화를 통합한 CoR-GS는 일관성 있고 컴팩트한 형상을 재구성하고 다양한 데이터셋에서 SOTA sparse 뷰 렌더링 성능을 달성하였다.

Point Disagreement and Rendering Disagreement

Definition

점 불일치. 두 개의 radiance field에 있는 Gaussian은 두 개의 point cloud로 간주될 수 있다. Point cloud 간의 registration을 평가하는 데 사용되는 Fitness와 RMSE(root mean square error)를 사용하여 두 radiance field의 차이를 평가한다. Fitness는 correspondence에 대해 거리가 $\tau = 5$를 넘지 않는 Gaussian 사이의 겹치는 영역을 계산한다. RMSE는 두 점 사이의 평균 거리를 계산한다.

렌더링 불일치. 렌더링된 이미지와 depth map을 모두 고려하여 차이를 평가한다. PSNR을 사용하여 렌더링된 두 이미지 간의 차이를 계산한다. Depth map의 경우 깊이 값의 정확성을 평가하는 데 일반적으로 사용되는 Relative Absolute Error (absErrorRel)를 사용한다.

재구성 품질을 위한 평가. 재구성을 평가하는 가장 널리 사용되는 방법은 테스트 뷰에서 렌더링된 이미지를 실제 이미지와 비교하는 것이다. 이 평가를 따르고 PSNR을 사용한다. 보다 포괄적인 평가를 위해 각 장면에 대하여 dense한 뷰로 3D Gaussian radiance field를 학습시켜 GT Gaussian 위치와 depth map을 얻는다. 평가에는 Fitness, RMSE, absErrorRel을 사용한다.

Empirical Study


동일한 sparse 뷰로 학습된 두 개의 radiance field는 서로 다른 동작을 나타낼 수 있다. 저자들은 동일한 sparse 뷰를 사용하여 두 개의 radiance field를 동시에 학습시키고 학습 중에 점 불일치와 렌더링 불일치를 기록하였다. GT supervision은 학습 뷰에 직접 부과되므로 테스트 뷰의 렌더링 불일치를 평가하였다. 위 그림에서 볼 수 있듯이 두 개의 radiance field는 서로 다른 동작을 나타낸다. 특히 두 가지 불일치는 densification 중에 크게 커진다. 이는 최적화가 sparse한 학습 뷰로 새로 생성된 Gaussian을 수정하는 데 어려움을 겪고 있음을 나타낸다.


점 불일치와 렌더링 불일치는 장면의 정확한 재구성과 음의 상관관계가 있다. 저자들은 추가로 불일치들이 재구성된 품질과 관련된 특정 상관 관계를 가지는지를 조사하였다. 두 개의 radiance field에서 불일치 점수가 가장 높은 특정 비율의 영역을 마스킹하고 나머지 영역의 재구성 품질을 계산하였다. 위 그림에서 볼 수 있듯이 불일치 점수가 높은 영역이 줄어들수록 나머지 영역의 재구성 품질은 지속적으로 향상된다. 이는 불일치와 정확한 재구성 사이에 음의 상관관계가 있음을 보여준다. 따라서 GT 정보 없이도 불일치를 기반으로 부정확한 재구성을 식별할 수 있다.


위 그림은 테스트 뷰에서의 오차 맵과 렌더링 결과를 시각화한 것이다. 두 개의 radiance field의 렌더링 결과 사이의 불일치 영역이 GT와 비교하여 부정확한 경향이 있음을 관찰할 수 있다.

Method

CoR-GS는 점 불일치와 렌더링 불일치를 기반으로 부정확한 재구성을 식별하고 억제한다. 두 개의 radiance field

\[\begin{aligned} \Theta_1 &= \{\theta_{1,i} \; \vert \; i = 1, \ldots, N_1\} \\ \Theta_2 &= \{\theta_{2,i} \; \vert \; i = 1, \ldots, N_2\} \end{aligned}\]

를 동시에 학습시킨다. $N_1$과 $N_2$는 Gaussian의 수이다.

1. Co-pruning

Co-pruning은 점 불일치를 활용하여 부정확한 위치에 있는 Gassuain을 식별한다. 최적화 과정으로 처리할 수 없는 Gassuain을 제거하는 것을 목표로 하기 때문에 매 5번의 density control마다 co-pruning을 수행한다.

Densification에 의해 생성된 새로운 Gaussian의 위치는 위치를 수정하기 위한 후속 최적화 과정에 의존한다. 그러나 sparse 뷰에서는 새로운 Gassuain의 위치가 부정확한 위치에 있는 경우 후속 최적화 과정에서 수정되지 않을 가능성이 있다. 이로 인해 장면 재구성 중에 부정확한 위치에서 계속 densification이 발생하여 궁극적으로 잘못된 기하학적 구조가 발생할 수 있다. Co-pruning은 두 radiance field 사이의 점 불일치를 기반으로 부정확한 위치에 있는 Gaussian을 식별하고 제거한다. 먼저 다른 Gaussian 세트의 가장 가까운 Gaussian을 기반으로 매칭되는 correspondence $f : \Theta_1 \rightarrow \Theta_2$를 찾는다.

\[\begin{equation} f(\theta_{1,i}) = \textrm{KNN} (\theta_{1,i}, \Theta_2) \end{equation}\]

일치하지 않는 Gaussian에 대한 마스크 $M$을 계산하기 위해 허용 가능한 최대 거리 $\tau = 5$를 설정하여 $M$을 계산한다.

\[\begin{equation} M_i = \begin{cases} 1 & \quad \| \theta_{1,i} - f(\theta_{1,i}) \|_2 > \tau \\ 0 & \quad \textrm{otherwise} \end{cases} \end{equation}\]

두 Gaussian 세트 모두에 대해 일치하지 않는 마스크를 계산한 후 일치하지 않는 것으로 표시된 모든 Gaussian을 제거한다.

2. Pseudo-view Co-regularization

Pseudo-view 공동 정규화는 렌더링 불일치를 활용하고 pseudo-view 렌더링에 대한 공동 정규화를 수행한다. Pseudo-view 공동 정규화는 첫 번째 densification부터 통합된다.

Pseudo-view 샘플링

Pseudo-view는 FSGS를 따라 유클리드 공간에서 가장 가까운 두 학습 뷰에서 샘플링된다.

\[\begin{equation} P^\prime = (t + \epsilon, q) \end{equation}\]

여기서 $t$는 학습 뷰의 카메라 위치, $\epsilon$은 정규 분포에서 샘플링된 랜덤 노이즈, $q$는 두 학습 카메라의 평균 회전을 나타내는 quaternion이다.

색상 공동 정규화

샘플링된 pseudo-view에서 $\Theta_1$과 $\Theta_2$를 각각 사용하여 두 개의 이미지 $I_1^\prime$과 $I_2^\prime$를 렌더링한다. 색상 재구성 loss는 L1 loss와 D-SSIM 항의 조합이다 ($\lambda = 0.2$).

\[\begin{equation} \mathcal{R}_\textrm{pcolor} = (1 - \lambda) \mathcal{L}_1 (I_1^\prime, I_2^\prime) + \lambda \mathcal{L}_\textrm{D-SSIM} (I_1^\prime, I_2^\prime) \end{equation}\]

학습 뷰에서는 $\Theta_1$의 이미지 $I_1$을 렌더링하고 이를 GT $I^\ast$로 supervise한다.

\[\begin{equation} \mathcal{L}_\textrm{color} = (1 - \lambda) \mathcal{L}_1 (I_1, I^\ast) + \lambda \mathcal{L}_\textrm{D-SSIM} (I_1, I^\ast) \end{equation}\]

렌더링된 depth map의 경우 깊이 공동 정규화만으로도 도움이 되지만 색상 공동 정규화와 함께 사용하면 영향이 매우 약해진다. 이는 렌더링에 내포된 정렬 과정으로 인해 색상의 렌더링 과정에서도 Gaussian의 깊이 정보가 반영되기 때문이다. 따라서 색상 공동 정규화는 깊이 정보에도 제약을 가하며 이 경우 depth map에 대한 공동 정규화를 수행하지 않는다. 최종 학습 loss는 학습 뷰의 GT supervision loss와 pseudo-view의 색상 공동 정규화 항의 조합이다 ($\lambda_p = 1.0$).

\[\begin{equation} \mathcal{L} = \mathcal{L}_\textrm{color} + \lambda_p \mathcal{R}_\textrm{pcolor} \end{equation}\]

Experiments

  • 데이터셋: LLFF, Mip-NeRF360, DTU, Blender

1. Comparison

다음은 LLFF에서의 결과를 비교한 것이다.



다음은 Mip-NeRF360에서의 결과를 비교한 것이다.



다음은 DTU에서의 결과를 비교한 것이다.



다음은 Blender에서의 결과를 비교한 표이다.


다음은 효율성을 비교한 표이다.

2. Ablation Study

다음은 학습 뷰 3개에 대한 ablation 결과이다.



Co-pruning은 장면의 기하학적 구조 재구성을 개선하여 깊이 렌더링이 보다 합리적이게 되고 Gaussian이 보다 컴팩트해진다. 그러나 렌더링된 깊이에 부드러움이 부족하다는 단점이 있다. 이는 co-pruning이 주로 재구성된 장면에서 멀리 떨어져 있는 매칭되지 않는 Gaussian에 대해 작동하고 합리적인 위치에 있는 매칭되는 Gaussian에 대해서는 충분한 제약이 없기 때문이다.

Pseudo-view 공동 정규화만 사용하면 부정확하게 위치한 Gaussian이 렌더링 불일치를 통해 식별될 수 있기 때문에 합리적인 depth map을 얻도록 Gaussian을 제한하는 데 효과적이다. 그러나 Gaussian에 대한 직접적인 제약이 없기 때문에 표현이 충분히 컴팩트하지 않아 일부 기하학적 오차가 발생한다.