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에서의 역할
- 루프 클로저 탐지 (Loop Closure Detection)
- SLAM에서 로봇이 이전에 방문한 장소를 다시 방문할 때, 현재 관측된 이미지와 과거에 저장된 이미지들의 BoW 표현을 비교하여 동일한 장소인지 확인합니다.
- 히스토그램 간 유사도를 계산하는 방식으로, 주로 코사인 유사도 (Cosine Similarity) 나 L2 거리 (Euclidean Distance) 를 사용합니다.
- 장소 인식 (Place Recognition)
- 이전에 방문했던 장소를 식별하여 맵핑 및 위치 추정을 개선합니다.
- 효율적인 데이터 비교
- 수많은 이미지 간 비교를 효율적으로 수행할 수 있게 해줍니다.
- 시각적 단어들을 이용하여 특징 벡터의 차원을 크게 줄임으로써 계산 효율을 개선합니다.
히스토그램에서 상위 몇 개의 값(시각적 단어)을 먼저 비교하여 빠르게 매칭할 수 있음
'**Autonomous driving tech. > *SLAM' 카테고리의 다른 글
[SLAM] Monte Carlo, Markov Chain (0) | 2025.02.23 |
---|---|
[SLAM] Feature, Keypoint, Descriptor, Robust feature (0) | 2025.02.23 |
[SLAM] Loop closure, Visual SLAM의 장,단점 (0) | 2025.02.21 |
[SLAM] Stereo, Moncular, RGB-D, ToF (0) | 2025.02.21 |
[SLAM] 방법론 4가지 (0) | 2025.02.20 |