Inspiration
This project was born through a desire to impact the field of healthcare. As of July 2024, over 1 in 6 people in Ontario do not have access to a primary care physician. On top of that, specialist wait times are long, with patients waiting an average of 11 weeks after a GP referral to see a specialist. Even in "urgent" cases, patients still wait an average of 7 weeks to get the help they need. After seeing the rise of telemedicine in recent years, as well as its convenience in being able to help patients virtually, we were inspired to create our own digital solution. The key difference is, our creation doesn't require a doctor, or any other human intervention, even. We chose to target acne as a condition specifically, due to its prevalence (especially among youth) and its impact on self-esteem and confidence, which affects overall quality of life. This project was our attempt at creating a real impact on people's lives, while simultaneously alleviating some stress/workload for physicians.
What it does
spotSpot works by simply taking an image of your face. Users can choose to take a Live Photo, or upload an existing one. spotSpot then analyzes the image, and informs the user of their specific acne type, as well as next-steps in terms of improving their condition. Our recommendations and advice are limited to specific chemicals or treatments, as opposed to brands. Additionally, we only recommend treatments that can be obtained Over-the-Counter (OTC), without a prescription.
How we built it
We built this classifier in Python using PyTorch's ShuffleNet Convolutional Neural Network as it was the most effective and efficient for our training data, especially since our dataset was small. By taking the labelled images as a training set for our classification, we were able to augment each training picture with our model and improve accuracy when we ran full face scans. We fine-tuned our training model to improve accuracy while mitigating overfitting by implementing weights to all of the different acne classes depending on the number of training images as well as finding the optimal training-reruns using trial and error.
Challenges we ran into
Our greatest challenge was choosing the right model, weighting, and data to use in order to achieve consistently accurate results.
Accomplishments that we're proud of
We're proud of how we were able to get a viable version of this project running in less than the allotted 24 hours.
What we learned
In the development of spotSpot, we learned a lot about the impact that machine learning can have in the real-world, specifically in a diagnostic healthcare context. We acquired hands-on experience with data collection, sorting, and labelling. In addition, we learned the importance of taking an iterative, trial-and-error approach when it came to model selection and tuning, to ensure we had high accuracy while maintaining efficiency.
What's next for spotSpot
Next, we hope to be able to have spotSpot working with a live video feed, to diagnose acne problems on different areas of the face in a quicker, more user-friendly way. We hope to implement spotSpot on mobile phones to offer even more convenience to users. We could also use location data to alert the user of potential skin hazards (UV index, Air Quality, etc.). Finally, we hope to be able to expand spotSpot's capabilities beyond acne, if we are able to consult and work with trained medical professionals.
Built With
- jupyternotebook
- matplotlib
- python
- pytorch
- scikit-learn
- streamlit
Log in or sign up for Devpost to join the conversation.