Bag of Words(BoW)
Bag of Words(Bow)는 Bag of visual Words와 Bag of Features로 불리기도 합니다.
컴퓨터 비전 분야에서 BoW는 이미지 분류 과제에 주로 사용됩니다.
문서 분류 과제에서 Bag of Words (BoW)
BoW는 맨 처음에 문서 분류 목적으로 사용되었기 때문에 Bag of Words라는 이름이 붙여졌습니다.
BoW는 문서 내 어떤 단어들이 많이 존재하는지에 따라 문서의 주제를 분류해냅니다.
예를 들어, 어떤 문서에서 '패스', '골', '선수'등의 단어가 많이 출현 했다면 사진에 관련된 문서로 분류해내는 식입니다.
이때 단어들의 순서는 전혀 고려하지 않습니다.
간단히 어떻게 작동하는지 살펴보면.
-
문서 내 존재하는 단어들로 단어장을 만듭니다.
-
각 단어마다 몇번씩 출현했는지를 카운트해서 히스토그램을 만듭니다.
-
히스토그램이 각 문서의 속성에 대해서 묘사하고 있습니다.
-
히스토그램을 보고 이 문서의 주제를 판단 합니다.
이미지 분류 과제에서 BoW
이미지 분류 과제에서 단어(word)에 해당하는 것은 지역 이미지 특성 등(local image features)입니다.
그 특성들은 SIFT나 SURF와 같은 영상 특징점(keypoint) 추출 알고리즘에 의해 결정되기도 하고, 간단히 이미지 지역패치로 결정 되기도 합니다.
* SIFT, SURF에 대해서는 추후 추가예정
도출된 특성들 중에는 상당히 유사한 것들이 존재할 것입니다. 따라서 특성들 중에서 비슷한 것들을 하나로 모아주기 위해 K-means와 같은 군집(clustering)방법을 사용합니다.
군집의 센터점들에 코드워드(codeword)를 부여해주고, 코드워드들로 구성된 코드북(codebook)이 만들어집니다.
코드북은 visual vocabulary로 불리기도 합니다. 이 코드북이 몇 개의 코드워드로 구성될 지는 특성들을 몇개의 클러스터로 군집시킬지에 따라 달라집니다.
위 그림과 같이 코드북이 완성되면 각 이미지를 코드북을 이용해서 표현 할 수 있게 됩니다.
이미지에서 도출된 특성들과 코드북의 코드워드들 중에서 가장 비슷한 것을 찾아줍니다.
한 이미지 특성이 코드워드1과 가장 유사하면 코드워드1 빈(bin)을 하나 채워줍니다.
이런식으로 이미지 내의 특성들을 코드워드들과 매칭해 주면 히스토그램이 만들어 집니다.
히스토그램을 보면 각 이미지마다 어떤 코드워드들이 많이 포함되어 있는지를 알 수 있습니다.
이 코드북을 이용해서 코드북을 만들 때 사용되지 않았던 이미지의 히스토그램도 구할 수 있습니다.
우선 새 이미지에서 특성을 도출한 다음에 마찬가지로 그 특성들과 가장 유사한 코드워드들을 찾아줘서 히스토그램을 만들어 줍니다.
이 테스트 이미지의 히스토그램을 코드북을 생산할 때 사용한 훈련 이미지들의 히스토그램과 비교함으로 테스트 이미지가 어떤 클래스에 속하는지를 분류해낼 수 있습니다.
이 경우에는 자전거 이미지의 히스토그램과 가장 유사함으로 자전거 클래스에 속한다고 판단할 수 있습니다.
'Deep learning > Computer vision(영상처리)' 카테고리의 다른 글
Pandas (0) | 2020.02.18 |
---|---|
책(밑바닥부터 시작하는 딥러닝 2) 4 (0) | 2020.02.13 |
GAN(이론) (0) | 2020.02.12 |
책(밑바닥부터 시작하는 딥러닝 2) 3 (0) | 2020.02.11 |
책(밑바닥부터 시작하는 딥러닝 2) 2 (0) | 2020.02.10 |