[논문리뷰] π³: Permutation-Equivariant Visual Geometry Learning (ICLR 2026)
논문: π³: Permutation-Equivariant Visual Geometry Learning
학회: ICLR 2026
저자: Yifan Wang*, Jianjun Zhou*, Haoyi Zhu, Wenzheng Chang, Yang Zhou, Zizun Li, Junyi Chen, Jiangmiao Pang, Chunhua Shen, Tong He
소속: Shanghai Jiao Tong University, Shanghai AI Laboratory, Shanghai Innovation Institute, Zhejiang University, USTC, Fudan University
arXiv: 2507.13347
GitHub: yyfz/Pi3
한 줄 요약
기존 방법들이 의존하던 고정 레퍼런스 뷰를 완전히 제거하고, 이미지 순서에 무관하게 카메라 포즈와 포인트 맵을 예측하는 Permutation-Equivariant 3D 재건 모델.
1. 배경과 문제 정의
레퍼런스 뷰 편향 (Reference View Bias)
DUSt3R, MASt3R, VGGT를 포함한 현대 feed-forward 3D 재건 방법들은 하나의 공통된 귀납 편향(inductive bias)을 가진다: 첫 번째 이미지를 월드 좌표계의 기준(anchor)으로 삼는다.
이 선택은 자연스러워 보이지만 구조적 약점을 낳는다:
- 순서 의존성: 같은 이미지 집합이라도 입력 순서에 따라 결과가 달라진다. 첫 번째 이미지가 흐릿하거나 부분적으로 가려지면 재건 전체가 불안정해진다.
- 불균형한 처리: 레퍼런스 뷰는 특별 토큰이나 고정된 좌표계를 통해 다른 뷰보다 구조적으로 우대를 받는다.
- 실패 모드: 레퍼런스로 선택된 뷰가 suboptimal하면 전체 재건이 실패할 수 있다.
VGGT는 첫 번째 카메라를 항상 identity로 고정하고, DUSt3R/MASt3R는 쌍(pair) 처리 시 명시적 레퍼런스 뷰를 사용한다. 이 관행이 얼마나 문제인지를 정량적으로 보인 것이 π³의 첫 번째 기여다.
실제로 VGGT에 동일한 장면을 서로 다른 프레임 순서로 입력했을 때, 재건 정확도의 표준편차가 0.033cm에 달한다. π³는 이를 0.003cm로 줄인다 — 10배 더 안정적이다.
π³의 질문
“레퍼런스 뷰 없이도 정확하고 안정적인 3D 재건이 가능한가?”
2. 핵심 아이디어
Permutation Equivariance (치환 등변성)
π³의 핵심은 수학적 성질 하나다.
\[f(\sigma(\mathbf{I})) = \sigma(f(\mathbf{I})) \quad \forall \sigma \in S_N\]입력 이미지 집합에 임의의 순열(permutation) σ를 적용해도, 출력 결과에 동일한 순열이 적용된 것과 같은 결과가 나와야 한다. 어떤 이미지가 “첫 번째”로 들어오든 처리 방식이 동일해야 한다는 뜻이다.
이 성질을 달성하기 위해 π³는 두 가지 설계 선택을 한다:
- Affine-Invariant Camera Poses: 회전은 SO(3)에서 예측하되, 이동(translation)의 절대적 기준점을 두지 않는다. 대신 afine 변환에 불변한 형태로 포즈를 표현한다.
- Scale-Invariant Local Point Maps: 각 뷰에서 로컬 좌표계의 포인트 맵을 예측한다. 스케일 모호성(scale ambiguity)을 모델이 명시적으로 다루지 않고, 불변한 표현을 학습한다.
이 두 선택이 함께 작동할 때 비로소 전체 파이프라인이 permutation-equivariant해진다.
기존 방법과의 근본 차이
| 항목 | DUSt3R / MASt3R | VGGT | π³ |
|---|---|---|---|
| 레퍼런스 뷰 | 필수 (쌍 처리) | 필수 (첫 프레임 = identity) | 없음 |
| 입력 순서 의존성 | 높음 | 높음 | 없음 |
| 포즈 표현 | 절대 좌표 | 절대 좌표 | Affine-invariant |
| 포인트 맵 | 월드 좌표 | 월드 좌표 | Scale-invariant local |
3. 아키텍처
전체 파이프라인
N개의 입력 이미지 (B × N × 3 × H × W)
→ DINOv2 패치 인코더 → 이미지 토큰 시퀀스
→ Alternating-Attention Transformer (36 레이어)
├─→ Camera Head → Affine-invariant 카메라 포즈 (SE(3))
├─→ Point Map Head → Scale-invariant 로컬 포인트 맵
└─→ Confidence Head → 신뢰도 맵
Alternating-Attention (36 레이어)
VGGT와 유사하게 두 종류의 어텐션을 번갈아 사용하지만, π³는 레이어 수를 36개로 늘리고 순서 의존 요소를 완전히 제거했다:
- View-wise Self-Attention: 동일 이미지 내 토큰끼리만 어텐션. 각 프레임의 공간적 특징 추출.
- Global Self-Attention: 모든 프레임의 모든 토큰 간 어텐션. 뷰 간 3D 일관성 학습.
제거된 요소들 (permutation equivariance 보장을 위해):
- Frame index positional embedding (순서 정보 주입 차단)
- Reference-view special token (레퍼런스 토큰 제거)
- Cross-attention between views (비대칭 처리 방지)
Camera Head
카메라 포즈를 SE(3) 행렬(4×4)로 예측. 핵심은 afine-invariant 표현을 사용한다는 점이다. 첫 번째 프레임을 identity로 고정하지 않으며, 예측된 포즈들 간의 상대적 관계만 감독 신호로 사용한다.
Point Map Head
각 픽셀에 대해 해당 뷰의 로컬 카메라 좌표계에서 3D 포인트를 예측한다. 전역 좌표계가 아닌 로컬 좌표계 사용이 핵심 — 이로 인해 어느 뷰가 “기준”이든 무관하게 일관된 예측이 가능하다.
Pi3X 확장 (2025년 12월)
이후 공개된 Pi3X 버전에서는:
- Convolutional Output Head: MLP 기반 업샘플링에서 발생하는 격자형 아티팩트 완화
- 조건부 입력: 카메라 포즈, intrinsics, 깊이를 선택적으로 주입 가능
- Approximate Metric Scale: 메트릭 스케일 근사 재건 기능
4. 학습
손실 함수
\[\mathcal{L} = \mathcal{L}_{\text{point}} + \lambda_{\text{normal}} \mathcal{L}_{\text{normal}} + \lambda_{\text{conf}} \mathcal{L}_{\text{conf}} + \lambda_{\text{cam}} \mathcal{L}_{\text{cam}} + \lambda_{\text{trans}} \mathcal{L}_{\text{trans}}\]| 손실 항목 | 역할 | 가중치 |
|---|---|---|
| \(\mathcal{L}_{\text{point}}\) | Scale-invariant 포인트 맵 L1 (최적 스케일 정렬 후) | 1.0 |
| \(\mathcal{L}_{\text{normal}}\) | 표면 법선 각도 오차 | 1.0 |
| \(\mathcal{L}_{\text{conf}}\) | 신뢰도 맵 BCE | 0.05 |
| \(\mathcal{L}_{\text{cam}}\) | 회전 측지거리(geodesic) 오차 | 0.1 |
| \(\mathcal{L}_{\text{trans}}\) | 이동(translation) 스케일 오차 | 100.0 |
2단계 학습
| 단계 | 해상도 | GPU | 특징 |
|---|---|---|---|
| Stage 1 | 224×224 고정 | 16× A100 | DINOv2 인코더 고정 |
| Stage 2 | 100K~255K 픽셀 가변 | 64× A100 | 전체 네트워크 학습 |
각 단계 80 에포크, 에포크당 800 이터레이션. 총 파라미터 수 959M (VGGT의 1.26B 대비 24% 경량).
학습 데이터 (15개 데이터셋)
CO3D, ScanNet, TartanAir, Habitat 등 실내·실외·합성 데이터셋을 포함한 15개 다양한 소스.
5. 실험 결과
카메라 포즈 추정
RealEstate10K (Zero-shot):
| 방법 | RTA@30 | AUC@30 |
|---|---|---|
| DUSt3R | 76.1 | 67.7 |
| MASt3R | - | 76.4 |
| VGGT | 93.13 | 77.62 |
| π³ | 95.62 | 85.90 |
Sintel (거리 기반 메트릭, 낮을수록 좋음):
| 방법 | ATE (↓) | RPE trans (↓) |
|---|---|---|
| VGGT | 0.167 | 0.062 |
| π³ | 0.074 | 0.040 |
π³가 Sintel에서 ATE 기준 VGGT 대비 55% 개선.
포인트 맵 재건
DTU 데이터셋 (단위: cm, 낮을수록 좋음):
| 방법 | Accuracy (↓) | Completion (↓) | Normal Consistency (↑) |
|---|---|---|---|
| DUSt3R | 1.620 | 2.241 | 0.640 |
| MASt3R | 1.406 | 2.015 | 0.662 |
| VGGT | 1.338 | 1.896 | 0.676 |
| π³ | 1.198 | 1.849 | 0.678 |
7-Scenes (Dense Views, 단위: cm):
| 방법 | Accuracy (↓) | Completion (↓) |
|---|---|---|
| VGGT | 0.022 | 0.026 |
| π³ | 0.016 | 0.022 |
비디오 깊이 추정 — KITTI
| 메트릭 | π³ | VGGT | 개선 |
|---|---|---|---|
| Abs Rel (↓) | 0.037 | 0.052 | 29% |
| δ<1.25 (↑) | 0.986 | 0.968 | +1.8% |
| FPS (↑) | 57.4 | 43.2 | 33% 빠름 |
| 파라미터 | 959M | 1.26B | 24% 경량 |
순열 강건성 (Permutation Robustness)
동일 장면을 서로 다른 프레임 순서로 입력했을 때 DTU Accuracy의 표준편차:
| 방법 | std (↓) |
|---|---|
| VGGT | 0.033 |
| π³ | 0.003 |
π³가 VGGT 대비 10배 더 안정적. 이 결과가 permutation equivariance 설계의 직접적 효과를 증명한다.
6. VGGT와의 비교
| 항목 | VGGT | π³ |
|---|---|---|
| 아키텍처 | 24-layer alternating attention | 36-layer alternating attention |
| 레퍼런스 뷰 | 첫 프레임 = identity (필수) | 없음 |
| 입력 순서 의존 | 있음 (std 0.033) | 없음 (std 0.003) |
| 포즈 표현 | 절대 좌표 | Affine-invariant |
| 포인트 맵 | 월드 좌표 | Scale-invariant local |
| 파라미터 수 | 1.26B | 959M |
| 추론 FPS (KITTI) | 43.2 | 57.4 |
| RealEstate10K AUC@30 | 77.62 | 85.90 |
| DTU Accuracy (cm) | 1.338 | 1.198 |
| Sintel ATE | 0.167 | 0.074 |
가장 주목할 점: π³는 VGGT보다 작고 빠르면서 더 정확하다. 레퍼런스 뷰 편향 제거가 성능 향상의 근본 원인이다.
7. 어블레이션: Affine/Scale Invariance의 효과
| 모델 | ETH3D Acc. | 7-Scenes Acc. | NRGBD Acc. |
|---|---|---|---|
| Baseline (invariance 없음) | 0.229 | 0.020 | 0.034 |
| + Scale-invariant point | 0.197 | 0.020 | 0.031 |
| + Affine-invariant camera (전체) | 0.131 | 0.019 | 0.028 |
Affine-invariant camera modeling이 가장 큰 기여를 한다. Scale-invariant geometry는 실외 데이터셋에서 효과가 두드러지고, 실내에서는 제한적이다.
8. 한계점
- 투명 물체 미지원: 단순 광학 모델 가정으로 투명/반사 표면 처리 불가
- 격자형 아티팩트: MLP 기반 포인트 클라우드 업샘플링에서 불확실 영역의 격자 패턴 (Pi3X의 Convolutional Head로 부분 해소)
- 세부 묘사 부족: 확산 모델(diffusion) 기반 재건 대비 fine-grained detail 열세
- 동적 장면 처리 없음: 비강체(non-rigid) 운동에 대한 명시적 처리 부재
9. 정리
π³의 핵심 기여는 하나의 질문에 대한 답이다: “레퍼런스 뷰가 정말 필요한가?”
결론은 “아니다”다. 레퍼런스 뷰를 제거하고 permutation-equivariant 아키텍처를 설계했더니, 모델이 더 작아지고 더 빠르면서 더 정확해졌다. 입력 순서에 대한 강건성은 10배 향상됐다.
“레퍼런스 뷰는 편의를 위한 선택이었지, 필연적 설계가 아니었다.”
VGGT가 “처음부터 모든 뷰를 함께 보는 것”이 DUSt3R의 쌍별 처리보다 낫다는 것을 보였다면, π³는 “뷰들 간의 계층 구조(레퍼런스 뷰)를 없애는 것”이 또 한 단계 더 나은 길임을 보였다.
3D 재건의 귀납 편향이 하나씩 제거되고 있다. 다음 단계는 무엇일까.