맵 병합
맵 병합은 서로 다른 로봇(또는 같은 로봇의 서로 다른 세션)이 구축한 서브맵을 정렬하여 하나의 일관된 전역 맵으로 만드는 과정이다. 각 로봇은 SLAM을 자신만의 임의의 좌표 프레임에서 시작한다. 병합은 서로 연결되지 않은 로컬 맵들의 집합을 하나의 공유 표현으로 바꾼다.
표준 파이프라인
- 앵커를 찾는다. 로봇 간 루프 클로저(장소 인식 + 기하학적 검증)는 서로 다른 맵의 키프레임 사이에 상대 포즈 제약을 제공한다. 하나의 검증된 클로저만으로도 두 프레임을 관계지을 수 있고, 여러 개가 있으면 정렬이 잘 조건화된다.
- 맵 간 변환을 추정한다. 매칭된 키프레임으로부터 두 맵 프레임 간의 변환을 계산한다 — 두 맵 모두 메트릭일 때(스테레오, RGB-D, VIO)는 , 스케일이 서로 다른 단안 맵을 병합할 때는 (스케일을 더한) 을 사용한다. 추정은 매칭된 특징에 대한 PnP나 essential matrix 방법, 또는 공유 랜드마크의 3D-3D 정렬을 사용한다.
- 데이터를 융합한다. 한 맵을 다른 맵의 프레임으로 변환한 다음 중복 콘텐츠를 병합한다: 두 로봇이 모두 관측한 공통 가시(co-visible) 랜드마크를 통합하고, 키프레임 데이터베이스와 공가시성/포즈 그래프를 결합하며, 루프 클로저 엣지는 일반적인 그래프 엣지가 된다.
- 공동으로 최적화한다. 병합된 그래프에 대해 포즈 그래프 최적화나 번들 조정을 실행하여, 정렬 오차가 이음매에 집중되지 않고 양쪽 궤적에 분산되도록 한다. 분산형 시스템에서는 이 단계가 분산 최적화이고, 중앙집중식 시스템에서는 서버가 전역 BA를 실행한다.
정렬 수학
양쪽 맵에서 모두 관측된 공유 랜드마크인 개의 대응하는 3D 포인트 쌍 이 주어지면, 맵 간 변환은 다음의 닫힌 형식 최소자승 정렬이다
이는 Horn/Umeyama 방법으로 풀린다: 중심을 뺀 뒤, 상관 행렬의 SVD로 을 얻고, 분산 비율로부터 를 복원(의 경우 )한 후, 중심으로부터 를 구한다. 대응관계에 대해 RANSAC으로 감싸면, 이것이 2단계의 주력 방법이다. 2D 관측값만 사용 가능한 경우(단안), 한 맵의 랜드마크를 다른 맵의 키프레임에 대해 푸는 PnP, 또는 essential matrix 분해가 같은 역할을 한다.
하나의 맵 프레임은 기준(게이지)으로 선택되어야 한다: 일반적으로 더 오래된 맵, 더 큰 맵, 또는 서버의 정전 프레임이 자신의 좌표를 유지하고, 다른 맵이 그 프레임으로 변환된다.
중복을 제대로 융합하기
정렬 후 중첩 영역은 두 배로 존재한다. 이를 잘 병합하는 것이 중요하다:
- 랜드마크 통합: 한 맵의 포인트를 다른 맵의 키프레임에 투영하여 후보 중복 랜드마크를 찾고, 디스크립터 거리와 재투영 오차로 걸러낸다. 매칭된 쌍은 양쪽의 관측 리스트를 물려받는 하나의 랜드마크로 병합된다.
- 그래프 재배선: 공가시성 엣지와 BoW 데이터베이스는 이음매를 가로질러 재구성되어, 이후의 추적, 재위치추정, 루프 탐지가 병합된 영역을 하나의 장소로 취급하게 한다 — 이는 본질적으로 ORB-SLAM3의 Atlas가 오래된 맵을 다시 마주쳤을 때 수행하는 “용접” 작업이다.
- 그다음 최적화: 오직 공동 최적화(4단계)만이 이음매를 제거한다. 강체 정렬만으로는 양쪽 맵의 내부 드리프트가 그대로 남고, 앵커에서의 불연속성을 그저 가릴 뿐이다.
설계 고려사항 및 함정
- 한 번 병합 대 계속 병합: 병합은 첫 조우 때 일어날 수도 있고, 더 많은 맵 간 클로저가 도착함에 따라 계속 정제될 수도 있다. 늦게 도착한 클로저는 폐기되지 않고 정렬을 계속 개선해야 한다.
- 잘못된 병합은 파국적이다: 허위 로봇 간 클로저는 같은 곳이 아닌 두 장소를 병합시킨다. 그래서 강인한 백엔드(PCM, GNC)는 클로저 집합을 커밋하기 전에 검사한다 — 병합할 수 없는 맵이 손상된 맵보다 낫다.
- 스케일 불일치: 두 단안 맵을 변환으로 병합하면 한 맵의 스케일이 조용히 다른 맵에 강제된다. 두 맵이 모두 메트릭이 아니라면 을 사용하라.
- 이중 계산: 중복 랜드마크가 통합되지 않으면, 같은 물리적 특징이 최적화에 두 번 기여하게 되어 중첩 영역이 과도하게 가중되고 결과가 편향된다.
- 동일한 메커니즘이 멀티세션 SLAM(maplab 2.0, ORB-SLAM3의 Atlas)을 구동한다: “로봇”은 단순히 어제의 매핑 실행일 수 있다.
SLAM에서의 의미
맵 병합은 협업이 실제로 결실을 맺는 지점이다: 개의 부분적이고 드리프트하는 맵을, 어떤 단일 로봇도 달성할 수 없는 더 넓은 커버리지와 더 많은 루프 클로저를 가진 하나의 맵으로 바꾼다. 맵 간 변환, 중복 랜드마크 융합, 공동 최적화와 같은 동일한 개념들이 멀티세션 매핑, 기존 맵으로의 재위치추정, AR과 자율주행을 위한 크라우드소싱 매핑에서도 반복적으로 등장한다.