본문 바로가기

ComputerScience/ImageProcessing

Computer Vision - Spatial filtering (Several Filters)

728x90

1. 2D filter

- delta 필터이후에 결과에 추가로 값을 더하고 싶을때 사용한다. (보통은 0)

- bordertype은 이미지의 경계에 있는 픽셀에 대해서 convolution을 수행하고자하면 이미지 밖은 값이 없기 때문에 필터가 어떻게 계산을 수행할 것이냐를 말한다. 앵커포인트와 동일할 값을 채워서 계산할수도 있고 이미지를 반전시켰을때 값으로 채워서 사용할수도 있다.

- 평균 필터를 사용하는 이유는 convolution이후 영상의 밝기가 밝아지지 않도록 normalize하기 위해서다. (곱하기 연산을 해서 모두 더하면 값이 커지니까 평균내서 다시 작게 만들어야 함)

2. sepFilter

- seperate filter는 2D convolution 연산을 x방향으로, y방향으로 분리해서 계산하는 방법이다. (연산속도가 빠름)

- X커널, Y커널 따로 매개변수로 넣어준다.

- x방향으로 한번 구하고 바로 y방향으로 구해도 괜찮다

- 1/49 로 채워진 7 by 7 평균필터를 avgX, avgY로 나누어 seperatable 필터를 사용해봤다.

3. box filter

- 주변픽셀과 평균을 낸다. smoothing을 위해 사용한다. smoothing에 box필터는 많이 사용하지 않는다.

4. bilateralFilter

- smoothing을 할 때, 가우시안 분포를 가장 많이 사용한다. 거리 차이를 고려한다.

- 표준편차 시그마에 따라서 마스크의 크기 d를 결정한다. ( d = 2 x 3 x sigma + 1 )

- 마스크가 가우시안 분포를 알맞게 담기 위해서는 분포의 99.73퍼센트를 차지하는 3시그마 길이를 포함해야 한다.

- 즉 1시그마 길이의 6배 크기를 포함할 수 있는 마스크면 된다. 그 중 홀수 길이를 채택한다.

- 가우시안 필터는 거리에 따라 weight를 반영하는 정도를 다르게 했었다.

- bilateral 필터는 거리 뿐만아니라 밝기값 차이를 고려하여 스무딩을 수행한다.

- 영상의 가운데 지점을 기준으로 거리 가우시안 필터, intensity가우시안 필터를 적용한 결과이다.

- 앵커포인트 5를 중심으로 거리가 가까우면 1/8 멀면 1/16으로 weight가 결정된다.

- 앵커포인트 5를 중심으로 밝기값 차이가 크면 0 밝기가 비슷한 정도에 따라 1/6로 weight가 결정된다.

- 즉 두개의 가우시안 필터를 거친 결과를 곱한, 9.4 * 4.7이 앵커포인트의 결과값이 된다.

- 일반 가우시안 필터를 적용하면 전체적으로 smoothing이 되지만 bilateral 필터를 적용하면 붉은 주근깨만 smoothing된다. 왜냐하면 밝기값의 분포도 고려하여 smoothing을 하였기 때문이다.

5. SobelFilter

- edge를 찾아내는데 1차 도함수를 활용한다.

6. Laplacian

- edge를 찾아내는데 2차 도함수를 활용한다.

- 2차 도함수의 결과로 생기는 zero crossing point들을 찾으면 edge가 도출된다.

7. LoG

- noise를 고려하여 smoothing이후 edge를 검출한다.

- 가우시안 분포를 두번 미분한 filter이다.

728x90
반응형