Skip to content

dheerajkallakuri/Object-Classification-with-CNNs

Repository files navigation

Object Classification with Convolutional Neural Networks and Comparisons

Overview

This project aims to implement and evaluate various iterations of Convolutional Neural Networks (CNNs) for object classification on the CIFAR-10 dataset. The dataset consists of 60,000 images categorized into 10 distinct classes. The project is divided into four phases, each progressively enhancing the CNN architecture and evaluating its performance.

Project Phases

Phase 1: Basic CNN Construction

  • Construct a simple CNN with a few convolutional layers followed by fully-connected layers.
  • Train the model on the CIFAR-10 dataset.
  • Report the results and performance metrics.

Phase 2: Adding Pooling Layers

  • Enhance the CNN by adding appropriate pooling layers after the convolutional layers.
  • Train the modified model on the CIFAR-10 dataset.
  • Observe and report the changes in performance.

Phase 3: Incorporating Dropout

  • Incorporate dropout layers into the CNN architecture to reduce overfitting.
  • Train the updated model on the CIFAR-10 dataset.
  • Report the benefits of using dropout and its impact on model performance.

Phase 4: Using ShuffleNet Architecture

  • Implement a well-known CNN architecture, ShuffleNet.
  • Train ShuffleNet on the CIFAR-10 dataset.
  • Report the results and compare the performance with previous models.

Dataset

The CIFAR-10 dataset consists of 60,000 32x32 color images in 10 classes, with 6,000 images per class. The dataset is divided into 50,000 training images and 10,000 test images. You may choose an optimal train-validation-test split and discuss your configuration in the report.

dataset

Usage

  1. Train Basic CNN:

    python projcnn1.py
  2. Train CNN with Pooling Layers:

    python projcnn2.py
  3. Train CNN with Dropout:

    python projcnn3.py
  4. Train ResNet50:

    python projcnnResNet50_TL.py
  5. Train ShuffleNet:

    python projcnnShuffleNet_TL.py

Results and Reporting

  • Phase 1: Basic CNN
part1
  • Phase 2: CNN with Pooling Layers
part2
  • Phase 3: CNN with Dropout
part3
  • Phase 4: ResNet50 and ShuffleNet
part4a part4b

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages