728x90

사례 인식

- 어떤 종류에 속하는 특정한 사례가 인식의 대상

- 아래의 그림은 개구리와 기차에 대한 모델이 존재할때, 아래의 사진이 입력된 경우 사진 요소들의 사례 인식 

 

 

 

 

이전의 사례 인식 연구

- 다른 물체에 의해 가려지거나 뒤틀려진 경우를 고려하지 않은 단순한 경우들을 연구

=> 실제 환경에서는 다른 물체로 가려지거나 찌그러질수도 있음.

 

사례 인식을 위한 방법

1. 전통적인 방법

- 기하학적 인식

2. bag of words 단어 가방

 

 

 

 

 

 

 

 

 

기하 정렬

- 한 물체에 대해 일관적인 매칭 쌍 모음

 -> 물체가 여러 종류인 경우에는 어떻게 다룰까?

 

기하 정렬 알고리즘 구성

- 2 단계로 구성

1. 모델 구축 단계 

 검출 관심점 전처리 -> 특징 벡터 추출 -> 관련 정보와 저장 = 특징 집합 P

  -> P의 워소들을 인덱싱(해싱이나 kd트리)

2. 인식 단계

  기능 : 영상이 입력 됨 -> 존재 물체 물체 판단 -> 기하변환 행렬 계산 및 출력

   입력 영상서 관심점과 특징 벡터 추출 -> 각 물체 분류의 매칭쌍 리스트 추출 -> 매칭쌍 리스트로 기하 정렬 수행 

  -> 기하 변환 행렬 취득 -> 기하변환 행렬이 임계치를 넘으면 해당 분류의 물체가 인식된것으로 판단

* 기하 정렬 수행 알고리즘 : RANSAC 활용 => 입력 매칭쌍 리스트, 출력 기하 변환 행렬

기하 정렬의 예시

 

 

 

 

 

 

 

 

 

기하 정렬의 한계와 정보 이론

- 기하 정보의 한계 : 계산 시간이 오래 걸림

- 개선 방안 : 기존의 정보 검색 이론을 활용

- ex. 정보 검색 엔진은 빠르게 질의어로 문서를 찾아줌

 

 

정보 검색의 원리

- 문서를 빈도 벡터로 변환하여 간략화

=> 단어 집합에 있는 단어가 문서에서 나오는 횟수를 벡터로 표현

 

 

텍스트 문서를 빈도 벡터로 바꾸기

- 텍스트 문서

 doc1 길동은 농구와 탁구를 좋아한다.

 doc2 농구 선수나 탁구 선수가 되길 원하는 학생이 많다.

 

- 사전 : [길동, 농구, 탁구, 좋아하다, 선수, 되길 원하다, 학생, 많다]

 

- 벡터

  1. v1 = {1, 1, 1, 1, 0, 0, 0, 0}

  2. v2 = {0, 1, 1, 0, 2, 1, 1, 1}

 

 

 

 

 

 

 

 

 

 

단어가방 Bag of Words 이란

- 정보 검색에서의 경우 문서를 단어 벡터로 만들어 표현하는 방식

 

정보 검색 알고리즘

- 정보 검색의 핵심 연산 -> 문서간 유사도 측정

- doc1과 doc2의 유사도를 구할수 있으면 됨

 => doc1과 doc2는 비교하기 어려우므로 , v1과 v2를 비교

 

단어 빈도 벡터 term frequency vector

- v1, v2처럼 단어의 횟수를 나타내는 벡터.

- tf 벡터라고도 함

 

 

 

 

 

 

 

 

 

tf-idf 벡터

- tf term frequency: 단어 빈도

 -> 아래의 경우 정규화된 단어의 빈도수

- idf inverse document frequency : 역문서 빈도

 -> log (전체 문서 갯수 / i번째 단어가 나온 문서의 갯수)

- tf-idf 벡터는 정규화된 단어 빈도와 역문서 빈도로 아래와 같이 정의

  => 많이 나온 단어에 더 큰 가중치를 줌(정규화 단어빈도) + i번째 단어 문서가 적다면 높은 가중치(역문서 빈도) 

 

두 tf-idf 벡터간 유사도 측정

- 두 벡터의 유사도 = 두 벡터 사잇 각 코사인 => 코사인 유사도

- 질의 된 문서의 벡터와 k번째 문서의 벡터 사이 유사도는 아래의 식으로 계산 가능

 

 

 

 

 

영상에서의 단어 가방

- 영상에서의 단어 후보 : 에지, 영역, 관심점

 => 최적의 단어 : 관심점 + 기술자 <-> 문제점 : 특징은 크기도 크고 많으므로 계산량이 매우 커짐

- 개선 방안 : 가까운 특징 벡터들을 중 하나를 대표 단어로 사용.

 

벡터 양자화

- 특징 공간을 임의의 d 개로 나누는 작업

=> 군집화 알고리즘이 사용(ex. k-means)

 

시각 단어 visual word

- 특징 공간 상의 각 구간에 대한 대표 특징 벡터

-> 시각 단어의 갯수 = 사전의 크기는 d개

 

시각 단어 사전 구축하기

1. 영상에서 특징과 기술자 검출

2. 벡터 양자화를 수행

3. 클러스터링 하여 대표 특징 벡터 획득 -> 시각 단어로 사용

4. 각 분류에 대해 tf-idf 벡터 계산

 

 

영상 인식

- 입력 영상에서 특징 벡터 추출

- 사전에 존재하는 분류중 하나인 경우 유사도가 비슷함

- 사전에 없는 부류라면 모든 시각 단어와 유사성이 낮음 -> 인식 못하는 특징 벡터(시각 단어)

 

 

 

 

 

300x250

+ Recent posts