This repository contains the code and resources for the Image Classification for a City Dog Show project, which is part of the Udacity AI Programming with Python Nanodegree.
The primary goal of this project is to improve Python programming skills by leveraging a pre-built image classifier to identify dog breeds. Participants will use the classifier to determine whether registered images are of dogs and, if so, identify their breed.
The focus of this project is on Python programming, specifically applying Python tools and techniques to use an already developed image classifier.
Your city is hosting a dog show, and as part of the organizing committee, you are responsible for handling contestant registrations. Each participant must submit an image of their dog along with biographical information.
The registration system tags these images based on the provided biographical details, but there’s a challenge:
- Some participants may try to register pets that are not dogs.
Your job is to ensure that the submitted images are of dogs using an existing Python image classifier and determine each dog's breed.
Note: You do NOT need to create the image classifier from scratch; it will be provided.
- Use the classifier to determine whether an image is of a dog or not.
- Identify the best image classification algorithm for the task by comparing multiple algorithms.
- Measure performance by evaluating:
- Accuracy in determining if an image is of a dog.
- Accuracy in identifying the breed of the dog.
- Runtime for each algorithm, balancing accuracy with computational efficiency.
- Provide insights and recommendations based on your analysis.
- Input: An image of a pet submitted during registration.
- Output:
- "Dog" or "Not Dog" classification.
- If classified as "Dog," the breed is identified.
- Image classifiers are tools with input (image) and output (classification).
- Classifiers may not always categorize images correctly; assessing their performance is essential.
- There is often a trade-off