[컴퓨터비전] Image Filters – Padding, LPF, Median Filter

나경·2024년 12월 18일
0

Padding

padding을 사용하는 이유

Convolution FIlter를 통과하게 되면 input image가 작아지게 되는데 padding을 이용하면 기존의 크기를 유지할 수 있다

-> 만약 7x7 크기의 이미지를 3x3 필터로 convolution 연산을 수행하게 되면 5x5 크기의 output image를 얻게 된다

padding을 사용하지 않으면?

input size를 유지하지 못해서 크기가 줄어들게 된다

padding의 크기

padding = round down(the kernel size/2)

Padding 종류

Zero padding

확장된 영역에서 0을 채운다

Replicate padding

확장된 영역에서 가장 가까운 이미지 테두리 값을 채운다

Mirror padding

확장된 영역의 테두리를 가로질러 반사된 값을 채운다

Padding in 2D

Padding in 2D

the size of padding = round down(kernel size/2) = round down(3/2) = 1

When Convolution = Correlation

h[n] = h[-n]일 때, convolution과 correlation은 같다

Low Pass Filter (LPF)

저주파만 통과시키는 필터로, smoothing filter라고도 부른다

그림을 자세히 살펴보겠다

u0보다 값이 작으면 값이 1이기 때문에 곱하면 항상 자기자신의 값이니까 그대로 통과시키는 것처럼 보이게 된다 따라서 Passband이다

반면에 u0보다 큰 값은 값이 0이기 때문에 어떤 신호(input)이 와도 곱하면 0이 된다 따라서 Stopband이다

-> 낮은 값만 통과시키고 높은 값은 통과 못하기 때문에 LPF

Box Filter

Box Filter(or Average Filter)는 유명한 Low Pass Filter(LPF) 중 하나이다

오직 DC (=F(0,0))만 통과시킨다

m x n box filter는 1의 m x n 배열이며 앞에 normalizing constant가 있다

그 값은 1을 계수 값의 합으로 나눈 값입니다.
(ex) 모든 계수가 1인 경우 -> 1/mn)

Box Filter with Different Kernel Size

kernel의 사이즈가 커지면 더 블러리해진다

두 번째 사진은 3x3 kernel, 세 번째 사진은 11x11 kernel, 네 번째 사진은 21x21 kernel이다

Gaussian Filter

Low pass filter (LPF)이다

가우시안 분포는 평균을 중심으로 좌우 대칭의 종 모양을 갖는 확률분포를 말한다

이는 평균 근방에서 분포가 가장 많이 발생하고, 평균에서 멀어질수록 발생 빈도가 종 모양으로 감소하는 형태이다

kernel의 사이즈가 중요한데, kernel의 사이즈가 커질수록 blur의 강도가 더 세진다

(0,0)에서 가장 높다 따라서 (0,0)이 frequency signal이 된다

The area around the origin (원점 주변의 영역)은 저주파 영역이다 대부분의 저주파 신호를 잘 전달할 수 있다

-> 다 더하면 16 나와야 한다

-> 중심과 멀수록 크기가 작아진다

Gaussian Filter 언제 사용하나요?

일반적으로 이미지를 흐리게 하거나 noise를 줄이는 데 사용한다

가우시안 필터는 origin pixel에 더 많은 가중치를 부여하기 때문에 Average filter보다 blur 강도가 약하다

Sharpening Image with LPF(Low Pass Filter)

  1. 원본 이미지를 흐리게 해라
    = 저주파 성분만 통과시켜라
    = LPF
  2. 원본에서 흐릿한 이미지를 빼라
    -> resulting difference를 mask라고 부른다
  3. 원본에 mask를 추가해라

LPF를 통해 고주파를 제거하고 이미지에 가우시안 필터를 convolve하면 블러링된 이미지를 얻을 수 있다 이때, 블러링된 이미지를 원래 이미지에서 뺴면 이미지의 디테일한 부분을 얻을 수 있다

원본 이미지에서 블러링된 이미지를 빼면 디테일한 부분을 얻을 수 있고

원본 이미지에서 디테일한 부분을 더하면 더욱 선명한 이미지를 얻을 수 있다

Median Filter

비선형 필터이다

salt noise(밝은 노이즈)와 pepper noise(어두운 노이즈)를 지우는 데에 효과적이다

median filter가 클수록 더 blur가 세진다

Median Filter를 적용하는 방법

  1. 주어진 kernel의 영역의 값을 정렬한다
  2. 중앙값을 찾아 출력한다


참고
https://velog.io/@lcy1221/%EC%BB%B4%ED%93%A8%ED%84%B0-%EB%B9%84%EC%A0%84-10-Spatial-Filtering
https://velog.io/@wyjung0731/Gaussian-Filter
https://cho001.tistory.com/150

0개의 댓글