In this project, I developed an advanced image classification system using transfer learning techniques to distinguish between six different scene categories. This work demonstrates my proficiency in deep learning, computer vision, and practical application of the latest machine learning models.
-
Implemented transfer learning using four pre-trained models: ResNet50, ResNet100, EfficientNetB0, and VGG16
-
Engineered a robust data pipeline for preprocessing and augmenting image data
-
Optimized model performance through fine-tuning and regularization techniques
-
Conducted comprehensive model evaluation and comparison
I began by organizing the image dataset into class-specific folders and implementing one-hot encoding for labels. To ensure uniform input dimensions, I applied resizing and zero-padding techniques. To enhance model generalization, I implemented a suite of data augmentation methods, including:
-
Random cropping
-
Zooming
-
Rotation
-
Flipping
-
Contrast adjustment
These augmentation techniques significantly expanded the effective size of our training set and improved model robustness.
For each pre-trained model (ResNet50, ResNet100, EfficientNetB0, VGG16):
-
Utilized the pre-trained networks as feature extractors
-
Fine-tuned the last fully connected layer while freezing earlier layers
-
Implemented ReLU activation in the hidden layers and softmax in the output layer
-
Applied L2 regularization, batch normalization, and dropout (20%) to prevent overfitting
The training process involved:
-
Using the ADAM optimizer with multinomial cross-entropy loss
-
Training for a minimum of 50 epochs (up to 100)
-
Implementing early stopping based on validation set performance
-
Utilizing a 20% validation split for each class
To assess and compare model performance:
-
Tracked and visualized training and validation errors across epochs
-
Calculated Precision, Recall, AUC, and F1 scores for training, validation, and test sets
-
Conducted a comparative analysis of model performances to identify the most effective architecture for this specific task