Detecting Parkinson's Disease using Force Sensors and Machine Learning

AJAS · 2022 Engineering

Thumbnail supplied by the source for Detecting Parkinson's Disease using Force Sensors and Machine Learning

Overview

Parkinson’s Disease (PD) is a debilitating neurological disease that primarily affects older patients. PD is characterized by dementia, tremors, and gait issues. PD is the fastest growing neurological disease in the United States, affecting over 60,000 new people per year here. In addition, PD has increased in prevalence across the developing world, where access to trained medical professionals and equipment is limited. Current PD diagnosis techniques involve a wide battery of tests conducted in medical facilities. While early diagnosis in the developed world is common, the developing world lacks precise methods for PD diagnosis. In this study, a novel system for PD detection is proposed using the collection and classification of vertical ground reaction force (VGRF) data collected during gait. VGRF signals can be used to characterize gait parameters in patients. Two Arduino microcontroller circuits were created in this study to obtain force data from each foot at four different locations. A desktop application was created to collect and display the data. A deep neural network using the LSTM framework was programmed and trained on an existing dataset to classify these signals between healthy and affected patients. The model yielded a training and test accuracy of 91% and 88% respectively. This study demonstrates the promise of using gait parameters as a diagnostic tool for PD. It provides a basis for future systems that can be used in the developing world to quickly find this devastating and rapidly growing disease.

Video

From the student

My research journey started in my Biomedical Engineering class in junior year. We were discussing gait disorders and how to accurately measure gait parameters. I was struck by a memory of my parents talking about Parkinson’s Disease and how it had affected my family. They both had relatives who started shuffling their feet, forgetting who they were, and losing their mental edge. I realized that the same gait parameters we were discussing were implicated in Parkinson’s Disease, and I decided to see if I could measure them myself. I have always loved tinkering around with Arduinos and other electronics, so I ordered some force sensors to try and see whether I could get readings from my foot. However, because the force sensors were not linear with applied force, I had to create calibration curves for force vs. sensor output. To get different Arduinos on each foot to talk to each other, I decided to play around with nRF modules. I had to spend a lot of time debugging the RF transmission between the two Arduinos. I even contemplated switching to Bluetooth once! After I was able to actually get force from the foot and display it, I sought to actually make sense of that data. I found a medical dataset with exactly the kind of data I was recording, and I decided to try machine learning methods on it. This was the most grueling part of the process. My LSTM model took a heavy amount of work, and suffered severely from overfitting due to the small size of the dataset. I spent weeks tuning hyperparameters and saving countless model iterations until finally I was able to get my desired test accuracy. While the project was a lot of hard work, I am happy with the way it turned out. I also have many ideas on how to improve the integration and design of this system, and I hope to implement them in the future.

Images (15)

Awards (1)

  • AJAS Fellows Badge

Competition history

  • AJAS 2022 Engineering

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: ProjectBoard / American Junior Academy of Science

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google