영상처리 도구에 설명된 OpenCV Template Matching 활용 시 선택할 수 있는 “Method”에 대한 추가 설명입니다. 아래 그림에서처럼 총 6가지 수식 중 하나를 사용할 수 있게 되어 있고, “Method” 중에 _NORMED 표시는 정규화 Normalization에 약자 정도로 보면 됩니다. 수학적 접근에 기반하여 각 수식들은 두 영상 간 같은지 또는 다른지 정도를 거리 Distance로 정의하고 있고 간단한 수식(1)에서부터 복잡한(6) 수식으로 표현하고 있습니다.

 

 

 

위 수식들에서 T Template, ISource Image로 보고, 실제 동작으로 I를 기준으로 T를 움직이면서 픽셀 Pixel 간 처리를 통해 Matching 정도를 분석하게 됩니다.

 

Method 1. CV_TM_SQDIFF은 차이값의 제곱합 Square Sum of Difference을 의미하고 수식에서처럼 픽셀 간 차이가 거리가 되며 결론적으로 가장 작은 값을 갖는 위치가 Matching 위치로 볼 수 있습니다.

Method 3. CV_TM_CCORR은 상관관계 Cross Correlation을 의미하고 픽셀 간 곱의 전체 합으로 Template 간 거리 정도를 나타내며 최종 가장 큰 값을 갖는 위치가 Matching 위치가 됩니다.

Method 5. CV_TM_CCOEFF는 상관계수 Cross Correlation Coefficient로 표현되고 위 방법들과 다르게 Template Source 에 픽셀 평균 Mean값을 제외한 곱에 전체 합을 거리로 나타내며 특징지도 Feature Map에 가장 큰 값을 갖는 위치가 Matching 위치가 됩니다.

 

Method 1 2와 다르게 수식(5)는 평균값이 추가되어 조금 복잡해졌죠. 일반적으로 수식이 복잡해지면 조금 더 외부요인에 강건해지는 효과가 있습니다. 실무에서 영상정합 시 잡음이나 밝기 변화 등에 외부요인을 고려해야 하고 수식(5) 상관계수는 영상 간 선형적 밝기 변화에 수식(1) (2)보다 강건한 효과가 있습니다. 더 나아가 _NORMED이 붙는 정규화 함수가 추가되면 Matching 성능이 더욱 향상됩니다.

 

정규화 관련해서는 위 수식에서처럼 Pearson correlation coefficient를 통해 통계학 Statistics적으로 유도해 볼 수 있습니다. 실무에서 패턴 정합은 많은 외부요인들을 고려해야 하며 OpenCV에 제공되는 방법 외에도 다양한 방법들이 존재합니다. 위 방법들에 기본 원리를 잘 이해하면 실무에서 응용하는데 상당한 도움이 될 수 있습니다.

+ Recent posts