Skip to content

This repository includes implementation codes or links to the authors’ original codes of filtering methods for denoising and completing data generated by software platforms for human motion analysis, allowing readers to easily reproduce all the algorithms in different experimental settings.

License

Notifications You must be signed in to change notification settings

PARCO-LAB/mocap-refinement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Denoising and completion filters for human motion software

forthebadge

This repository includes implementation codes of filtering methods for denoising and completing data generated by software platforms for human motion analysis, allowing readers to easily reproduce all the algorithms in different experimental settings.

Usage

To run a simple filter from the main directory:

python3 filters/<filter_name>.py <filter_name> <input_file_path> <output_directory_path> <delta_t> <model>

To check the error of the filtered file, run:

python3 utils/checker.py --ref <ground_truth_directory_path> --source <input_directory_path> -out <stats_file_path>

For example, to run and evaluate the error the Butterworth Filter (BF):

python3 filters/BF.py BF data/input/S9_Discussion.csv data/output/ 20
python3 utils/checker.py --ref data/gt --source data/output/BF --out data/stats/BF.csv

This will create a new directory "data/output/BF" and store the refined results.

To have a reference of the input error, run:

python3 utils/checker.py --ref data/gt --source data/input --out data/stats/input.csv

Data format

For the data format, please follow the example file in the "data" folder.

Training

Some filters may require a training phase. To preprare the train and validation datasets, follow the code in "utils/prepare_data.py". For the training phase, follow the Jupyther Notebook "utils/train.ipynb".

Accuracy Results on Human3.6M

Category Method MPJPE Low error jitter Accel Low error jitter MPJPE High error jitter Accel High error jitter MPJPE Missing keypoints Accel Missing keypoints MPJPE Missing keypoints with error Accel Missing keypoints with error
Baseline 96.1 230.0 146.3 381.9 - - - -
General Purpose Simple Moving Average 74.6 11.5 85.0 19.7 - - - -
General Purpose Weighted Moving Average 76.8 4.4 88.7 7.0 - - - -
General Purpose Exponential Moving Average 55.4 85.8 89.6 140.8 - - - -
General Purpose HDE 63.0 92.3 102.6 151.4 - - - -
General Purpose Butterworth 24.8 3.0 41.5 5.0 - - - -
General Purpose Savitzky–Golay 63.3 116.7 102.1 194.5 - - - -
General Purpose Interpolation - - - - 0.3 1.1 244.8 634.0
General Purpose Least Squares Gaussian 62.7 17.2 78.4 19.4 - - - -
State Observer Kalman Filter (0th) 46.4 29.4 66.0 48.3 30.1 2.8 48.7 29.6
State Observer Kalman Filter (1st) 42.3 33.0 65.9 54.2 21.4 2.4 44.2 33.2
State Observer Kalman Filter (2nd) 43.1 35.7 68.8 58.7 19.0 2.4 45.0 36.0
Dimensionality Reduction Truncated Singular Value Decomposition 64.0 143.7 98.3 226.6 - - - -
Dimensionality Reduction Low-Rank Matrix Completion - - - - 4.9 16.7 92.5 219.7
Dimensionality Reduction Noisy Low-Rank Matrix Completion - - - - 32.3 109.4 111.1 267.8
Dimensionality Reduction Robust Principal Component Analysis 79.8 182.0 90.2 207.7 - - - -
Deep Neural Network Undercomplete Autoencoder 83.6 197.7 128.0 331.0 - - - -
Deep Neural Network Undercomplete Denoising Autoencoder 59.5 89.5 92.0 75.6 - - - -
Deep Neural Network Recurrent Neural Network Autoencoder 89.5 34.8 136.2 40.8 - - - -
Hybrids KF+DE 76.9 102.2 138.0 174.3 - - - -

Citation

@article{martini2025denoising,
  title={Denoising and completion filters for human motion software: A survey with code},
  author={Martini, Enrico and Calanca, Andrea and Bombieri, Nicola},
  journal={Computer Science Review},
  volume={58},
  pages={100780},
  year={2025},
  publisher={Elsevier}
}

About

This repository includes implementation codes or links to the authors’ original codes of filtering methods for denoising and completing data generated by software platforms for human motion analysis, allowing readers to easily reproduce all the algorithms in different experimental settings.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published