Skip to content

An android application to classify 7 different types of skin cancers built by integrating a CNN-RF ensemble Deep Learning model using Kotlin.

License

Notifications You must be signed in to change notification settings

JOYPAUL2001/Prognosis-AI

Repository files navigation


Prognosis AI

Skin cancer is the out-of-control increase of odd cells within the epidermis, the outermost skin layer, because of unrepaired DNA damage that triggers mutations. These mutations lead the skin cells to multiply rapidly and shape malignant tumors. Melanoma is the most dangerous type of skin cancer, whose incidence has increased dramatically over the past 50 years. In fact, it is one of the most common cancers in terms of mortality. Early detection stands as a pivotal factor influencing the successful treatment and improved diagnosis of skin cancer. Built by integrating an ensemble deep learning model, CNN-RF (Convolutional Neural Network-Random Forest) to classify the images and predict the cancer type, Prognosis AI is meant to be used by registered hospitals to predict the skin cancer type of the patients. The app also displays a report of the patient’s results along with the hospital and patient details. The report can also be downloaded in pdf format.

Developed Using 🛠

  • Python - Python, when used in machine learning, offers developers of all skill sets exceptional versatility and predictive power.
  • Keras - Keras is a high-level, deep learning API developed by Google for implementing neural networks. It is written in Python and is used to make the implementation of neural networks easy.
  • Tensorflow - TensorFlow is an open-source library developed by Google primarily for deep learning applications.
  • Tensorflow Lite - TensorFlow Lite is a set of tools that enables on-device machine learning by helping developers run their models on mobile, embedded, and edge devices.
  • Kotlin - Google's preferred language for Android app development.
  • Coroutines - For asynchronous calls and tasks to utilize threads.
  • Jetpack Navigation - A powerful navigation component provided by Android Jetpack, facilitating seamless navigation between destinations in your app's user interface.
  • Firebase - Firebase is a Backend-as-a-Service (BaaS) app development platform that provides hosted backend services. Integrated the Firebase Realtime Database and Authentication into the app.
  • Hilt - Jetpack's recommended dependency injection library, simplifying the process of providing dependencies throughout your app.

The Dataset used 📋

Skin Cancer MNIST: HAM10000, a large collection of multi-source dermatoscopic images of pigmented lesions with over 10,000 skin cancer images is used from Kaggle. Cases include a representative collection of all important diagnostic categories in the realm of pigmented lesions: Actinic keratoses and intraepithelial carcinoma / Bowen's disease (akiec), basal cell carcinoma (bcc), benign keratosis-like lesions (solar lentigines / seborrheic keratoses and lichen-planus like keratoses, bkl), dermatofibroma (df), melanoma (mel), melanocytic nevi (nv) and vascular lesions (angiomas, angiokeratomas, pyogenic granulomas and hemorrhage, vasc).

CNN-RF used and why❔

Various popular neural network architectures were utilised to build the respective models and the test results were compared. CNN-RF provided the best accuracy on test data among the six different models. Hence, the CNN-RF TensoFlow model was chosen to be integrated in the end-to-end android application, Prognosis AI. The accuracy results on the test data were as follows:

Model Test Accuracy
VGG-16 80%
ResNet 81%
DenseNet 83%
InceptionV3 84%
MobileNetV3 86%
CNN with Random Forest 96%

Model Integration 💻

The TensorFlow model was converted to a TensorFlow Lite model. It was then integrated to the android app.

Screenshots 📱

Video 📽

Prognosis.AI.mp4

License 📜

MIT License

Copyright (c) 2024 Joydeep Paul

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

About

An android application to classify 7 different types of skin cancers built by integrating a CNN-RF ensemble Deep Learning model using Kotlin.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages