Multi-Granularity Anchor-Contrastive Representation Learning for Semi-supervised Skeleton-based Action Recognition
- python == 3.8.3
- pytorch == 1.11.0
- CUDA == 11.2
Download the raw data of NTU-RGB+D, NW-UCLA, and Skeleton-Kinetics. Then the commands for data preprocessing are as follows,
python ./data_gen/ntu_gendata.py
python ./data_gen/ucla_gendata.py
python ./data_gen/kinetics_gendata.py
- On NTU RGB+D cross-subject benchmark.
python main.py --config ./config/nturgbd-cross-subject/train_joint_aagcn.yaml
- On NTU RGB+D cross-view benchmark.
python main.py --config ./config/nturgbd-cross-view/train_joint_aagcn.yaml
- On NW-UCLA.
python main.py --config ./config/ucla/train_joint_aagcn.yaml
- On Skeleton-Kinetics.
python main.py --config ./config/kinetics-skeleton/train_joint_aagcn.yaml
The trained weight is here
The corresponding processed data (data_CS5) is here
python main.py --config ./config/nturgbd-cross-subject/train_joint_aagcn.yaml --weights ./runs/ntu_cs_aagcn_joint_best.pt --phase test
This repo is based on 2s-AGCN, thanks to the original authors for their works!
Please cite the following paper if you use this repository in your reseach.
@article{shu2022multi,
title={Multi-Granularity Anchor-Contrastive Representation Learning for Semi-Supervised Skeleton-Based Action Recognition},
author={Shu, Xiangbo and Xu, Binqian and Zhang, Liyan and Tang, Jinhui},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
year={2022}
}