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.
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.
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.
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
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
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.