Movement Analysis with IMU

Motivation

The Chair of Digital Signal Processing and System Theory has long been deeply committed to advancing and improving medicine through the intelligent use of technology. To support modern healthcare, the department applies machine learning models to practical medical challenges. In this context, we developed a foundation for a system for patient monitoring, prevention and rehabilitation support.

In this bachelor project, a system was developed to classify specific human movements using data captured by an Inertial Measurement Unit (IMU). The algorithm processes these raw inertial signals to calculate key feature values, which are subsequently used to construct a Gaussian Mixture Model (GMM). The primary objective of this model is to cluster the data, allowing the system to accurately assign each cluster to a specific movement type.

 

 

Implementation

IMU sensor worn during data collection
IMU sensor mounted on a chest strap, used to record movement data for the study.

When selecting the movements, we considered which ones are very natural and typically need to be performed on a daily basis. We decided on the following movements: sitting down (standing - sitting down - standing), lying down (standing - lying down - standing), walking on a normal floor, walking on a walking pad, bending over to pick something up, and finally, standing.

To ensure consistent data across all participants, we mounted the IMU sensor in a fixed position. We chose to attach it to a chest strap at the level of the solar plexus. The IMU sensor collects data through 12 channels, the only channels relevant to us are those from the accelerometer (with the x, y, and z axes) and the gyroscope (with the x, y, and z axes).

The algorithm begins with data preprocessing and augmentation. First, the acquired data is low-pass filtered to remove noise and interference. Next, Gaussian noise injection is used to artificially increase the data volume in order to expand the amount of observed data and strengthen the results. Once this section of the code has been executed, the feature calculation begins. However, each feature is not applied just once per channel, but multiple times. This is achieved through windowing and overlap, whereby the code uses a template to scan through the individual channels. The calculated features are: standard deviation, mean, peak-to-peak distance, energy across the power density spectrum, dominant frequency, and entropy. However, the feature vector fed into the GMM does not simply consist of these features. On the one hand, the calculated mean values are used in the vector, on the other hand, a magnitude is calculated from the acceleration and gyroscope data that combines all three channels.

Before the GMM is constructed, individual features can be weighted more heavily to, for example, better distinguish between lying down and standing up based on gravity.

Finally, this GMM model is displayed using a truth matrix.

Confusion matrix of the GMM classification results
Confusion (truth) matrix showing the classification accuracy of the GMM across the different movement types.

 

Results

For our evaluation methodology, we conducted a grid search by analyzing window sizes ranging from 1 to 5 seconds, combined with overlaps of 20%, 50%, and 80%. The short windows perform significantly worse, with accuracies between 73% and 84%, compared to the larger windows, which mostly show accuracies of over 90%. This is primarily because the movements last significantly longer than 1 second. A larger overlap causes the static phases to occur more frequently, which also leads to inaccuracies.

We achieved the best results with the larger windows, as above mentioned problems are eliminated. Regarding the overlaps, it can be said that 50% and 80% perform the best. However, it should be noted that an 80% overlap generates a lot of redundancy. Thus, the model heavily memorizes the data (overfitting). A 50% overlap is best, as it prevents short movements from being cut at the window boundaries.

 

Participating Students

  • Berk Aslan
  • Stanley Chau
  • Mert Masat

 

Participating Supervisor

  • Henning Eikens
  • Prof. Dr.-Ing Gerhard Schmidt