Skip to content

Image classification system using transfer learning techniques to distinguish between six different scene categories

Notifications You must be signed in to change notification settings

Hit07/Transfer_Learning-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transfer Learning for Image Classification

Project Overview

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.


Key Achievements

  • 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


Technical Approach

Data Preparation and Augmentation

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.

Model Architecture and Training

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

Performance Evaluation

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

About

Image classification system using transfer learning techniques to distinguish between six different scene categories

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published