영상처리
Cross Correlation
park__
2023. 9. 1. 15:56
Cross Correlation (교차 상관)은 두 신호나 두 함수 간의 유사도를 측정하는 방법으로, 주로 패턴 인식 및 이미지 처리에서 사용됩니다. 이 방법은 한 신호나 함수가 다른 신호나 함수와 얼마나 잘 맞는지를 측정하는 데 유용합니다. 간단히 말하면, 두 신호 간의 동적 유사성을 찾아내는 과정
수학적 정의
두 함수 f(x)와 g(x)에 대해 교차 상관은 다음과 같이 정의됩니다:
- f(x)와 g(x)는 두 신호(또는 함수)입니다.
- τ는 시간 지연(shift)을 나타내며, 가 에 대해 이동(shift)된 정도를 의미합니다.
- 교차 상관 값은 τ에 대해 계산되며, τ가 커질수록 두 신호 간의 차이가 점차 커진다고 볼 수 있습니다.
교차 상관은 두 신호의 유사도를 평가하는 데 사용되며, 신호가 겹칠 때의 상관 관계를 나타냅니다. 이때, 두 신호가 동일하면 상관 값이 클 것이고, 반대로 다르면 값이 작아집니다.
이미지에서의 Cross Correlation
이미지 처리에서 교차 상관은 패턴 매칭에 널리 사용됩니다. 예를 들어, 작은 이미지 패턴(템플릿)을 큰 이미지에서 찾는 데 사용됩니다. 이 과정은 템플릿 매칭(template matching)이라고도 하며, 템플릿 이미지와 대상 이미지의 일부분 간의 교차 상관을 계산하여 유사도를 평가합니다.
이미지에서 Cross Correlation 방법
- 템플릿과 이미지 준비:
- f(x,y)f(x, y): 템플릿 이미지
- g(x,y)g(x, y): 큰 이미지(대상 이미지)
- 교차 상관 계산:
- 템플릿 이미지를 대상 이미지 내의 각 위치에 대해 이동시키면서 교차 상관을 계산합니다.
- 각 위치에서 계산된 교차 상관 값은 유사도를 나타냅니다. 교차 상관 값이 높을수록 두 이미지가 비슷하게 일치한다고 볼 수 있습니다.
Cross Correlation과 Convolution
교차 상관은 컨볼루션과 유사하지만, 중요한 차이가 있습니다. 두 개의 신호 f(x)f(x)와 g(x)g(x)에 대해 컨볼루션은 g(x)g(x)를 반전시켜서 계산하지만, 교차 상관은 g(x)g(x)를 반전시키지 않고 계산합니다. 즉, 두 함수의 위치를 바꾸지 않고, 이동시키면서 유사도를 비교합니다.
Cross Correlation의 특징
- 시간/공간 이동에 민감:
- 교차 상관은 두 신호 또는 이미지가 시간 또는 공간적으로 이동할 때 유사성을 계산하는 데 유용합니다.
- 상관값 해석:
- 교차 상관 값이 크면 두 신호 또는 이미지가 서로 유사하거나 일치한다고 할 수 있습니다.
- 교차 상관 값이 작으면 두 신호가 다르다는 것을 의미합니다.
- 잡음에 민감:
- 교차 상관은 잡음에 민감할 수 있습니다. 이미지나 신호에 잡음이 있을 경우, 그 잡음도 유사도로 계산되어 정확도가 떨어질 수 있습니다.