This repository contains the software and T20 dataset used in NeurIPS 2021 paper Unsupervised Motion Representation Learning with Capsule Autoencoders.
- Recommended environment: Ubuntu 18.04 with CUDA 11.2 and CuDNN 7.6.5.
- Required Python packages: listed in
requirements.txt.
T20 and NW-UCLA are included in the repository.
For NTURGBD-60/120, download nturgbd32.tar.gz here.
Place it in data/, then extract it with tar -xzf nturgbd32.tar.gz.
This should produce data/nturgbd32.
Download checkpoints.tar.gz here.
Place the file at project root, extract it and checkpoints will be released to checkpoints/${DATASET_SUBDIR}/.
python main.py @${CONFIG_FILE}To run a pre-defined full experiment, replace ${CONFIG_FILE} with one of the
txt files in configs/. For example, python main.py @configs/t20.txt.
To test a pretrained model, replace ${CONFIG_FILE} with the config in
checkpoints/${DATASET_SUBDIR}. For example,
python main.py @checkpoints/nturgbd/60_xsub/config.txt.
A config file is essentially a line-separated list of command line parameters
passed to main.py.
If you feel like editing configs for fun, please note:
--config_pathmust point to the path of the config file relative to project root.--model_params,--ds_params,--lrsch_paramsand--loss_weightsare json strings of keyword parameters used to initialize model/dataset/lrsch or calculating loss. For--model_params, seelib/mcae/mp.py:53. For--loss_weights, seelib/mcae/mp.py:169.- Type
python main.py --helpfor other details.
Some math/spatial operations are adapted from SCAE and DDPAE. Code from MS-G3D are used to preprocess NTURGBD60/120. We would like to thank the authors for their contribution.
If you find this repository useful in your research, please cite our paper:
@misc{xu2021unsupervised,
title={Unsupervised Motion Representation Learning with Capsule Autoencoders},
author={Ziwei Xu and Xudong Shen and Yongkang Wong and Mohan S Kankanhalli},
year={2021},
eprint={2110.00529},
archivePrefix={arXiv},
primaryClass={cs.CV}
}