**Autonomous driving tech./*SLAM

[Paper review] Loop Closure Detection, BoW

2wnswoo 2025. 3. 22. 14:40

 

SLAM에서 **BoW (Bag of Words)**는 주로 **Loop Closure Detection (루프 클로저 탐지)**를 위해 사용되는 기법입니다. BoW는 컴퓨터 비전에서 이미지의 특징을 텍스트 문서의 단어로 비유하여, 이미지 간 유사성을 비교하는 방법입니다.
*Loop Closure Detection : SLAM 시스템에서 사용되는 기술로, 로봇이나 드론과 같은 이동 장치가 이미 지나갔던 장소를 다시 방문했을 때 이를 인식하는 과정입니다.

BoW의 개념

  • 이미지 또는 프레임을 일련의 특징점(Feature Points) 집합으로 표현합니다. 예를 들어, ORB, SIFT, SURF 같은 특징점 추출 알고리즘을 사용합니다.
  • 특징점들을 디스크립터(Descriptor) 형태로 변환합니다. (예: ORB 디스크립터는 바이너리 벡터로 표현됨)
  • 모든 디스크립터들을 클러스터링 (K-means 클러스터링 등) 하여 Visual Words (시각적 단어) 로 정의합니다.
  • 이렇게 만들어진 시각적 단어들의 집합을 Vocabulary (어휘집) 또는 Dictionary (사전) 라고 부릅니다.
  • 각 이미지(또는 키프레임)는 사전에 있는 단어들로 이루어진 히스토그램 (Histogram) 형태로 표현됩니다. 즉, 이미지 = 시각적 단어들의 빈도수.

🔍 BoW의 SLAM에서의 역할

  1. 루프 클로저 탐지 (Loop Closure Detection)
    • SLAM에서 로봇이 이전에 방문한 장소를 다시 방문할 때, 현재 관측된 이미지와 과거에 저장된 이미지들의 BoW 표현을 비교하여 동일한 장소인지 확인합니다.
    • 히스토그램 간 유사도를 계산하는 방식으로, 주로 코사인 유사도 (Cosine Similarity)L2 거리 (Euclidean Distance) 를 사용합니다.
  2. 장소 인식 (Place Recognition)
    • 이전에 방문했던 장소를 식별하여 맵핑 및 위치 추정을 개선합니다.
  3. 효율적인 데이터 비교
    • 수많은 이미지 간 비교를 효율적으로 수행할 수 있게 해줍니다.
    • 시각적 단어들을 이용하여 특징 벡터의 차원을 크게 줄임으로써 계산 효율을 개선합니다.

히스토그램에서 상위 몇 개의 값(시각적 단어)을 먼저 비교하여 빠르게 매칭할 수 있음