Prototype - Machine Learning Based Concussion detection

Sub-concussion - a hidden danger

Sub concussion occurs when there is a bump, blow or jolt to the head. Sub-concussion may occur due to many reasons.

Figure 1: Sub-concussive head injuries occur in different settings to different types of people

Unlike concussion, sub-concussion doesn’t typically produce outward symptoms.

Concussions have symptoms because the brain is shaken violently enough for it to get so severely damaged that it cannot function properly. In the case of sub-concussive head injury, brain is still shaken but not so severely that it causes any outward symptom.

As a result, every three out of four head injuries that could result in a sub-concussion go unreported. And only about 30% of sub-concussive head injuries are diagnosed.

Repeated sub-concussive head injuries can lead to longer term behavior and health problems such as loss of memory or attention and mood swings.

Figure 2: Current products in the market are either too invasive, too cumbersome or too costly to use. Almost all these products cannot detect sub-concusson.

Sub-concussion causes gait abnormalities

Although there is no outward symptom following a sub-concussive head injury, research has shown that it can impact a person’s gait.

Gait is a person’s manner of walking. A gait cycle or stride length starts when the heal of a reference leg is in contact with the ground and ends when the same leg comes in contact with the ground again. Stride time is the duration of the gait cycle.

Figure 3: Stride Length decreases and Stride time increases for people with sub-concussive head injuries

Following a sub-concussive head injury, the stride length decreases and stride time increases (Figure 3). By measuring the level of change in stride length and time, we can predict the impact of a head injury

Smart shoe design

I built a smart shoe that uses machine learning algorithm to detect the anomalies in stride length and stride time. There are 4 stages to the anomaly detection as shown in the Figure 4

Figure 4: Support Vector Machine Pipeline

SVM Pipeline

  • The data that I acquired was the foot acceleration and step counts. To get the acceleration, I used an Inertial Measurement Unit (IMU) connected to a Raspberry Pi Zero W.

  • I designed and 3D printed the sole of a shoe to hold the IMU and Raspberry Pi Zero (Figure 5a).

  • The IMU generates the acceleration signals. This is the acceleration of the foot that can be used to calculate the stride length. The signals that IMU generates have noise and so I used a software filter that I wrote with Python to remove the noise. The final acceleration curve is shown in Figure 5b.

  • Area under the acceleration curve gives the velocity and the area under the velocity curve gives the displacement. The sample equation is given in Figure 5c

  • A set of 10000 data was used to train the model using the scikit-learn dataset library in Python.

  • The data had the following features and labels used:

    • Features: [‘time’, ‘shoe size’, ‘acceleration’, ‘stride length’, ‘stride time’, ‘step count’, ‘stride length error’, ‘stride time error’]

    • Labels: [‘normal’, ‘abnormal’]

  • I used the fit() and predict() functions to test the data. The following is the prediction accuracy.

    • Accuracy: 0.9611320754716981

    • Precision: 0.9849122807017544

    • Recall: 0.96471698107017544

Figure 5: Steps showing the steps including data acquisition, transformation, and distance calculation

Conclusion

Sub-concussive head injuries are a hidden issue affecting a lot of people. These injuries don’t show any outward symptoms but have been shown to affect the stride length and stride times. Ignoring these injuries or misdiagnosis can lead to long term health issues and a huge burden to our society. Products currently available in the market that are either too invasive or too costly for everyday use. The goal of my project is to build a smart shoe that can measure stride length and stride time in real-time and classify the gait patterns as normal or abnormal using machine learning and alert appropriate people of any abnormality. The results show that my method has a 98% accuracy.

Previous
Previous

Poster - Impact of air pollution and hospitalizations in Metro Detroit region

Next
Next

Research - Early detection of Alzheimer’s using computer vision