David의 개발 이야기!

[CV Lecture 03] Linear Filtering 본문

컴퓨터비전

[CV Lecture 03] Linear Filtering

david.kim2028 2023. 11. 29. 18:48
반응형

A. Linear Filtering

1. Linear Filter란?

A linear filter performs a sum-of-products operation between an image f and a filter (or kernel, or mask) w. The kernel w is an array whose size defines the neighborhood of opertation, and whose coefficient determine the nature of the filter.

 

 

 

2. Linear Filters 특성

 

Additivity

-> 선형 필터가 두개 이상의 입력신호를 결합할 때, 각 신호에 대한 필터의 출력을 단순히 합해서 전체출력을 계산할 수 있다.

Homogeneity

->  입력신호가 스케일링 되었을때, 출력도 동일한 비율로 스케일링 된다는 것을 의미한다. 

Shift Invariance:

    -> 위치가 달라도 convolution 연산하면 같은 결과가 나온다. 아래 그림 참조.(translation invariance 라고도 함)

 

 

 

 

 

Any linear, shift invariant operation can be expressed as convolution

 

 

3. Efficient implementation : separability

2D function w(x, y) 는 w1(x) * w2(x) 로 분리될 수 있다. 

여기서, w1, w2는 1-D인데, 이는 w = cr^T로 나타낼수 있으며 두개의 벡터의 곱으로 표현될 수 있다. 

 

분리가능한 커널을 사용하면, convolution 을 게산하는 데 필요한 연산의 수를 크게 줄일수 있다.

기존의 2차원 convolution 은, m x n 번의 곱셈이 필요하지만, 분리가능한 커널을 사용하면, m + n 의 곱셈으로 줄일수 있다. 

 

 

B. Smoothing and Sharpening

1. Smoothing with box filter (mean filters)

 

Boxfilter 크기가 클수록 더 smoothing 되는 경향을 확인할 수 있다!! 오른쪽 아래 그림은, 21 x 21로 filtering 한 결과.

 

2. Smoothing with box filter (Gaussian filters)

A Gaussian filter gives less weights to pixels further from the center of the filter.

가우시안 필터는 필터 중심에서 더 멀리 있는 픽셀에 더 적은 가중치를 부여합니다. 

 

 

세타 값이 커질 수록 smoothing 효과가 커집니다.

 

3. Sharpening

 

sharpening 은, 이미지의 세부사항을 더 뚜렷하게 만들어, 전반적인 이미지의 대비를 개선하는 기술이다. 이는 이미지의 경계선이나, 텍스처와 같은 부분을 강조함으로써, 선명도를 향상시킨다. 

 

단점으로는, noise가 있는 경우, 주변값과 두드러지는 문제가 있다.

 

 

Sharpening 의 방법중 하나로, Unsharp masking 이 있다.

 

Unsharp Masking 순서

 

1. Blur the original image

2. Substract the blurred image from the original ( the resulting difference is called mask )

3. Add the mask to original

 

 

 

 

본 포스팅에서 linear filtering에 대한 개념과, smoothing, sharpening 기법에 대해 배웠다.

반응형
Comments