A hybrid-feature melanoma detection pipeline combining advanced image preprocessing, handcrafted features, and multiple machine learning classifiers. Designed to deliver accurate and efficient skin cancer recognition
A complete machine learning pipeline for melanoma classification using hybrid texture, color, morphological, and intensity features All executable code exists inside one Python file
- Project Overview
- Project Structure
- Dataset Description
- Methodology
- Results
- How to Run
- Future Work
- References
- License
This project implements an automated melanoma detection system using:
- Hybrid feature extraction (HOG + LBP + Color + Shape)
- Classical ML models (SVM, Logistic Regression, Decision Tree, KNN)
- Performance evaluation using accuracy, precision, recall, F1-score, and confusion matrices
All code is located in:
👉 Notebook/melanoma.py
- Colored/ — Original skin lesion images
- labels.xls — Actual class labels
- features.csv — Pre-extracted combined features:
- HOG
- LBP
- Shape features (area, perimeter, compactness, eccentricity)
- Color statistics (mean & std)
Using precomputed features greatly speeds up training.
- Resize images
- Noise removal
- Convert to grayscale
- Segmentation
- Feature normalization
- HOG — texture
- LBP — micro-texture
- Color features — RGB means & standard deviations
- Shape features — area, perimeter, eccentricity, compactness
- SVM
- Logistic Regression
- Decision Tree
- KNN
- Accuracy
- Precision
- Recall
- F1-score
- Confusion Matrix
| Model | Accuracy | Precision | Recall | F1-Score |
|---|---|---|---|---|
| SVM | 0.78 | 0.82 | 0.75 | 0.77 |
| Logistic Regression | 0.77 | 0.81 | 0.70 | 0.74 |
| Decision Tree | 0.75 | 0.72 | 0.70 | 0.71 |
| KNN | 0.70 | 0.72 | 0.70 | 0.71 |
Key Insight:
- Perimeter is a highly important shape feature → chosen as the root node in Decision Tree.
pip install -r requirements.txtpython Notebook/melanoma.pyAdd CNN-based deep learning
Add Random Forest & XGBoost
Build a Streamlit UI
Add explainability (Grad-CAM, SHAP)
Deploy the system using FastAPI or Flask
Full research documentation:
📄 References/Report.pdf
This project is licensed under the MIT License..
You are free to modify and use it with attribution