본문 바로가기
Computer Science/AL, ML

[Convolution] Convolution & Cross-Correlation

by Gofo 2022. 4. 21.

수학적 정의

Convolution

Convolution의 수학적인 정의는 다음과 같다.

$G = H * F$

$G[i, j] = \Sigma ^{\infty} _{u=- \infty}\Sigma ^{\infty} _{v=- \infty} H[i-u, j-v] F[u, v]$

 

Cross-correlation

Cross-correlation의 수학적인 정의는 다음과 같다.

$T = H \bigotimes K$

$T[i, j] = \Sigma ^{\infty} _{u=- \infty}\Sigma ^{\infty} _{v=- \infty} H[i+u, j+v] K[u, v]$

$K = flip(flop(F))$

$k_i = f_{N-i+1}$

 

즉, cross-correlation은 인접요소들의 weighted sum이다.

이 때의 weight은 K에 매칭되는 요소들이다.

 


Convolution = Cross-correlation

Convolution의 filter를 좌우/상하로 대칭시켜서 연산한 것과 cross-correlation의 연산은 동일하다.

즉, cross-correlation을 이용해서 convolution을 얻을 수 있다.

 

Symmetric Box Filter

상하좌우가 동일한 symmetric box filter를 사용할 경우 convolution의 결과와 cross-correlation의 결과는 동일하다.

 

'Computer Science > AL, ML' 카테고리의 다른 글

[Convolution] 여러가지 Convolution  (0) 2022.04.21
[Convolution] Denoising  (0) 2022.04.21
Convolution  (2) 2022.04.21
Image Filtering  (0) 2022.04.21
[Optimization] Local Optima in Neural Network  (0) 2022.04.21

댓글