인공지능(AI)/컴퓨터비전(CV)

[패턴인식] 특징 기술(1): 특징 기술자, 영역 기술자

계속지나가기 2021. 12. 17. 17:16
반응형

Feature Describe

목차

0. PREVIEW

1. 특징 기술자의 조건

2. 관심점을 위한 기술자

3. 영역 기술자

4. 텍스쳐

5. 주성분 분석

6. 얼굴 인식: 고유 얼굴

 

0. PREVIEW


앞 절에서 공부한 특징 검출 단계

  • 에지, 지역특징,영역
  • 매칭에 사용하기에 턱없이 빈약한 정보

 

풍부한 정보를 어떻게 추출할까?

  • 특징 기술 단계는 검출된 특징의 내부 또는 주위를 들여다 보고 풍부한 정보를 추출
  • 특징의 성질을 기술(Describe)해주므로 기술자(Descriptor),
  • 또는 여러 개의 값으로 구성된 벡터 형태이므로 특징 벡터(Feature Vector)라고 부름

 

 

1. 특징 기술자의 조건


특징 기술자(Feature Descriptor)

  • 특징을 일련의 숫자(벡토)로 표현한 것
  • 특징 기술자를 통해 생성된 특징 벡터 간 거리(distance) 또는 유사도(similarity) 계산

 

 

매칭이나 인식에 유용하기 위한 몇 가지 요구 조건

  • 높은 분별력
  • 다양한 변환에 불변
    • 기하 불변성(Geometry Invariant)과 광도 불변성(Photometric Invariant)
    • 변환에도 불구하고 같은(유사한) 값을 갖는 특징 벡터 추출해야 함
    •  
      다양한 변환
  • 특징 벡터의 크기(차원)
    • 차원이 낮을수록 계산 빠름
  • 응용에 따라 공변과 불변을 선택해야 함

 

2. 관심점을 위한 기술자


 

관심점을 어떻게 기술할 것인가?

관심점 주위에 대한 세밀한 관찰

  • 들여다 볼 윈도우의 크기가 중요
  • 스케일 정보가 없는 관심점의 경우(해리스 코너)
    • 윈도우 크기를 결정하는데 쓸 정보가 없음
    • 스케일 불변성 불가능
  • 스케일 정보가 있는 관심점(SIFT, SURF)
    • 스케일 $\sigma$에 따라 윈도우 크기 결정
    • 스케일 불변성 달성

 

2.1 SIFT 기술자

4장에서 검출한 SIFT 키포인트(관심점)

  • 검출된 옥타브 $o$, 옥타브 내의 스케일 $\sigma_o$, 그 옥타브 영상에서 위치 $(r,c)$ 정보를 가짐

 

SIFT 기술자의 불변성

  • 스케일 불변 달성
    • 윈도우를 옥타브 $o$, 스케일 $\sigma_o$인 영상의 위치 $(r,c)$에  씌움
  • 회전 불변 달성
    • 지배적인 방향 계산
    • 윈도우 내의 그레디언트(gradient) 방향 히스토그램을 구한 후, 최대값을 갖는 방향을 찾음
    • 윈도우를 이 방향으로 씌움
  • 광도 불변 달성
    • 특징 벡터 x를 ||x||로 나누어 정규화함
    • normalized x = $\frac{x}{||x||}$

 

SIFT 기술자 추출 알고리즘 

SIFT 기술자 추출을 위한 좌표계와 4x4 블록

  • 윈도우를 4*4의 16개의 블록으로 분할
    • 각 블록은 그레디언트(gradient)방향 히스토그램 구함
    • 그레디언트 방향은 8개로 양자화
  • 4*4*8=128 차원 특징 벡터 X
  • 알고리즘
    • 더보기
      더보기
      # input: detected keypoint set p_i, by input image f
      #        p_i = (y_i, x_i, sigma_i), 1 <= i <= n
      # output : keypoint set p_i that adding descriptor 
      #        p_i = (y_i, x_i, sigma_i, theta_i, X_i), 1 <= i <= m
      
      for i in range(1, n+1):
      	# calculate dominant direction theta_j about p_i, 
          # that time, one keypoint can be multiple keypoints
         	...
          # calculate feature vector x_u about p_i
          ...
          # normalize X_i
          ...

 

 

2.2 SIFT의 변형

PCA-SIFT(Principle Component Analysis)

  • [Ke2004]
  • 키포인트에 39*39 윈도우를 씌우고 도함수 $d_y, d_x$를 계산 
  • 39*39*2차원의 벡터를 PCA를 이용하여 20차원으로 축소

 

GLOH, 모양 콘텍스트

GLOH와 모양 콘텍스트가 사용하는 원형 윈도우

  • [Mikolajczyk2005a]
  • GLOH
    • 원형 윈도우로 17*16차원의 벡터를 추출하고, PCA를 이용하여 128차원으로 축소
  • 모양 콘텍스트
    • 원형 윈도우로 36차원 특징 벡터 추출

 

 

2.3 이진 기술자

빠른 매칭을 위해 특징 벡터를 이진열로 표현

이진 기술자의 조사 패턴

  • 비교 쌍의 대소관계에 따라 0또는 1
  • 비교 쌍을 구성하는 방식에 따라 여러 변형
  • 비트 연산 기반의 빠른 연산을 제공함
  • 매칭은 해밍 거리(Hamming distance)를 이용하여 빠르게 수행
    • 해밍거리란? 곱집합 위에 정의되는 거리 함수로, 같은 길이의 두 문자열에서 같은 위치에서 서로 다른 기호들이 몇 개인지를 셈
    • '1011101'과 '1001001'사이의 해밍 거리는 2이다. (1011101, 1001001)
    • "toned"와 "roses"사이의 해밍 거리는 3이다. (toned, roses)
       

 

BRIEF, OPR, BRISK

  • 이진 기술자의 특성 비교
    •   스케일 불변 회전 불변 특징 벡터 비트 수
      BRIEF X X 256bit
      ORB X O 512bit
      BRISK O O 512bit
  • 세 가지 이진 기술자가 사용하는 조사 패턴

 

 

 

3. 영역 기술자


영역의 표현

 

 

3.1 모멘트

(q+p)차 모멘트

물리에서 힘을 측정하는데 쓰는 모멘트를 영상에서 특징을 추출하는데 적용

 

중심 모멘트

 

크기(스케일) 불변 모멘트

 

회전 불변 모멘트(PASS)

명암 영역의 모멘트

식 (6.8)의 크기 불변과 식 (6.9)의 회전 분변한 모멘트는 동일하게 정의됨, 잘 안쓰는 모멘트

 

 

3.2 모양

여러가지 모양 특징

 

투영

프로파일

 

3.3 푸리에 기술자(Fourier Transform)

입력 신호를 기저 함수의 선형 결합으로 표현

신호를 기저 함수의 선형 결합으로 표현

두 신호의 계수(0.5,2.0)과 (2.0,0.5)는 둘을 구별해주는 좋은 특징 벡터임

신호가 입력되면 어떻게 계수를 알아낼 것인가?

  • 푸리에 변환으로 가능
    • t(.)가 계수에 해당
    • i축: 공간 도메인, u축: 주파수 도메인
  •  

 

영역에 푸리에 변환을 어떻게 적용하나(PASS)

 

<4. 텍스쳐 부터는 다음 게시글에서 계속...>

https://codingsmu.tistory.com/121

 

[패턴인식] 특징 기술(2): 특징 기술자, 영역 기술자

 

codingsmu.tistory.com

 

반응형