An advanced web-based framework for classifying various skin cancer types using deep learning and TensorFlow.js. Users can upload dermoscopic images of skin lesions to receive predictive insights into potential skin cancer diagnoses.
This application leverages state-of-the-art computer vision techniques to deliver the top three diagnoses for a given skin lesion.
Note: This tool is for educational purposes and is not intended as a substitute for professional medical consultation or diagnosis.
- 🕒 Real-Time Detection: Instantaneous predictions with TensorFlow.js.
- 📋 Multi-Type Classification: Identifies multiple skin cancer types.
- 🖱️ Drag-and-Drop Interface: Easy image upload functionality.
- 🖼️ Demo Images: Evaluate the model's capabilities with sample images.
- 📊 Detailed Predictions: Top 3 classification results with confidence scores.
- 📱 Responsive Design: Optimized for mobile and desktop.
- 📈 Interactive Visualization: View predictions through dynamic charts.
- 🧠 TensorFlow.js: Real-time inference with deep learning.
- 🌐 HTML5/CSS3: For structure and design.
- 📜 JavaScript: Implements client-side logic.
- 📉 Chart.js: Visualizes prediction probabilities.
- 🏗️ MobileNet: Efficient, pre-trained image classification model.
The model identifies the following skin lesion categories:
- nv: Melanocytic nevi (benign melanocyte neoplasms).
- mel: Melanoma (malignant melanocyte neoplasms).
- bkl: Benign keratosis lesions.
- bcc: Basal cell carcinoma.
- akiec: Actinic keratoses/intraepithelial carcinoma.
- vasc: Vascular lesions.
- df: Dermatofibroma (benign cutaneous lesion).
Descriptions are derived from dermatological research.
This tool is designed for educational purposes only. It is not certified for medical diagnostics. Consult qualified healthcare professionals for medical concerns.
- 🌐 A modern web browser (e.g., Chrome, Firefox, Safari, Edge).
- 📶 An active internet connection.
-
Clone the repository:
git clone https://github.com/Arianrezaz/SkinCancerTypeDetection.git cd SkinCancerTypeDetection -
Launch a local server:
Using Python:
python -m http.server 8000
Using Node.js:
npx http-server
-
Open the application in your browser:
- Python: http://localhost:8000
- Node.js: http://localhost:8080
- Demo Testing:
- Select "Use Demo Image" to test pre-loaded images.
- Image Upload:
- Drag and drop or click to upload a dermoscopic image.
- Generate Predictions:
- Click "Detect" for classification results.
- Visualize Results:
- Review the interactive chart for probability distribution.
The application uses a fine-tuned MobileNet model trained on dermatological datasets, including:
- ISIC Dataset
- HAM10000 Dataset
Public datasets (ISIC and HAM10000) are used under a CC BY-NC-SA 4.0 license. The datasets contain labeled dermoscopic images for training and validation.
Contributions are welcome! Submit pull requests to propose changes or address issues.
- 💡 Special thanks to the TensorFlow.js team.
- 🏗️ Acknowledgment to MobileNet developers.
- 📊 Recognition of ISIC and HAM10000 dataset contributors.
Arian Rezazadeh
Email: [email protected]


