Grace Hopper

Table of Contents

Introduction

This algorithm is a direct implementation of Google's InceptionNet, which was trained on the ImageNet 2015 dataset. It is implemented using Google's Tensorflow  python bindings,

the InceptionNet model architecture is as shown below:

googleNet

I/O

Input

source: String

  • source - (required) - the source image to classify, this must be in one of the following formats: data connector URI, web http/https resource file http://.. or https://..., or a base64 encoded JPEG String.

Output

{  
   "tags":[  
      {  
         "confidence": Double,
         "class": String
      },
      {  
         "confidence": Double,
         "class": String
      },
      {  
         "confidence": Double,
         "class": String
      },
      {  
         "confidence": Double,
         "class": String
      },
      {  
         "confidence":Double,
         "class": String
      }
   ]
}

  • tags - The top 5 classes that the model predicts are relevant to the image.
  • className - The classname for the class.
  • confidence - The confidence that this label is relevant.

Note: The first call to this algorithm will take a bit longer than sequential calls to due algorithm initialization. All following calls will be significantly faster.

Examples

Example 1

![car](http://i.imgur.com/ZiX34yx.jpg)

input

"http://i.imgur.com/LkrFjJP.jpg"

output

{  
   "tags":[  
      {  
         "class":"convertible",
         "confidence":0.3217212557792664
      },
      {  
         "class":"sports car, sport car",
         "confidence":0.18678018450737005
      },
      {  
         "class":"racer, race car, racing car",
         "confidence":0.09395135194063188
      },
      {  
         "class":"car wheel",
         "confidence":0.08665172755718234
      },
      {  
         "class":"grille, radiator grille",
         "confidence":0.07477507740259172
      }
   ]
}

Example 2

![dog](http://i.imgur.com/YKDmneL.jpg)

input

"http://i.imgur.com/YKDmneL.jpg"

output

{
  "tags":[
    {
      "class": "Samoyed, Samoyede",
      "confidence": 0.9004066586494446
    },
    {
      "class": "keeshond",
      "confidence": 0.004059927538037299
    },
    {
      "class": "Pomeranian",
      "confidence": 0.0024697233457118277
    },
    {
      "class": "Eskimo dog, husky",
      "confidence": 0.0013620780082419515
    },
    {
      "class": "Loafer",
      "confidence": 0.0011537882965058086
    }
  ]
}

Credits

For more info please check out Going Deeper With Convolutions by Christian Szegedy, Wei Liu et al

All sample images retrived from www.imgur.com on May 26, 2016.

Writing good docs:

Communicate Value

A good introduction should make it clear why someone might use your API.

Show and Tell

Give examples of using your API and explain those examples.

Easy to Skim

Ensure your docs are structured such that familiar users can quickly jump to the content they want.

Current

Revisit your docs after making breaking changes or adding new features to keep them up-to-date.