3줄요약:
- 💡 Depth Anything 3 (DA3)는 임의의 시각적 입력으로부터 공간적으로 일관된 기하학적 정보를 복구하는 모델로, 단일의 plain transformer와 단일 depth-ray 예측 대상을 활용하여 minimal modeling을 추구합니다.
- 훈련은 강력한 teacher model을 활용한 teacher-student 패러다임을 따르며, 입력에 적응하는 cross-view self-attention 메커니즘과 dual DPT head를 통해 깊이와 ray 예측을 통합합니다.
- 🚀 새로운 시각 기하학 벤치마크에서 DA3는 카메라 포즈 정확도 및 기하학적 정확도에서 VGGT를 크게 능가하며, monocular depth estimation에서는 DA2보다 뛰어난 최첨단 성능을 달성했습니다.
Depth Anything 3 (DA3)는 단일 이미지, 다중 뷰 또는 비디오 스트림과 같이 임의의 시각적 입력으로부터 공간적으로 일관된 3D 기하학을 복구하는 것을 목표로 하는 모델입니다. 이 모델은 알려진 카메라 포즈의 유무에 관계없이 작동합니다. DA3는 최소한의 모델링 전략을 추구하며, 아키텍처적 특화 없이 단일 평범한 트랜스포머(예: vanilla DINO 인코더)만으로 충분하며, 단일 Depth-Ray 예측 타겟으로 복잡한 다중 작업 학습의 필요성을 없앨 수 있다는 두 가지 핵심 통찰을 제시합니다.
1. 핵심 방법론 (Core Methodology)
- 정의 (Formulation)
- 입력은 $N$개의 이미지 ${I_i}_{i=1}^{N_v}$이며, 각 $I_i \in \mathbb{R}^{H \times W \times 3}$입니다.
- 모델은 각 입력 이미지에 대해 밀집된 (dense) 깊이 맵 $D_i \in \mathbb{R}^{H \times W}$와 Ray 맵 $M_i \in \mathbb{R}^{H \times W \times 6}$을 출력하도록 훈련됩니다. Ray 맵은 각 픽셀 $p = (u,v,1)^\top$에 대한 카메라 원점 $t \in \mathbb{R}^3$과 방향 $d \in \mathbb{R}^3$으로 구성된 6차원 벡터 $r = (t, d)$를 저장합니다. 여기서 $d = R_i K_i^{-1} p$는 정규화되지 않아 투영 스케일을 보존합니다.
- 3D Point $P$는 $P = t + D(u, v) \cdot d$로 계산됩니다.
- Ray 맵에서 카메라 파라미터($R, K$)를 도출하기 위해, 픽셀별 Ray 원점의 평균으로 카메라 중심 $t_c$를 추정합니다: $t_c = \frac{1}{H \times W} \sum_{h=1}^{H} \sum_{w=1}^{W} M(h, w, :3)$.
- 회전 $R$과 내장 파라미터 $K$를 추정하기 위해, 아이덴티티 내장 행렬 $K_I = I$를 가진 "아이덴티티" 카메라를 정의하고, $d_{\text{cam}} = KRd_I$ 관계를 사용하여 Homography $H = KR$를 구하는 최적화 문제:
$$H^* = \arg \min_{||H||=1} \sum_{h=1}^{H} \sum_{w=1}^{W} ||H p_{h,w} \times M(h, w, 3:)||$$
이를 DLT(Direct Linear Transform) 알고리즘으로 풀고, $H^*$를 RQ 분해(RQ decomposition)하여 $K, R$을 얻습니다. - Minimal prediction target: Depth 맵과 Ray 맵의 조합이 Scene 구조와 카메라 움직임을 모두 포착하는 데 충분하고 효율적임을 발견했습니다. 또한, 추론 시 Ray 맵에서 카메라 포즈를 복구하는 계산 비용을 줄이기 위해 경량의 카메라 헤드(DC)를 추가하여 Field of View ($f \in \mathbb{R}^2$), Rotation (quaternion $q \in \mathbb{R}^4$), Translation ($t \in \mathbb{R}^3$)을 예측합니다.
- 아키텍처 (Architecture)
- 단일 트랜스포머 백본 (Single Transformer Backbone): 대규모 단안 이미지 코퍼스(예: DINOv2)에서 사전 훈련된 Vision Transformer를 백본으로 사용합니다. L개의 블록으로 구성되며, Ls개의 초기 레이어에서는 각 이미지 내에서 Self-Attention을 적용하고, 이어서 Lg개의 레이어에서는 크로스-뷰 및 Within-뷰 Attention을 교대로 적용하여 모든 토큰을 공동으로 처리합니다. 실제로는 $L_s : L_g = 2 : 1$로 설정됩니다.
- 카메라 조건 주입 (Camera Condition Injection): 포즈가 있는 입력과 없는 입력을 원활하게 처리하기 위해, 각 뷰 앞에 카메라 토큰 $c_i$를 추가합니다. 카메라 파라미터($K_i, R_i, t_i$)를 사용할 수 있는 경우, 경량 MLP $E_c$를 통해 토큰 $c_i = E_c(f_i, q_i, t_i)$를 얻습니다. 그렇지 않으면 공유 학습 가능한 토큰 $c_l$을 사용합니다.
- 듀얼 DPT 헤드 (Dual-DPT Head): 최종 예측 단계에서 밀집된 깊이 맵과 Ray 값을 공동으로 생성하는 Dual-DPT 헤드를 제안합니다. 이 헤드는 백본에서 추출된 피처를 공유 Reassembly 모듈을 통해 처리한 다음, 깊이 분기와 Ray 분기를 위한 두 개의 독립적인 Fusion 레이어를 통해 피처를 융합하고, 최종적으로 두 개의 개별 출력 레이어가 최종 예측을 생성합니다.
- 학습 (Training)
- 교사-학생 학습 패러다임 (Teacher-Student Learning Paradigm): 다양한 소스(실제 깊이 캡처, 3D 재구성, 합성 데이터)의 훈련 데이터를 통합합니다. 실제 데이터의 노이즈와 불완전성을 해결하기 위해, 합성 데이터에서만 훈련된 단안 상대 깊이 추정 "교사" 모델을 사용하여 고품질의 Pseudo-label을 생성합니다. 이 Pseudo-depth 맵은 RANSAC Least Squares를 통해 원래의 희소하거나 노이즈가 있는 Ground Truth에 정렬되어 레이블의 세부 사항과 완전성을 향상시킵니다.
- 훈련 목적 (Training Objectives): 모델 $F_\theta$는 입력 $I$를 깊이 맵 $\hat{D}$, Ray 맵 $\hat{R}$, 그리고 선택적 카메라 포즈 $\hat{c}$로 매핑합니다. 모든 Ground Truth 신호는 공통 스케일 팩터로 정규화됩니다. 전체 훈련 목적은 여러 항의 가중치 합으로 정의됩니다:
$$\mathcal{L} = \mathcal{L}D(\hat{D}, D) + \mathcal{L}_M(\hat{R}, M) + \mathcal{L}_P(\hat{D} \odot d + t, P) + \beta\mathcal{L}_C(\hat{c}, v) + \alpha\mathcal{L}{\text{grad}}(\hat{D}, D)$$
여기서 $\mathcal{L}D(\hat{D}, D ; D_c) = \frac{1}{Z_\Omega} \sum{p \in \Omega} m_p \left( D_{c,p} \hat{D}p - D_p - \lambda_c \log D{c,p} \right)$이며, $D_{c,p}$는 깊이 $D_p$의 신뢰도를 나타냅니다. 모든 손실 항은 $L_1$ norm에 기반합니다. $\mathcal{L}_{\text{grad}}(\hat{D}, D) = ||\nabla_x \hat{D} - \nabla_x D||_1 + ||\nabla_y \hat{D} - \nabla_y D||_1$는 깊이 기울기에 대한 패널티를 부여하여 날카로운 엣지를 보존하고 평면 영역의 부드러움을 보장합니다.
2. 교사-학생 학습 (Teacher-Student Learning)
- 교사 모델 구축 (Constructing the Teacher Model): Depth Anything 2 (DA2)를 기반으로 확장되었으며, 대규모 합성 데이터 코퍼스에서만 훈련됩니다. DA2와 달리 Scale-Shift-Invariant Disparity 대신 Scale-Shift-Invariant Depth를 예측합니다. 깊이의 작은 거리에서의 민감도 감소를 해결하기 위해 선형 깊이 대신 지수 깊이를 예측하여 구별력을 높입니다.
- 훈련 목적 (Training Objectives for Teacher): 표준 깊이 기울기 손실 외에, [95]에서 소개된 전역-지역 손실을 포함한 ROE 정렬을 채택합니다. 지역 기하학을 더 정교하게 하기 위해 거리 가중치 표면 법선 손실 (distance-weighted surface-normal loss)을 도입합니다. 최종 법선 손실은 $L_N = E(\hat{n}m, n_m) + \sum{i=0}^4 E(\hat{n}_i, n_i)$입니다. 또한 Sky mask와 Object mask를 공동으로 예측하여 이들 영역이 깊이 예측을 저하시키지 않도록 합니다.
- 전체 교사 모델의 훈련 목적은 $\mathcal{L}T = \alpha \mathcal{L}{\text{grad}} + \mathcal{L}{\text{gl}} + \mathcal{L}_N + \mathcal{L}{\text{sky}} + \mathcal{L}_{\text{obj}}$ 입니다.
- Depth Anything 3 교육 (Teaching Depth Anything 3): 실제 데이터셋의 노이즈가 많거나 희소한 Ground Truth 깊이를 보완하기 위해, 교사 모델이 제공하는 고품질의 상대 깊이를 사용합니다. 이 상대 깊이를 RANSAC Scale-Shift 절차를 통해 노이즈가 있는 Metric 측정(예: COLMAP 또는 Active Sensor)에 정렬합니다: $\hat{s}, \hat{t} = \arg \min_{s>0, t} \sum_{p \in \Omega} m_p (s \tilde{D}p + t - D_p)^2$. 정렬된 $D{T \to M} = \hat{s} \tilde{D} + \hat{t}$는 DA3를 위한 Scale-Consistent하고 Pose-Depth Coherent한 감독을 제공합니다.
- 단안 모델 교육 (Teaching Monocular Model): DA2 프레임워크를 따라 미분류 이미지에 교사 생성 Pseudo-label을 사용하여 단안 깊이 모델을 훈련합니다. DA2와의 주요 차이점은 우리의 학생 모델이 Disparity 대신 Depth 맵을 예측한다는 점입니다.
3. 응용 (Application): Feed-Forward 3D Gaussian Splattings
DA3의 기하학적 추정 능력을 활용하여 Feed-Forward Novel View Synthesis (FF-NVS)를 시연합니다.
- GS-DPT 헤드 (GS-DPT Head): 단일 트랜스포머 백본에서 추출된 각 뷰의 Visual Token을 기반으로, 픽셀 정렬된 3D Gaussian 파라미터 ${\sigma_i, q_i, s_i, c_i}_{i=1}^{H \times W}$를 추론합니다. 여기서 $\sigma_i$는 불투명도, $q_i \in \mathbb{H}$는 회전 쿼터니언, $s_i \in \mathbb{R}^3$는 스케일, $c_i \in \mathbb{R}^3$는 RGB 색상을 나타냅니다.
- 훈련 목적 (Training Objectives for NVS): 렌더링된 새로운 뷰에 대한 포토메트릭 손실($\mathcal{L}{\text{MSE}}$ 및 $\mathcal{L}{\text{LPIPS}}$)과 관찰된 뷰의 추정된 깊이에 대한 Scale-Shift-Invariant Depth 손실 $\mathcal{L}_D$로 미세 조정됩니다.
- Pose-Adaptive Feed-Forward 3DGS: 모든 3DGS 파라미터가 Local 카메라 공간에서 예측되며, 백본은 포즈가 있는 이미지와 없는 이미지를 원활하게 처리하여 유연한 프레임워크를 제공합니다. 안정적인 훈련을 위해 사전 훈련된 DA3 백본을 고정하고 GS-DPT 헤드만 튜닝합니다.
4. 시각 기하학 벤치마크 (Visual Geometry Benchmark)
새로운 시각 기하학 벤치마크를 도입하여 포즈 정확도, 재구성 정확도, 시각 렌더링 품질을 평가합니다.
- 벤치마크 파이프라인 (Benchmark Pipeline):
- 포즈 추정 (Pose Estimation): 각 Scene에서 최대 100개의 이미지를 샘플링하여 Feed-Forward 모델을 통해 일관된 포즈 및 깊이 추정을 생성하고 포즈 정확도를 계산합니다.
- 기하학 추정 (Geometry Estimation): 예측된 포즈와 깊이를 사용하여 재구성을 수행하고, 예측된 포즈를 Ground Truth 포즈에 정렬하여 재구성된 Point Cloud를 Ground Truth 좌표계에 맞춥니다. TSDF fusion을 통해 Point Cloud를 융합하고, Ground Truth Point Cloud와 비교하여 재구성 품질을 평가합니다.
- 시각 렌더링 (Visual Rendering): 각 테스트 Scene에서 Ground Truth 카메라 포즈를 사용하여 12개의 Context View를 선택하고 새로운 Target View를 렌더링하여 PSNR, SSIM, LPIPS 지표를 보고합니다.
- 지표 (Metrics):
- 포즈 지표 (Pose Metrics): AUC(Area Under the Curve)를 사용하여 평가하며, Relative Rotation Accuracy (RRA)와 Relative Translation Accuracy (RTA)를 기반으로 합니다.
- 재구성 지표 (Reconstruction Metrics): Ground Truth Point Set $G$와 재구성된 Point Set $R$ 사이의 $dist(R \to G)$ (정확도) 및 $dist(G \to R)$ (완전성)을 측정하고, Chamfer Distance (CD)와 F1-score를 보고합니다.
- 데이터셋 (Datasets): HiRoom, ETH3D, DTU, 7Scenes, ScanNet++의 5개 데이터셋으로 구성되며, 객체 중심부터 복잡한 실내외 환경까지 다양합니다.
5. 실험 (Experiments)
- State-of-the-Art 비교 (Comparison with State of the Art): DA3-Giant 모델은 포즈 정확도(Auc3)에서 기존 VGGT 및 Pi3를 크게 능가하며, 재구성 정확도(F1-Score)에서도 거의 모든 시나리오에서 새로운 SOTA를 달성했습니다. 특히 훨씬 작은 DA3-Large 모델도 기존 SOTA VGGT를 능가하는 효율성을 보여주었습니다. 단안 깊이 추정에서도 DA2와 VGGT를 능가합니다. FF-NVS 작업에서는 DA3가 가장 강력한 백본임을 입증했습니다.
- Depth Anything 3 분석 (Analysis for Depth Anything 3):
- Depth-Ray 표현의 충분성 (Sufficiency of the Depth-Ray Representation): Depth + Ray 조합이 Depth + PCD + Cam 또는 Depth + Cam 조합보다 일관되게 우수한 성능을 보이며, Ray 표현의 효율성을 확인했습니다.
- 단일 평범한 트랜스포머의 충분성 (Sufficiency of a Single Plain Transformer): VGGT-style 아키텍처와 비교했을 때, 단일 트랜스포머 디자인이 유사한 파라미터 크기에서 더 우수한 성능을 보였습니다.
- Dual-DPT Head: 독립적인 두 개의 DPT 헤드보다 Dual-DPT 헤드가 성능 향상에 기여함을 확인했습니다.
- 교사 모델 감독 (Teacher Model Supervision): 교사 모델 레이블을 사용한 감독이 Fine Structure와 Rich Detail을 더 정확하게 포착하는 데 도움을 주어 성능 향상에 기여함을 입증했습니다.
- 포즈 조건부 모듈 (Pose Conditioning Module): 포즈 조건부 모듈이 포함된 구성이 없는 구성보다 일관되게 우수한 성능을 보이며 효과를 확인했습니다.
결론 (Conclusion)
Depth Anything 3는 Depth-Ray 타겟으로 교사-학생 감독 하에 훈련된 평범한 트랜스포머가 정교한 아키텍처 없이도 Any-View Geometry를 통합할 수 있음을 보여줍니다. Scale-aware Depth, Per-pixel Ray, Adaptive Cross-view Attention 덕분에 모델은 강력한 사전 훈련된 피처를 활용하면서도 경량이고 확장하기 쉽습니다. 제안된 시각 기하학 벤치마크에서 이 접근 방식은 새로운 포즈 및 재구성 기록을 세웠으며, 동일한 백본이 효율적인 Feed-Forward Novel View Synthesis 모델을 구동합니다. DA3는 다용도 3D Foundation Model을 향한 중요한 발걸음으로, 동적 장면 추론, 언어 및 상호작용 신호 통합, 더 큰 스케일의 사전 훈련을 통한 기하학적 이해와 실제 세계 모델 간의 루프 완성과 같은 미래 연구를 촉진할 것으로 기대됩니다.