더북(TheBook)

Note

3×3 필터 마스크를 이용하여 입력 영상 src와 필터링을 수행하는 수식을 다시 쓰면 다음과 같습니다.

앞 수식은 입력 영상 (x, y) 좌표에 마스크 행렬을 올려놓고, 같은 위치에 있는 마스크 행렬 원소와 입력 영상 픽셀 값을 모두 곱한 후 더하는 연산입니다. 이처럼 두 개의 신호가 있을 때 같은 위치에 있는 신호 값을 모두 곱한 후 다시 더하는 연산을 신호 처리 분야에서 코릴레이션(correlation) 또는 상관이라고 합니다. 신호 처리에서 코릴레이션은 두 신호의 유사성을 판단하는 기준으로 사용되기도 합니다. 두 개의 연속 신호 fg가 있을 때 두 신호의 코릴레이션을 구하는 수식은 다음과 같습니다.

그런데 영상 필터링을 신호 처리의 컨볼루션(convolution) 연산이라고 말하는 경우가 많습니다. 컨볼루션은 회선 또는 합성곱이라고도 하며, 두 신호의 컨볼루션은 다음 수식으로 정의됩니다.

컨볼루션은 두 입력 신호 중 하나를 원점 기준 대칭 변환한 후 코릴레이션을 구하는 것과 같습니다. 그러므로 2차원 마스크 행렬과 입력 영상의 컨볼루션 연산을 정확하게 수행하려면 마스크 행렬을 상하 및 좌우 대칭으로 변환한 후 필터링 연산을 수행해야 합니다. 그러나 필터 마스크가 상하 및 좌우 대칭으로 구성되어 있는 경우에는 코릴레이션과 컨볼루션의 결과는 서로 같습니다. 영상 처리에서 널리 사용되고 있는 많은 필터 마스크가 상하 및 좌우 대칭으로 구성되어 있기 때문에 관용적으로 필터링 연산을 컨볼루션 연산이라고 부르고 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.