Machine Vision Classification of Dogs
Built a machine vision classification model to identify the breed of dog from a photo using IBM Watson
Using IBM Watson along with Stanford’s Dog Dataset I was able to build a simple machine vision classification model.
The IBM Watson cloud service made the creation of the model a breeze. The service has prepared models that you can use if you would like, but in this case, I wanted to create a model that was more specific. So instead of using one of the pre-built models I opted to build a new model.
Building a new model was also straightforward. You simply supply the model with positive examples of the different classifications (In this case, the different breed of dogs). From there, you can also create negative instances (For instance, elephants, tigers, and lions all of which are animals but are not dogs). Then you train the model on the images and can test the results.
The output is a score from 0 to 1 with the confidence ratings of the classification. As you can see in the screen grab below, for pictures that were held back as our test dataset of three breeds of dog, we get the right classification for each.
Additionally, IBM Watson has the capability to output the model to CoreML so it can be embedded into an iPhone app. Hopefully in the near future I will have the ability to take a photo in an app and then run it through the model so I never have to ask “What kind of dog is that?” again.