Kaboom

Kernel, stride and padding size 본문

AI

Kernel, stride and padding size

akawarren 2020. 12. 9. 14:47

Kernel

 

이미지에서 특성을 뽑아내기 위한 Patch라고 보면 된다. Kernel은 주어진 이미지를 흝으면서 대응되는 좌표에 대해 연산을 수행함으로서 그 결과를 통해 이미지에서 특성을 추출하게 된다.

 

 

Padding

 

Padding은 한마디로 이미지 주변에 테두리를 치는 작업이다.

 

여기 4 X 4 크기의 2차원 이미지 데이터가 있다고 가정해 보자.

 

위의 이미지에 크기가 1인 Zero-Padding을 적용하면, 이미지의 크기는 (4 + 2) X (4 + 2)가 된다.

 

일반화하면, n x n 크기의 이미지가 있을 경우, 크기가 p인 Padding을 적용하면 이미지의 크기는 (n + 2p) x (n + 2p)이 된다.

 

Stride

 

이미지에 Kernel을 적용하면 Kernel은 이미지의 가장 왼쪽(Leftmost)부터 가장 오른쪽(RIghtmost)까지 움직이면서 연산을 수행하게 되는데, 이때 Kernel이 다음 위치로 이동할 때 얼만큼 크기를 가지고 steppinng을 할 것이냐에 대한 값이다.

 

 

최종 출력 크기

 

 

입력 이미지가 정사각형이고 폭이 n이고,

Kernel이 정사각형이고 폭이 k 이고,

Stride의 크기가 s이고,

Padding할 크기가 가로 세로 모두 p라면

 

최종 출력의 크기는

 

((n + 2p - k) / s) x ((n + 2p - k) / s)

 

가 된다.

Comments