Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Computer Vision API and Custom Vision API

I'm fairly new to using Microsoft's cognitive services. I'd like to know what is the difference between MS Computer Vision API and MS Custom Vision API?

like image 502
Ayesha Bibi Avatar asked Sep 03 '18 20:09

Ayesha Bibi


People also ask

What is API in computer vision?

The cloud-based Computer Vision API provides developers with access to advanced algorithms for processing images and returning information. By uploading an image or specifying an image URL, Microsoft Computer Vision algorithms can analyze visual content in different ways based on inputs and user choices.

What is azure custom Vision?

Azure Custom Vision is an image recognition service that lets you build, deploy, and improve your own image identifier models. An image identifier applies labels to images, according to their visual characteristics. Each label represents a classification or object.

How do I use custom Vision Prediction API?

From the Custom Vision web page, select your project and then select the Performance tab. To submit images to the Prediction API, you'll first need to publish your iteration for prediction, which can be done by selecting Publish and specifying a name for the published iteration.


1 Answers

They both deal with computer vision on images, but hopefully, I can help make them more distinguishable here. :)

Computer Vision

The Computer Vision API is where Microsoft has built their own image models that can give you a few things:

  • Image classification - This is where the API will give you a number of tags that classify the image. It should also give you a confidence score of how strongly the model predicts the image to be of that tag.
  • Content Moderation - The API can give you an isAdult and isRacy flags to determine if the image meets those criteria. An accompanied confidence score is with those, too.
  • OCR - The API can read text within the images and will give you the text. This API can also work with handwritten text instead of just text on signs.
  • Facial Recognition - This API will recognize the faces of celebrities or other well-known people within images.
  • Landmark Recognition - This will recognize landmarks within images.

Custom Vision

The Custom Vision service is a little bit different where you can train a model of your own images based off of a prebuilt model that Microsoft has. For one thing, this can only do image classification and object detection. The object detection portion is where it will tell you not only what tag an image is, but show where in the image it is. Currently, this part of the service is in preview, but I've seen good results with it so far.

Another difference is that the Custom Vision service allows you to upload your own images. For image classification, this means you can upload your images and, for each image, give it one or multiple tags. So when you run an image through the model it will return the tag(s) it thinks it is along with the tag's confidence score. For object detection, you do the same process, but you pick in the images where the object is you want to detect and give that a tag.

Each time you upload and tag new images the model needs to be trained. From there you can evaluate how well your model performs, give it test images, or even use the REST URLs or SDKs to interact with it.

To summarize, the biggest difference between the two is the Custom Vision service can only do image classification and object detection, as well as take in your own images to perform those against. The Computer Vision APIs can do a bit more, but you don't have any control over how the models are trained.

Hope that helps! If you have any questions, just let me know.

like image 94
Jon Avatar answered Sep 18 '22 17:09

Jon