This project builds a multi-label skin-condition classifier using a VGG16 pretrained model, frozen CNN layers, and a custom ANN classification head. The training pipeline is fully modular with YAML-based configs, automated data ingestion, model preparation, training, and prediction pipelines.The final model achieves strong accuracy for all 10 classes and is deployed through a Flask web app that performs real-time image prediction.Model achieved a training binary accuracy of 91.70% and a validation binary accuracy of 93.99% in 1 epoch only, demonstrating strong multi-label performance across all 10 skin-condition categories.
Google Drive Download Link:
https://drive.google.com/file/d/1XaNxpHP3XwDyKjEw-1wirLcgLqMRSsV-/view?usp=sharing
- Update
config.yaml - Update
params.yaml - Create entity classes (
config_entity.py&artifact_entity.py) - Implement Configuration Manager (
configuration.py) - Build Data Ingestion Component
- Build Base Model Preparation Component
- Build Model Training Component
- Build Training Pipeline
- Build Prediction Pipeline
- Build Flask App + HTML UI
- Run end-to-end system successfully
git clone <repo-link>
cd <project-folder>conda create -n cnn python=3.10 -y
conda activate cnnpip install -r requirements.txt4️⃣ Run the Full Training Pipeline
python main.py5️⃣ Run the Flask App
python app.pyhttp://127.0.0.1:5000/predict- Model: VGG16 pretrained on ImageNet
- include_top: False
- Frozen Layers: All convolutional layers
- Custom Head:
- Dense → ReLU
- Dropout
- Dense → Sigmoid (multi-label output)
- Loss Function: Binary Cross-Entropy
- Optimizer: Adam
- Learning rate: from
params.yaml - Classes: 10 skin conditions
- Uploading an image
- Displaying the uploaded image
- Showing predictions for each skin condition:
- Probability values
- "Yes/No" prediction
- Colour-coded table (Green = Yes, Red = No)
Ideal for demonstrations, testing, or local deployment.
- Python
- TensorFlow / Keras
- Pandas / NumPy
- OpenCV / Pillow
- Flask
- YAML (configuration-driven pipeline)
- Modular MLOps-style folder structure