This project presents a deep learning-based skin lesion classification framework using a Custom Convolutional Neural Network (CNN) implemented in PyTorch. The model is trained on the HAM10000 dataset to classify dermoscopic images into seven different skin lesion categories.
The project also includes:
- Stratified dataset splitting (70/15/15)
- Training and validation pipeline
- Performance evaluation metrics
- Confusion matrix generation
- Accuracy and loss visualization curves
- Trained model saving
Dataset Used: HAM10000 Skin Lesion Dataset
Dataset Link: https://www.kaggle.com/datasets/kmader/skin-cancer-mnist-ham10000
Classes:
- MEL (Melanoma)
- NV (Melanocytic Nevi)
- BCC (Basal Cell Carcinoma)
- AKIEC (Actinic Keratosis)
- BKL (Benign Keratosis)
- DF (Dermatofibroma)
- VASC (Vascular Lesions)
- Python
- PyTorch
- NumPy
- Pandas
- Matplotlib
- Seaborn
- Scikit-learn
- Custom CNN Architecture
- Optimizer: Adam
- Loss Function: CrossEntropyLoss
- Epochs: 5
- Batch Size: 32
- Input Size: 64x64
| Metric | Value |
|---|---|
| Accuracy | 65.00% |
| Precision | 76.59% |
| Recall | 65.00% |
| F1 Score | 68.49% |
| AUC-ROC | 78.83% |
SkinLesion-MobileNetV4/
│
├── dataset/
├── results/
│ ├── accuracy_curve.png
│ ├── loss_curve.png
│ └── confusion_matrix.png
│
├── best_model.pth
├── requirements.txt
├── train.py
└── README.md
pip install -r requirements.txtpython train.pyThe project generates:
- Trained model weights (
best_model.pth) - Accuracy curve
- Loss curve
- Confusion matrix
- Final evaluation metrics
- Nitesh Kumar (23BCS058)
- Pranav Praveen (23BCS067)
- Gaurav Kumar (23BCS031)
Department of Computer Science and Engineering Shri Mata Vaishno Devi University (SMVDU) Katra, Jammu & Kashmir, India