This project implements an end-to-end image classification model using the Oxford Flowers 102 dataset. It begins with a Convolutional Neural Network (CNN) built from scratch, then transitions to using EfficientNetB0, the baseline model from "Rethinking Model Scaling for Convolutional Neural Networks."
The workflow includes data preprocessing, advanced data augmentation, regularization, and performance evaluation with the goal of minimizing overfitting and maximizing classification accuracy.
- ๐ฆ Dataset: Oxford 102 Flower Categories
- ๐งฑ Model 1: Custom CNN (built from scratch)
- โก Model 2: EfficientNetB0 (pre-trained on ImageNet, fine-tuned on Flowers102)
- ๐ Augmentation: RandomFlip, Rotation, Zoom, Contrast, etc.
- ๐ก๏ธ Regularization: Dropout, EarlyStopping, L2 Weight Decay
- ๐ Metrics: Accuracy, Loss curves, Confusion Matrix, Top-5 Accuracy
- Python 3.x
- TensorFlow / Keras
- NumPy, Matplotlib, seaborn
tensorflow_hub,tensorflow_datasets