Uncertainty-aware calibration of neural networks for gesture detection from IMU data in out-of-distribution scenarios
Find a file
Malcolm Mielle ecadc97271
LICENSE
2026-04-07 18:25:35 +02:00
.forgejo Add experiment template and pipeline 2025-08-04 15:29:49 +02:00
.github/workflows First commit uac 2025-05-24 02:36:27 +02:00
.vscode Add rf and svm experiments 2025-08-26 00:49:24 +02:00
images Update README and add ReverseCli 2025-06-01 21:19:07 +02:00
tests Add rf and svm experiments 2025-08-26 00:49:24 +02:00
uac Updates the instructions to run all experiments 2025-10-02 02:30:38 +02:00
.gitignore First commit uac 2025-05-24 02:36:27 +02:00
.python-version First commit uac 2025-05-24 02:36:27 +02:00
LICENSE LICENSE 2026-04-07 18:25:35 +02:00
pyproject.toml Add rf and svm experiments 2025-08-26 00:49:24 +02:00
README.md Updates the instructions to run all experiments 2025-10-02 02:30:38 +02:00
uv.lock Add rf and svm experiments 2025-08-26 00:49:24 +02:00

UAC: Uncertainty-aware calibration of neural networks for gesture detection

This repo is the implementation of the paper for "Uncertainty-aware calibration of neural networks for gesture detection"

alt text

Install

To install the repo, use uv in the terminal:

$ uv sync

should be all you need to do.

Run the experiments

For in distribution scenarios try the UAC model with uac/script/train_cnn/train_eval_cnn_uncertainty_mix.py. For out of distribution scenarios use uac/script/train_cnn/train_eval_cnn_uncertainty_subjectwise.py.

The experiments were run on the datasets:

  • wisdm
  • samosa_dataset
  • uschad

The datasets were translated to Samosa format using the scripts in uac/scripts/preprocess_datasets.

Baselines

  • Train random forrest with uac/baselines/scripts/rf_evaluate.py
  • Train svm with uac/baselines/scripts/svm_evaluation.py
  • Train temperature scaling with uac/script/train_cnn/train_eval_subjectwise_temp_scaling.py and uac/script/train_cnn/train_eval_mix_temp_scaling.py
  • Train EM with uac/script/train_cnn/train_eval_mix_cnn_mme.py.py and uac/script/train_cnn/train_eval_mix_cnn_mme.py.py
  • Train Laplacian by running train_LA_uncertainty.py and giving a CNN model as input. The CNN model should be trained with train_cnn/train_eval_cnn_mix.py.

Contribute

We welcome contributions!

The code in this repo is formatted and linted using RUFF. The code should follow the PEP8 and be type annotated.

Cite

@misc{haddad2025uacuncertaintyawarecalibrationneural,
      title={UAC: Uncertainty-Aware Calibration of Neural Networks for Gesture Detection},
      author={Farida Al Haddad and Yuxin Wang and Malcolm Mielle},
      year={2025},
      eprint={2504.02895},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2504.02895},
}