Skip to content

Udacity AIND project training a CNN to classify dog breeds

Notifications You must be signed in to change notification settings

tra0x/dog-breed-classifier

 
 

Repository files navigation

Convolutional Neural Network Dog Classifier

Overview

Given an image of a dog, this notebook will estimate the canine’s breed. If supplied an image of a human, the code will identify the resembling dog breed.

Sample Output

Details

Training Data

Training data consists of over 8000 dog images tagged with their breeds. The images are split into training, test and validation sets.

The data contains instances of minimal inter-class variation, such as between retrievers and spaniels.

Retriever Spaniel

There are also cases of high intra-class variation, such as within Labradors.

Golden Labrador Brown Labrador Black Labrador

Import Human Face Detector

OpenCV's human face detector using Haar Cascades is used here.

Import Dog Detector

The ResNet-50 model is used to identify images containing dogs.

The images are preprocessed according to ResNet-50's specifications (normalized and resized).

Train Dog Classifier

Transfer learning is used to create a CNN using Xception bottleneck features.

A 500 paramter layer is added to focus on the current dog image dataset, followed by a 133 parameter fully-connected layer.

Training was performed on an EC2 GPU instance.

About

Udacity AIND project training a CNN to classify dog breeds

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.9%
  • Python 0.1%