We are excited to announce the Public Preview of automated ML (AutoML) for Images within Azure Machine Learning (Azure ML). This new capability boosts data scientist productivity when building computer vision models for tasks such as image classification, object detection and instance segmentation.
Customers across various industries are looking to leverage machine learning to build models that can process image data. Applications range from image classification of fashion photos to PPE detection in industrial environments. The ideal solution will allow users to easily build models, control the model training to optimize model performance, and offer a way to easily manage these ML models end-to-end. While Azure Machine Learning offers a solution for managing the end-to-end ML lifecycle, customers have traditionally had to rely on the tedious process of custom training their image models. Iteratively finding the right set of model algorithms and hyperparameters for these scenarios typically requires significant data scientist effort.
With AutoML support for computer vision tasks, Azure ML customers can now easily build models trained on image data, without writing any training code. Customers can seamlessly integrate with Azure ML's data labeling capability and use this labeled data for generating image models. They can control the model generated, selecting from a variety of state of the art algorithms and can optionally tune the hyperparameters to optimize model performance. The resulting model can then be deployed as a web service in Azure ML or downloaded for local use and can be operationalized at scale by leveraging Azure ML’s MLOps capabilities.
Authoring AutoML models for computer vision tasks is currently supported via the Azure ML Python SDK. The resulting experimentation runs, models and outputs are accessible from the Azure ML Studio.
Following is a summary of features and benefits of AutoML for Images -
- Support for multiple computer vision tasks
Image from: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf
- Multi-class image classification is used when an image is classified with only a single label from a set of classes - e.g. each image is classified as either an image of a 'cat' or a 'dog' or a 'duck'.
- Multi-label image classification is used when an image could have one or more labels from a set of labels - e.g. an image could be labeled with both 'cat' and 'dog'.
- Object detection is used to identify objects in an image and locate each object with a bounding box e.g. locate all dogs and cats in an image and draw a bounding box around each.
- Instance segmentation is used to identify objects in an image at the pixel level, drawing a polygon around each object in the image.
- Seamless integration with Azure ML Data Labeling
Use Azure ML data labeling to manage labeling your image data. Co-ordinate data, labels and team members to efficiently manage labeling tasks. Export the labeled data to an Azure ML Dataset, that can be used to train your computer vision model.
- State-of-the-art algorithms for computer vision tasks Choose from a variety of state-of-the-art open source algorithms for your task. Supported algorithms include -
- Image Classification: ViT, SEResNext, ResNet, ResNeSt, MobileNet
- Object Detection: YoloV5, Faster-RCNN, RetinaNet
- Instance segmentation: MaskRCNN
You can either specify a single model algorithm or explore and compare multiple algorithms in a single AutoML run.
- Optimize model performance through hyperparameter tuning When training computer vision models, model performance depends heavily on the hyperparameter values selected. Often, you might want to tune the hyperparameters to get optimal performance. AutoML for Images exposes a range of hyperparameters that can be easily tuned to get the best performance from your model. While many of the hyperparameters exposed are model agnostic, there are also several task-specific and model-specific hyperparameters that you can tune.
You can optionally sweep across multiple algorithms and hyperparameters in a single AutoML run, to find the optimal settings for your model. This feature applies the hyperparameter tuning capabilities in Azure Machine Learning, allowing you to control sampling methods, early termination policies and resources spent on the sweep. A sample configuration showing how to leverage this capability is included below -
- Deploy model to the cloud or download for local use Once your model training completes, you can easily deploy the model as an AzureML web service using AKS or ACI for this model deployment
- Operationalize model at scale leveraging Azure Machine Learning MLOps Manage the end-to-end model lifecycle including batch scoring, automated retraining, etc. using Azure ML’s MLOps capabilities.
In summary, you can use AutoML for Images to easily build and optimize computer vision models, while offering flexibility and control over the entire model training and deployment process. Please give it a try and share your feedback with us.
What is AutoML
How to auto-train an image model