강건 포즈 그래프 최적화

표준 포즈 그래프 최적화에는 위험한 성질이 하나 있다: 모든 에지를 신뢰한다는 것이다. 오도메트리 에지는 대체로 신뢰할 만하지만, 루프 클로저 에지는 장소 인식에서 나오는데, 이는 때때로 거짓말을 한다 — 지각적 앨리어싱(perceptual aliasing, 똑같이 생긴 두 개의 복도)이 거짓 루프 클로저를 만들어낸다. 하나의 잘못된 루프 에지를 최소제곱법에 입력하면, 최적화기는 여러분의 맵을 스스로 접어버릴 것이다. 왜냐하면 이차 비용에서는 하나의 나쁜 제약이 나머지 모든 것을 지배할 수 있기 때문이다. 강건 포즈 그래프 최적화는 백엔드가 이상치 제약 조건 속에서도 살아남게 하는 기법들의 집합이다.

로드맵에 명명된 세 가지 고전적 접근법:

이러한 아이디어들은 더 넓은 강건 추정 도구상자와 연결된다: M-추정기 커널(Huber, Cauchy)은 중간 정도의 이상치를 낮게 가중하고, Graduated Non-Convexity (GNC)는 초기화 없이도 강하게 비볼록한 강건 비용을 푼다. 실제로는 시스템들이 방어선을 여러 겹 쌓는다: 프론트엔드에서의 기하학적 검증, PCM 방식의 일관성 검사, 그리고 최적화기 내부의 최후 방어선으로서의 강건 커널 또는 DCS.

M-추정기 관점

모든 부드러운(soft) 방법들은 하나의 동작을 변형한 것이다: 이차 비용을 강건 커널 ρ\rho로 대체하는 것,

min{Ti}(i,j)ρ(eijΣij1),\min_{\{T_i\}} \sum_{(i,j)} \rho\left(\|\mathbf{e}_{ij}\|_{\Sigma_{ij}^{-1}}\right),

이는 큰 잔차에 대해 비용의 영향력(그 도함수)이 더 이상 커지지 않거나 오히려 줄어들도록 선택된다. 이차 함수 아래에서는 잔차 10σ10\sigma인 에지가 1σ1\sigma인 에지보다 100배 더 강하게 끌어당기지만, Huber 아래에서는 선형적으로만 더 강하게 끌어당기며, Cauchy나 Geman-McClure 아래에서는 잔차가 커질수록 그 끌어당김이 오히려 약해진다. 구현 관점에서 이는 **반복 재가중 최소제곱법(iteratively reweighted least squares)**이 된다: 각 가우스-뉴턴 반복은 모든 에지의 정보 행렬에 현재 잔차로부터 계산된 가중치 w(e)w(\|\mathbf{e}\|)를 곱하는데, 이것이 정확히 DCS가 특정한 닫힌 형태의 가중치로 수행하는 것이며, switchable constraints가 명시적인 스위치 변수로 달성하는 것이다. 트레이드오프는 다음과 같다: 재하강(redescending) 커널(Cauchy 이상)은 심한 이상치를 완전히 거부할 수 있지만, 비용을 비볼록하게 만들기 때문에 초기화가 나쁘면 좋은 에지를 잠가버릴(lock out) 수 있다 — 이것이 GNC가 볼록 대리 함수(convex surrogate)에서 시작해 점진적으로 이를 날카롭게 만들어 해결하는 문제다.

프론트엔드 측의 보완적인 하드 검사는 **카이제곱 게이팅(chi-square gating)**이다: 에지가 받아들여지기 전에, 현재 추정치 아래에서 그 잔차가 통계적으로 타당한지 검사한다, eTΣ1e<χd,0.952\mathbf{e}^T \Sigma^{-1} \mathbf{e} < \chi^2_{d,\,0.95} (SE(3)SE(3) 에지의 경우 6자유도). 게이팅은 명백한 이상치를 저렴하게 잡아내지만, 이는 현재 추정치를 신뢰한다 — 심한 드리프트 아래에서는 올바른 루프 클로저조차 타당하지 않아 보일 수 있으며, 이것이 정확히 PCM의 쌍별 일관성 논리가 더 잘 처리하는 경우다.

흔한 함정

SLAM에서의 의미

하나의 거짓 루프 클로저가 한 시간에 걸쳐 만든 맵을 파괴할 수 있으므로, 배치된 시스템에서 백엔드의 강건성은 선택 사항이 아니다. 이 주제는 또한 멀티로봇 SLAM으로 들어가는 진입점이기도 한데, 이 환경에서는 로봇들이 다른 로봇이 만든 제약 조건을 신뢰할지 여부를 결정해야 하며, 이는 PCM이 설계된 바로 그 상황이다.

실습

관련 문서