-
[컴퓨터 비전] 합성곱(Convolution), 공간 필터(Spatial Filtering)Computer Vision 2024. 4. 13. 13:03반응형
Spatial Filtering
Spatial mask, kernel, template, windws라고도 불린다.
0<x<M, 0<y<N / a=m/2 b=n/2
일 때
하지만 이는 아래와 같이 중심이 1이고 나머지가 0인 이미지에 대해 180도 회전한 것처럼 적용된다.
0 0 0 0 1 0 0 0 0 이러한 이미지에 아래와 같은 필터를 적용하면,
1 2 3 4 5 6 7 8 9 최종 결과는 아래와 같다.
180도 회전한 것으로 되었다.
9 8 7 6 5 4 3 2 1 (간단하게 생각해보면, 위 수식에서 x와 y 항 뒤에 붙은 s와 t의 부호가 +이다.
1이 아닌 다른 영역은 다 0이므로, f(x+s, y+t) 항이 1이 되는 곳만 위 상황에서 0이 아닌 값이 되므로, x-s와 y-t 좌표에서 필터가 적용될 것이다. 따라서 180도 회전한 것처럼 된다.)
Convolution
이러한 특징을 의도하지 않았을 수 있으므로, 180도 회전하지 않도록 하는 방법이 Convolution이다.
이는 시간 신호 처리에서도 많이 등장하는 개념으로, 아래와 같이 Spatial Filtering의 수식과 비교했을 때 부호가 다른 것을 확인할 수 있다.
Convolution은 교환법칙이 성립하여, 위 식에서 f를 앞에 두고 계산하여도 동일한 결과가 나온다.
또한, Spatial Filtering (또는 Correlation)의 결과에서 보였던 180도 회전도 일어나지 않는다.
시간 신호에서의 convolution을 생각하면, 신호를 뒤집었을 때 원래 함수의 앞부분을 먼저 마주하게(곱하게) 되므로, 뒤집어지지 않는 것이다.
CNN (Convolutional neural network)
CNN은 합성곱을 이용한 신경망이다.
CNN에서의 합성곱은 필터(또는 커널)를 이용해 이미지의 Feature, 특징을 추출해낼 수 있다는 것이 핵심이다. 커널의 변수들을 반복적으로 학습하여 어떤 필터로 이미지의 특징을 뽑아낼 것인지 결정한다.
반응형'Computer Vision' 카테고리의 다른 글