Understanding the capabilities of the Custom Vision Service is a critical aspect for any AI professional preparing for the AI-900 Microsoft Azure AI Fundamentals exam. The Microsoft Azure Custom Vision Service offers an advanced computer vision model that simplifies the process of training, improving, and deploying computer vision models. In this post, we will identify and discuss in-depth the capabilities and features of the Custom Vision Service.
Key Features and Capabilities
-
Custom Image Classification
The Custom Vision Service allows users to build and improve their image classification models. Image classification organizes and categorizes images into one of several predefined classes. By uploading and tagging images, the service is trained to visually distinguish between different classes and make accurate predictions when new images are introduced.
-
Object Detection
Another striking feature of the Custom Vision Service is object detection. It not only classifies images but also identifies the presence and location of objects within these images. This capability is particularly useful when there is a need to understand the context of multiple objects in an image.
-
Deep Learning Methodologies
The Custom Vision Service leverages advanced deep learning algorithms to offer robust image classification and object detection capabilities. It uses a technique known as transfer learning where a pretrained model is fine-tuned with new data, which greatly reduces the amount of training data required and shortens the training time.
-
Real-time Performance Tuning
The Custom Vision Service provides a user-friendly interface that allows users to iteratively improve their models. Using tools such as precision-recall curves, users can adjust the prediction threshold to match their specific needs.
-
Exporting Capabilities
Once a model is trained, Microsoft Azure allows users to export it to different platforms. The Custom Vision Service supports ONNX (Open Neural Network Exchange), CoreML for iOS, TensorFlow for Android, and Docker files for edge deployments. This provides flexibility in deploying the model to any desired platform.
Creating a Custom Vision project
Below is a simple example of how to create a Custom Vision project:
from azure.cognitiveservices.vision.customvision.training import CustomVisionTrainingClient
from azure.cognitiveservices.vision.customvision.training.models import ImageFileCreateBatch, ImageFileCreateEntry
ENDPOINT = "https://
# Replace with a valid key
training_key = "
prediction_key = "
prediction_resource_id = "
trainer = CustomVisionTrainingClient(training_key, endpoint=ENDPOINT)
# Create a new project
print ("Creating project...")
project = trainer.create_project("My Project")
-
Automation Capabilities
Azure Custom Vision Service offers robust APIs for both training and prediction. Users can automate the process of uploading, tagging images, training and improving models, and deploying models for real-time predictions.
The Microsoft Azure Custom Vision Service is packed with a myriad of features and capabilities designed to streamline the process of custom image classification and object detection. Whether you’re working with minimal user interface or programming directly against our REST API, understanding these capabilities would undoubtedly bolster your preparation for the AI-900 Microsoft Azure AI Fundamentals exam.
Practice Test
True or False: Custom Vision service is a part of Microsoft Azure AI offering, which can be used to build and refine custom image classifiers.
- True
- False
Answer: True
Explanation: Custom Vision service is used to easily customize your own computer vision models that fit with your unique business needs.
Which type of learning does the Custom Vision service use?
- a) Supervised learning
- b) Unsupervised learning
- c) Semi-supervised learning
- d) Reinforcement Learning
Answer: a) Supervised learning
Explanation: In supervised learning, each example is a pair consisting of an input object (typically a vector) and a desired output value which is used in custom vision to train the model.
The Custom Vision service is capable of:
- a) Image classification
- b) Object detection
- c) Both
- d) None of the above
Answer: c) Both
Explanation: Custom Vision Service is able to classify images into categories and also perform object detection i.e., locate and classify entities within images.
True or False: The Custom Vision service requires code writing from the user’s end to function perfectly.
- True
- False
Answer: False
Explanation: The Custom Vision service is designed to be easy to use and does not require extensive machine learning expertise or heavy coding
Custom Vision service models can be exported and run offline.
- a) True
- b) False
Answer: a) True
Explanation: Models trained using the Custom Vision Service can be exported to run offline for various platforms including iOS, Android, and many more.
Which among these is not a capability of Custom Vision Service?
- a) Detect multiple objects within the same image
- b) Recognize hand-written text
- c) Classify images as per defined categories
- d) Refine models based on feedback
Answer: b) Recognize hand-written text
Explanation: Recognizing hand-written text is part of Azure’s Computer Vision service, not Custom Vision.
Custom Vision Service can be used to build, deploy, and improve custom image classifiers.
- a) True
- b) False
Answer: a) True
Explanation: The Custom Vision Service is specifically designed to build and improve custom image classifiers and deploy it for your unique business needs.
All models built using Custom Vision Service must be hosted on Azure itself.
- a) True
- b) False
Answer: b) False
Explanation: After being developed, models from the Custom Vision Service can be exported to use in applications hosted on Azure, on-premises, or even on edge devices.
Custom Vision Service supports real-time learning and improvement.
- a) True
- b) False
Answer: a) True
Explanation: With each tagged image, the model continuously learns and improves its performance.
Which Azure service should you use if you want the AI to learn without explicitly programmed instructions?
- a) Custom Vision Service
- b) Machine Learning Service
- c) Speech Service
- d) Language Understanding Service
Answer: b) Machine Learning Service
Explanation: Azure’s Machine Learning service allows for more conventional machine learning which the AI learns from data insights and patterns without being explicitly programmed.
Interview Questions
What is the main function of the Custom Vision service in Microsoft Azure?
The main function of the Custom Vision service is to build, deploy and improve custom image classifiers.
What kind of models can be built using the Custom Vision Service in Azure?
With Custom Vision service, users can build both image classification models which categorize images into classes and object detection models that identify objects within images.
Does the Custom Vision service support multi-label classification?
Yes, the Custom Vision service does support multi-label classification, which means it can associate multiple tags with a single image.
How can the performance of models built on Custom Vision service be improved?
The performance of models built on the Custom Vision service can be improved by training them with a large number of images, refining the images used in training, and by iteratively evaluating and improving your models.
How are the models created using the Custom Vision service deployed?
The models created using the Custom Vision service can be deployed as a web service hosted on Azure or exported as a Docker container for deployment anywhere.
What are some use cases for implementing the Custom Vision Service?
Some use cases for implementing the Custom Vision Service include medical image analysis, retail product identification, and recognizing objects in drone imagery.
Can Custom Vision service classify text within images?
No, Custom Vision Service is primarily used for categorizing images based on their visual characteristics and cannot classify text within images.
Is there a limitation on the number of projects one can have on the Custom Vision service?
Yes, there are limitations based on the tier of your Azure subscription, ranging from 2 projects for the free tier to 500 projects for the S0 tier.
What file formats are supported by the Custom Vision service for training images?
The Custom Vision service supports JPEG, PNG, BMP, and non-animated GIF files for training images.
For training images in the Custom Vision service, what are the minimum and maximum image file sizes?
The minimum file size is 1KB and the maximum file size is 6MB for training images in the Custom Vision service.
Can the models created with the Custom Vision service be exported for offline use?
Yes, the models created with the Custom Vision service can be exported for offline use in various formats like TensorFlow, ONNX, CoreML, and for vision AI devices like Vision AI DevKit.
Is there a quick way to test the models created with the Custom Vision service?
Yes, you can use the Quick Test button on the Custom Vision portal, which allows you to upload an image and see the predictions made by the model.
Can you add new images to an existing dataset in the Custom Vision service?
Yes, you can add new images to an existing dataset in the Custom Vision service, and this can help improve the accuracy of the model.
Can Custom Vision Service handle real-time prediction requests?
Yes, once a model has been trained and published, Custom Vision Service can handle real-time prediction requests through the Prediction API.
How does the Custom Vision service handle unbalanced datasets?
The Custom Vision Service internally balances the dataset by weighting the under-represented classes, it’s always best to keep the dataset as balanced as possible for the best results.