Image Classification
Using CNN and Tensorflow
Team members
➔ Noura Hussein Fekry
@noura_7ussein
➔ Mohamed Mahmoud Shehata
@Shehata
Project Description
Building a model to classify images into their appropriate
categories using the CIFAR-10 dataset.
Using CNN (python 3.6 and tensorflow)
● TensorFlow is an open-source software library for
dataflow programming across a range of tasks. It is a
symbolic math library, and is also used for machine
learning applications such as neural networks.
The CIFAR-10 Dataset
The CIFAR-10 dataset contains 60
thousand images of various objects like:
Airplanes, Cars, Birds, trucks, deers, dogs,
frogs, horses, cats and ships.
The Images are (32*32*3)
It contains 50 thousand images as a training
data and 10 thousand testing data.
Phases
Preprocess Data
Phase
CNN Phase
Getting the data
Preprocessing
functions
Building the network
Training the network
Model Testing
Preprocess functions
● Normalization
Transforming image X into a NumPy array.
● One Hot Encoded
Labeling the images into 0 or 1, by indexing the classes,
giving 1 to the class and 0 to the rest of the classes.
● Randomize the data
Making sure that the data is as random as possible, to insure maximum randomization
So, why did we use a CNN?
In machine learning, a convolutional neural network is a
class of deep, feed-forward artificial neural networks that
has successfully been applied to analyzing visual imagery.
CNNs use a variation of multilayer perceptrons designed to
require minimal preprocessing. They are also known as shift
invariant or space invariant artificial neural networks
(SIANN), based on their shared-weights architecture and
translation invariance characteristics.
CNN Building Blocks
● Convolutional Layer
● Pooling Layer
● ReLU Layer
● Fully Connected Layer
● Loss Layer
CNN’s design consists of Convolutional, pooling, fully
connected and weights.
Building the network
➔ Input
➔ Convolution and Max Pooling layer
➔ Flatten Layer
➔ Fully Connected Layer
➔ Output Layer
Training the neural
net
● Single Optimization
● Hyperparameters
● Training on a single CIFAR-10 Batch
● Fully Trained Model
Testing Model
● Accuracy: 71.44%
● Softmax Predictions
Test Samples
Resources:
● https://en.wikipedia.org/wiki/Convolu
tional_neural_network
● https://www.youtube.com/watch?v=F
Tr3n7uBIuE
Thank you.

Image classification using CNN

  • 1.
  • 2.
    Team members ➔ NouraHussein Fekry @noura_7ussein ➔ Mohamed Mahmoud Shehata @Shehata
  • 3.
    Project Description Building amodel to classify images into their appropriate categories using the CIFAR-10 dataset. Using CNN (python 3.6 and tensorflow) ● TensorFlow is an open-source software library for dataflow programming across a range of tasks. It is a symbolic math library, and is also used for machine learning applications such as neural networks.
  • 4.
    The CIFAR-10 Dataset TheCIFAR-10 dataset contains 60 thousand images of various objects like: Airplanes, Cars, Birds, trucks, deers, dogs, frogs, horses, cats and ships. The Images are (32*32*3) It contains 50 thousand images as a training data and 10 thousand testing data.
  • 5.
    Phases Preprocess Data Phase CNN Phase Gettingthe data Preprocessing functions Building the network Training the network Model Testing
  • 6.
    Preprocess functions ● Normalization Transformingimage X into a NumPy array. ● One Hot Encoded Labeling the images into 0 or 1, by indexing the classes, giving 1 to the class and 0 to the rest of the classes. ● Randomize the data Making sure that the data is as random as possible, to insure maximum randomization
  • 7.
    So, why didwe use a CNN? In machine learning, a convolutional neural network is a class of deep, feed-forward artificial neural networks that has successfully been applied to analyzing visual imagery. CNNs use a variation of multilayer perceptrons designed to require minimal preprocessing. They are also known as shift invariant or space invariant artificial neural networks (SIANN), based on their shared-weights architecture and translation invariance characteristics.
  • 8.
    CNN Building Blocks ●Convolutional Layer ● Pooling Layer ● ReLU Layer ● Fully Connected Layer ● Loss Layer
  • 9.
    CNN’s design consistsof Convolutional, pooling, fully connected and weights.
  • 10.
    Building the network ➔Input ➔ Convolution and Max Pooling layer ➔ Flatten Layer ➔ Fully Connected Layer ➔ Output Layer
  • 11.
    Training the neural net ●Single Optimization ● Hyperparameters ● Training on a single CIFAR-10 Batch ● Fully Trained Model Testing Model ● Accuracy: 71.44% ● Softmax Predictions
  • 12.
  • 13.
  • 14.

Editor's Notes

  • #9 Source: https://en.wikipedia.org/wiki/Convolutional_neural_network