Project was a part of the Udacity's Nanodegree program. Some of the template code and instructions were provided to help the students finish the project.
To create a model that detects the breed of the dog when its image is supplied.
The project accepts any user-supplied image as input. If a dog is detected in the image, it provides an estimate of the dog's breed. Additionally, if a human is detected, it provide an estimate of the dog breed that is most resembling(!).
The image below displays potential sample output of the project.
Following are the series of tasks perfomed:
- Step 0: Import Datasets
- Step 1: Detect Humans
- Step 2: Detect Dogs
- Step 3: Create a CNN to Classify Dog Breeds (from Scratch)
- Step 4: Use a CNN to Classify Dog Breeds (using Transfer Learning)
- Step 5: Create a CNN to Classify Dog Breeds (using Transfer Learning)
Following are the details of the dataset used:
- 133 total dog categories.
- 8351 total dog images.
- 6680 training dog images.
- 835 validation dog images.
- 836 test dog images.
- 13233 total human images
This project requires Python 2.7 and the following Python libraries installed:
You will also need to have software installed to run and execute an iPython Notebook
Main code is provided in the dog_app.ipynb
notebook file. The images folder containes images on which the training and testing was conducted.
In a terminal or command window, navigate to the top-level project directory customer_segments/
(that contains this README) and run one of the following commands:
ipython notebook dog_app.ipynb
or
jupyter notebook dog_app.ipynb
This will open the Jupyter Notebook software and project file in your browser.