input : original image
output: image patch F0
( downsampling ratio d(16) )
[downsample]
person instance가 있는 image가 주어지면, downsampling ratio인 dd 짜리 patch로 나눠준다.
$\mathbb{R}^{d^23}$ 인 patch $N(=\frac{H}{d}\frac{W}{d})$개가 생기므로 전체 patch는
$x_p\in\mathbb{R}^{Nd^2*3}$ 이 된다.
[flatten]
2D인 각 patch를 flatten하여 dd3 짜리 1D로 만들어준다
$x_p\in\mathbb{R}^{N*(d^2*3)}$
[linear projection]
transformer의 input으로 constant한 size의 vector를 받기 때문에, dd3인 각 patch를 C dimension으로 linear projection 한다.
모든 patch에 linear projection 적용해 나온 output $x_p\in\mathbb{R}^{NC} =\mathbb{R}^{\frac{H}{d}\frac{W}{d}*C}$ 이 F0가 되어 transformer의 input으로 들어간다.
input : embedded patches
$$ F_0\in\mathbb{R}^{\frac{H}{d}*\frac{W}{d}*C} $$
output: Fi
$$ F_i\in\mathbb{R}^{\frac{H}{d}*\frac{W}{d}*C} $$
$$ F_{i+1}'=F_{i}+MHSA(LN(F_{i})) $$
[Layer Norm]
embedded patch에 layer normalization을 적용
[Linear Layer]