Custom Vision: Chapter 7 - Object Detection - Data Annotation
Hello there, welcome to the next chapter on our Custom Vision series. I hope you are enjoying the content and finding it useful to learn all nuances required for AI solution implementation.
In the last chapter, we talked in brief about Object Detection as a Computer Vision solution to perceive images just like humans do. Today we will take the next step in the journey.
To train any model, the most important pre-requisite is "Data". But raw data cannot help us in solving any problem. We need to process it, transform it or add metadata to it in order to make it useful.
What kind of transformation is needed in the Object Detection problem?
Similar to Image Classification, core Object detection logic works on spatial information stored in form of pixel values in an image.
So for our Neural Network to understand these spatial features and distinguish between them, along with the image, we need to provide class metadata of the image to the Network. This process of attaching class metadata to an image is also called Data Annotation.
How do I annotate my images?

You can choose from a variety of tools available in the market which helps you with annotation task. There are both open-source and cloud-native tools available. Which one to use entirely depends on your requirements.
As part of this article, we will be using Label Studio to annotate the image dataset.
If you have missed our earlier posts where we saw how to install and set up Label Studio on your local system, we recommend you to go through the article mentioned below.

Import Data
Once you are done with the installation steps as mentioned in the above post, we can start with the initial steps required to start annotations.
- Create new project
- Import Data
- Select the labeling setup (In our case select Object Detection with Bounding Boxes)
- Add your custom labels
Step by step guide is provided in the video below.
We can also sync data directly from cloud storage. Check out options in Label Studio documentation.

Start Annotating
With the project setup done and data imported, it's time to take on to the main task – Drawing annotations on Image. Label Studio provides us with a very intuitive User Interface, that is simple to understand and easy to use.
Just select the class you want to assign to an object, and start drawing a bounding box directly on the image preview. This will draw a colored box on the object you were trying to tag.
You can add multiple classes (Multi-Class Object Detection), or single class (Single Class Object Detection) to the same image.
You can also validate the annotations made on the right-hand side on the same screen.

Export Annotations
When you are done with annotating all the images, it's time to export the annotations and use them in our Neural Network. There are various formats you can export the annotation data in.
For the object detection problem set, you might see some new format options unlocked in Label Studio
COCO format
When we export annotation data in COCO format, we get a zip file containing a folder with all the images, and a JSON file that contains all the information about the bounding boxes we just created.
The exported JSON file looks something like this
{
"images": [],
"categories": [],
"annotations": [],
"info": {}
}
- "images" tag contains metadata and the path of the image.
- "categories" tag consists of all the classes/labels we created.
- "annotations" tag stores information about the bounding box we created on the image.
- "info" tag stores the metadata of the annotation task.
Pascal VOC XML format
Pascal VOC exports annotation information in XML format. Unlike COCO annotation format, where a single master annotation file is generated, in Pascal VOC, an individual annotation file is created for every image.
To know more about the two annotation formats, click here.

Story So Far
So far we have seen how to generate do annotation and generate a file with all the required information using Label Studio.
Next up we will expand on this topic and see how do we import these annotations on the Google Vertex AI platform and train an Object Detection model.
Stay safe and stay tuned for more informative content.