-
Gabor Filter 이해하기Tech/Vision 2013. 11. 19. 03:49
영상처리에서 Bio-inspired라는 키워드가 있으면 빠지지않고 등장하는 Gabor Filter. 외곽선을 검출하는 기능을 하는 필터로, 사람의 시각체계가 반응하는 것과 비슷하다는 이유로 널리 사용되고 있다. Gabor Fiter는 간단히 말해서 사인 함수로 모듈레이션 된 Gaussian Filter라고 생각할 수 있다. 파라미터를 조절함에 따라 Edge의 크기나 방향성을 바꿀 수 있으므로 Bio-inspired 영상처리 알고리즘에서 특징점 추출 알고리즘으로 핵심적인 역할을 하고 있다.
2D Gabor Filter의 수식은 아래와 같다.
위에서와 같이 5개의 파라미터를 조절해서 사용할 수 있다. 복잡해보이는 파라미터들의 의미를 Filter Kernel을 JET Color Mapping한 이미지와 함께 직관적으로 이해해보자. (JET Color Mapping은 실제 Kernel 값을 기반으로 했으며, 사이즈만 가로, 가로 4배씩 Lienar Interpolation하였다.) Parameter를 나타내는 순서는 (σ,θ,λ,γ,ψ)다.
- σ: Gaussian Distribution에서 사용되는 그 σ 맞다. Kernel의 너비를 결정하는 가장 중요한 요소. Gabor Filter는 이 값에 의해서 그 범위가 결정된다. 아래는 (10,0,4π,0,1)을 기준으로 σ를 5,10,15로 바꿔가면서 나타낸 Filter 모양이다.
- θ: Kernel의 방향성을 결정한다. 즉, Gabor Filter가 추출하는 Edge의 방향을 결정한다. 이 파라미터 덕분에 Gabor Filter가 방향에 따른 Orientation을 구하는 용도로 널리 사용된다. 예를 들어, 45도 각도의 Edge를 검출하고 싶다면 π/4로 설정하면 된다. (10,π/4,4π,0,1)부터 θ값을 차례로 증가시키면 아래와 같다.
- λ: Gabor Filter Kernel의 사인 함수를 조절한다. Gabor Filter는 중심으로부터 주변 값을 더하기도 하고, 빼기도 해서 값을 결정하는데 이 λ값은 그 더하고 빼는 반복 주기를 결정한다. 결과적으로 이야기하면, 영상처리에서는 이 값을 조절해서 Edge의 크기에 따라 검출/비검출을 결정할 수 있다. 아래는 (10,0,π/4,0,1)부터 시작해서 λ가 4π가 될 때까지 Gabor Kernel의 개형을 나타낸 것이다.
- ψ: 중심으로부터 Gabor Filter가 얼마나 이동하는지를 나타내는 값(단위는 Raidan)으로 Gabor Filter의 중간값을 결정한다. Sinusoidal 함수에 익숙하다면 Phase를 결정하는 파라미터로 이해하면 된다. 이 값이 0일 때, Gabor Filter의 중간값은 가장 큰 값을 가지고, π/2일 때는 중심을 기준으로 최대값과 최소값이 대칭을 이룬다. (아래 그림 참조)π일 때는 중심에서 최소값을 가지는 Gabor Filter가 된다. 아래는 그 3가지 경우에 대해 나타낸 Kernel Image이다. (JET colormap이므로 푸른색으로 갈수록 낮은 값, 붉은색으로 나타날수록 높은 값이다.)
- γ: Filter의 가로, 세로 비율을 조절할 수 있는 값. 대부분의 경우 1이면 적당하다. (모든 방향으로 같은 비율을 가진다.) 값이 적어질수록 타원으로 바뀐다.