본문 바로가기

Image & Video Processing

Linear Filter와 Non-Linear Filter 의 개념과 차이점

 

Linear Filter란?

Linear Operation을구현하는 필터.
즉 선형필터(Linear Filter)란 선형 시스템을 구현하는 필터를 말한다.
선형 시스템이란 입력과 출력의 관계가 선형(linear)인 시스템을 말한다.
 

선형성(Linearity)란 무엇인가?

 선형성이란, input들의 weigted sum에 대한 filter 응답은 각 input들에대한 filter 응답의 weighted sum과 같다는 뜻이다.
이해가 안된다고..?
 f(a x(t) + b y(t) ) = a f(x(t)) + b f(y(t)) 
와 같은 성질을 선형성이라고 한다. 
a와 b는 상수 계수( constant coefficient ) 이다.
 

선형성은 Homogeneity (동질성)과 Superposition(중첩원리)로 구성된다.

1) Homogeneity (동질성)

동질성이란, 선형 시스템에 어떤 입력을 상수 배 곱하여 입력하면 출력 또한 원래의 출력의 상수 배가 되는 성질이다.
f(a x(t)) = a f(x(t))
 

2) Superposition (중첩원리)

Additivity(가산성)이라고도 하며, 어떤 두 입력을 더해서 입력했을때, 출력도 원래의 두 출력의합과 같은 성질이다.
f(x(t) + y(t)) = f(x(t)) + f(y(t))
어떤 두 입력을 더해서 입력하면 출력도 원래 두 출력의 합과 같다. 
 
시스템이 선형성을 가지면 시스템의 출력이 입력에 대해서 일관적으로 나타나므로, 시스템의 특성에 대한 파악과 사용이 쉽다. 다시말해, 선형 필터의 superposition과 homogeneous 특성은 시스템의 수학적 분석을 쉽게 하고 예측 가능하게 한다. 
시스템은 수학적으로 다음과 같이 표현할 수 있다.
y(t) = x(t) * h(t)
h(t) 는 filter의 impulse response이며 *는 convolution이다.
 

선형 필터의 특징들     

1) Superposition ( Additivity) 
2) Homogeneity
3) Convolution - Based : 
    필터의 출력은 필터의 임펄스응답(h(t))과 입력을 convolution 하여 얻는다.
4) Frequency Domain Analysis
    푸리에 변환과 같은 주파수 영역 변환 기법을 사용하여 분석하고 설계할 수 있다.
5) Predictable Behavior
    입력과 출력 사이에 sequential한 order를 가지므로 예측 가능하다.
    다시 말해 출력력에 영향을 주는 이전 인풋들이 정해져 있다는 뜻이다. 
    어떤 출력에는 300개 전 인풋이 관여하고, 어떤 출력에서는 5개 전 인풋이 관여하는 랜덤 오더가 아니라는 뜻이다.
 

Non-Linear Filter란 무엇인가?

Linear Filter와 다르게 suprposition과 homogeneity를 만족하지 못하는 필터를 말한다. 이는 출력이 단순히 입력값에 비례하는 관계를갖지 않는 다는 뜻이다. 
출력은 인풋 값들에 대한 function 혹은 array가 될수도 있고, 혹은 어떤 수학적 알고리즘이 될 수도 있다. 
 
Non-Linear Filter는 어떤 특성(attribute)가 유지되어야(retained) 하거나, 어떤 distortion이 제거되어야 하는 작업에 적합하다. 예를 들면 noise 제거, edge detection, image enhancement같은 application에 사용된다.
 
Linear Filter와는 대조되게, Non-Linear Filter 함수는 예측불가 불규칙적이며 어떠한 factor로 단순 계산 될 수 있는 것이 아니다. 이처럼 non-linear filter는 기능적으로 다양하고 유용해보이지만 연구/공부하기에는 매우 까다로운 특성을 갖는다.
 
 

Non - Linear Filter의 특성들

1) Non-Superposition
입력들의 합에 대한 출력이 단순 출력들의 합이 아닐 수 있다.
2) Complex Operations
median filtering, morphological transformation, adaptive filtering 등 복잡한 연산을 수행한다.
3) Effective Noise Reduction
특정 노이즈를 제거하는데 더 우수한 성능을 보인다. 예를 들면 salt-and-pepper noise 를 edge distortion 없이 제거 가능하다.
4) Edge Preservation
Edge나 이미지의 detail을 보존하거나 강조할 수 있다.
5) Adaptive Behavior
국부적인(local) input 특성에 따라 처리를 다르게 할 수 있으며, 따라서 복잡하고 다양한 데이터의 이상적인 처리가 가능하다. ==> 쉽게 말해 이미지의 전체를 일괄 처리하는 것이 아니라, 움직이는 필터 윈도우에 잡힌 입력 특성에 따라 알맞은 처리를 한다는 것이다. 
 
 
 

Linear Filter의 응용(application)들

  • Smoothing & Blurring 

noise의 level을 감소시킨다. 하지만 이미지의 디테일한 부분들도 소실된다. ex ) Gaussian & Averaging Filters

  • Signal Filtering in Communication Systems

통신 채널에서 원치 않는 주파수 성분을 제거하기 위해 사용하는 필터들. 

  • Edge Detection ( Basic )

Sobel Filter와 같은 linear edge detectors. Intensity gradients의 변화를 감지하여 edge 를 detect하고 강조한다.
 

  • Data Smoothing

시계열 데이터에서 변동성을 제거하고 경향성을 강조하기 위해 사용되는 필터들 

  • Audio Signal Processing

음성 신호에서 노이즈를 제거하고 특정 프리퀀시를 제거하기 위한 필터들
 
 
 

Non-Linear Filter의 응용(application)들

  • Noise Reduction ( salt-and-pepper noise ) 

median filter는 이미지를 뭉개지 않고 salt-and-pepper noise를 제거하는 데에 효과적이다

  • Edge Detection ( Advanced )

morphological operators 같은 non-linear filters는 linear filter보다 더 나은 성능으로 edge를 향상시킬 수 있다.

  • Image Enhancement

image의 밝기나 노출을 개선하기 위한 technique들이 해당된다.

  • Medical Image Processing 

MRI나 CT 같은 의료 영상에서 노이즈를 제거하고 어떤 특성(feature)를 증폭하기 위해서도 non-linear filter들이 사용된다.

  • Adaptive Filtering 

filter parameter가 input signal의 속성에 따라서 변화한다.