이 영역을 누르면 첫 페이지로 이동
컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

페이지 맨 위로 올라가기

컴퓨터와 수학, 몽상 조금

컴퓨터공학, 딥러닝, 수학 등을 다룹니다.

SIFT: Scale Invariant Feature Transform 을 이용한 Blob Detection

  • 2023.03.08 19:31
  • Deep Learning/영상처리

Edge, Line, Corner 검출에 이어 이번에는 blob 검출이다.
blob detection은 이미지에서 특성을 추출해야 할 일이 있을 때 최근 들어 가장 흔히 쓰이는 방법이라고 한다.

blob은 영어로 물방울 형태를 뜻하는 말로, 원형이라고 생각해도 되겠다.
이해를 위해 blob detection의 결과 이미지를 먼저 보자.

blob detection

이미지 여기 저기에 크고 작은 원형으로 특징점이 검출된 것을 알 수 있다.

Laplacian Filter

Blob detection도 지금까지 해온 detection들처럼 합성곱 필터를 통해 수행된다.
Blob 형태의 필터를 이용해 합성곱을 수행하면, 이미지 내에서 blob 형태의 속성이 있는 영역은 큰 값을 갖게 되고, 해당 속성이 없다면 작은 값을 출력하는 것이다.

Blob 형태를 검출하기 위해 사용되는 라플라스 필터는 가우시안 함수를 두 번 미분하여 얻는다.

2D Laplacian Function

$$ G_\sigma (x) = \frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{x^2}{2\sigma^2}) \\
\frac{\partial}{\partial x}G_\sigma(x) = -\frac{x}{\sigma^2}G_\sigma(x)\\
\frac{\partial^2}{\partial x^2}G_\sigma(x) = (\frac{x^2}{\sigma^4} - \frac{1}{\sigma^2})G_\sigma(x)$$

위 식은 이해를 위해 1D 라플라스 함수를 표현하였는데, 그냥 똑같이 $y$축에도 적용하면 위 그림과 같은 2D 라플라스 함수 형태의 필터가 생성된다.

라플라스 필터의 성질은 중앙에서 매우 작은 값을 갖고, blob 형태의 가장자리에서는 큰 값을 내는 것이다.

즉, 라플라스 필터를 합성곱 하면 고리 형태의 edge들을 검출해 낸다.

라플라스 필터의 크기

라플라스 필터는 가우시안 함수의 미분으로 만들기 때문에, 가우시안 함수의 크기를 결정하는 $\sigma$ 변수로 크기를 조절할 수 있다.

$\sigma$가 커질수록 라플라스 필터가 검출하는 blob의 크기도 커지는 것이다.

S. Lazebnik

라플라스 필터가 검출하고자 하는 blob의 크기와 다르면 라플라스 필터는 2개의 local minima를 출력하는데, 만약 blob의 크기와 라플라스 필터의 크기가 딱 알맞다면 하나의 큰 local minima를 형성한다.

SIFT: Sclae invariant 한 특징 변환

이미지 안에는 다양한 크기의 blob 형태 특징점들이 있다.
이렇게 다양한 scale의 특징을 모두 검출하기 위해 SIFT가 도입되었다.

  1. 우선, 이미지에 대해 다양한 크기($\sigma$)를 갖는 라플라스 필터들을 적용하고, 절댓값을 적용한다.
  2. 출력된 각각의 feature map들에서, local maxima들을 찾는다.
    이 local maxima들은 위에서 설명한 것처럼, blob의 중심 위치를 나타낸다.
  3. 2. 에서 찾아낸 blob들을 각기 다른 scale의 feature map을 둘러보며, local maxima를 찾는다.

2. 에서 먼저 이미지 내부의 blob의 위치를 찾고, 3. 에서 blob의 정확한 크기를 찾는 것이다!

이 방법으로 이미지 내부의 수많은 다양한 크기의 blob들을 찾아낼 수 있다.

그런데 이때, 라플라스 필터는 가우시안 함수의 미분으로 연산량이 많으므로, 가우시안의 차(Difference of Gaussian; DOG)로 근사하여 실제 연산을 수행한다.

$$ DoG = G(x, y, k\sigma) - G(x, y, \sigma)$$

방법은 어렵지 않은데, 이미지에 다양한 스케일($\sigma$)의 가우시안 필터를 적용하고, 각 결과를 서로 빼서(-) DOG를 구하면 된다.

Reference

  • http://csundergrad.science.uoit.ca/courses/cv-notes/notebooks/11-local-features.html

'Deep Learning > 영상처리' 카테고리의 다른 글

이미지 변형 (Image Transformation)  (1) 2023.03.09
SIFT: Scale Invariant Feature Transform을 이용한 Feature Matching  (0) 2023.03.08
코너 검출 (Corner Detection)  (0) 2023.03.08
Line Fitting (RANSAC, HOUGH transform)  (0) 2023.03.08
엣지와 그래디언트 (Edge and Gradient)  (0) 2023.03.07

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 이미지 변형 (Image Transformation)

    이미지 변형 (Image Transformation)

    2023.03.09
  • SIFT: Scale Invariant Feature Transform을 이용한 Feature Matching

    SIFT: Scale Invariant Feature Transform을 이용한 Feature Matching

    2023.03.08
  • 코너 검출 (Corner Detection)

    코너 검출 (Corner Detection)

    2023.03.08
  • Line Fitting (RANSAC, HOUGH transform)

    Line Fitting (RANSAC, HOUGH transform)

    2023.03.08
다른 글 더 둘러보기

정보

컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

  • 컴퓨터와 수학, 몽상 조금의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (282)
    • Tech Trend (3)
    • Deep Learning (77)
      • 공부 노트 (21)
      • 논문 리뷰 (44)
      • 논문 스키밍 (1)
      • 영상처리 (11)
    • Engineering (3)
      • Tips (2)
      • Experiences (1)
    • Blog (48)
      • 회고 & 계획 (20)
      • 내 이야기 (9)
      • 리뷰 (3)
      • 군대에 간 공돌이 (10)
      • ML엔지니어 취업 도전기 (1)
      • 여행 (4)
    • 학부 수업 (141)
      • 머신러닝 (16)
      • C프로그래밍 (8)
      • 자료구조 (11)
      • 알고리즘 (17)
      • 디지털시스템 (25)
      • 컴퓨터구조 (11)
      • 확률과 통계 (21)
      • 선형대수학 (14)
      • 이산수학 (18)
      • 데이터시각화 (0)
    • 강의 (9)
      • 딥러닝 기초 (7)
      • Python (2)

공지사항

인기 글

정보

백지오의 컴퓨터와 수학, 몽상 조금

컴퓨터와 수학, 몽상 조금

백지오

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • profile
  • github
  • linkedin

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. © 백지오. Designed by Fraccino.

티스토리툴바