Back to MLP: A Simple Baseline for Human Motion Prediction(WACV 2023)
A simple-yet-effective network achieving SOTA performance.
In this paper, we propose a naive MLP-based network for human motion prediction. The network consists of only FCs, LayerNorms and Transpose operation. There is no non-linear activation in our network.
NOTE: In the paper, we asume that FC is realized by nn.conv1D, so we have two transpose operation before/after the spacial FC layers, see the pipeline figure. While in this repo, we use nn.Linear to implement FC, so in the code there is only one transpose after the spacial FC layer. These two implementations are equivalent. (for a input tensor (b, n, d), nn.conv1D operates on dimention n, while nn.Linear operates on dimention d).
- PyTorch >= 1.5
- Numpy
- CUDA >= 10.1
- Easydict
- pickle
- einops
- scipy
- six
Download all the data and put them in the ./data directory.
Original stanford link has crashed, this link is a backup.
Directory structure:
data
|-- h36m
| |-- S1
| |-- S5
| |-- S6
| |-- ...
| |-- S11Directory structure:
data
|-- amass
| |-- ACCAD
| |-- BioMotionLab_NTroje
| |-- CMU
| |-- ...
| |-- Transitions_mocapDirectory structure:
data
|-- 3dpw
| |-- sequenceFiles
| | |-- test
| | |-- train
| | |-- validationcd exps/baseline_h36m/
sh run.shcd exps/baseline_amass/
sh run.shcd exps/baseline_h36m/
python test.py --model-pth your/model/pathcd exps/baseline_amass/
#Test on AMASS
python test.py --model-pth your/model/path
#Test on 3DPW
python test_3dpw.py --model-pth your/model/path If you find this project useful in your research, please consider cite:
@article{guo2022back,
title={Back to MLP: A Simple Baseline for Human Motion Prediction},
author={Guo, Wen and Du, Yuming and Shen, Xi and Lepetit, Vincent and Xavier, Alameda-Pineda and Francesc, Moreno-Noguer},
journal={arXiv preprint arXiv:2207.01567},
year={2022}
}Feel free to contact Wen or Me or open a new issue if you have any questions.
