ManarAlharbi / DSND-Term2-Dog_Breeds_Classifier

Build a CNN model to classify images of dogs according to their breed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dog Breeds Classifier

Table of Contents

  1. Project Motivation
  2. File Descriptions
  3. Results
  4. Required Libraries
  5. Acknowledgements

Project Motivation

The project goal is to classify images of dogs according to their breed. For this purpose, I built an image classification model with convolutional neural networks. The model could be used as part of a mobile or web app. The model accepts any user-supplied image as input. If a dog is detected in the image, it will provide an estimate of the dog's breed. If a human is detected, it will provide an estimate of the dog breed that is most resembling. The image below displays potential sample output of your finished project.

Sample Dog Output

File Descriptions

  • dog_app.ipynb is a Jupyter notebook, contains the whole project code to create a dog breed classifier.
  • The images folder includes all images used for this project.
  • The saved_models folder contains the models saved during this project

Results

I applied the model on 6 samples, 2 dogs, 2 human, and 2 others. The model was able to determine whether the image contains a human, dog, or neither.

  • It predicted the correct dog breed for both dogs.

Sample Beagle Dog Output

  • When I entered Sandra Bullock face, it resembled her with Maltese dog breed.

Sample human Output

  • When I entered a flower image, it didn’t recognize it as a dog or a human.

Sample others Output

The technical details of the project can be found on the this blog post
Write an Algorithm for a Dog Identification App

Required Libraries

  • Pandas, NumPy, Scikit-learn (Machine Learning Libraries)
  • Matplotlib (Python 2D plotting library)
  • Keras (Neural-network library)
  • Glob library

Acknowledgements

The below links, were very useful for completing the projects,