Over the weekend I found a few short videos of people coughing, one from a news blooper, one a montage of coughs from a video game streamer, and one of someone coughing at a piano recital. I then spent the week doing the same thing I did with the Hilary Clinton sample. I converted each one from stereo to mono, labeled all the coughs, converted the text to a csv file, and ran them in the algorithm. After doing all of this I got some pretty good data to compare to the Clinton.
Here is a summary. When I get results, the main thing I look at is the errors. They come in a long list of numbers representing every place that the algorithm made a mistake. If the number is greater than the number of coughs in the sample it is a false positive, and if it is less than or equal to the number of coughs it is a false negative.
In this table, you can see that the Clinton and Piano samples have a lot of false negatives. All three of these examples had false positives, but the Clinton and Mailtis (the name of the news reporter) samples had more. Why did I get these results though. Looking at the Clinton and Piano samples I can relate them in that they had background noise; Clinton's had cheering fans and the Piano had a piano. This could be the reason for false negatives. I am not really sure about the false positives though, and as of now I am not able to look at the audio that the algorithm thought was a cough.
You might be wondering where the video game sample went. There was a slight problem with this one, because there was a cough at the very end of the audio. The algorithm looks at the times before and after the cough, so when there was nothing after it gave an error. I fixed this by adding extra audio to the end, and will have those results soon.
In this table, you can see that the Clinton and Piano samples have a lot of false negatives. All three of these examples had false positives, but the Clinton and Mailtis (the name of the news reporter) samples had more. Why did I get these results though. Looking at the Clinton and Piano samples I can relate them in that they had background noise; Clinton's had cheering fans and the Piano had a piano. This could be the reason for false negatives. I am not really sure about the false positives though, and as of now I am not able to look at the audio that the algorithm thought was a cough.
You might be wondering where the video game sample went. There was a slight problem with this one, because there was a cough at the very end of the audio. The algorithm looks at the times before and after the cough, so when there was nothing after it gave an error. I fixed this by adding extra audio to the end, and will have those results soon.
After going through all of this, I got a new task/project. I will be trying to make a new program to tell the difference between types of coughs. This is particularly exciting because no one has tried to solve this, so I will be able to do my own programming from scratch, hopefully.
Well that's all for this week. It was a good week, but not a super interesting for you guys, because I was just looking at results. Hopefully next week will bring a bunch of new things to talk about, so see you then... Buh Bye.
Herro there Luke. Even though it is nearing the tenth week, it feels like it just started! Really cool you decided to self-code a way to fix the coughing false negatives and positives. goodluck ^.^
ReplyDeletePS: what coding language?
What I am going to try to self-code actually isn't for the false negatives problem (I apologize if I explained it that way). It is actually for the second part of the cough project, which is being able to tell the characteristics and types of coughs.
DeleteEverything I am doing is in MATLAB.
Hi Luke. I'm glad you had a better week! I was wondering if it is better to have samples with less false negatives/positives (perhaps because the audio is clearer) or samples with more false negatives/positives (perhaps to improve the algorithm). Anyways, good luck with your new task and I look forward to seeing where it goes.
ReplyDeleteIt's actually good to have these false negatives and positive, because, like you said, it helps improve the algorithm. However, eventually we want there to be no errors at all.
DeleteHey Luke. I'm happy this week went better for you! It's really ingenious the way you are attacking and solving your tasks, and I wish you luck on your next project. What's your best guess for the cause of the false positives?
ReplyDeleteMy best guess would be that there are words that sound, or look, a little like coughs. They could have similar frequencies or energy levels. Prad is actually working on a way to listen to the errors right now, so I'll have a better guess when I have that.
DeleteHi Luke! I'm so glad this week went smoothly with you! I can't wait to see what you get when you add the extra audio at the end.
ReplyDeleteHey Luke, It's great that you are starting to get a lot of the results! I'm looking forward to what they will be like at the end of the project. Awesome post!
ReplyDeleteHi Luke! I'm glad you got time to really analyze your results this week. I know you said that you don't know for sure what the cause of the false positives was, but what would you hypothesize to be the cause?
ReplyDeleteSome words or phrases could actually have similar characteristics to coughs, so the algorithm might be confusing those words as coughs.
DeleteHi Luke! It's good to hear that you were able to progress during this week, especially since you weren't ran into a lot of problems last week! Have a good next week!
ReplyDeleteHey Luke! It's great that you've had a better week. It seems like you have worked hard to get this data- great work. Good luck on your programming!
ReplyDeleteHey Luke! How are you planning on dealing with the problem of false positives/negatives? Do they have a huge impact on your research or is it okay to have a few now and then? Can't wait for next week's update!
ReplyDeleteIt's actually preferred to have a few of these errors right now. They are helpful when trying to find improvements to make in the algorithm. Eventually, however, the goal is to have no errors.
DeleteHey Luke! You should try posting a video to your blog one week to see if we can count the number of coughs that we hear!
ReplyDeleteFor the program you will be developing, what are the different coughs you will be looking for?
I actually tried to put in an audio player one week, but i couldn't figure it out. I can try to do a video in an upcoming week though.
DeleteTo start I am just going to see if it can tell the difference between coughs of different groups of people. I am trying to get samples of different age groups -- babies, teens/adults, and elderly.
Hello Luke. It's amazing how you are able to detect coughs with a program. By the way, what language and package are you using?
ReplyDeleteEverything I am doing is in MATLAB. I have the trial we got through BASIS, but I had to add on a signal processing package. If you are looking at the actual versions of MATLAB, I have R2016a (which doesn't have signal processing), but R2016b has everything you would need.
DeleteIt's really cool to see your project progress like this. Overall, do you feel like your project has progressed the way you like it? Or has there been many unexpected problems along the way?
ReplyDelete