
MoCap Data Issue Detection​
The Brief was to train an AI Model (Machine Learning) - on what was up to the team! We decided to train an AI that detects issues in Motion Capture Data. As a good Motion Capture Dataset was not available we also created and tagged the Datasets ourselves!
The Project required our team to learn Python, which nobody was familiar with at the start of our module. To be able to faster extend our preexisting coding language and learn the new syntax, we utilised Chat GPT and Deepseek to enhance our learning experience, by using them as a tool to research, explain and debug code with us.​
University Group Project
Module: AI and Machine Learning
Year 2025, Term 2
​Production Team:​
Timon Holzer

Visualisation of Issues in Motion Graphs from Code

Motion Capture Data Set
Workflow
The project was split into 3 Phases:
-
Extraction of the Motion Capture Data to a CSV.
-
Tagging the issues in the Data Set
-
Training AI Models to Detect the Issues.
​
The extraction was done by James Marsh, while the Python Code for the tagging process of all the Motion Capture Issues was done by me.
​
Finally, every team member trained at least one AI Model. My first training test was done with 'Random Forrest'. As the size of the model was unsuitable for future Plugin developments, the model was then changed to 'LightGBM', a more lightweight but as effective model.​​​​​​​​
Software
Visual Studio Code
Coding Language
Python



Results for LightGBM
All the results are for tagged Issues and not good frames! Low-priority cases are issues that can be rather easily detected with code (do not necessarily need AI), or are highly complex issues but may not need to be fixed (exp. Gimbal Locking)
​
High Priority:
​Rotation Spikes: 97%
Rotation Flips: 89%
Axis Swap: 100% *
Rotation Jitter: 69%
Translation Jitter: 94%
Translation Spikes: 88%
​​​
Low Priority:
Scale Issues: 93%
​Gimbal Locking: 99% *
Missing Frames: NA **
​​
* requires more testing: suspicious for overfitting due to small training set (rare issues)​
​
** LightGBM can not be trained to find missing data
Best performing Models:​​
​​
-
XGBoost
-
LightGBM (nearly as good as XGBoost)
-
PyTorch
-
Random Forrest
-
HBOS
* Some models had areas where they excelled, but overall didn't perform as well.
Exp.: PyTorch was the only model that could effectively be trained on finding Missing Data, but training time and size were horrendous.
​
