EnsAug is a research framework for ensemble learning with augmentation-driven pipelines, aimed at analyzing human motion sequences such as sign language and multi-modal action datasets. It provides reproducible experiments with advanced data augmentations and Transformer models.
The data folder contains preprocessed datasets:
- data_100_xy: WLASL 100 (Sign Language)
- data_300_xy: WLASL 300 (Sign Language)
- data_signum: Signum (Sign Language)
- data_mhad: UTD_MHAD
- Note: The sign language data has been removed due to space constraints
- All augmentation techniques and the Transformer architecture are defined in the
srcfolder. - Example experiment and training scripts are located in the
scriptsfolder, subdivided per dataset.
This project requires the following packages (see requirements.txt for exact versions):
- Python >= 3.7
- PyTorch
- scikit-learn
- transformers
- matplotlib
- numpy
- pandas
- tqdm
-
Navigate to the
scripts/sign_languagefolder:cd scripts/sign_language -
Configure your experiment in
config.py:- Set the data folder and select the desired augmentation (numbered as in the paper).
-
To run with augmentations:
- Execute
sign_transformer_augment.py, selecting a different augmentation each run.
- Execute
-
After running all augmentation experiments:
- Run
sign_ensemble.pyto compute ensemble results.
- Run
-
Other scripts:
sign_augment_traditional.py: runs traditional augmentations.sign_transformer_baseline.py: runs the standard Transformer model without augmentations.
-
Navigate to the
scripts/mhadfolder:cd scripts/mhad -
Adjust
config.pyto select the data folder and augmentation. -
To run with augmentations:
- Execute
mhad_transformer_augment.py, selecting a different augmentation each run.
- Execute
-
After all augmentations:
- Run
mhad_ensemble.pyfor ensemble results.
- Run
-
Other scripts:
mhad_augment_traditional.py: runs traditional augmentations.mhad_transformer_baseline.py: runs the standard Transformer model.
- Ensure you edit
config.pybefore each experiment to select the correct data and augmentation. - Augmentation modules are numbered corresponding to those described in the associated paper.
For details about preprocessing, training hyperparameters, or reproducing results, please refer to the comments in individual scripts or reach out to the maintainers.