SVO2

Forster 2017 · 논문

한 줄 요약 — 반직접(semi-direct) 시각 오도메트리를 다중 카메라 리그, 어안/카타디옵트릭 렌즈, 에지릿(edgelet) 특징점, 운동 사전 정보로 확장하고, 직접 정렬의 수렴에 대한 실험적 분석과 선택적인 iSAM2 번들 조정 백엔드를 제공한 논문입니다.

문제

원래 SVO는 단일 원근 카메라로 동작했지만, 실제 로봇 플랫폼 — 특히 소형 항공기(MAV) — 은 시야각을 최대화하기 위해 광각 또는 어안 렌즈를 갖춘 여러 카메라를 탑재합니다. 또한 직접 방법은 대체로 경험적 믿음에 의존해 사용되어 왔습니다: 광도 정렬이 언제, 왜 수렴하는지에 대한 분석이 거의 없었고, 특징점 기반 결합 최적화가 갖는 최적성도 결여되어 있었습니다. SVO2(“SVO: Semi-Direct Visual Odometry for Monocular and Multi-Camera Systems”, TRO 2017)는 반직접 접근법 — “높은 이미지 그래디언트를 특징으로 하는 픽셀을 추적 및 삼각측량”하는 직접 방법과 “구조와 운동의 결합 최적화”를 위한 특징점 기반 방법 — 을 임의의 카메라 시스템으로 일반화합니다.

방법 및 아키텍처

희소 이미지 정렬, 일반화 — 바디 프레임 BB의 증분 운동(카메라별 외부 파라미터 TCB\mathbf{T}_{CB})은 알려진 깊이를 가진 코너 및 에지릿 특징점 주변 패치의 광도 오차를, 리그의 모든 카메라 C\mathcal{C}에 대해 합산하여 최소화함으로써 추정됩니다:

Tkk1=argminTkk1CCuRˉk1C12IkC(π(TCBTkk1ρu))Ik1C(π(TCBρu))ΣI2\mathbf{T}^{\star}_{kk-1}=\arg\min_{\mathbf{T}_{kk-1}}\sum_{C\in\mathcal{C}}\sum_{\mathbf{u}\in\bar{\mathcal{R}}^{C}_{k-1}}\frac{1}{2}\big\lVert I^{C}_{k}\big(\pi(\mathbf{T}_{CB}\mathbf{T}_{kk-1}\,\rho_{\mathbf{u}})\big)-I^{C}_{k-1}\big(\pi(\mathbf{T}_{CB}\,\rho_{\mathbf{u}})\big)\big\rVert^{2}_{\Sigma_I}

그래서 구조를 관측하는 모든 카메라가 하나의 바디 포즈 추정치에 기여하며, 다중 카메라 지원은 야코비안만 변경합니다. 선택적인 운동 사전 정보(등속 운동, 또는 자이로스코프 회전 R~kk1\tilde{\mathbf{R}}_{kk-1})는 동일한 비용에 페널티 항 12pkk1p~kk1Σp2+12log(R~kk1Rkk1)ΣR2\frac{1}{2}\lVert\mathbf{p}_{kk-1}-\tilde{\mathbf{p}}_{kk-1}\rVert^{2}_{\Sigma_p}+\frac{1}{2}\lVert\log(\tilde{\mathbf{R}}^{\top}_{kk-1}\mathbf{R}_{kk-1})^{\vee}\rVert^{2}_{\Sigma_R}를 추가합니다.

