Label a Computer Vision Dataset with Vertex AI
What is Vertex AI?
Vertex AI is a cloud machine learning platform developed by Google. Vertex AI offers a suite of tools across machine learning disciplines, from natural language processing to computer vision to building generative text-based search experiences.
Vertex AI’s Computer Vision services offer tools to label images for use in computer vision models. You can also train and deploy vision models through Vertex AI.
In this guide, we will show how to label a computer vision dataset with Vertex AI. We will share a few methods for gathering data if you do not yet have images to label. We will then show how to upload images into Vertex AI and label images in the platform.
Vertex has labeling solutions for object detection, classification, and segmentation. For this guide, we will focus on labeling data for use in an object detection project.
Note: Vertex only exports to a jsonl format for which conversion tooling is limited. This limits your ability to train a model without writing a custom export script. For a labeling tool that supports over 40 different import and export formats, check out Roboflow Annotate.
Without further ado, let’s get started!
Label Computer Vision Data in Vertex AI
Let’s walk through the steps to label a computer vision dataset in Vertex AI.
Step #1: Create a Vertex AI Dataset
Before labeling data, you need to create a Dataset in Vertex AI. A Dataset is where you store all of the data you want to use to train a model.
First, open Vertex AI in Google Cloud Platform. To do so, search for “Vertex AI” and select the “Vertex AI” option.
If you have never used Vertex on your account, you will be asked to enable Vertex AI on your account. Enable Vertex AI, then navigate to the Vertex AI dashboard using the search bar.
Next, click the Datasets link in the Vertex sidebar:
Click the “Create” button to create a dataset.
Provide a name for your project and select the model type relevant for your project. For this guide, we will be labeling data for an object detection model. You can also label data for classification and segmentation tasks.
Step #3: Upload Images
There are three methods you can use to upload images:
- Upload images directly from your computer.
- Upload GCP import files from your computer.
- Upload an Import file from Cloud Storage.
For this guide, we will upload images directly from a computer.
If you need images, check out Roboflow Universe, a community of public data for use in training computer vision models. You can find over 150 million images across 200,000 datasets on Universe.
In addition, you can use Roboflow Collect to collect data on the edge. Roboflow Collect provides an intelligent data gathering solution with which you can:
- Collect images that match a provided text prompt (i.e. “car”).
- Collect images that are similar to an image you have already collected.
- Prevent gathering duplicate images.
Select “Upload images from your computer”. Click the “Select Files” button and select the files you want to upload. You can upload up to 500 images at a time.
You will see a list of images you have selected:
When you confirm the upload, your files will be uploaded into your Vertex AI dataset. The amount of time this process takes will vary depending on the number of images you have uploaded. Keep the page open. You can navigate to another tab to do something else while you wait for the upload. You will receive an email from GCP when your Dataset is ready for use.
When your Dataset is ready, you will see all of your images on the Vertex AI Dataset page associated with your project:
Step #4: Label an Image
Click on the “Add New Label” button in the sidebar of your project page to add a new label for use in labeling. For this guide, we will add “panel” to reflect solar panels. When you have added all of your labels, click on an image from the Images list to start labeling.
To draw a bounding box, click on a point in the image and drag your cursor over the object you want to label:
When you have drawn a bounding box, you will be asked to select a class to associate with the bounding box.
Once you have labeled all objects of interest in an image, press the right arrow on your keyboard to navigate to the next image. To navigate to the previous image, press the left arrow on your keyboard.
If you need a faster way to annotate images, check out Roboflow Annotate. Roboflow Annotate provides label assistant features you can use to speed up the annotation process. With Label Assist, you can draw bounding boxes polygon annotations by clicking on an object rather than manually drawing boxes or polygons.
Vertex AI has a collaborative labeling feature that allows you to invite people to assist in labeling. To use this feature, go back to the Images list and click the “Create labeling task” button.
Follow the instructions in the pop up to create a labeling task.
Once you have labeled all images for your project, you can train a computer vision model in Vertex AI. To learn how to train a vision model in Vertex AI, refer to our complete guide to training computer vision models with Vertex AI.
Next Steps: Train Custom Computer Vision Models
In this guide, we have walked through how to label a computer vision dataset with Vertex AI. We created a Dataset in Vertex AI, uploaded images, and drew bounding boxes around objects of interest.
The labeled dataset can be used to train an object detection model on Vertex AI. To learn more about training a custom model on Vertex, check out our Vertex AI training guide. You can also export your data for use in training in another application. Click the three dots in the top left corner of Vertex AI and select the “Export annotation set” option:
Next, select a Google Cloud Storage destination to save your dataset. Click “Export” to export your dataset.
Next, navigate to the Google Cloud Storage dashboard using the GCP search bar and select the Storage resource in which you exported your data:
Select the folder to export, then click the “Download” button to export your data. You will be given a command to export your data. You will need the gcloud CLI installed to export your data.
Note: Roboflow does not currently support imports from Vertex AI.