3. ViTPose

Untitled

1. Patch embedding layer

input : original image

Untitled

output: image patch F0

( downsampling ratio d(16) )

Untitled

Untitled

[downsample]

person instance가 있는 image가 주어지면, downsampling ratio인 dd 짜리 patch로 나눠준다.
$\mathbb{R}^{d^2
3}$ 인 patch $N(=\frac{H}{d}\frac{W}{d})$개가 생기므로 전체 patch는
$x_p\in\mathbb{R}^{N
d^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으로 들어간다.

2. Transformer Encoder

Untitled

Untitled

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} $$

Multiple-Head Self Attention

$$ F_{i+1}'=F_{i}+MHSA(LN(F_{i})) $$

[Layer Norm]

embedded patch에 layer normalization을 적용

[Linear Layer]