I peformed image classification on the Stanford Dogs Dataset. The dataset contains images of 120 breeds of dogs. You can read more about the dataset on this page. You can directly download the Images here.
I used different models to experiment what kind of accuracy is obtainable.
Model | Learning Steps | Accuracy |
---|---|---|
Inception-v3 | 1000 | 92% |
Inception-v3 | 4000 | 94% |
Resnet | 4000 | 96% |
Mobilenet | 4000 | 80% |
- Python
- Tensorflow
- Tensorhub
If you would like to test this model out you can use the label_image.py script to do so.
Format:
python label_image.py --graph_data=<whichever_output_graph_learning_rate> --labels=output_labels.txt --input_layer=Placeholder --output_layer=final_result --image=<name_of_image_you_want_to_test>
Example:
python label_image.py --graph_data=output_graph_inception_1000.pb --labels=output_labels.txt --input_layer=Placeholder --output_layer=final_result --image=./test_photos/doberman_2.jpg
This will print out couple dog breed names followed by the likeliness of the picture belonging to that breed of dog.
Of course you can experiment it with any dog picture you would like, but if you want to try it out with some of the existing pictures in the dataset below are some names.
Some of the popular dog breed names that exist in the directory:
- Beagle, 2. Bernese Mountain Dog, 3. Bloodhound, 4. Border Collie, 5. Doberman, 6. German Shepherd, 7. Malamute
Here are some less common dog breeds but equally beautiful looking:
- Afghan Hound, 2. Giant Schnauzer, 3. Ibizan Hound, 4. Irish Wolfhound, 5. Kuvasz, 6. Vizsla, 7. Weimaraner
I have also included a directory called "test_photos" which includes some random pictures of some dog breeds I grabbed from simple Google image searching if you think that would be easier for you to test it out.
Here's the doberman_2.jpg image:
Here's the output from that: