bow_matching
2025. 3. 4. 23:18ㆍSLAM/image processing
BoW(Bag of Words) 매칭 개념
BoW(Bag of Words) 매칭은 컴퓨터 비전에서 이미지의 특징을 벡터화하여 데이터베이스에 저장하고, 이후 쿼리 이미지와 비교하여 유사한 이미지를 찾는 방법입니다.
이는 문서에서 단어의 출현 빈도를 기반으로 문서를 비교하는 BoW 개념을 확장하여, 이미지에서 특징점(Feature Points)을 추출하고 이를 "시각적 단어(Visual Words)"로 변환한 후, 데이터베이스에서 유사한 이미지 검색에 활용하는 방식
코드 전체 흐름 요약
- 이미지 로드
- 4장의 이미지를 Grayscale로 로드.
- 특징점 검출 및 기술자 추출
- ORB 특징점을 이용하여 각 이미지의 기술자를 추출.
- BoW Vocabulary 생성
- DBoW2를 활용하여 시각적 단어 사전을 생성하고 저장.
- 데이터베이스 구축
- BoW Vocabulary를 기반으로 이미지 데이터베이스 생성.
- 쿼리 이미지 검색
- 새로운 쿼리 이미지에서 ORB 특징점을 추출.
- BoW 데이터베이스에 질의하여 가장 유사한 이미지 찾기.
- 결과 출력
- 검색된 이미지와 쿼리 이미지를 화면에 표시.
결론
이 코드는 DBoW2를 사용한 BoW 기반 이미지 검색 시스템을 구현한 것입니다.
SLAM(Localization), 장면 인식, 영상 검색 시스템 등에 활용할 수 있으며, ORB와 같은 로컬 특징점을 사용하기 때문에 속도가 빠르고 계산 비용이 낮다는 장점이 있습니다.
추가적으로, DBoW2는 SLAM에서 Loop Closure Detection(루프 폐쇄 감지) 에도 자주 사용되므로, 로봇 비전 프로젝트에서도 활용할 수 있습니다.
4개의 그림중에서 쿼리와 가장 비슷한 이미지가 출력되는 것을 확인했고 스코어는 0.5정도 나왔다.
'SLAM > image processing' 카테고리의 다른 글
Optical Flow (0) | 2025.03.04 |
---|---|
ORB_feature_matching (0) | 2025.03.04 |