[알고리즘]

Convolution 개념 정리-이미지처리 기술

Neo Park 2012. 10. 24. 11:07

 

특정 픽셀의 이미지는 주변에 둘러싼 이미지에 의해서 영향을 받습니다.

Convolution는 이러한 주변 이미지와 특정 픽셀 이미지 사이에서 가중치를 적용하는 방법으로 가장 일반적인 방법중에 하나입니다.

즉, 처리하고자 하는 pixel 값을 이웃 pixel의 각각에 대응하는 2차원 배열 내의 가중치를 곱하고 그 값들을 모두 더한 값으로

변경하는 연산입니다.

(2차원 배열 : 마스크(mask), 필터(filter), 템플릿(template), 커널(kernel)

 

특정 픽셀의 이미지를 결정할때 가중치 행렬을 사용하게 됩니다. 이 행렬을 커널(kernel)이라고 부릅니다.

 

커널에 대표적인 경우는 다음과 같습니다.

 

- 노이즈 제거하는 low-pass 커널

- 모서리를 날카롭게하는 Laplacian 커널

- 모서리를 날카롭게하는 high-pass 커널

- 모서리를 무디게 하는 Gaussian 커널

 

 

****노이즈 제거하는 low-pass 커널

                   1   1   1

D(x,y)= 1/9    1   1   1

                   1   1   1

 

주변 색상을 단순히 합해서 평균을 나눠줄으로써 노이즈를 제거 가능합니다.

 

 

- 모서리를 날카롭게하는 Laplacian 커널

                 -1  -1   -1

D(x,y)= 1/9  -1    8   -1

                 -1  -1   -1

 

중앙에 값이 나머지 8개의 합과 일치합니다. 결국 중앙색을 가중치와 나머지 가중치를 동일하게 줌으로써 모러시를 날카롭게 처리할수 있다.

[Sobel 커널- 모서리의 각까지 고려한 뛰어난 커널 모드, 단점은 노이즈가 포함된 경우에 있어서는 단점을 들어냄]

 

 

- 모서리를 날카롭게하는 high-pass 커널

                 -1   -1   -1

D(x,y)= 1/9  -1     9   -1

                 -1   -1   -1

 

현제 지정하길 원하는 색상에 가중치를 좀더 줌으로써 현재 위치의 픽셀 색상을 분명하게 강렬하게 하는 방법

 

 

- 모서리를 무디게 하는 Gaussian 커널

                  1   2   1

D(x,y)= 1/16  2   4   2

                  1   2   1

 

가우시안 커널은 개념적을 주변 색상을 흐린하게 하고, 좀더 근점된 색상에 가중치를 적용합니다.

즉 중앙으로 갈수록 가중치를 적용함으로써 그라데이션하는 느낌을 준다.

 

 

참조 : http://cafe.naver.com/multism/1482