IBM Watson cognitive Visual Recognition

From WikiOD

Get a list of custom classifiers[edit | edit source]

This lists all of the custom classifiers you have trained.

'use strict';

let watson = require('watson-developer-cloud');

var visualRecognition = watson.visual_recognition({
  version: 'v3',
  api_key: process.env['API_KEY'],
  version_date:'2016-05-19'
});

let url = "https://upload.wikimedia.org/wikipedia/commons/1/1c/Chris_Evans_filming_Captain_America_in_DC_cropped.jpg"

visualRecognition.classify({url: url}, function(error, results) {
  console.log(JSON.stringify(results,null,2));
});

Get information about a specific custom classifier[edit | edit source]

This returns information about a specific classifier ID you have trained. This includes information about its current status (i.e., if it is ready or not).

'use strict';

let watson = require('watson-developer-cloud');

var visualRecognition = watson.visual_recognition({
  version: 'v3',
  api_key: process.env.API_KEY,
  version_date:'2016-05-19'
});

visualRecognition.getClassifier({classifier_id: 'DogBreeds_1162972348'}, function(error, results) {
  console.log(JSON.stringify(results,null,2));
});

Train a custom classifier[edit | edit source]

Training a custom classifier requires a corpus of images organized into groups. In this example, I have a bunch of images of apples in one ZIP file, a bunch of images of bananas in another ZIP file, and a third group of images of things that are not fruits for a negative set. Once a custom classifier is created, it will be in state training and you'll have to use the classifier ID to check if it is ready (using the 'Get information about a specific custom classifier' example).

'use strict';

let watson = require('watson-developer-cloud');
let fs = require('fs');

var visualRecognition = watson.visual_recognition({
  version: 'v3',
  api_key: process.env.API_KEY,
  version_date:'2016-05-19'
});

let custom_classifier = {
  apple_positive_examples: fs.createReadStream('./apples.zip'),
  banana_positive_examples: fs.createReadStream('./bananas.zip'),
  negative_examples: fs.createReadStream('./non-fruits.zip'),
  name: 'The Name of My Classifier'
}

visualRecognition.createClassifier(custom_classifier, function(error, results) {
  console.log(JSON.stringify(results,null,2));
});

Delete a custom classifier[edit | edit source]

'use strict';

let watson = require('watson-developer-cloud');
let fs = require('fs');

var visualRecognition = watson.visual_recognition({
  version: 'v3',
  api_key: process.env.API_KEY,
  version_date:'2016-05-19'
});

let classifier_id_to_delete = 'TheNameofMyClassifier_485506080';

visualRecognition.deleteClassifier({classifier_id: classifier_id_to_delete}, function(error, results) {
  console.log(JSON.stringify(results,null,2));
});

Classify an Image[edit | edit source]

Prerequisites[edit | edit source]

First, you have to install the watson-developer-cloud SDK.

$ npm install watson-developer-cloud

Classify an image URL[edit | edit source]

Chris Evans

We'll use an image of Captain America from Wikipedia.

'use strict';

let watson = require('watson-developer-cloud');

var visualRecognition = watson.visual_recognition({
  version: 'v3',
  api_key: "<YOUR API KEY GOES HERE>",
  version_date:'2016-05-19'
});

let url = "https://upload.wikimedia.org/wikipedia/commons/1/1c/Chris_Evans_filming_Captain_America_in_DC_cropped.jpg"

visualRecognition.classify({url: url}, function(error, results) {
  console.log(JSON.stringify(results,null,2));
});

Credit:Stack_Overflow_Documentation