Motivation
Asthma is a globally-significant obstructive inflammatory disease in the lower airways manifesting with symptoms including cough, wheezing, and difficulty in breathing (Dharmage et. al., 2019). It has major public health consequences for children and adults, with high morbidity and mortality rates. Asthma is the most common chronic respiratory condition in childhood globally, affecting 14% of young people (Martin et. al., 2022). Though highly researched, the fatality rate has not decreased much in the last decade and progress remains stagnant. Despite the high prevalence, overdiagnosis and underdiagnosis of pediatric asthma remain problematic. Additionally, numerous environmental factors have been shown to trigger asthma, and early environmental triggers in genetically-vulnerable individuals are key events in asthma inception.
What it does
Given the importance of these events to asthma morbidity and health care costs, our app will track common inciting factors of asthma exacerbations, as well as each incidence of asthma symptoms, so that users’ doctors can better diagnose and treat these events. Real-time monitoring enables caregivers to intervene at an early stage and help with accurate diagnosis. An increase in the frequency and intensity of coughs can indicate ineffective treatment. We will track temperature, humidity, air quality using google maps data and a weather API.
How we built it
To detect instances of asthma attacks, we plan to use an Arduino Nano 33 BLE Sense to continuously feed microphone audio into our program. Using machine learning, our device can detect asthmatic incidents by analyzing the spectrogram soundwave data. Conceptually, we plan to program an arduino to continuously feed microphone audio into our application. In lieu of this, we will use our mobile phone microphone to demonstrate our model’s detection ability. Our model was trained to distinguish intense coughs, wheezing, and asthmatic attacks from other sounds. The application then runs inference on small audio fragments to determine the probability of the fragment containing a cough or wheeze. Regarding privacy protection, we’ll use an audio buffer to only record 30 thirty seconds at a time and delete old audio, and only keep recordings of incidents to later present to a doctor at a future time.
A model was trained using nearly 4000 labeled audio samples of intense wheezing and coughs, totalling to about 6 hours. About 2000 audio samples of less intense coughs, sneezes, clearing of throat, speech and general sounds were also labeled, lasting over 13 hours. We sampled 5 to 30 second intervals of repeated coughing and wheezing, then split and trimmed the samples to remove silence. If it does, the incident is recorded on the app by pinning the location and times of incidents. To provide utmost utility to users, we will also provide the temperature, humidity, and air quality of the location at the time of the attack. After incidents are recorded, they can be accessed in the incident reports page. Here, users can go back into the app to input symptom intensity, the medication they took, and how many inhaler puffs were needed to clear symptoms. These features will allow users to provide the incident data and asthma attack trends to their doctor who can in turn more accurately diagnose at-risk patients. Because asthma exacerbations can break through standard treatment regimens, having an effective plan of management and treatment can improve patient well-being.To address the issue of fatal asthma attacks, we will have a feature where users can notify pre-selected emergency contacts through the dashboard in severe cases.
Challenges we ran into & What we learned
Training our model proved to be quite difficult as compiling the audio samples took a lot of time and few tries make them all compatible. Splitting and trimming the thousands of samples took hours, and completing the machine learning in this timeframe made it even more difficult. We are proud that we eventually achieved 99.8% accuracy on Tensorflow.
What's next for Flow: A Personalized Asthma Tracker
Our solution detects and reports user's asthma attacks, intense coughs, and wheezing through an app interface. This can be useful in the diagnosis of asthma, the maintenance of symptoms, and a reduction in fatal asthma attacks. With this foundation, it's possible to transform this application into an internationally and clinically recognizable concept that could be routed into an Electronic Health Record system.
Built With
- fastapi
- javascript
- python
- quasar
- tensorflow
- typescript
- vu
Log in or sign up for Devpost to join the conversation.