컴퓨터비전 - 7(SIFT)

박승현·2023년 10월 9일
0

컴퓨터비전

목록 보기
7/15
post-thumbnail

SIFT(Scale Invariant Feature Transform)

  • 헤리스 코너의 스케일에 불변하지 않다는 단점을 고려하여 나온 새로운 지역 특징 검출(코너) 알고리즘

  • 거리에 따른 스케일의 변화

    • 기존에는 코너처럼 보이지만 영상을 확대하면 엣지나 플랫처럼 보일 수 있음
    • 이런 현상을 구분하지 못했던 것이 헤리스 코너

Types of invariance

  • Illumination(조명)
    • 헤리스 코너에는 해결 못했던 문제
  • Scale
    • scale도 헤리스 코너에서는 해결 못했음
  • Rotation
    • 헤리스 코너에서 해결 가능
  • Affine
    • 헤리스 코너에서 해결 가능

SIFT

  • Illumination, Scale의 변화에도 특징점(코너)를 잘 발견하기 위해 만듬

파노라마 영상 만들기

  • 두개의 영상에서 특징점을 찾고 매칭을 시킴
  • 특징점 매칭
    • 각각의 영상에서 특징점을 찾음
    • 공통된 특징점에서 매칭되는 짝을 찾아야함
      • Affine, perspective에 따라 매칭점이 최소 6개 8개 필요
  • 영상 align
    • 매칭되는 특징점을 이용해 영상을 rotation등의 변화를 주는 작업

영상이 여러개여도 가능함


특징점 매칭의 고려할 사항

  • 각 영상의 공통된 특징점을 찾아야 함
    • 특징점을 조명이나 로테이션에 따라 다르게 찾으면 매칭이 불가능 할 것임
  • 똑같은 특징점들을 어떤 방법으로 매칭할 것인가
    • 기술자(descriptor)를 통해 해당 특징점을 잘 반영하면서 다른 특징점과의 차이도 잘 기술할 수 있어야 함

스케일 공간

  • 다해상도 이미지에서 공통적으로 특징으로 검출되어야 스케일의 변화에 강인한 특징이라고 할 수 있음
  • 피라미드 이미지를 활용
    • width, height를 1/2씩 줄여가면서 해상도를 다르게 함
  • 가우시안 필터사용
    • 시그마값을 다르게 하여 동일한 해상도에서 다른 이미지를 저장
  • 가우시안 필터와 피라미드 영상을 동시에 사용하여 여러개의 영상을 저장하여 특징을 검출한다
    • 시그마값을 4개의 다른 값으로 설정하고 피라미드 영상을 4개로 설정하면 총 영상의 숫자는 16개가 된다(각 해상도마다 다른 시그마 값의 가우시안 필터를 씌움)
  • 단일 해상도에서 여러 가우시안값으로 보는 이유
    • 시그마의 값이 커질수록 필터가 커짐(스무딩의 효과가 커짐)
    • 시그마의 값을 하나의 축으로 사용, 스케일을 다른 축으로 사용하면 3차원의 스케일 공간을 만들어 낼 수 있음

SIFT 알고리즘

  • DoG 필터
    • 가우시안 필터를 씌운 각각의 영상의 차이를 필터로 만듬
    • 같은 스케일의 DOG필터에서 공통적인 특징이 나타나면 그 점은 해당 스케일에서의 특징이라고 할 수 있음
    • 그리고 해당 위치에서 다른 스케일에서도 동일하게 특징이 검출되면 그 특징점이 스케일에도 강한 특징점이 됨

SIFT 검출

  • SIFT의 스케일 공간
    • 피라미드 + 가우시안 구조
    • 각 층은 같은 스케일의 묶음
    • 층마다 다른 시그마 값으로 스무딩함
  • 정규 라플라시안 맵 구축
    • DOG필터, 시그마 값이 하나 큰 필터를 적용한 영상에서 그보다 시그마 값이 하나 작은 필터를 적용한 영상을 빼는것은 2차 미분한 값과 매우 유사
      -> 2차미분 : 라플라시안 필터
  • 특징점(키포인트) 검출
    • 한 스케일에는 5장의 DOG영상 존재
    • 중간에 끼인 세 장의 DOG맵에서 극점을 검출
      • 극점 : 주위 26개의 이웃에 대해 최저, 최대인 점
    • 검출된 극점이 키포인트
  • 위, 아래의 DOG맵에서는 나타나지 않고 본인의 DOG 맵에서만 극점이 검출되어야 키포인트
    • 가운데에서만 극점이 검출된 경우
  • 추가로 해당 스케일에서 키포인트로 만들어진 점이 다른 옥타브에서도 동일하게 키포인트로 검출되어야 스케일에도 강한 특징점인 것
  • 옥타브의 변화에 따라 키포인트가 유지되는지 검출하는 식

SURF 검출(해당 강의에서는 자세히 X)
  • SIFT는 처리시간이 매우 느림
  • 시간을 줄이기 위해 SURF알고리즘이 나옴
  • 헤시안 행렬을 사용

profile
KMU SW

0개의 댓글