Inspiration

Thanks to the Bitsxlamarató Hackaton, we have been motivated to take an audio classification challenge in which we have tried to implement and apply our Data Science expertise and knowledge.

What it does

We have developed a python based Telegram bot that uses models we have trained, and when it receives audios from the user, it classifies if the audio is a cough or not, and in the first case it then classifies if the cough could correspond to COVID-19 or not.

How I built it

We have implemented both models trough python using the pytorch library, using transfer learning from the already trained VGG16 net. We have run frozen its feature extraction layers and trained a fully connected MLP on top. We have also implemented Fine Tuning on top of the model.

Challenges I ran into

The main challenge we have run into is the fact that the COVID/NO_COVID dataset is very unbalanced (1-10 ratio aprox), which made it very difficult to have high sensitivity and recall. We have had to use weighted losses and perform data augmentation to balance the data.

Accomplishments that I'm proud of

We are very proud that our coughing model works perfectly from the spectrum images, and is fully functional in the Telegram app. (http://t.me/cough_covid_bot)

What I learned

We have learned how to prepocess audios, reshaping images to the same size, implementing various pytorch functions, using already trained models in Telegram, tuning the different models parameters, performing transfer learning from big networks, performing data augmentation.

What's next for Apolo Cough Inspector

The next step after this hackaton would be to transfer all the information online instead of running it locally and upload the bot in a server so that it is fully available at any time. We will also have to continue tuning the parameters of our covid/no_covid model to better perform when solving the unbalanced dataset problem. The goal is to get higher precision and recall metrics.

Share this project:

Updates