Skip to content

javierdastas/project-deep-learning-image-classification-with-cnn

Repository files navigation

Project | Deep Learning: Image Classification with CNN

Collaborators: Javier Dastas, Paola Rivera

Description

Build a Convolutional Neural Network (CNN) model to classify images from a given dataset into predefined categories/classes.

Dataset Chosen for the Project

Kaggle - Animals10: The second dataset contains about 28,000 medium quality animal images belonging to 10 categories: dog, cat, horse, spyder, butterfly, chicken, sheep, cow, squirrel, elephant. The link is here.

Presentation

Assessment Components

  • Details, meatrics and plots are in the project nootebook (here).

Part 1: Data Preprocessing

  • Data loading and preprocessing (e.g., normalization, resizing, augmentation).
  • Create visualizations of some images, and labels.

Part 2: Model Architecture

  • Design a CNN architecture suitable for image classification.
  • Include convolutional layers, pooling layers, and fully connected layers.

Part 3: Model Training

  • Train the CNN model using appropriate optimization techniques (e.g., stochastic gradient descent, Adam). Utilize techniques such as early stopping to prevent overfitting.

Part 4: Model Evaluation

  • Evaluate the trained model on a separate validation set.
  • Compute and report metrics such as accuracy, precision, recall, and F1-score.
  • Visualize the confusion matrix to understand model performance across different classes.

Part 5: Transfer Learning

  • Evaluate the accuracy of your model on a pre-trained models like ImagNet, VGG16, Inception... (pick one an justify your choice) You may find this link helpful. This is the Pytorch version.
  • Perform transfer learning with your chosen pre-trained models i.e., you will probably try a few and choose the best one.

Define the Model & Freeze the Model Base

Define the Model: DataSet Preparation (validation and classes balance)

Model Pre-Trainning

Model Fine-Tunning (unfreeze model base and train again)

  • Unfreeze top layers to ajust using our dataset
  • Use a lower learning rate to reduce hard changes on the weights

Analyze the results and select the best model for Deployment

Part 6: Model Deployment

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages