Inspiration
Conventional skin cancer detection methods, such as biopsies, are often lengthy, painful, and expensive. In India, particularly in rural areas, these methods are frequently inaccessible. This app aims to help individuals and healthcare providers quickly identify potential skin cancers, even in the most remote areas, reducing the workload for dermatologists and improving early detection rates at zero cost. By automating the initial screening, DermDetect contributes to better patient outcomes and simplifies access to medical care.
What it does
DermDetect is an app that classifies skin lesions as either benign or malignant based on pictures, giving a confidence rate for each result. Using a 16-layered Convolutional Neural Network VGG-16, DermDetect utilizes deep learning to make the detection process more accessible, efficient, and cost-free.
How we built it
DermDetect was built using a convolutional neural network architecture called VGG-16, which is well-suited for image classification tasks. The model was trained with over 3000+ images of benign and malignant lesions from the International Skin Imaging Collaboration (ISIC) public datasets.
- Optimizers: Adam optimizer along with personal modifications in specific layers of the CNN
- Epochs: 10
- Model Validation Accuracy: 76%
- Model Training Accuracy: 86%
- Front-end graphics and web-interface: Streamlit (Python based graphics library)
Challenges we ran into
- My major challenge was optimizing the model to yield maximum accuracy with the dataset I had. I decided on using Adam rather than the other optimizing algorithms I'd used before, like AdaGrad or RMSProp, as it combines their best two properties: Adaptive learning rates and momentum to scale learning rates.
- The process of freezing certain layers to increase the speed and accuracy of the model was based on trial and error, and it took me a while to properly analyze and deduce the time consumption and efficacy of each layer.
What we learned
Through this project, I learned the importance of fine-tuning parameters, such as layer freezing and dropout, to balance accuracy and prevent overfitting; which is particularly necessary for medical applications where precision is key. I explored newer elements in Keras and Tensorflow. Streamlit introduced me to the importance of having a simple user-friendly UX/UI design in AI applications. Lastly, I realized the potential machine learning and AI have in the medical sector. Deep learning and other such architectures can make diagnostic tools accessible, accurate, efficient and cost-free for patients and healthcare providers.
What's next for DermDetect
DermDetect's future roadmap:
- Retraining the model with a greater number of epochs and a larger dataset that has a more balanced distribution of malignant and benign images to achieve more accurate confidence ratings
- Optimizing layers further to improve the speed of the model
- Transition from web-application to phone-application
- Expanding the detection capabilities to include other skin conditions beyond skin cancer
Built With
- cnn
- keras
- machine-learning
- numpy
- pandas
- python
- streamlit
- tensorflow
- vgg-16
Log in or sign up for Devpost to join the conversation.