컴퓨터 비전 4장 - Image Frequency

Coding_Holic·2021년 10월 22일

컴퓨터 비전

목록 보기
2/5
post-thumbnail

today topic

  • Fourier Transform
  • Convolution Theorem

Fourier Transform

퓨리에 변환을 통해 -> 사인과 코사인의 'weighted sum'으로 신호를 decompose할 수 있다!
아날로그에서 디지털로! N-> 삼각함수의 개수가 많아질수록 근사치에 가까워진다!

Fourier Series

  • bold idea: Any univariate(단변량) 함수 (f(x))는 different frequency의 sine and cosine의 weighted sum으로 써질 수 있다.

  • periodic signal(주기 신호)

  • 공간에 대해 cos(t), sin(t)로 표현가능하다!


-> weighted 값들을 달리 표현할 수 있다!

https://www.youtube.com/watch?v=Mc9PHZ3H36M


계속 무한대로 더해 나가다보면, 즉 frequency를 쌓다보면 원래 구하려는 함수를 구할 수 있다.

이미지에 대해서 퓨리에 변환 후에 low pass filtering을 하고, 역 퓨리에 변환을 취해준다.

Euler's formula->

퓨리에 변환에는 오일러 공식이 쓰였다!-> simple하다

  • Low pass filtering in the Fourier domain
    퓨리에 domain영역에서 low frequency만 통과시키도록하고, product를 취해준다 (not a convolution)


    => fourier transform과 inverse fourier transform으로 변환하고 역변환 할 수 있다!

The Convolution Theorem

공간 영역에서 Convolution =
fourier domain에서 multiplication
(inverse의 경우도 같다!)

h와 f의 convolution한 것의 ft는 h와 f 각각 ft한 것의 convolution과 같다.

Gaussian은 ft 해도 같은 형태를 보인다.

  • filter를 취할때 "ringing" 현상이 일어난다.
    low-pass filter는 좋은 아이디어는 아니다....
    -ringing artifact를 만들고
    -infinite size를 요구한다
    -seldom what you want anyway

-> what went wrong?
-high frequency 제거하기
-not to pass through all low frequencies untouched

rigning 아티팩트 = 신호의 날카로운 전환 근처에 허위 신호로 나타나는 아티팩트

그래서 convolution theorem을 다시 적용해서....
low pass filter로 Gaussian filter(or similar filter)를 취해서 convolution해준다... (why? low pass filter 취하면 무늬생긴다.)

original vs mean filtered vs Bilateral filtered vs median filter

mean filter:

convolution operation적용

median filter:

sort and pepper에 효과적, 중간값
-> non-linear filter, central 이웃 값들을 정렬한 상태에서 middle 값을 선택 따라서 white, black 과 같은 outlier를 제거 가능하다!

https://preventionyun.tistory.com/33

bilateral filter:

쌍방필터, 가우시안 필터링을 보완한 필터
->경계선을 따라 지원지는 것을 볼 수 있다.
-> smoothing 하늘 따로, 사람 따로 filtering 한다!

퓨리에 변환 강의 요약

  • 특정 진동수의 신호가 그 밖의 진동수와 다르게 다루어지는 수학적 기계를 만드는 것
    -> 그래프를 한 원에 감자!, 신호의 진동수와 감는 진동수가 일치할때? 높은 점은 오른쪽, 낮은 점은 왼쪽에 몰리는 현상이 일어난다... 무게중심이 오른쪽으로 쏠림!
  • 시간 -> 주파수(진동수)
  • 원래 신호가 주어진 진동수에서 얼마나 강한지를 가리킨다. ?why important?
    -> 다른 관점을 제시해준다
    -> noise속에 섞여있는 주기성 데이터를 뽑아낼 수 있다. -> peak
    (비주기성의 경우에는 잘 뽑아내지 못할 수도있다!! 그래서 주기성 함수에 유용...)

퓨리에 급수 :
AC -> mass, ^f(x)
N이 늘어날수록 원래 함수에 가까워진다

profile
안녕하세용 개발에 미치고 싶은 초보 개발자입니다:)

0개의 댓글