ACE Zero

Brachmann 2024 · 논문

한 줄 요약 — ACE Zero(ACE0)는 점진적 구조로부터의 운동(SfM)을 장면 좌표 회귀 재위치 인식기의 반복적인 학습과 적용으로 재해석하여, 사전 구축된 3D 맵 없이 포즈가 없는 이미지 컬렉션의 카메라 포즈를 복원한다.

문제

DSAC*와 ACE와 같은 장면 좌표 회귀(SCR) 재위치 인식기는 정확하고 간결하지만, 장면 특화 네트워크를 학습시키려면 실측 카메라 포즈가 필요하며 — 실제로는 이것이 COLMAP과 같은 특징 기반 SfM 도구로부터 얻어진다. 이는 순환적 의존성이다: 재위치 인식기를 학습시키려면 맵이 필요하지만, 맵을 구축하려면 재위치 인식기가 필요하다. ACE0는 재위치 인식기 자체가 재건을 부트스트랩할 수 있는지를 묻는다 — 포즈 사전 정보도, 순차적 순서도, 사전 구축된 3D 맵도 없이 이미지 집합의 카메라 파라미터 H={(Ki,Ti)}\mathcal{H}=\{(K_i, T_i)\}를 추정하는 것이다.

방법 및 아키텍처

SfM = 반복적 재위치 인식. ACE0는 모든 이미지가 포즈화될 때까지 두 단계 사이를 반복한다: 신경 매핑(현재 등록된 이미지들에 ACE 스타일 SCR 모델을 학습)과 재위치 인식(그 모델을 사용해 더 많은 이미지를 등록). 장면 표현은 ACE 헤드다 — 고정된 ScanNet 사전 학습 합성곱 백본 위에 놓인 9층, 512채널 MLP(fp16으로 4 MB)로, 픽셀 위치, 포즈, 장면 좌표는 투영 pij=π(Ki,Ti,yij)\mathbf{p}_{ij}=\boldsymbol{\pi}(K_{i},T_{i},\mathbf{y}_{ij})로 서로 묶여 있으며, yij=fSCR(pij,Ii)\mathbf{y}_{ij}=f_{\text{SCR}}(\mathbf{p}_{ij},I_{i})이다.

신경 매핑. 반복 tt에서, 포즈 추정치 Tit,KitT^t_i, K^t_i를 가진 등록 집합 IRegt\mathcal{I}^{t}_{\text{Reg}}는 의사 실측값(pseudo ground truth) 역할을 하며, 장면 모델은 픽셀별 재투영 오차를 최소화하여 학습된다.

IiIRegt  jIipijπ(Kit,Tit,yijt).\sum_{I_{i}\in\mathcal{I}^{t}_{\text{Reg}}}\;\sum_{j\in I_{i}}\left\|\mathbf{p}_{ij}-\boldsymbol{\pi}(K_{i}^{t},T_{i}^{t},\mathbf{y}_{ij}^{t})\right\|.

이전 등록들은 근사치일 뿐이므로, 포즈는 매핑 중에 정제된다: MLP Tit=fPoset(T~it)T_{i}^{t}=f^{t}_{\text{Pose}}(\tilde{T}^{t}_{i})가 각 초기 포즈를 12개의 값으로 입력받아 12개의 덧셈 오프셋을 예측하고(회전은 그람-슈미트로 재직교화됨), fSCRf_{\text{SCR}}과 함께 공동으로 최적화되며 업데이트가 작게 유지되도록 편향시키는 AdamW 가중치 감쇠 하에서 학습된다 — 이 MLP는 프레임별 역전파와 달리 카메라 간의 상관관계를 모델링한다. 초점 거리도 단일 파라미터를 통해 정제된다: fit=finit(1+αt)f^{t}_{i}=f^{\text{init}}\cdot(1+\alpha^{t}), 여기서 finitf^{\text{init}}는 이미지 대각선의 70%로 설정된다. 정제 MLP는 각 매핑 반복 후 폐기된다; 이 결합 정제는 SCR의 번들 조정 대응물이다.

재위치 인식. (등록되었든 아니든) 모든 이미지가 fSCRtf^{t}_{\text{SCR}}을 통과하며, PnP + RANSAC이 포즈와 신뢰도를 반환한다: T~it+1,sit+1=g(Kit,{(pij,yijt)})\tilde{T}^{t+1}_{i},\,s^{t+1}_{i}=g\left(K^{t}_{i},\{(\mathbf{p}_{ij},\mathbf{y}^{t}_{ij})\}\right). 인라이어 수를 ss로 사용하여, 다음 학습 집합은 IRegt+1={Iisit+1>τs}\mathcal{I}^{t+1}_{\text{Reg}}=\{I_{i}\,|\,s^{t+1}_{i}>\tau_{s}\}가 된다.

단일 이미지로부터의 초기화. 재투영 목적함수는 단일 뷰에서 잘못 정의되므로(ill-posed), 시드 네트워크는 단안 깊이 추정(ZoeDepth)으로부터 역투영된 목표값으로 학습된다: y^ij=dij(Kseedinit)1pij\hat{\mathbf{y}}_{ij}=d_{ij}(K_{\text{seed}}^{\text{init}})^{-1}\mathbf{p}_{ij}, 시드 포즈를 단위 행렬로 고정한 채 jy^ijyij\sum_{j}\|\hat{\mathbf{y}}_{ij}-\mathbf{y}_{ij}\|를 최소화한다. 다섯 개의 무작위 시드를 시도하여 보류된 1000개 이미지 중 가장 많이 재위치 인식하는 것을 선택한다(각각 약 1분). 깊이는 오직 여기에서만 사용된다. 적응형 패치 샘플링과 조기 종료(배치 재투영 오차의 70%가 100개 배치 동안 10픽셀 미만으로 유지되면 중단)는 각 매핑 라운드를 ACE의 5분보다 훨씬 짧게 만든다.

실험 결과

세 개의 데이터셋에 걸친 31개 장면에서 평가된다; COLMAP 포즈 자체도 추정치이므로, 포즈 품질은 novel view synthesis를 통해 자기지도 방식으로 측정된다 — 각 방법의 포즈로 Nerfacto를 학습시키고 테스트 뷰 PSNR을 보고한다. 모든 ACE0 시간 측정은 단일 V100에서 수행된다.

SLAM에서의 의미

ACE Zero는 (DSAC → DSAC* → ACE로 이어지는) SCR 계보를 완성하며, 학습에 필요했던 마지막 고전적 의존성 — SfM으로 생성된 실측 포즈 — 를 제거한다. 이는 학습 기반 재위치 인식을 자기완결적으로 만든다 — 맵은 전적으로 네트워크 가중치 안에 존재하므로 원시 이미지나 명시적 3D 점을 저장할 필요가 없으며, 이는 크라우드소싱 및 프라이버시 보존 매핑에 매력적이고, SCR을 COLMAP 스타일 재건에 대한 학습 기반 대안으로 자리매김하게 한다. 이는 또한 SCR을 실시간 SLAM(ACE-SLAM)과 일반화(ACE-G) 방향으로 밀어붙이는 후속 연구에 영감을 주었다.

관련 문서