이번 시간에는 공간 필터링(Spatial Filtering)에 대해 정리해보겠다. 공간 필터링은 이미지 처리(Image Processing)의 기본적이면서도 강력한 기술 중 하나이다. 본 글에서는 공간 필터링의 기본 원리, 상관(Correlation) 및 컨볼루션(Convolution) 연산의 차이, 다양한 공간 필터(Spatial Filter)의 종류와 특징, 그리고 실제 적용 시 고려사항까지 깊이 있게 다루고자 한다.
공간 필터링(Spatial Filtering)이란?
공간 필터링이란 이미지 내 특정 픽셀의 값을 그 픽셀 주변 이웃 픽셀 값들과 정의된 가중치의 조합으로 계산된 새로운 값으로 대체하는 연산 과정이다. 이때 사용되는 가중치 배열은 필터(Filter), 마스크(Mask), 커널(Kernel), 템플릿(Template), 또는 윈도우(Window) 등 다양한 용어로 불린다. 이 과정은 마치 작은 연산 도구(커널)를 이미지 전체 영역에 걸쳐 이동시키며 각 위치에서 정의된 연산을 수행하는 것과 유사하다. 공간 필터링의 주된 목적은 노이즈 감소(Noise Reduction), 엣지 강조(Edge Enhancement) 등 이미지의 특정 공간적 특성을 개선하거나 부각시키는 것이다.
![]() |
example |
상관(Correlation)과 컨볼루션(Convolution) 연산
공간 필터링의 핵심 연산 방식에는 상관(Correlation)과 컨볼루션(Convolution), 두 가지가 존재한다.
- 상관(Correlation): 필터 마스크를 이미지 상에서 이동시키면서, 겹치는 영역의 픽셀 값과 마스크 계수를 직접 곱하여 모두 더하는 연산이다.
- 컨볼루션(Convolution): 필터 마스크를 180도 회전시킨 후, 상관 연산과 동일한 방식으로 연산을 수행하는 방식이다.
만약 사용하는 필터 마스크가 대칭(Symmetric) 형태라면, 상관 연산과 컨볼루션 연산의 결과는 동일하다. 컴퓨터 비전(Computer Vision) 분야, 특히 CNN(Convolutional Neural Network)과 같은 딥러닝 모델에서는 컨볼루션 연산이 기본적이고 핵심적인 연산으로 널리 사용된다.
![]() |
Correlation vs Convolution |
공간 필터의 종류와 특징
공간 필터는 주로 처리 목적에 따라 평활화 필터(Smoothing Filter)와 샤프닝 필터(Sharpening Filter)로 분류된다.
1. 평활화 필터 (Smoothing Filter)
평활화 필터는 주로 이미지 블러링(Blurring)이나 노이즈 제거를 위해 사용된다. 이미지의 급격한 변화를 줄여 부드럽게 만드는 효과를 가진다.
- 평균 필터 (Average Filter): 커널 내 모든 픽셀 값의 산술 평균으로 중심 픽셀 값을 대체한다. 구현이 매우 간단하고 일반적인 노이즈 감소에 효과적이나, 엣지(Edge)까지 흐리게 만드는 단점이 있다. 예를 들어, 3x3 평균 필터는 모든 계수가 1/9인 커널을 사용한다.
- 가우시안 필터 (Gaussian Filter): 가우시안 함수 형태의 커널을 사용하여 가중 평균을 계산한다. 중심 픽셀에 높은 가중치를 부여하여 평균 필터보다 자연스러운 블러링 효과를 내며, 엣지 보존(Edge Preservation) 능력이 상대적으로 우수하다. 또한, 링잉 현상(Ringing effect)이 적다는 장점이 있다. 가우시안 분포의 표준 편차(σ) 값 조절을 통해 평활화 정도를 제어할 수 있다.
- 중앙값 필터 (Median Filter): 커널 내 픽셀 값들을 정렬하여 중간값(Median)으로 중심 픽셀 값을 대체하는 비선형 필터이다. 특히 소금-후추 노이즈(Salt-and-pepper noise)와 같은 임펄스 노이즈(Impulse noise) 제거에 매우 효과적이며, 엣지 보존 능력 또한 뛰어나다.
![]() |
smoothing filter applied example |
2. 샤프닝 필터 (Sharpening Filter)
샤프닝 필터는 이미지의 엣지나 세부 디테일을 강조하여 이미지를 선명하게 만드는 데 사용된다. 이는 이미지의 미분(Differentiation) 연산과 관련이 깊다.
- 소벨 연산자 (Sobel Operator): 이미지의 1차 미분 근사치를 계산하여 주로 엣지 검출(Edge Detection)에 사용된다. 수평 방향과 수직 방향의 엣지를 각각 검출하기 위한 두 개의 커널(Gx, Gy)을 사용한다. 커널 내 '2' 값은 중심 픽셀 방향의 변화에 더 큰 가중치를 부여하고 노이즈 민감도를 줄여 엣지 검출 정확도를 높이는 역할을 한다.
![]() |
horizontal / vertical |
- 라플라시안 필터 (Laplacian Filter): 이미지의 2차 미분 근사치를 계산한다. 밝기 변화율이 큰 영역, 즉 엣지나 미세한 디테일을 강조하는 데 효과적이다. 일반적인 3x3 라플라시안 커널의 예시는 아래와 같다.
![]() |
Laplacian filter example |
공간 필터링 구현 시 고려 사항
이미지에 공간 필터를 적용할 때는 몇 가지 중요한 기술적 고려사항이 있다.
- 마스크 크기(Mask Size): 마스크 크기가 커질수록 필터링 효과는 강해지지만, 연산 비용도 함께 증가한다. 일반적으로 3x3, 5x5 등 홀수 크기의 마스크를 사용하며, 최소 크기는 보통 3x3이다.
- 경계 처리(Boundary Handling): 이미지 경계 영역에서는 필터 마스크가 이미지 바깥으로 벗어나는 문제가 발생한다. 이를 해결하기 위해 이미지 외부에 특정 값(주로 0)을 채우는 영 패딩(Zero Padding) 등의 패딩(Padding) 기법을 적용하여 출력 이미지 크기를 원본과 같게 유지하거나, 경계 픽셀 값을 복사하는 등의 처리가 필요하다.
- 필터 계수(Filter Coefficients): 필터 마스크 내 각 계수 값은 필터의 고유한 특성을 결정한다. 따라서 원하는 처리 목적(노이즈 제거, 엣지 검출 등)에 맞는 적절한 필터 계수를 설계하거나 선택하는 것이 중요하다.
결론
공간 필터링은 컴퓨터 비전 및 이미지 처리 분야에서 이미지 분석과 전처리를 위한 핵심적인 기초 기술이다. 평활화 필터, 샤프닝 필터 등 다양한 필터의 종류와 그 원리를 이해하는 것은 이미지를 효과적으로 개선하고 원하는 정보를 추출하는 데 필수적이다. 본 정리가 공간 필터링에 대한 깊이 있는 이해를 구축하는 데 도움이 되기를 바란다. 앞으로도 컴퓨터 비전 관련 심도 있는 학습 내용을 꾸준히 정리해 나갈 예정이다.
추천글:
[컴퓨터비전개론] Digital Image Fundamentals & Contrast Enhancement