Inspiration
Since cell-slide analysis is a time-consuming process for pathologists, I thought using a machine-learning algorithm to conduct analysis would be far more efficient. With this thought, I created the project.
What it does
Once an user uploads a 50 x 50 pixel image of a cell slide onto the web app, the backend neural network classifies whether the cell slide contains invasive ductile carcinoma (a form of breast cancer) or not. After classification is conducted, the front end tells the user whether the cancer is present or not.
How we built it
For the web app component, I used Flask due to my familiarity with the framework. For the neural network, I used PyTorch.
Challenges we ran into
Training the neural network was definitely challenging due to how much memory and CPU power the process required. However, after several attempts to make the training process more efficient (using batch size stochastic descent, etc.), I was able to train the model in a reasonable period of time (15 minutes)
Accomplishments that we're proud of
I'm proud of the model's accuracy. The model is about 80% accurate, which is decent for the number of layers used, as well as the hardware upon which the model was trained (my laptop). Furthermore, I am proud of creating a web app that perfectly encapsulates the neural network and is user-friendly.
What we learned
I learned the different ways of creating convolutional neural networks in PyTorch, how to efficiently train a model, as well as create custom datasets in PyTorch.
What's next for Invasive Ductile Carcinoma Classifier
I plan on hosting the app on a website, as well as making the UI more colorful. I also hope on adding OpenCV camera integration where individuals can take a picture of a cell slide directly on the web app.
Log in or sign up for Devpost to join the conversation.