[WEEK 3- Predicting the pieces of furniture in living rooms]
Group Members: Mohammed ALI, Aybüke Yalçıner, HaticeAcar.
Introduction
After we have understood how to design convolutional networks in theory, let’s dive into how this works in practice. We have learned how to implement step by step convolutional neural networks by using Keras framework that works by using TensorFlow backend in Python.
we started doing a classification between just two objects(armchair and sofa)
as a first step and then we are going to extend it to so for all objects. currently, we are trying to optimize the solution by applying different filter size and adding more convolutional layers then we are comparing the result.
Splitting Data into Train Data Test Data
We have split the whole data into two different datasets train data and testing data. The training set contains 400 photos and testing set contains 100 photos for both objects.
Implementation of Convolutional neural networks with Keras step by step
As we have decided last week, we are going to use Convolutional neural networks with Keras to make a prediction in our project. In Keras we have to implement CNN layer by layer like the following:
Step one — Convolutions
we have created many feature maps because we use different filters to get the first convolution layer. we started only with one convolution layer.
Step two — Max pooling
We perform Max Pooling operation here to reduce the size of feature maps. max pooling removes some information from photos to avoid overfitting.
Step Three — Flatting layer
convert the 2D layer into 1 D layer, in other words, It takes pooled feature maps and put them in one single vector and this single vector will be an input to a fully connected layer.
Step Four — Full connection layer
Summary and diagram for all layers
Conv2D-> Max pooling ->flatten -> Dense
After we have all layers for the Convolutional neural network, now we need to compile all whole of them. We have select loss as binary_crossentropy because we are trying now to make a classification just between two objects as a first step. And then we will use all our categories.
References
https://keras.io/getting-started/sequential-model-guide/
https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/