728x90

기술자 descriptor

- 특징점 내부와 주위로 부터 얻은 정보와 정보 추출 알고리즘

 => 특징에 대해 설명해줌

- 특징 벡터 feature vector : 일정 크기의 벡터임

 

 

특징 벡터와 기술자

- 패턴 인식에서 특징 벡터, 영상 처리에서 특징의 정보를 기술자라고 주로 부름

- SIFT, SURF와 같이 개선된 특징점 검출 알고리즘을 구했다면, 기술자도 좋은 기술자를 구해야함.

 

 

특징 기술자 성질

- 기술자끼리 구분 가능해야함 -> 이후 매칭시 대응하기 위함

- 불변성 : 영상이 회전, 크기, 광도 등 변환이 일어나도 기술자는 불변해야함

- 특징 벡터의 크기를 줄여야 함 -> 한 영상에서 특징 수천개 존재, 매칭시 특징간 거리 계산하므로 차원이 낮아야함.

 

 

관심점의 정보

- 스케일 정보가 없는 경우 (y, x)

- 스케일 정보를 갖는 경우 (y, x, omega)

 

 

SIFT 특징

- 키포인트라고도 부름

- 스케일 정보를 가진 (y, x, omega) 형태 -> 스케일 변환에 불변

- 회전 변환에 불변하기 위한 정보가 필요

 

 

주요 방향의 필요성

- 회전 불변하기 위한 정보가 필요 -> 주요 방향 dominant orientation을 우선 찾음

 1) 키포인트 중심으로 윈도우(커널)

 2) 윈도우 내 픽셀에 대해 그라디언트 방향 히스토그램으로 주요 방향 찾음

  * 10도 간격으로 양자화 -> 히스토그램은 36칸 가짐

  * 그라디언트 크기에 가우시안을 컨볼루션하여 멀수록 작은 가중치 반영

  => 히스토그램에서 가장 큰 값을 나타내는 방향이 주요 방향

- 아래의 그림은 이미지 그라디언트와 키포인트 기술자 예시

 * 좌측은 방향이 10도 간격으로 양자화(36단계)됨, 우측은 8단계로 양자화된 그라디언트 방향 히스토그램

https://www.researchgate.net/figure/On-the-left-a-keypoint-descriptor-is-created-by-computing-the-gradient-magnitude-and_fig3_282751150

 

키포인트 정보

- (y, x, omega, theta)로 정리.

- 기술자를 얻기 위해 윈도우 컨볼루션

 * 주요 방향이 기준이 되도록 좌표계 설정 -> 방향 불변성 성립

1) 위 그림에서 한박스만 보자. 윈도우를 4x4로 분할하여 블록이 16개 존재. 현재 10도 간격으로 36단계의 방향이 표현됨

2) 위 블록에 존재하는 16픽셀의 그라디언트를 계산하여, 8단계 양자화된 그라디언트 방향 히스토그램 추출

=> 이 데이터는 4(가로박스 개수)x4(새로박스 개수)x8(방향) = 128차원의 특징 벡터 x가 됨

3) 벡터 x를 벡터의 크기 ||x||로 나누어 단위 벡터 획득

 => 회전, 광도 불변한 128차원 SIFT 특징 기술자 완성

 

 

 

SIFT 기술자 추출기

- 입력 : SIFT detector로 검출한 특징점(관심점, 키포인트 - y, x, omega)

- 출력 : 키포인트(기존의 키포인트 + 주요 방향 + 특징벡터 x)

 

 

 

300x250

+ Recent posts