How to use MS Azure Custom VisionAI to train a model for objects in an image
I used Microsoft Cognitive Services to detect objects in images through Microsoft Azure Custom Vision AI. The model gets trained to identify the number of cars in an aerial view of a parking lot.
Using MS Custom Vision you can train the model to identify any type of object within a dataset of images. Very adaptable and customisable use case for many industries to leverage.
COMPUTER VISION:
Computers can gain a high-level understanding by extracting information from digital images or video. Using digital images (from cameras & videos), deep learning models and machines can accurately identify & classify objects.
Object Detection: Allows us to identify and locate objects in an image or video.
Object detection can be used to:
- count objects in an image
- determine/ identify their precise locations
- accurately label the objects.
Azure Custom Vision is super cool and really easy to use — enables you to build and improve your own image classifiers by training the model with your own labels by passing images through it. It has a user-friendly interface to develop and deploy your own models.
How did I use MS Custom Vision AI to detect the number of cars from aerial images?
A dataset was created by uploading a high number of images into customvision.ai in order to train the model.
Here is a sample of the aerial image used to train the model.
Training Results: over 94,5% Performance as seen below.
[Precision (positive predictive value), Recall (sensitivity)]
Precision returns Positive Prediction Accuracy for the label.
Recall returns the True Positive Rate of the label.
Prediction Results:
The trained model was passed 2 new images from which to make predictions on (ie. new data that the model has not seen previously).
The prediction results were also very good 99,8%.
After the model has been successfully published, a “Published” label will appear next to the iteration in the left-hand sidebar.
Some key features with using Custom Vision AI:
- models can be customised based on what you want to predict
- you have the option to export a trained model to any device or container.
- moving it to a device decreases latency which is super cool.
- the model can be exported to be run offline.
- the exported classifier is embedded into an application run locally on a device for real-time classification.