[WEEK 3- Predicting the pieces of furniture in living rooms]

Mohammed ALI
bbm406f18
Published in
3 min readDec 16, 2018

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/

--

--

Mohammed ALI
bbm406f18

Passionate about data engineering and machine learning engineering.