완화 및 정제 — SVO와 마찬가지로, 각 특징점은 처음 관측된 키프레임에 대해 2D로 재정렬됩니다(어파인 워핑된 패치, 역합성 Lucas-Kanade). 에지릿은 어퍼처 문제(aperture problem)를 겪기 때문에, 그 보정은 에지 법선 n\mathbf{n} 방향으로 제한됩니다: u=u+δun{\mathbf{u}'}^{\star}=\mathbf{u}'+\delta u^{\star}\,\mathbf{n}. 마지막으로 번들 조정이 키프레임과 랜드마크에 대한 재투영 오차를 최소화합니다 — 에지 특징점 잔차는 법선 방향으로 투영되는데, 이는 에지를 따라가는 방향의 성분이 관측 불가능하기 때문입니다 — 이는 증분 스무더 iSAM2로 실시간 해결되거나(또는 임베디드 용도로 더 저렴한, 포즈와 포인트만의 최적화로) 해결됩니다.

매핑 — 특징점마다 깊이 ρ\rho와 인라이어 확률 γ\gamma에 대한 재귀적 베이지안 필터가 사용되며, 관측은 가우시안 + 균일 혼합 p(ρ~ikρi,γi)=γiN(ρ~ikρi,τi2)+(1γi)U(ρ~ikρimin,ρimax)p(\tilde{\rho}_i^k\mid\rho_i,\gamma_i)=\gamma_i\,\mathcal{N}(\tilde{\rho}_i^k\mid\rho_i,\tau_i^2)+(1-\gamma_i)\,U(\tilde{\rho}_i^k\mid\rho_i^{min},\rho_i^{max})로 모델링되고, 사후 분포는 Beta(γak,bk)N(ρμk,σk2)\mathrm{Beta}(\gamma\mid a_k,b_k)\,\mathcal{N}(\rho\mid\mu_k,\sigma_k^2)로 근사됩니다 — 이상값은 평균을 거의 움직이지 않으면서 γ\gamma가 신뢰도를 알려줍니다. 필터는 이전 이후 프레임 모두로부터 갱신되며(전진 운동에 더 유리), 에지가 에피폴라 선과 평행한 경우의 관측은 건너뜁니다.

넓은 시야각 — 투영/역투영은 다항식 전방향(omnidirectional) 카메라 모델을 사용하므로, 어안 및 카타디옵트릭 이미지는 왜곡 보정 없이 그대로 사용됩니다. 에피폴라 탐색은 대원(에피폴라 평면 ∩ 단위 구)을 약 1픽셀 각도 해상도로 샘플링하여 휘어진 에피폴라 선을 따라갑니다.

수렴 연구 — 제어된 실험을 통해 참조 프레임까지의 거리에 대한 함수로서 이미지-모델 정렬이 수렴할 확률을 측정합니다: 수렴은 패치 크기가 4×4 픽셀까지 커질수록 개선되고, 밀집 정렬은 준밀집(semi-dense) 정렬 대비 거의 이득이 없으며(그래디언트가 0인 픽셀은 야코비안도 0이기 때문), 희소 정렬은 준밀집 정렬보다 수렴 반경이 작습니다 — 이것이 SVO가 이전 프레임에만 정렬하고 지도에 대한 특징점 정렬로 드리프트를 제거하는 이유입니다.

실험 결과

EuRoC MAV 벤치마크(11개 시퀀스, 5회 실행 평균, 경쟁 시스템의 루프 클로저는 비활성화)에서 SVO는 대부분의 실행에서 LSD-SLAM과 실시간 ORB-SLAM보다 높은 정확도를 달성하는 반면, DSO는 일관되게 매우 정확하여 단안 설정에서 대체로 SVO를 능가합니다. 스테레오 SVO는 일반적으로 단안보다 더 정확하고 스케일 드리프트에 영향받지 않지만, 급격한 조명 변화와 제자리 회전이 있는 Vicon Room 시퀀스에서는 실패합니다. 효율성이 핵심 결과입니다: 노트북 i7에서 20 Hz로 프레임당 평균 2.53 ms(SVO 단안), CPU 사용률 **55%**로, ORB-SLAM의 29.81 ms/187%, LSD-SLAM의 23.23 ms/236%와 대비됩니다 — “최대 10배 더 빠르며… CPU 사용량은 4분의 1에 불과합니다.” NVIDIA Jetson TX1에서는 희소 이미지 정렬이 2.54 ms, 특징점 정렬이 1.40 ms 걸립니다. 에지릿은 코너가 풍부한 EuRoC 장면에서는 정확도 향상이 거의 없지만 코너가 없는 곳에서는 강건성을 개선하며, 운동 사전 정보는 정렬 반복 횟수를 줄입니다.

SLAM에서의 의미

SVO2는 반직접 패러다임을 실제 로봇 플랫폼 — 특히 여러 광각 카메라를 탑재한 MAV — 에 배치 가능한 시스템으로 발전시켰고, 상용 및 연구용 드론에 널리 사용되었습니다. 그 수렴 분석은 직접 방법에 실험적 근거를 제공했으며(그리고 조대-정밀, 패치 크기, 프레임 속도 설계 선택을 정당화했습니다), Beta×Gaussian 역깊이 필터는 픽셀별 확률적 깊이 추정의 공통 참조가 되었습니다. 임베디드 하드웨어에서 매우 빠르고 경량인 오도메트리가 필요할 때 여전히 우선적으로 고려되는 설계입니다.

관련 문서