Landmark

**랜드마크(landmark)**는 SLAM 시스템이 추정하여 맵에 저장하는, 환경의 고정된, 재관측 가능한 특징입니다. 시각 SLAM에서 전형적인 랜드마크는 3D 점 XjR3\mathbf{X}_j \in \mathbb{R}^3입니다: 여러 이미지에서 검출된 키포인트를 3D로 삼각측량하고, 다시 인식할 수 있도록 디스크립터와 연관시킨 것입니다. 랜드마크의 집합이 (희소한 특징점 기반 시스템에서는) 곧 맵 그 자체입니다.

랜드마크는 SLAM 문제의 두 절반 사이의 순환을 완성합니다:

포즈는 랜드마크가 필요하고, 랜드마크는 포즈가 필요한 이 상호 의존성이 SLAM이 결합 추정 문제인 이유입니다: 팩터 그래프에서 포즈와 랜드마크는 모두 변수 노드이며, 관측 팩터로 서로 묶여 있고, 번들 조정이 이들을 함께 정제합니다.

파라미터화

명백한 표현 방식인 유클리드 좌표 X=(x,y,z)\mathbf{X} = (x, y, z)가 유일한 선택은 아니며, 항상 최선도 아닙니다:

데이터 연관

관측을 올바른 랜드마크에 매칭하는 것은 프론트엔드의 핵심 책무이며, 표준 메커니즘은 여러 필터를 쌓습니다:

  1. 투영 검색(projection search): 현재 포즈 추정값을 이용해 랜드마크가 나타날 위치를 예측하고, 그 예측 주변의 검색 윈도우 내의 키포인트만 고려합니다.
  2. 외형 검사(appearance check): 랜드마크의 저장된 디스크립터와 후보 키포인트 사이의 디스크립터 거리가 작아야 합니다(그리고 비율/두 번째 최선 테스트를 통과해야 합니다).
  3. 호환성 검사(compatibility checks): 관측은 랜드마크의 스케일 범위(피라미드 레벨)와 평균 시선 방향과 일치해야 합니다.
  4. 통계적 게이팅(statistical gating): 추정 후, 재투영 잔차에 대한 카이제곱 검정이 예측된 불확실성과 일치하지 않는 연관을 거부합니다.

잘못된 데이터 연관 — 관측을 잘못된 랜드마크에 매칭하는 것 — 은 SLAM에서 가장 파괴적인 오류 중 하나이며, 이 때문에 강건한 매칭과 이상치 제거가 그토록 많은 주목을 받습니다.

랜드마크의 생애주기

실제 랜드마크는 좌표 이상의 것을 담고 있습니다. ORB-SLAM 스타일 시스템의 일반적인 맵 포인트는 다음을 저장합니다: 3D 위치, 대표 디스크립터(매칭용), 시선 방향 통계(어느 각도에서 보이는지), 스케일/깊이 범위(어느 이미지 피라미드 레벨에서 검출될 수 있는지), 그리고 신뢰할 수 없는 점을 걸러내기 위한 관리 정보(관측 횟수, 이상치 비율)입니다. 랜드마크 관리는 실제 시스템을 건강하게 유지하는 데 큰 부분을 차지합니다:

랜드마크가 반드시 점일 필요는 없습니다. 시스템들은 선과 평면(인공 환경에서 더 풍부한 기하학)을 사용해왔고, 객체 수준 랜드마크(포즈를 가진 인식된 객체)도 사용해왔는데, 검출 복잡도를 더 서술적이고 더 의미론적으로 유의미한 맵과 교환하는 것입니다. 형태가 무엇이든, 정의하는 요구 사항은 동일합니다: 정적이어야 하고(그렇지 않으면 특별히 처리되어야 함), 재관측 가능해야 하며, 신뢰할 수 있는 데이터 연관을 위해 충분히 구별 가능해야 합니다.

SLAM에서의 의미

“랜드마크”는 오도메트리를 SLAM으로 바꾸는 개념입니다: 랜드마크가 지속되기 때문에, 긴 이동 후 하나를 다시 관측하면 현재 포즈를 이전 맵에 대해 제약할 수 있게 되어 드리프트 보정, 루프 클로저, 재위치추정이 가능해집니다. 특징점 기반 시스템의 논문을 읽을 때, 그 랜드마크의 설계 — 무엇을 저장하는지, 어떻게 생성되고 정리되는지, 어떻게 매칭되는지 — 는 바로 그 맵의 설계입니다.

관련 문서