-
Using an image classification application using a deep learning model called a convolutional neural network (often abbreviated as CNN).
-
Using a CNN that has already learned the features from a giant dataset of 1.2 million images called ImageNet.
-
Exploring the three different architectures (AlexNet, VGG, and ResNet) and determining which are best for the application.
Your city is hosting a citywide dog show and you have volunteered to help the organizing committee with contestant registration. Every participant that registers must submit an image of their dog along with biographical information about their dog. The registration system tags the images based upon the biographical information. Some people are planning on registering pets that aren’t actual dogs. Develop Python classifier to make sure the participants are dogs.
-
Correctly identify which pet images are of dogs (even if the breed is misclassified) and which pet images aren't of dogs.
-
Correctly classify the breed of dog, for the images that are of dogs.
-
Determine which CNN model architecture (ResNet, AlexNet, or VGG), "best" achieve objectives 1 and 2.
A. pet_images(given), uploaded_images:- Testing data (Images to be classified)
A. resnet_pet-images.txt(given), resnet_uploaded-images.txt - that contains the results using CNN model architecture ResNet (after classification)
B. alexnet_pet-images.txt(given), alexnet_uploaded-images.txt - that contains the results using CNN model architecture AlexNet (after classification)
C. vgg_pet-images.txt(given), vgg_uploaded-images.txt - that contains the results using CNN model architecture VGG (after classification)
D. run_models_batch, run_models_batch_uploaded - bash program(executes shell commands- Batch Processing)
To run file run_models_batch.sh in the workspace, open a terminal window (in Unix/Linux/OSX/Lab Workspace) and type the following:
sh run_models_batch.sh
Note: (run_models_batch.bat on Windows)
Notice that both VGG and AlexNet correctly identify images of "dogs" and "not-a-dog" 100% of the time.
VGG provides the best solution because it classifies the correct breed of dog over 90% of the time.
Given our results, the "best" model architecture is VGG. It outperformed both of the other architectures when considering both objectives 1 and 2. You will notice that ResNet did classify dog breeds better than AlexNet, but only VGG and AlexNet were able to classify "dogs" and "not-a-dog" at 100% accuracy. The model VGG was the one that was able to classify "dogs" and "not-a-dog" with 100% accuracy and had the best performance regarding breed classification with 93.3% accuracy.