Skip to main content
  1. Projects/

🐶 Dog Breed Classification

·417 words
Neural Networks Data Analysis Python
Ksenia Legostay
Author
Ksenia Legostay
I love playing around with data in my free time

Dog Breed Classification service
#

This service utilizes pre-trained CNN models to accurately determine whether an image represents a dog, and if so, it further predicts the specific breed of the dog. By leveraging state-of-the-art deep learning techniques, the service offers robust and accurate classification results.

How Does It Work
#

The Dog Breed Classification Service employs a set of pre-trained CNN models to classify dog images and predict their breeds. Here’s an overview of the process:

  1. Image Label Extraction: The service extracts the pet image label from the filename. It assumes that the filename contains the label information, which is typically the breed of the dog. For example, if the filename is “golden_retriever_01.jpg,” the extracted label would be “golden retriever.”

  2. Image Classification: After extracting the image label, the service proceeds to classify the image using a pre-trained CNN model. The CNN model has been trained on a large dataset of dog images and is capable of recognizing various dog breeds. The image is fed into the model, and the service obtains a probability distribution over different dog breeds.

  3. Breed Prediction: Based on the probability distribution generated by the CNN model, the service predicts the most likely breed of the dog in the submitted image. The breed with the highest probability is selected as the predicted breed.

  4. Model Comparison: The Dog Breed Classification Service goes a step further by comparing the performance of three different CNN model architectures. These models have been trained using various techniques and architectures to improve classification accuracy. The service evaluates the performance of each model and provides a comparison of their results.

  5. Summary Statistics: To assist users in understanding the comparative performance of the CNN models, the service generates short summary statistics. These statistics provide insights into the accuracy and effectiveness of each model in classifying dog breeds.

Performance Comparison of CNN Models
#

In this image classification task, I have used three different pre-trained CNN models with distinct architectures. The table below presents the evaluation results for the comparison of these models:

CNN Model Architecture% Not-a-Dog Correct% Dogs Correct% Breeds Correct
RESNET90.0100.090.0
ALEXNET100.0100.080.0
VGG100.0100.093.3

Based on the performance comparison, the VGG model architecture demonstrated the best performance in classifying the dog breeds on a sample of the images. It achieved the highest accuracy in identifying the correct dog breeds compared to the RESNET and ALEXNET architectures.

Repository
#

Check out my project repo and classify your dog’s picture! 🤩