[논문리뷰] π³: 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) σ를 적용해도, 출력 결과에 동일한 순열이 적용된 것과 같은 결과가 나와야 한다. 어떤 이미지가 “첫 번째”로 들어오든 처리 방식이 동일해야 한다는 뜻이다.

이 성질을 달성하기 위해 π³는 두 가지 설계 선택을 한다:

  1. Affine-Invariant Camera Poses: 회전은 SO(3)에서 예측하되, 이동(translation)의 절대적 기준점을 두지 않는다. 대신 afine 변환에 불변한 형태로 포즈를 표현한다.
  2. 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 재건의 귀납 편향이 하나씩 제거되고 있다. 다음 단계는 무엇일까.

* 본 블로그의 포스트들은 클로드 코드의 도움을 받아 작성하기도 하였습니다.