Detect Parkinson's Disease

Patients with Parkinson’s disease have nervous system issues. Symptoms include movement issues such as tremors and rigidity. In this project, I've used OpenCV and machine learning to detect Parkinson’s disease from hand drawings consisting of spirals and waves.

METHODOLOGY

A 2017 study by Zham et al. found that it was possible to detect Parkinson’s by asking the patient to draw a spiral and then track:

  • Speed of drawing
  • Pen pressure

  • Used Libraries

    • Scikit-learn
    • Scikit-image
    • imutils
    • Numpy
    • OpenCV

    • The researchers found that the drawing speed was slower and the pen pressure lower among Parkinson’s patients — this was especially pronounced for patients with a more acute/advanced forms of the disease. We’ll be leveraging the fact that two of the most common Parkinson’s symptoms include tremors and muscle rigidity which directly impact the visual appearance of a hand drawn spiral and wave. The variation in visual appearance will enable us to train a computer vision + machine learning algorithm to automatically detect Parkinson’s disease.

      Results

      After extracting features from the input images we trained a Random Forest classifier with 100 total decision trees in the forest, obtaining:

      • 83.33% accuracy for spiral.
      • 71.33% accuracy for the wave.
      • While Parkinson’s cannot be cured, early detection along with proper medication can significantly improve symptoms and quality of life, making it an important topic as computer vision and machine learning practitioners to explore.