CVAT & MinIO: Streamlined Annotation

CVAT supports multiple methods for sourcing data for labeling:

  • Local file upload, from the CVAT interface.

  • File share connection, mounting a directory when starting the job on UCloud through the option parameter Share dir.

  • Cloud storage.

Cloud storage can be very useful, for example, when it is necessary to handle large-scale datasets, too large to be stored on a local machine or in case of collaborative team environments, when annotators need to work on the same massive dataset or on a dataset incrementally updated from external collaborators. Using a cloud storage in CVAT avoids to upload files manually to the CVAT interface and ensures everyone is working from a single source.

This guide explains how to integrate MinIO/MinIO AIStor object storage with CVAT, enabling annotation of images directly from one or multiple buckets.

Connect CVAT and MinIO

In order to use MinIO as cloud storage for CVAT, start a MinIO instance on UCloud. When starting the job, it is necessary to add a public link, via the parameter Configure custom links to your application, e.g. app-minio-cloud-storage.cloud.sdu.dk.

Start the CVAT app on UCloud, open the interface and enter the credentials (or Create an account). To access the MinIO buckets it is necessary to properly configure CVAT by navigating to Cloud Storages in the top bar menu and click on the button at the right top of the page for adding a new cloud storage connection. A dialog box will appear with fields for user input, where mandatory parameters include:

  • Display name: a display name must be choosen for the cloud storage.

  • Provider: in this case AWS S3 must be selected.

In the submenu that opens,

  • Add the exact name of the MinIO bucket.

    Note

    The bucket name added in CVAT must match exactly the bucket name in MinIO.

  • Choose Key id and secret access key pair as authentication type, and add the ID and Secret key MinIO provided on startup. Those keys can be found in the MinIO job progress view.

  • Under the option Endpoint URL add the public URL, chosen when starting the MinIO job, in this example: https://app-minio-cloud-storage.cloud.sdu.dk/.

  • Press the Submit button at the bottom of the page.

The bucket is now available on the Cloud Storages page and its contents can be selected directly during task creation.

Note

When new data are added to the bucket, it is possible to update accordingly the resources (e.g. images) available for task creation. This can be done by accessing the CVAT Cloud Storage panel and clicking on the menu at the right bottom side of the attached cloud storage.