ACLNet
PyTorch implementation of "Affinity Contrastive Learning for Skeleton-based Human Activity Understanding"
Install / Use
npx skills add firework8/ACLNetInstalls into whichever agent you are using.
README
ACLNet
This is the official PyTorch implementation for "Affinity Contrastive Learning for Skeleton-based Human Activity Understanding". [PDF] [Hugging Face]
Installation
git clone https://github.com/aclnet/ACLNet.git
cd ACLNet
conda env create -f aclnet.yaml
conda activate aclnet
pip install -e .
Data Preparation
PYSKL provides links to the pre-processed skeleton pickle annotations.
- NTU RGB+D: NTU RGB+D Download Link
- NTU RGB+D 120: NTU RGB+D 120 Download Link
- Kinetics-Skeleton: Kinetics-Skeleton Download Link
- PKU-MMD: PKU-MMD Download Link
- FineGYM: FineGYM Download Link
For Kinetics-Skeleton, since the skeleton annotations are large, please use the Kinetics Annotation Link to download the kpfiles and extract it under $ACLNet/data/k400 for Kinetics-Skeleton.
Note that the kpfiles needs to be extracted under Linux. Additionally, Kinetics-Skeleton requires the dependency Memcached to run, which could be referred to here.
You could check the official Data Doc of PYSKL for more detailed instructions.
Training & Testing
Please change the config file depending on what you want. You could use the following commands for training and testing. Basically, we support distributed training on a single server with multiple GPUs.
# Training
bash tools/dist_train.sh {config_name} {num_gpus} {other_options}
# For example: train on NTU RGB+D X-Sub (Joint Modality) with 1 GPU, with validation, and test the checkpoint.
bash tools/dist_train.sh configs/ntu60_xsub/j.py 1 --validate --test-last --test-best
# Testing
bash tools/dist_test.sh {config_name} {checkpoint_file} {num_gpus} {other_options}
# For example: test on NTU RGB+D X-Sub (Joint Modality) with metrics `top_k_accuracy`, and dump the result to `result.pkl`.
bash tools/dist_test.sh configs/ntu60_xsub/j.py checkpoints/CHECKPOINT.pth 1 --eval top_k_accuracy --out result.pkl
# Ensemble the results
cd tools
python ensemble.py
Pretrained Models
All the checkpoints can be downloaded from here.
For the detailed performance of pretrained models, please go to the Model Doc.
Acknowledgements
This repo is mainly based on PYSKL. We also refer to MS-G3D, CTR-GCN, and FR-Head.
Thanks to the original authors for their excellent work!
Citation
If you find ACLNet useful in your research, please consider citing our paper:
@article{liu2026affinity,
title={Affinity Contrastive Learning for Skeleton-based Human Activity Understanding},
author={Liu, Hongda and Liu, Yunfan and Ren, Min and Sui, Lin and Wang, Yunlong and Sun, Zhenan},
journal={arXiv preprint arXiv:2601.16694},
year={2026}
}
Contact
For any questions, feel free to contact: hongda.liu@cripac.ia.ac.cn
Related Skills
mcp
Use the `mcp_perplexity-ask_perplexity_search` tools to answer questions. You should use this instead of the `web_search` tool because it is a lot more accurate.
practical-power-systems-synthesis
This skill enables synthesis in the domain of power-systems (engineering). It represents research-level-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform synthesis operations related to power-systems.
semi-supervised-optogenetics-testing
This skill enables testing in the domain of optogenetics (neuroscience). It represents intermediate-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform testing operations related to optogenetics.
data-mining-interpretation-fundamental
This skill enables interpretation in the domain of data-mining (data-science). It represents fundamental-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform interpretation operations related to data-mining.
