Udacity Facial Keypoints

The data is from Udacity for their Computer Vision Nanodegree. The data is scraped from Youtube and contains face and an excel sheet containing the keypoints. The problem asks you to train a neural network which can predict these keypoints.

History of the problem

Stanford dog Dataset

Let’s start with the 3rd Project — Stanford Dog Dataset. This dataset asks you to identify dogs of 120 different breeds. We can go with our previous approach. Creating a custom neural network for identifying the breed. But that will take a lot of computation and a lot of time. Let’s introduce a new concept then.

You can clone the repository at https://github.com/angadp/DeepLearning

Transfer Learning

Transfer Learning is the concept of using pretrained models for your own use. Most Kaggle competition winners and models in production use transfer learning. …

Cats V Dogs

Let’s start with the next project — Cats Vs Dogs. The data is from https://www.kaggle.com/c/dogs-vs-cats/data. This project gives you images of cats and dogs and asks you to predict whether it is cat or dog.

1. Loading and Augmenting the Data

You can load the data either from https://www.kaggle.com/c/dogs-vs-cats/data or by cloning https://github.com/angadp/DeepLearning

Let’s start loading the data. We will be using a new function for this flow_from_directory. This will open he directory, copy the images and augment it within the same function.

You start by defining the ImageDataGenerator as we had done before for MNIST and in the end, flow the images from directory

Let’s start with Project 1 — MNIST dataset. MNIST is dataset of handwritten digits. These are 28, 28 pixel images and you need to predict what digit it is between 0 and 9.

1. Loading The Data

Let’s start by downloading the data. The data is from Kaggle https://www.kaggle.com/c/digit-recognizer .We will also create a submission for Kaggle and see how our model performs.

You can start by cloning my repository https://github.com/angadp/DeepLearning

Let’s load the data and see a few Samples:

2. Augmenting the data

We will use the ImageDataGenerator function for this. Basically you pass images to this function and it gives you the same images but…

Computer Vision

Recently, I started looking into Computer Vision and how to approach these kind of projects. In the past 4 months, I have gone through Coursera, Udacity and Udemy courses. Here is the summary of how to approach any Computer Vision Project -

  1. Do EDA to understand what is to be predicted.
  2. Decide on the model to run: we will run 2 projects with our custom model and 2 with Transfer Learning
  3. Do data augmentation to generalize your model to work on unseen data.
  4. Finally, evaluate your model, freeze it and deploy.

All projects are done in Keras. …

Neural Network

What are Neural Networks?

Neural Network in very simple terms is a bunch of neural which perform transformations from one variable to other. These nodes are arranged together in the hidden layer. The values flow from the input to the output and the error that comes is then backpropagated to the input layers. This is known as the Dense Layer and is the foundation of Neural Networks. So we already have 2 important parameters to understand for training a neural network —

  1. Error
  2. And how is this error backpropagated?

What is Deep Learning?

Deep Learning is just adding some layers before the dense layers which try to detect…

Angadpreet Nagpal

Senior Software Engineer at M56Studios. Interested in mobile and web development and Deep Learning.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store