Image Recognition for Non-Experts: From Google Cloud Vision to Tensorflow
Displaying an inappropriate ad on a website can be a major headache for an Ad network. Showing ads for a site’s major competitor, or ads in a category at odds with the site’s brand, for example, can cause embarrassment and lost revenue. With the selection of ads being largely algorithmic it can be hard to set up rules to make sure this doesn’t happen. You also don’t want your first awareness of the problem being a call from an angry CEO.
This talk shows how we built a system that uses image recognition to detect Ad Breaches. Our first version makes use of Google’s Cloud Vision API. The Cloud Vision API is a pre-trained service that recognises many categories of objects from images, along with some text recognition. I’ll discuss how to use the Cloud Vision API in your applications, what it is good at, what it is not.
I’ll then look at using transfer learning to improve our system’s ability to recognise Ad Breaches. I will look at how we can use the popular Tensorflow library to build our own image recognition model. Tensorflow comes with several pre-trained models for image recognition - using these I will show you how to build your own specialised image recognition models in a fraction of the time, and with a fraction of the input data, by re-using existing pre-trained layers from the best models out there. I’ll investigate whether we can train a model to detect potential ad breaches from a small set of examples.
Outline/Structure of the Talk
Standard presentation - just me, some slides, a few jokes, and the big dance number to finish.
Attendees will learn how to use the Google Cloud Vision service, as well as the benefits and drawbacks of using it. They'll also get an introduction to the image recognition models available in Tensorflow, and how to use them to produce their own models.
Application developers, data scientists with an interest in transfer learning.
Prerequisites for Attendees
A basic understanding of machine learning models would be beneficial, but not essential.