forked from abhisheks008/DL-Simplified
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
6,292 additions
and
0 deletions.
There are no files selected for viewing
1 change: 1 addition & 0 deletions
1
Skin Disease Classification using Deep Learning Models/Dataset/datasetLink.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Dataset : https://www.kaggle.com/datasets/pacificrm/skindiseasedataset/data |
Binary file added
BIN
+207 KB
Skin Disease Classification using Deep Learning Models/Images/accuracy_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+64.8 KB
...Disease Classification using Deep Learning Models/Images/class_distribution.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.26 MB
...Disease Classification using Deep Learning Models/Images/data_visualization.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+189 KB
Skin Disease Classification using Deep Learning Models/Images/loss_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+190 KB
...Disease Classification using Deep Learning Models/Images/top2_accuracy_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
98 changes: 98 additions & 0 deletions
98
Skin Disease Classification using Deep Learning Models/Model/Readme.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# 🧴 Skin Disease Classification with Deep Learning 🧴 | ||
|
||
> A comparative analysis of 10 different deep learning models for skin disease classification. | ||
## 🎯 Goal | ||
|
||
The aim of this project is to classify images of skin diseases into different categories by comparing various state-of-the-art deep learning architectures. We evaluated ten models, including transfer learning with pre-trained ImageNet weights, and identified the best-performing model for this specific task. | ||
|
||
## 📊 Dataset | ||
|
||
The dataset used for this project can be found on Kaggle: [Skin Disease Dataset](https://www.kaggle.com/datasets/pacificrm/skindiseasedataset/data). This dataset contains images of different types of skin diseases, providing a valuable resource for training and evaluating the model's performance. | ||
|
||
### 🌐 Comprehensive Collection | ||
|
||
This dataset comprises a diverse collection of images representing various skin diseases. The dataset images are categorized into 22 distinct classes, each corresponding to a specific skin condition. | ||
|
||
### 🌈 Diverse Skin Conditions | ||
|
||
The following are the classes included in the dataset: | ||
|
||
- **Acne** | ||
- **Actinic Keratosis** | ||
- **Benign Tumors** | ||
- **Bullous** | ||
- **Candidiasis** | ||
- **Drug Eruption** | ||
- **Eczema** | ||
- **Infestations/Bites** | ||
- **Lichen** | ||
- **Lupus** | ||
- **Moles** | ||
- **Psoriasis** | ||
- **Rosacea** | ||
- **Seborrheic Keratoses** | ||
- **Skin Cancer** | ||
- **Sun/Sunlight Damage** | ||
- **Tinea** | ||
- **Unknown/Normal** | ||
- **Vascular Tumors** | ||
- **Vasculitis** | ||
- **Vitiligo** | ||
- **Warts** | ||
|
||
### 📷 Data Visualization and Class Distribution | ||
|
||
We visualized the data to understand the sample characteristics for each class of skin disease. The following plots illustrate sample images and the class distribution: | ||
|
||
1. **Data Visualization** | ||
![Data Visualization](../Images/data_visualization.png) | ||
|
||
2. **Class Distribution** | ||
![Class Distribution](../Images/class_distribution.png) | ||
|
||
## 🧠 Models Used | ||
|
||
In this project, we evaluated the following ten deep learning architectures: | ||
|
||
1. **VGG16** | ||
2. **ResNet** | ||
3. **InceptionV3** | ||
4. **Xception** | ||
5. **InceptionResNetV2** | ||
6. **MobileNet** | ||
7. **ResNet50** | ||
8. **SEResNet** | ||
9. **EfficientNet** | ||
10. **Vision Transformer (ViT)** | ||
|
||
Each model (except SEResNet) utilized pre-trained weights from ImageNet, which provided a strong starting point for training. We observed that SEResNet, due to its lack of pre-training, performed significantly worse compared to other models. Among the models evaluated, **Vision Transformer (ViT)** yielded the best results in terms of both accuracy and generalization. | ||
|
||
## 📈 Results | ||
|
||
### 🔍 Performance Metrics | ||
|
||
We compared each model on the following metrics: | ||
|
||
- **Loss**: Tracking the loss during training and validation helped identify the stability of each model's learning process. | ||
- **Accuracy**: The primary metric used to gauge model performance. | ||
- **Top-2 Accuracy**: Provided insight into cases where the model's second choice was also relevant. | ||
|
||
The following plots provide a comparative visualization for each model's performance: | ||
|
||
1. **Loss** | ||
![Loss Plot](../Images/loss_plot.png) | ||
2. **Accuracy** | ||
![Accuracy Plot](../Images/accuracy_plot.png) | ||
3. **Top-2 Accuracy** | ||
![Top-2 Accuracy Plot](../Images/top2_accuracy_plot.png) | ||
|
||
## 🚀 How to Run | ||
|
||
To replicate this analysis, clone the repository and follow these steps: | ||
|
||
1. Install the required dependencies: | ||
```bash | ||
pip install -r requirements.txt | ||
``` | ||
2. Now you can run each cell of Notebook. |
6,184 changes: 6,184 additions & 0 deletions
6,184
...Disease Classification using Deep Learning Models/Model/skin-disease-classification.ipynb
Large diffs are not rendered by default.
Oops, something went wrong.
9 changes: 9 additions & 0 deletions
9
Skin Disease Classification using Deep Learning Models/requirements.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
tensorflow==2.12.0 | ||
keras==2.12.0 | ||
matplotlib==3.7.1 | ||
numpy==1.23.5 | ||
pandas==1.5.3 | ||
scikit-learn==1.2.2 | ||
seaborn==0.12.2 | ||
opencv-python==4.7.0.72 | ||
imghdr |