Home
🥗

리뷰 : MixSTE (CVPR2022)

0. Abstract

1.
2D KeyPoint Sequence에서 3D Huamn Pose를 뽑는 Transformer Based Model이 최근 많음
2.
Spatio-Temporal의 관계를 학습시키기 위해 모든 Frame의 Body Joint를 글로벌하게 본다.
3.
이전 방법은 각 Joint의 Inter-Frame 대응을 효율적으로 모델링 할 수 없어서 학습이 제대로 안됐다.
4.
MixSTE는 Temporal-Spatial Transformer가 번갈아서 사용되어서 더 낫다.

1. Introduction

Lifting

1.
최근 Lifting Method 기반 3D Body Joint 뽑는 연구가 많다.
2.
Lifting은 2D Pose에서 3D Pose를 매핑하는 방법을 뜻한다.
3.
Monocular기반 Lifting은 Depth의 모호함때문에 같은 2D Pose도 여러 3D Pose로 매핑될수 있다.
4.
따라서 (1)Monocular (2)Single Frame Lifting은 정확한 3D Pose를 만들기 어렵다

Temporal Infomation

1.
Video를 이용해 Temporal Infomation를 넣음으로서 위의 이슈 해결에 큰 진전이 있었다.
2.
최근엔 Transformer Based 연구(PoseFormer)가 Spatio-Temporal Infomation까지 사용했다.
3.
PoseFormer는 성능 향상을 보였지만, 다른 Joint간의 다른 움직임 양상을 고려하지 않았다.
4.
때문에 Transformer의 dd를 늘려야해서, 자연히 Sequence Length Capacity를 희생해야했다.

Seq2Frame

1.
Poseformer는 Sequence를 입력받아 Centeral Frame만 예측하는 seq2frame 모델이다.
2.
많은 모델이 성능을 높이기 위해 이런 방법을 따르는데, 시퀀스의 일관성이 무너지는 문제가있다.
3.
또 모든 Frame에 대해 Inference 하려면 Overlap을 많이 해야해 중복 연산이 크게 생긴다.

Seq2Seq

1.
Many to Many형식으로 Sequence를 입력받아 Sequence를 출력하는형식이다.
2.
LSTM, GCN등을 이용해 학습하며 이 역시 좋은 성능을 보인다.
3.
그러나 Output이 Over-Smooth한 경향이 있으며, Global Depedency를 모델링하지 못한다.
4.
LSTM의 낮은 효율성도 큰 문제다.

MixSTE

1.
MixSTE는 각 Joint별로 모델링을 해 다른 Joint간 움직임 양상을 고려했고, Temporal Dim을 줄였다.
2.
Sequence의 일관성을 유지하며 Long Term Depedency를 모델링하는 Seq2Seq구조를 설계했다.
3.
Transformer로 Seq2Seq 형태의 3D HPE를 하는 첫번째 시도다.

2. Relative Works

3D Human Pose Estimation

Seq2Frame, Seq2Seq

3. MixSTE

구조 요약
1.
2D KeyPoint CN,TRN×T×2C_{N,T} \in \mathbb{R}^{N \times T \times 2} 를 입력으로 받는다 (N = Joint, T = Seq_len)
2.
Feature dimension dmd_m으로 Linear Projection한다.
3.
Block에 대응되는 Encoding Matrix를 더해 Spatial, Temporal을 번갈아 모델링한다.
4.
Regressoin Head를 이용해 3D Pose Sequence를 얻는다.

3.1 Separate Temporal Correlation Learning

1.
이전 연구와 다르게, Joint별로 Time Dimension에 따라 분리하고 병렬적으로 모델링한다.
2.
Temporal한 관점에서, 각각의 Trajectory를 모델링 함으로써 시간적 상관관계를 더 잘나타낸다.

3.2 Alternating Design with Seq2Seq

1.
Alternating Design을 위해 RNN류 모델을 쓰곤 하는데, 이는 병렬적 연산이 어렵다.
2.
MixSTESTB, TTBdld_l Loop동안 쌓았다. 이때 Positional Encoding은 첫 Block에만 더해줬다.
3.
Seq2Seq 구조 덕분에 효율적인 예측이 가능하며, Sequence가 길어질수록 그 차이가 더 커진다.

3.3 Loss Function

LwL_w : WMPJPE(Weighted Mean Per-Joint Position Error) Loss
LtL_t : TC(Temporal Consistency) Loss
LmL_m : MPJVE Loss

4. Experiment

4.1 Dataset

H3.6M, 3DHP, HumanEva

4.2 Implementation Details

TT : Dataset별로 다르게 사용, H3.6M (TT=81,243), 3DHP (TT=1,27), HumanEva (TT=43)
WW : Joint의 분류별로 다르게 사용, (Torso=1, Head=1.5, Middle Limb=2.5, Terminal Limb=4.0)
Compile Detail
Batch size = 1024
Dropout rate = 0.1
Activation = Gelu

5. Conclusion

1.
MixSTE는 Novel한 Seq2Seq Transformer Based Method이다.
2.
다른 Body Joint의 움직임과 Sequence 일관성을 더 잘 모델링한다.
3.
아쉬운점은 부정확한(예측된) 2D Joint에 의존한다는점이다.

+ Supplementary Material