MAC-VO

Qiu 2024 · 논문

한 줄 요약 — 메트릭 인식적인 매칭 공분산을 예측하고, 이를 키포인트 선택과 포즈 최적화의 잔차 가중치 부여에 모두 활용하는 학습 기반 스테레오 시각 오도메트리.

문제

학습 기반 VO 모델은 신뢰도를 잘 모델링하지 못한다. 비지도 방식으로 학습된 신뢰도 가중치(DROID-SLAM, DPVO)는 스케일 무관이다 — 매치들끼리 상대적으로 순위를 매길 뿐, 실제 3D 추정 오차를 미터 단위로 반영하지 않으며, 이는 “스케일이 다른 여러 환경에서 공분산이 일관되지 않게 만들고”, “서로 다른 모달리티나 센서로부터의 다중 제약을 통합하기 더 어렵게 만든다.” 한편 키포인트 선택은 여전히 텍스처가 풍부한 에지와 코너를 선호하는데, 바로 이런 곳에서 학습된 매칭과 깊이는 보간과 에지 모호성 때문에 가장 부정확하다 — D3VO는 이런 특징들이 무작위 선택보다 더 나쁘게 동작할 수 있음을 보였다. MAC-VO는 이 둘을 하나의 학습된 메트릭 인식 불확실성 모델로 대체한다.

방법 및 아키텍처

불확실성 인식 매칭 네트워크. FlowFormer 백본을 공유하는 네트워크가 프레임 간 깊이, 광학 흐름 f^∈R2\hat{f} \in \mathbb{R}^2, 그리고 이들의 불확실성 Σ^f=diag(σu2,σv2)\hat{\Sigma}_f = \mathrm{diag}(\sigma_u^2, \sigma_v^2)을 동시에 추정한다. 공분산 디코더는 순환 흐름 디코더에 얹혀져, 로그 공간에서의 반복적 업데이트 log⁡Δσ\log \Delta\sigma를 예측한다(가산적 업데이트, 양의 분산이 보장되고, 안정적인 기울기). 감독 신호는 업데이트 반복에 대한 음의 로그 가능도 손실이다.

Lcov=∑iNαi((y−f^i)⊤Σ^f−1(y−f^i)+log⁡(det⁡Σ^f))L_{cov} = \sum_i^N \alpha_i \left( (y - \hat{f}_i)^\top \hat{\Sigma}_f^{-1} (y - \hat{f}_i) + \log(\det \hat{\Sigma}_f) \right)

여기서 yy는 정답 흐름, αi\alpha_i는 지수적으로 감소하는 가중치(비율 0.8)이다. TartanAir만으로 학습되며, 다른 모든 곳에서는 제로샷으로 평가된다.

불확실성 기반 키포인트 선택. 세 개의 필터가 순차적으로 적용된다: 비최소 억제(공간적 분산), 기하 필터(이미지 경계, 무효 깊이), 그리고 깊이나 흐름의 불확실성이 프레임 중앙값의 1.5배를 넘는 픽셀을 제거하는 불확실성 필터 — 이는 움직이는 차량, 가림, 반사, 텍스처가 없는 영역을 암묵적으로 제거한다.

메트릭 인식 3D 공분산. 2D 불확실성은 핀홀 모델을 통해 각 키포인트의 완전한 3D 공분산으로 전파된다. 대각 성분은 (여기서는 xx에 대해; yy는 대칭, σz2=σd2\sigma_z^2 = \sigma_d^2):

σx2=(σu2σd2+σu2d2+(u−cx)2σd2)/fx2\sigma_{x}^2 = \left( \sigma_u^2 \sigma_d^2 + \sigma_u^2 d^2 + (u - c_x)^2 \sigma_d^2 \right) / \mathrm{f}_x^2

세 좌표 모두 깊이 dd를 공유하므로, 이 모델은 비대각 항도 유지한다. 예를 들어 σxz=σd2(u−cx)/fx\sigma_{xz} = \sigma_d^2 (u - c_x)/\mathrm{f}_x이고 σxy=σd2(u−cx)(v−cy)/(fxfy)\sigma_{xy} = \sigma_d^2 (u - c_x)(v - c_y)/(\mathrm{f}_x \mathrm{f}_y) — 이는 DROID-SLAM의 스케일 무관 대각 공분산과 달리, 메트릭 단위의 비등방적이고 상관관계를 갖는 공분산이다. 깊이 불확실성은 장면 기하에 대해 추가로 보정된다: 매치 주변 32픽셀 패치 내에서 σd2=∑jφj(dj−μD)2\sigma_d^2 = \sum_j \varphi_j (d_j - \mu_D)^2이며, 이 분산은 (σu2,σv2)(\sigma_u^2, \sigma_v^2)로 구성된 2D 가우시안 커널 φ\varphi로 가중된다 — 따라서 깊이 불연속 근처의 매치는 큰 깊이 불확실성을 물려받는다.

포즈 그래프 최적화. 카메라 포즈 Tt∈SE(3)T_t \in SE(3)는 TartanVO의 모션 추정으로 초기화되고, 전파된 공분산으로 가중된 매칭된 3D 키포인트의 두 프레임 정합을 통해 정제된다.

T⋆=arg min⁡Tt∑i∥pi,t−1−Tt cpi,t∥Σi2,Σi=Σi,t−1p+Rt cΣi,tp Rt⊤T^{\star} = \operatorname*{arg\,min}_{T_t} \sum_i \left\lVert \mathbf{p}_{i,t-1} - T_t\, {}^c\mathbf{p}_{i,t} \right\rVert^2_{\Sigma_i}, \qquad \Sigma_i = \Sigma^p_{i,t-1} + R_t\, {}^c\Sigma^p_{i,t}\, R_t^\top

이는 PyPose에서 Levenberg-Marquardt로 풀린다. 특히 다중 프레임 번들 조정이나 루프 클로저가 없다 — 정확도는 오로지 보정된 가중치 부여에서 나온다.

실험 결과

모든 데이터셋에서 동일한 구성과 가중치를 사용하며, 평가는 프레임별 상대 오차 trelt_{rel} (m/frame)과 rrelr_{rel} (deg/frame)을 사용한다.

SLAM에서의 의미

MAC-VO는 학습 기반 오도메트리의 성숙을 상징한다: 포즈나 흐름을 예측할 뿐만 아니라, 그 예측이 얼마나 잘못되었는지를, 고전적 추정 이론이 다룰 수 있는 형태(메트릭이며 상관관계를 갖는 공분산)로 예측한다. 보정된 불확실성은 학습된 프론트엔드를 필터, 인수 그래프, 다중 센서 시스템과 융합하기 위해 정확히 필요한 것이며 — 이는 저자들이 명시한 다음 연구 방향이다 — 동시에 이 불확실성 맵은 후속 의사결정을 위한 신뢰도 신호로도 기능한다.

관련 문서