Skin Condition Classifier (EfficientNetV2B0)
This model classifies facial skin images into 6 common dermatological conditions using a fine-tuned EfficientNetV2B0 architecture.
Supported Skin Conditions
- Acne
- Carcinoma
- Eczema
- Keratosis
- Milia
- Rosacea
Model Performance
- Final Test Accuracy:
95.60%
- Evaluated on a balanced, augmented custom dataset of real-world dermatological images.
- Confusion Matrix indicates strong separation for all classes, with minor overlap in visually similar conditions.
Model Architecture
- Backbone: EfficientNetV2B0 (pretrained on ImageNet)
- Global Average Pooling + Dense(512, ReLU) + Dropout(0.4) + Dense(6, Softmax)
- Loss Function:
sparse_categorical_crossentropy
- Class Weights: Applied to handle minor variations
- Fine-tuned with learning rate scheduling and layer unfreezing
Usage
Load the model (Keras format)
from tensorflow.keras.models import load_model
model = load_model("path/to/saved_skin_model")
````
### Input Format
* Image size: **224x224**
* Input dtype: `float32`
* Preprocessing: Use `preprocess_input` from `tensorflow.keras.applications.efficientnet_v2`
```python
from tensorflow.keras.applications.efficientnet_v2 import preprocess_input
import numpy as np
img = preprocess_input(img) # Ensure shape is (1, 224, 224, 3)
pred = model.predict(img)
Output Format
- Softmax probabilities for 6 classes.
argmax(pred) gives class index from 0–5.
License
MIT License
Author
Tanishq Shinde
B.E. Computer Engineering, PICT
GitHub | LinkedIn | Hugging Face
For educational and non-diagnostic purposes only. Always consult a medical professional.
```