Ryan Lee – Week 11 Status Report

For this week, I worked on readying up the stethoscope for the final demo. We all worked together on the final integration portion. We discovered an issue where the sample rate that the Raspberry Pi was recorded in was different from the sample rate that the testing data was. The frequency sample rate was 2000 Hz for the testing data, but the recorded data from the stethoscope was 44.1 kHz. Therefore, once we fixed this issue, importing the audio issue was now in the same format as the dataset. We also had issues where the recorded samples were at different amplitudes than the dataset sound files. Therefore, we added a gain setting on the Raspberry Pi, that amplifies the speaker/heart sound when recording on the stethoscope, so that the amplitudes would match. After fixing both of these, the testing samples on the speaker setup worked well. We also had to hand select some files from the testing dataset, so that we would ensure that it would work for the final demonstration. This is the final week so there are no updates for next week.

Ari’s Week 11 Status Report

This week was one where we got the most accomplished. We were able to integrate our system and get it running on the Pi with processing being done remotely on the ECE machine in the lab. We were able to get the visualization and the recording working on the pi, however we ended up destroying the sound card on the pi which then caused the touch screen to stop working. As a result, for the demo we will be doing it all on my chromebook. Further, we were able to confirm our testing setup mimics the heart and were able to successfully classify 93% of the heart sounds we tested on which was much better than what we expected it to be.

Week 11 Group Journal

What are the most significant risks that could jeopardize the success of the project?
We are well on schedule to complete this stethoscope in time for the demo
How are these risks being managed? What contingency plans are ready?
N/A
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
No changes made this week.
Provide an updated schedule if changes have occurred.
No changes made this week

Week 10 Group Journal

What are the most significant risks that could jeopardize the success of the project?
We are having trouble importing some modules onto the raspberry pi and this seems to be the biggest risk right now, since everything else is coming together well.
How are these risks being managed? What contingency plans are ready?
We will spend extra time in lab and ask professors if this issue cannot be resolved.
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
No changes made this week.
Provide an updated schedule if changes have occurred.
No changes made this week

Week 8 Group Journal

What are the most significant risks that could jeopardize the success of the project?
The biggest risk this week is if the double blind trials does not perform well (i.e. it does not mimic heart sounds) then we need to think of other ways to test our stethoscope.
How are these risks being managed? What contingency plans are ready?
We individually came up with different ways to mimic heart sounds that we can try in case the speaker with foam does not perform well.
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
No changes made this week.
Provide an updated schedule if changes have occurred.
No changes made this week

 

Eri Journal: Week 11

  • What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
    • We all worked on integrating the whole stethoscope (front-end/back-end) so it accurately classified heart sounds through the stethoscope.
    • I worked on the final frontend GUI using Matplotlib and tkinter to display user’s heat sound signal for our raspberry pi.
  • Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
    • Our progress is on schedule
  • What deliverables do you hope to complete in the next week?
    • Finish the project in time for the demo on Monday.

Ari’s Week 6 Report

  1. This week I continued with the integration and development of the  integrated system. I worked with using matplotlib to plot the incoming signal and applied a butterworth filter to filter out high freqency noise. I also helped out with the ML algo with Eri and Ryan to make progress a little faster. I also refactored the matlab code and did reasearch on improving our processing.

Ryan Lee – Week 10 Status Report

Since last week, we have all been working on integrating the ML portion with the Rasberry Pi. Although the code ran well on Ari’s local computer, there were a lot of importing module issues on the Pi. Therefore, this week I had to work on fixing the ALSA audio issues on the Pi to successfully record directly from the stethoscope.

Aside from fixing the import issues on the Pi, I also worked on checking the sensitivity vs specificity on the ML testing algorithm by using a Confusion Matrix. Eri and I initially found that only 65% of our abnormal test sounds were being classified as abnormal, so we decided to use more abnormal heart sounds in the training algorithm because there was previously a lot more normal heart sounds than abnormal in the dataset. After we fixed this, we saw that we were now getting around a 85% true positive rate and 85% true negative rate, which is what our specifications originally aimed for. The overall validation accuracy was also 89%.

For next week, we as a team have to finish the integration portion as well as ensuring that it also works with the speaker using a double-blind experiment.

Eri – Week 10

  • What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
    • We reached an accuracy of 89% this week
    • We found the specificity and the sensitivity. The specificity rate was around 95%, but the sensitivity was pretty low (65%).
    • We decided to find more datasets with abnormal heart sounds and after training our CNN with more dataset we were able to get our sensitivity rate to 79%.
    • Created a run time signal for the heart sounds from the stethoscope
    • This runtime signal shows up on our raspberry pi, but it’s a bit slower than we’d like.
  • Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
    • Our progress is on schedule
  • What deliverables do you hope to complete in the next week?
    • Get the sensitivity rate up to 85% and finish integrating the stethoscope with our code. (We are nearly done with the integration part)

Ryan Lee – Week 9 Status Report

For this week, our main focus was improving our CNN since in the last few weeks we hit a bump at about 75% accuracy. With improvements in preprocessing it actually decreased the accuracy, so we had to explore other methods. First we added more audio data to train on since we weren’t training on the entire Physionet dataset yet. Also, we played around with the architecture by changing the number of channels in our last two convolutional layers. We are still using in total 5 convolutional layers with a filter size of three for each one, but in the last two convolutional layers, we switched the number of filters from 48 each to 24 and 12 respectively. Once we tested the CNN with these changes, we consistently achieved an accuracy of above 85% as shown by the image below.

However once we tested again the next day, the CNN was consistently achieving an accuracy of above 80% but not always above 85%. Therefore, more testing has to be done to make the final leap above the 85%. We plan on testing with increasing the total number of filters that occur in each convolutional layer as well as increasing the number of epochs/batch size, although that will increase our training time significantly.

However, since our final demo is coming up, we are putting a hold on improving the CNN and have it communicate with the actual stethoscope to read real time data and classify the sound. Our team is meeting on Sunday to finish this task.