A non-invasive approach to finding respiratory syndromes in infants (Part Two)

This is Part Two of the blog about my final year project. If you haven’t read Part One yet, you can find it here.

At the end of Part One, we were left with a CSV file containing respiratory signals along with their corresponding respiratory rates. Now, we need to use this data to classify any respiratory syndromes that the infant may have. We do this with the help of a deep-learning model.

The dataset (our CSV file) is split into training and testing data for the model. We had a total of five videos, and we got 100 respiratory signals from each video, so we used 400 samples (80%) for training and 100 samples (20%) for testing.

The model has a total of four layers; an input layer, an output layer and two hidden layers. The input layer has 225 nodes, as each of our respiratory signals has 225 feature values. The output layer has 4 nodes, as we’re classifying the signals into four classes, and the two hidden layers have 100 nodes each.

We classified the signals into four classes; No Information, Bradypnea (slow breathing rate), Normal and Tachypnea (fast breathing rate). The normal breathing rate of an infant lies between 40 and 60 breaths per minute (bpm), so signals with a rate lower than 40 bpm were classified as Bradypnea, and those with a rate higher than 60 bpm were classified as Tachypnea.

The model was compiled with the Adam optimizer and trained over 500 epochs, using categorical cross-entropy as the loss metric. The model had an overall accuracy of 92%.

Classification of diseases by the model.

We wrote a research paper on the project, which was accepted at the IEEE International Conference on Communication and Signal Processing (ICCSP) 2020. The paper will be published in their journal soon.




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • A non-invasive approach to finding respiratory syndromes in infants (Part One)
  • DerpNStink - Vulnhub
  • DC 9 - Vulnhub
  • Djinn - Vulnhub
  • Symfonos 1 - Vulnhub