Skip to content

The objective of this project is to carry out supervised image classification on a collection of colored images. It employs a convolutional neural network design and applies data augmentation and transformations to recognize the category of images from a predefined set of 10 classes.

License

Notifications You must be signed in to change notification settings

sinanw/cnn-image-classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Convolutional Neural Networks - Image Classification

The objective of this project is to carry out supervised image classification on a collection of colored images. It employs a convolutional neural network design and applies data augmentation and transformations to recognize the category of images from a predefined set of 10 classes.

Data Set (CIFAR-10)

The dataset used is CIFAR-10, which is a widely used benchmark dataset in the field of computer vision and machine learning. It serves as a standard dataset for training and evaluating machine learning algorithms, particularly for image classification tasks.

The dataset has the following features:

  • Consists of 60,000 32x32 color images in 10 classes, with 6,000 images per class.
  • Comprises 50,000 training images and 10,000 test images.
  • Classes: airplane, automobile, bird, cat, deer, dog, frog, horse, ship, and truck.

Image Classification Details

The project is implemented in several steps simulating the essential data processing and analysis phases.

STEP 1 - Initialization

Includes importing necessary libraries and modules.

STEP 2 - Loading Dataset

Includes loading the dataset from keras library and checking its details.

STEP 3 - Image Preprocessing

Includes data transformation and augmentation using ImageDataGenerator, as follows:

  1. Scaling the pixel values of the images to be in the range [0, 1].
  2. Randomly applying shear transformations to the images.
  3. Randomly applying zoom transformations to the images.
  4. Randomly flipping images horizontally.

STEP 4 - Building CNN Model

The CNN model consists of the following Sequential layers:

  1. Input layer.
  2. Two convolutional layers with ReLU activation function and an increasing number of filters.
  3. Two max pooling layers following the convolutional layers.
  4. Flattening layer.
  5. Two dense/fully connected layers with ReLU activation function.
  6. Output layer with Softmax activation function.

STEP 5 - Model Training

Model is compiled and trained using the following configurations:

STEP 6 - Performance Analysis

Model accuracy is plotted and analyzed along the epochs. The final results are as follows:

Metric Training Validation
Accuracy 0.8070 0.7398
F1 Score 0.8059 0.7391
Loss 0.5518 0.7972
Precision 0.8623 0.7926
Recall 0.7569 0.6997

About

The objective of this project is to carry out supervised image classification on a collection of colored images. It employs a convolutional neural network design and applies data augmentation and transformations to recognize the category of images from a predefined set of 10 classes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published