들어가기
BoF(Bag-of-feature) 알고리즘은 대표적인 이미지 인식 알고리즘이다. 기계 학습에 의한 이미지 식별하는 알고리즘이다. BoF 알고리즘에 대한 개념만 간단하게 정리해보았다.
작성자: ospace114@empal.com, http://ospace.tistory.com/
기본 개념
BoF를 간단하게 말하면 이미지의 특징을 추출해서 비슷한게 많은 카테고리가 해당 종류로 식별한다.
이렇게 식별할 수 있는 것이 같은 물체는 비슷한 부분이 많다. 예를 들어 자전거는 핸들, 바퀴, 안장, 패달 등이 모든 자전거에는 가지고 있는 구성품이다.
이미지의 특징을 어떻게 추출할까? 픽셀 간에 휘도 값이 큰 부분을 특징점이라고 하며, 이런 부분이 이미지의 특징이 나타날 경우가 많다. 이런 특징점을 이미지에서 분리한 것을 배치(batch)라고 한다. 즉, 배치가 특징을 나타내며 이런 특징을 모은 집합을 feature라고 한다. 각 종류별로 배치를 모아놓은 것을 bag라고 한다.
결국 이미지 인식은 미지의 이미지에서 배치를 추출하고 앞의 bag의 배치와 비교하여 비슷한게 많은 것이 해당 종류로 분류한다.
인식 알고리즘
배치를 매번 비교하기에는 시간이 너무 오래 걸릴 수 있다. 그래서 비슷한 배치를 모아서 클러스터링을 통해 그룹화한다. 그룹화된 배치들에서 그룹 대표하는 특장점을 정한다. 이를 대표점(visual word)라고 한다. 대표점들 기반으로 이미지들의 배치를 식별하여 벡터로 표현한다.
이렇게 표현된 벡터를 사용해 이미지 인식에서 대표점의 벡터량과 이미지 특징 벡터를 비교해서 종류를 판정한다.
장단점
단점
- 이미지 특징점의 조밀도에 의한 영향이 있다
- 배치의 위치 관계가 무시되는 데이터 구조이다
- 이미지 각도에 따른 영향이 있다
장점
- 중간 식별 과정에서 튜닝이 쉽다
- 적은 데이터에서도 정확도가 높다
마무리
BoF 알고리즘은 BoW 모델에 영향을 받았다. BoF는 이미지 특징을 추출하고 해당 특징과 가장 비슷한 종류를 선택하는데 있다. 어떻게 보면 이미지 특징을 추출하는게 가장 중요하다고 볼 수 있다. 이런 특징을 가지고 최대한 전체 이미지가 무엇인지 판단해야 한다. 어떻게 보면 장님 코끼리 만지기와 비슷하다.
BoF와 관련된 알고리즘으로는 SIFT, SURF, ORB, CARD, AKAZE 등이 있다.
부족한 글이지만 여러분에게 도움이 되었으면 하네요. ospace
참고
[1] 다케이히로마사, 가장빨리만나는 딥러닝 with Caffe, 2016
'6.수학과 알고리즘' 카테고리의 다른 글
CNN 이미지 식별 알고리즘 (0) | 2024.03.11 |
---|---|
Blockchain (4) | 2024.03.07 |
[javascript] 펜윅 트리 Fenwick tree (0) | 2023.10.20 |
나비에-스토크스(Navier-Stokes) 방정식 (0) | 2023.01.03 |
랑그랑주 역학 (0) | 2022.12.28 |