This project uses Convolutional Neural Networks (CNN) to classify skin lesions as benign or malignant.
Cover Image created using OpenAI DALL-E. Checkout Media-Art section for more details on image creation. More Details
I think most people can relate in wishing there was a form of identification for early signs of cancer without taking the time and money to go to the nearest healthcare provider. Hence, I thought it would be cool to train a model on a large data set of moles and give people the opportunity to take pictures of a mole or spot on their arm for self identification which could encourage people to go to their nearest health care provider.
Skin cancer is the most common cancer in the United States and worldwide. More than two people die of skin cancer in the U.S. every hour. This could potentially be reduced by catching the early symptoms of skin cancer before it's too late. By using a form of Skin Cancer Detection through Convolutional Neural Networks (CNNs) we can accurately identify skin cancer lesions from dermoscopic images. My goal is to prove that CNNs, when trained on a diverse and well-annotated dermatology image dataset, can significantly improve the early detection of skin cancer, ultimately saving the lives of many around the globe.
Below you can download my final report and presentation slides for this project. The final report contains information on the dataset, libraries and frameworks, the model architecture, the training process, and the results. It also contains graphics and visualizations of the data and the model. A problem you will notice is the lack of fine tuning the hyerparameters as discussed in my summary and future work for the project.
The links below direct you to the GitHub repository for my Jupyter Notebook which contains the code and documentation for training the model, and the Flutter app source code.
GitHub - Jupyter Notebook GitHub - Flutter App Source CodeA few students asked me in class how I was able to get a model onto a mobile app. I did this by using tensorflow lite. Below is a link to the documentation for using tensorflow lite with the App Development Framework Flutter, which is the framework I used to build my app. The app size will be on the larger size (82 MB) because it has a trained model bundled with the tflite packages within the source code.
The TensorFlow Lite Plugin for Flutter GitHub - flutter-tfliteA few students asked me in class how I was able to get a model onto a mobile app. I did this by using tensorflow lite. Below is a link to the documentation for using tensorflow lite with the App Development Framework Flutter, which is the framework I used to build my app. The app size will be on the larger size (82 MB) because it has a trained model bundled with the tflite packages within the source code.
Android AppThe Skin Lesion Scanner App I made for CS334 - Algorithms of Machine Learning, is designed for experimental purposes only. Please note the following: DO NOT ASSUME YOU HAVE SKIN CANCER OR A SKIN LESION BECAUSE OF THE MODEL'S GUESS.