ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Perception] 3-1. Visual Features
    CV & ML 2022. 3. 19. 11:40

    오늘은 이미지에서 뽑아내는 특징점에 대해 알아보도록 하겠습니다.

     

    영상에서 특징점은 왜 필요할까요?

    1. localization과 reconstruction

    2. 장소 인식 등 서로 다른 것들은 분류

     

    어떤 것들이 특징점이 되야 할까?

    어떻게 촬영되든 계속해서 특징점으로 인식(detect)되어야 -> detection invariance

    다른 영상에 찍힌 같은 특징점은 이웃들의 상태를 묘사하는 정보에 의해서 제대로 짝지어 져야 함 -> descriptor invariance

     

    대표적인 특징 추출 방법: SIFT

    scale space 개념

    위키피디아에는 이렇게 적혀있다.

    2D 영상이 있을 때, 선형적인 scale-space은  2D gaussian filter을 이용하여 convolution 한 신호들의 집합으로 표현할 수 있다. 밑에 그림은 t(가우시안의 분산)에 따른 영상의 scale-space를 나타낸 그림이다. 

    t에 따른 scale-space

    이 때 신호는 normalize한다. 그 이유는 laplacian 응답 신호가 사라지지 않도록 하기 위함이다. 

     

    분산 값이 서로 다른 가우시안 블러링 된 이미지들을 서로 빼서 Difference of Gaussian(DoG) 영상들을 생성한다. 

    SIFT 로 keypoint 찾기

    우리는 앞서서 scale space에 대해 배웠고, 이 scale space로 DoG를 계산하는 방법도 배웠습니다.

    이제는 Laplacian of Gaussian을 생성하여 scale invariant 한 keypoint를 찾는 방법에 대해 배워보겠습니다. 

    영상에 한 점을 뽑아 같은 scale에서 8개의 이웃점들과 비교, 현 scale보다 한단계 coarser, finer 한 scale-space에서 9개의 이웃점과 비교하여 local extrema인 것은 가능성있는 keypoint라고 봅니다. 

     

     

    Keypoint Descriptor

    rotation-invariant 한 특징을 찾기 위해서는 먼저 이웃들과의 gradient를 계산한다. 영상을 16x16 칸으로 나눠 각 칸의 gradient을 계산하여 360도를 표현하기 위한 36 bin에 맞는 방향을 선택한다. 그런 다음 4x4 로 histogram을 다시 계산한 후에 가장 dominant한 gradient를 가진 방향을 일정 방향 (예를 들면 벡터를 x축 방향으로 바꾸기)하게 나열하면 모든 특징을 rotation invariant하게 나타낼 수 있다. 

    다음은 SIFT를 사용하여  뽑힌 keypoint와 descriptor 들 모습이다. 

    SIFT를 사용하여 추출된 keypoint와 descriptor

    참고한 블로그

    https://medium.com/data-breach/introduction-to-sift-scale-invariant-feature-transform-65d7f3a72d40

    댓글

Designed by Tistory.