This is the official implementation of our paper Simba: Mamba augmented U-ShiftGCN for Skeletal Action Recognition in Videos. To the best of our knowledge, this is the first skeleton action recognition model based on Mamba augmentation with GCN.
- Make pre-trained models available.
- This repo borrows inspiration from multiple codebases. Therefore, some files are redundant. Working towards cleaning the repo !
- Make the code available.
Run pip install -e torchlight
pip install -r requirements.txt
- NTU RGB+D 60 Skeleton
- NTU RGB+D 120 Skeleton
- NW-UCLA
- Request dataset here: https://rose1.ntu.edu.sg/dataset/actionRecognition
- Download the skeleton-only datasets:
nturgbd_skeletons_s001_to_s017.zip(NTU RGB+D 60)nturgbd_skeletons_s018_to_s032.zip(NTU RGB+D 120)- Extract above files to
./data/nturgbd_raw
- Download dataset from CTR-GCN
- Move
all_sqeto./data/NW-UCLA
Put downloaded data into the following directory structure:
- data/
- NW-UCLA/
- all_sqe
... # raw data of NW-UCLA
- ntu/
- ntu120/
- nturgbd_raw/
- nturgb+d_skeletons/ # from `nturgbd_skeletons_s001_to_s017.zip`
...
- nturgb+d_skeletons120/ # from `nturgbd_skeletons_s018_to_s032.zip`
...
- Generate NTU RGB+D 60 or NTU RGB+D 120 dataset:
cd ./data/ntu # or cd ./data/ntu120
# Get skeleton of each performer
python get_raw_skes_data.py
# Remove the bad skeleton
python get_raw_denoised_data.py
# Transform the skeleton to the center of the first frame
python seq_transformation.py
bash evaluate.sh
Replace path_to_model_weights argument to the saved model weights you obtain after training.
bash train.sh
Please check the configuration in the config directory.
bash evaluate.sh
To ensemble the results of different modalities, run the following command:
bash ensemble.sh
This repo is based on Hyperformer, Mamba and Shift-GCN.
Thanks to the original authors for their work!
Please cite this work if you find it useful:
@article{chaudhuri2024simba,
title={Simba: Mamba augmented U-ShiftGCN for Skeletal Action Recognition in Videos},
author={Chaudhuri, Soumyabrata and Bhattacharya, Saumik},
journal={arXiv preprint arXiv:2404.07645},
year={2024}
}For any questions, feel free to raise an issue !
