This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Workspace

Learn how to create, organize, and manage projects, tasks, and jobs, and collaborate efficiently with your team.

1 - Projects

Creating and exporting projects in CVAT.

Projects page

On this page, you can create a new project, create a project from a backup, and also see the created projects.

In the upper left corner there is a search bar, using which you can find the project by project name, assignee etc. In the upper right corner there are sorting, quick filters and filter.

Filter

The filter works similarly to the filters for annotation, you can create rules from properties, operators and values and group rules into groups. For more details, see the filter section. Learn more about date and time selection.

To clear all filters, press Clear filters.

Supported properties for projects list

Properties Supported values Description
Assignee username Assignee is the user who is working on the project, task or job.
(is specified on task page)
Owner username The user who owns the project, task, or job
Last updated last modified date and time (or value range) The date can be entered in the dd.MM.yyyy HH:mm format
or by selecting the date in the window that appears
when you click on the input field
ID number or range of job ID
Name name On the tasks page - name of the task,
on the project page - name of the project

Create a project

In CVAT, you can create a project containing tasks of the same type. All tasks related to the project will inherit a list of labels.

To create a project, go to the projects section by clicking on the Projects item in the top menu. On the projects page, you can see a list of projects, use a search, or create a new project by clicking on the + button and select Create New Project.

“Projects” page with highlighted menu for project creation

You can change: the name of the project, the list of labels (which will be used for tasks created as parts of this project) and a skeleton if it’s necessary. In advanced configuration also you can specify: a link to the issue, source and target storages. Learn more about creating a label list, creating the skeleton and attach cloud storage.

To save and open a project, click on Submit & Open button. Also, you can click on Submit & Continue button to create several projects in sequence.

“Create a new project” window with options and parameters

Once created, the project will appear on the projects page. To open a project, just click on it.

Example of a project page with project details and highlighted interface elements

Here you can do the following:

  1. Change the project’s title.

  2. Open the Actions menu. Each button is responsible for a specific function in the Actions menu:

    • Export dataset/Import dataset - download/upload annotations or annotations and images in a specific format. See more information at export/import datasets.
    • Backup project - make a backup of the project read more in the backup section.
    • Organization - move the project between your personal workspace or organizations. Please, refer to the Transfer between organizations section for details.
    • Delete - remove the project and all related tasks.
  3. Change issue tracker or open issue tracker if it is specified.

  4. Change labels and skeleton. You can add new labels or add attributes for the existing labels in the Raw mode or the Constructor mode. You can also change the color for different labels. By clicking Setup skeleton you can create a skeleton for this project.

  5. Assigned to — is used to assign a project to a person. Start typing an assignee’s name and/or choose the right person out of the dropdown list.

  6. Tasks — is a list of all tasks for a particular project, with the ability to search, sort and filter for tasks in the project. Read more about search. Read more about sorting and filter It is possible to choose a subset for tasks in the project. You can use the available options (Train, Test, Validation) or set your own.

2 - Tasks

Overview of the Tasks page.

Overview

Task page example

The Tasks page contains elements and each of them relates to a separate task. They are sorted in creation order. Each element contains: the task name, preview, progress bar, button Open, and menu Actions. Each button is responsible for a menu Actions specific function:

  • Export task dataset — download annotations or annotations and images in a specific format. More information is available in the export/import datasets section.
  • Upload annotation upload annotations in a specific format. More information is available in the export/import datasets section.
  • Automatic Annotation — automatic annotation with OpenVINO toolkit. Presence depends on how you build the CVAT instance.
  • Backup task — make a backup of this task into a zip archive. Read more in the backup section.
  • Move to project — Moving a task to a project (you can move only a task that does not belong to any project). In case of a label mismatch, you can create or delete necessary labels in the project/task. Some task labels can be matched with the target project labels.
  • Organization - moving a task between your personal workspace or organizations. Only available for individual tasks (not tasks in a project). Please, refer to the Transfer between organizations section for details.
  • Delete — delete task.

In the upper left corner, there is a search bar, using which you can find the task by assignee, task name etc. In the upper right corner, there are sorting, quick filters, and filter.

Filter

The filter works similarly to the filters for annotation, you can create rules from properties, operators, and values and group rules into groups. For more details, consult the filter section. Learn more about date and time selection.

For clear all filters press Clear filters.

Supported properties for tasks list

Properties Supported values Description
Dimension 2D or 3D Depends on the data format
(read more in creating an annotation task)
Status annotation, validation or completed
Data video, images Depends on the data format
(read more in creating an annotation task)
Subset test, train, validation or custom subset learn more
Assignee username Assignee is the user who is working on the project, task or job
(they are specified on task page)
Owner username The user who owns the project, task, or job
Last updated last modified date and time (or value range) The date can be entered in the dd.MM.yyyy HH:mm format
or by selecting the date in the window that appears
when you click on the input field
ID number or range of job ID
Project ID number or range of project ID
Name name On the tasks page: name of the task,
on the project page: name of the project
Project name project name Specified when creating a project,
can be changed on the (project section)

Select Open to go to task details.

Task details page

Task details is a task page that contains a preview, a progress bar, the details of the task (specified when the task was created), and the Jobs section.

Task details page example

The next actions are available on this page:

  1. Change the task’s title.

  2. Open Actions menu.

  3. Change the issue tracker or open it if specified.

  4. Change labels (available only if the task is not related to the project).

    You can add new labels or add attributes for the existing labels in the Raw mode or the Constructor mode. By selecting Copy you will copy the labels to the clipboard.

  5. Assigned to — is used to assign a task to a person. Start typing an assignee’s name and/or choose the right person out of the dropdown list. In the list of users, you will only see the users of the organization where the task is created.

  6. Cloud storage — view the cloud storage attached to the task and change it to another attached storage if needed.

Jobs is a list of all jobs for a particular task. Here you can find the next data:

  • Jobs name with a hyperlink to it.
  • Frame range — the frame interval.
  • A stage of the job. The stage is specified by a drop-down list. There are three stages: annotation, validation, or acceptance. This value affects the task progress bar.
  • A state of the job. The state can be changed by an assigned user in the menu inside the job. There are several possible states: new, in progress, rejected, completed.
  • Duration — is the amount of time the job is being worked.
  • Assignee is the user who is working on the job (annotator, reviewer, or corrector). You can start typing an assignee’s name and/or choose the right person out of the dropdown list.

You can filter or sort jobs by status, assignee, and updated date using the filters panel.

Follow a link inside Jobs section to start the annotation process. In some cases, you can have several links. It depends on the size of your task and Overlap Size and Segment Size parameters. To improve UX, only the first chunk of several frames will be loaded and you will be able to annotate the first images. Other frames will be loaded in the background.

Example of user interface with task frames

How to create and configure an annotation task

To start annotating in CVAT, you must create an annotation task and specify its parameters.

Create a task

To create a task:

  1. On the Tasks page, select +
  2. Select Create new task.

Create new task

Next, specify the task parameters in the configurator:

Basic configurator

  1. In the Name field, enter the name of the new task.

    Name of task

  2. (Optional) From the Projects drop-down, select a project for the new task.
    Leave this field empty if you do not want to assign the task to any project.

    Select project

  3. On the Constructor tab, select Add label.
    The label constructor menu will open:

    Label constructor

  4. In the Label name field, enter the name of the label.

  5. (Optional) To limit the use of the label to a certain shape tool, from the Label shape drop-down select the shape.

  6. (Optional) Select the color for the label.

    label shape and color

  7. (Optional) Select Add an attribute and set up its properties.

  8. Select Select files to upload files for annotation.

  9. Select Continue to submit the label and start adding a new one
    or Cancel to terminate the current label and return you to the labels list.

  10. Select Submit and open to submit the configuration and open the created task,
    or Submit and continue, to submit the configuration and start a new task.

Label shape

Labels (or classes) are categories of objects that you can annotate.

Label shape limits the use of the label to certain shape tool.

Any is the default setting that does not limit the use of the label to any particular shape tool.

For example, if you added:

  • Label sun with the Label shape type ellipse
  • Label car with the Label shape type any

As a result:

  • The sun label will be available only for ellipse shape.

  • The car label will be available for all shapes.

    Label shape

The tools on the Controls sidebar will be limited to the selected types of shapes.

For example, if you select Any, all tools will be available, but if you select Rectangle for all labels, only the Rectangle tool will be visible on the sidebar.

Type control sidebar

You can change the shape of the label as needed. This change will not affect the existing annotation.

For example, if you created objects using polygons and then changed the label shape to polylines, all previously created objects will remain polygons. However, you will not be able to add new polygon objects with the same label.

Add an attribute

Attribute is a property of an annotated object, such as color, model, or other quality.

For example, you have a label for face and want to specify the type of face. Instead of creating additional labels for male and female, you can use attributes to add this information.

There are two types of attributes:

  • Immutable attributes are unique and do not change from frame to frame. For example, age, gender, and color.
  • Mutable attributes are temporary and can change from frame to frame. For example, pose, quality, and truncated.

Added attributes will be available from the Objects menu:

Attributes

To add an attribute:

  1. Go to the Constructor tab and select Add attribute.

    Attributes

  2. In the Name field, enter the attribute name.

  3. In the drop-down menu, select the way to display the attribute in the Objects menu:

    • Select enables a drop-down list, from which you can select an attribute.
      If in the Attribute value field you add __undefined__, the drop-down list will have a blank value.
      This is useful for cases where the attribute of the object cannot be clarified:

      Undefined value

    • Radio enables the selection of one option from several options.

    • Checkbox enables the selection of multiple options.

    • Text sets the attribute to a text field.

    • Number sets the attribute to numerical field in the following format: min;max;step.

  4. In the Attribute values field, add attribute values.
    To separate values use Enter.
    To delete value, use Backspace or click x next to the value name.

  5. (Optional) For mutable attributes, select Mutable.

  6. (Optional) To set an attribute value as default, select it. The default value will change color to blue.

Default attribute

To delete an attribute, select Delete attribute.

Select files

There are several ways to upload files:

Data source Description
My computer Use this option to select files from your laptop or PC.
To select file:
1. Select Select files field:
Select files.
2. Select files to upload.
Connected file share Advanced option.
Upload files from a local or cloud shared folder.
Note, that you need to mount a fileshare first.
For more information, consult Share path
Remote source Enter a list of URLs (one per line) in the field.
Cloud Storage Advanced option.
To upload files from cloud storage, type the cloud storage name, (optional) choose the manifest file, and select the required files.
For more information, consult Attach cloud storage. Use the search feature to find a file (by file name) from the connected cloud storage.

Editing labels in RAW format

The Raw is a way of working with labels for an advanced user.

It is useful when you need to copy labels from one independent task to another.

“Raw” tab in task creation window showing labels in JSON format

Raw presents label data in .json format with an option of editing and copying labels as text. The Done button applies the changes and the Reset button cancels the changes.

Data formats for a 3D task

To create a 3D task, you must prepare an archive with one of the following directory structures.

  VELODYNE FORMAT
    Structure:
      velodyne_points/
        data/
          image_01.bin
          IMAGE_00 # unknown dirname,
                   # generally image_01.png can be under IMAGE_00, IMAGE_01, IMAGE_02, IMAGE_03, etc
      data/
        image_01.png
   3D POINTCLOUD DATA FORMAT
    Structure:
      pointcloud/
        00001.pcd
      related_images/
        00001_pcd/
          image_01.png # or any other image
    3D, DEFAULT DATAFORMAT Option 1
    Structure:
      data/
        image.pcd
        image.png
    3D, DEFAULT DATAFORMAT Option 2
    Structure:
      data/
        image_1/
            image_1.pcd
            context_1.png # or any other name
            context_2.jpg

Advanced configuration

Use advanced configuration to set additional parameters for the task and customize it to meet specific needs or requirements.

Advanced configuration section opened in task creation window

The following parameters are available:

Element Description
Sorting method Note: Does not work for the video data.

Several methods to sort the data.
For example, the sequence 2.jpeg, 10.jpeg, 1.jpeg after sorting will be:

  • Lexicographical: 1.jpeg, 10.jpeg, 2.jpeg
  • Natural: 1.jpeg, 2.jpeg, 10.jpeg
  • Predefined: 2.jpeg, 10.jpeg, 1.jpeg
  • Random uploads data in random order.
  • Prefer zip chunks Use this parameter to divide your video or image dataset for annotation into short video clips a zip file of frames.
    Zip files are larger but do not require decoding on the client side, and video clips are smaller but require decoding.
    It is recommended to turn off this parameter for video tasks to reduce traffic between the client side and the server.
    Use cache Select the checkbox to enable on-the-fly data processing to reduce task creation time and store data in a cache with a policy of
    evicting less popular items.

    For more information, see Data preparation on the fly.
    Image quality CVAT has two types of data: original quality and compressed. Original quality images are used for dataset export
    and automatic annotation. Compressed images are used only for annotations to reduce traffic between the server
    and client side.
    It is recommended to adjust the compression level only if the images contain small objects that are not
    visible in the original quality.
    Values range from 5 (highly compressed images) to 100 (not compressed).
    Overlap size Use this parameter to create overlapped segments, making tracking continuous from one segment to another.

    Note that this functionality only works for bounding boxes.

    This parameter has the following options:

    Interpolation task (video sequence). If you annotate with a bounding box on two adjacent segments, they will be
    merged into a single bounding box. In case the overlap is zero or the bounding box is inaccurate (not enclosing the object
    properly, misaligned or distorted) on the adjacent segments, it may be difficult to accurately interpolate the object’s
    movement between the segments. As a result, multiple tracks will be created for the same object.

    Annotation task (independent images). If an object exists on overlapped segments with overlap greater than zero,
    and the annotation of these segments is done properly, then the segments will be automatically merged into a single
    object. If the overlap is zero or the annotation is inaccurate (not enclosing the object properly, misaligned, distorted) on the
    adjacent segments, it may be difficult to accurately track the object. As a result, multiple bounding boxes will be
    created for the same object.

    If the annotations on different segments (on overlapped frames) are very different, you will have two shapes
    for the same object.

    To avoid this, accurately annotate the object on the first segment and the same object on the second segment to create a track
    between two annotations.
    Segment size Use this parameter to divide a dataset into smaller parts. For example, if you want to share a dataset among multiple
    annotators, you can split it into smaller sections and assign each section to a separate job.
    This allows annotators to work on the same dataset concurrently.
    Start frame Defines the first frame of the video.
    Stop frame Defines the last frame of the video.
    Frame step Use this parameter to filter video frames or images in a dataset. Specify frame step value to include only
    certain frames or images in the dataset.
    For example, if the frame step value is 25, the dataset will include every 25th frame or image. If a video
    has 100 frames, setting the frame step to 25 will include only frames 1, 26, 51, 76, and 100 in the dataset.
    This can be useful for reducing the size of the dataset, or for focusing on specific frames or images
    of particular interest.
    Chunk size Defines amount of frames to be packed in a chunk when send from client to server.
    The server defines automatically if the chunk is empty.
    Recommended values:
  • 1080p or less: 36
  • 2k or less: 8
  • 16 - 4k or less: 4
  • 8 - More: 1 - 4
  • Issue tracker Use this parameter to specify the issue tracker URL.
    Source storage Specify the source storage for importing resources like annotations and backups.
    If the task was assigned to the project, use the Use project source storage toggle to determine whether to
    use project values or specify new ones.
    Target storage Specify the target storage (local or cloud) for exporting resources like annotations and backups.
    If the task is created in the project, use the Use project target storage toggle to determine whether to
    use project values or specify new ones.

    To save and open the task, select Submit & Open .

    To create several tasks in sequence, select Submit & Continue.

    Created tasks will be displayed on the tasks page.

    How to create and set up multiple tasks

    Use Create multi tasks to create multiple video annotation tasks with the same configuration.

    Check out:

    Create multi tasks

    To create the multi tasks:

    1. On the Tasks page select +.
    2. Select Create multi tasks.

    User interface with opened menu and highlighted “Create multi tasks” option

    Next, specify the parameters in the task configurator:

    Multitack configurator

    1. In the Name field, enter the name of the new task:

      • Enter the name of the task
      • (Optional) {{index}} adds an index to the file in the set (starting from 0).
      • (Optional) {{file_name}} adds the file’s name to the task’s name.
    2. (Optional) From the Projects drop-down, select a project for the tasks.
      Leave this field empty if you do not want to assign tasks to any project.

      Select project

    3. On the Constructor tab, select Add label.

    4. In the Label name field, enter the name of the label.

    5. (Optional) Select the color for the label.

    6. (Optional) Select Add an attribute and set up its properties.

    7. Select Select files to upload files for annotation.

    8. Select Submit N tasks

    Example

    A step-by-step example for creating the multiple tasks:

    1. In the Name field, enter the Create_multitask-{{index}}-{{file_name}}.

    2. Add labels.

    3. Select files.
      In case there are more than four files, only the total number of selected files will be displayed: “My computer” tab opened in task creation window with message showing the number of selected files

    4. Select Submit N tasks

      “Basic configuration” tab opened in task creation window

    5. You will see a progress bar that shows the progress of the tasks being created:

      Progress bar demonstrating the status of multi tasks creation

    6. Select Ok.

      Progress bar after finishing multi tasks creation

    The result will look like the following:

    Example of created multi tasks in the task list

    Errors

    During the process of adding multiple tasks, the following errors may occur:

    Error Description
    Wrong file format error in user interface Wrong file format. You can add only video files.
    Failed to process file error in user interface In the process of creating a task, CVAT was not able to process the video file.
    The name of the failed file will be displayed on the progress bar.

    To fix this issue:
  • If you want to try again, click Retry failed tasks.
  • If you want to skip the file, click OK.
  • Advanced configuration

    Use advanced configuration to set additional parameters for the task and customize it to meet specific needs or requirements.

    For more information, consult Advanced configuration

    3 - Jobs

    On the Jobs page, users (for example, with the worker role) can see the jobs that are assigned to them without having access to the task page, as well as track progress, sort, and apply filters to the job list.

    Jobs page example

    On the page, there is a list of jobs presented in the form of tiles, where each tile is one job. Each element contains:

    • job ID
    • dimension 2D or 3D
    • preview
    • stage and state
    • when hovering over an element, you can see:
      • size
      • assignee
    • menu to navigate to a task, project, or bug tracker.

    In the upper left corner, there is a search bar, using which you can find the job by assignee, stage, state, etc. In the upper right corner, there are sorting, quick filters, and filter.

    Filter

    The filter works similarly to the filters for annotation, you can create rules from properties, operators, and values and group rules into groups. For more details, consult the filter section. Learn more about date and time selection.

    To clear all filters, select Clear filters.

    Supported properties for jobs list

    Properties Supported values Description
    State all the state names The state of the job
    (can be changed in the menu inside the job)
    Stage all the stage names The stage of the job
    (is specified by a drop-down list on the task page)
    Dimension 2D or 3D Depends on the data format
    (read more in creating an annotation task)
    Assignee username Assignee is the user who is working on the job.
    (is specified on task page)
    Last updated last modified date and time (or value range) The date can be entered in the dd.MM.yyyy HH:mm format
    or by selecting the date in the window that appears
    when you click on the input field
    ID number or range of job ID
    Task ID number or range of task ID
    Project ID number or range of project ID
    Task name task name Set when creating a task,
    can be changed on the (task page)
    Project name project name Specified when creating a project,
    can be changed on the (project section)

    4 - Cloud storages

    Overview of the cloud storages page.

    Cloud storage page example

    The cloud storages page contains elements, each of them relating to a separate cloud storage.  Each element contains: preview, cloud storage name, provider, creation and update info, status, ? button for displaying the description and the actions menu.

    Each button in the action menu is responsible for a specific function:

    • Update — update this cloud storage
    • Delete — delete cloud storage.

    Cloud storage icon

    This preview will appear when it is impossible to get a real preview (e.g. storage is empty or invalid credentials were used).

    In the upper left corner, there is a search bar, using which you can find the cloud storage by display name, provider, etc. In the upper right corner, there are sorting, quick filters, and filter.

    Filter

    The filter works similarly to the filters for annotation, you can create rules from properties, operators, and values and group rules into groups. For more details, consult the filter section. Learn more about date and time selection.

    To clear all filters, select Clear filters.

    Supported properties for cloud storages list

    Properties Supported values Description
    ID number or range of task ID
    Provider type Amazon S3, Azure Blob, Google Cloud
    Credentials type Key & secret key, Account name and token,
    Anonymous access, Key file
    Resource name Bucket name or container name
    Display name Set when creating cloud storage
    Description Description of the cloud storage
    Owner username The user who owns the project, task, or job
    Last updated last modified date and time (or value range) The date can be entered in the dd.MM.yyyy HH:mm format
    or by selecting the date in the window that appears
    when you select the input field

    Select the + button to attach a new cloud storage.

    5 - Attach cloud storage

    Instructions on how to attach cloud storage using UI

    In CVAT, you can use Amazon S3, Azure Blob Storage and Google Cloud Storage storages to import and export image datasets for your tasks.

    Check out:

    Amazon S3

    Create a bucket

    To create bucket, do the following:

    1. Create an AWS account.

    2. Go to the Amazon S3 console, and select Create bucket.

      Amazon S3 interface with highlighted “Create bucket” button

    3. Specify the name and region of the bucket. You can also copy the settings of another bucket by selecting Choose bucket.

    4. Enable Block all public access. For access, you will use access key ID and secret access key.

    5. Select Create bucket.

    A new bucket will appear on the list of buckets.

    Upload data

    You need to upload data for annotation and the manifest.jsonl file.

    1. Prepare data. For more information, refer on how to prepare the dataset.

    2. Open the bucket and select Upload.

      Amazon S3 interface with highlighted “Upload”

    3. Drag the manifest file and image folder on the page and select Upload:

    Uploading data to Amazon S3

    Access permissions

    Authenticated access

    To add access permissions, do the following:

    1. Go to IAM and select Add users.

    2. Set User name and enable Access key - programmatic access.

      Amazon S3 interface with highlighted “User name” and “Access key - programmatic access” parameters

    3. Select Next: Permissions.

    4. Select Create group, enter the group name.

    5. Use search to find and select:

      • For read-only access: AmazonS3ReadOnlyAccess.
      • For full access: AmazonS3FullAccess.

      Amazon S3 interface with creating user group step

    6. (Optional) Add tags for the user and go to the next page.

    7. Save Access key ID and Secret access key.

    Amazon S3 interface with saving access credentials step

    For more information, consult Creating an IAM user in your AWS account

    Anonymous access

    On how to grant public access to the bucket, consult Configuring block public access settings for your S3 buckets

    Attach Amazon S3 storage

    To attach storage, do the following:

    1. Log into CVAT and in the separate tab open your bucket page.
    2. In the CVAT, on the top menu select Cloud storages > on the opened page select +.

    Fill in the following fields:

    CVAT Amazon S3
    Display name Preferred display name for your storage.
    Description (Optional) Add description of storage.
    Provider From drop-down list select Amazon S3.
    Bucket name Name of the Bucket.
    Authentication type Depends on the bucket setup:
  • Key id and secret access key pair: available on IAM.
  • Anonymous access: for anonymous access. Public access to the bucket must be enabled.
  • Region (Optional) Choose a region from the list or add a new one. For more information, consult Available locations.
    Prefix (Optional) Prefix is used to filter bucket content. By setting a default prefix, you ensure that only data from a specific folder in the cloud is used in CVAT. This will affect which files you see when creating a task with cloud data.
    Manifests (Optional) Select + Add manifest and enter the name of the manifest file with an extension. For example: manifest.jsonl.

    After filling in all the fields, select Submit.

    Amazon S3 manifest file

    To prepare the manifest file, do the following:

    1. Go to AWS CLI and run script for prepare manifest file.

    2. Perform the installation, following the aws-shell manual,
      You can configure credentials by running aws configure.
      You will need to enter Access Key ID and Secret Access Key as well as the region.

      aws configure
      Access Key ID: <your Access Key ID>
      Secret Access Key: <your Secret Access Key>
      
    3. Copy the content of the bucket to a folder on your computer:

      aws s3 cp <s3://bucket-name> <yourfolder> --recursive
      
    4. After copying the files, you can create a manifest file as described in prepare manifest file section:

      python <cvat repository>/utils/dataset_manifest/create.py --output-dir <yourfolder> <yourfolder>
      
    5. When the manifest file is ready, upload it to the S3 bucket:

      • For read and write permissions when you created the user, run:

        aws s3 cp <yourfolder>/manifest.jsonl <s3://bucket-name>
        
      • For read-only permissions, use the download through the browser, select upload, drag the manifest file to the page and select upload.

        Amazon S3 interface with highlighted &ldquo;Upload&rdquo;

    Video tutorial: Add Amazon S3 as Cloud Storage in CVAT

    Google Cloud Storage

    Create a bucket

    To create bucket, do the following:

    1. Create Google account and log into it.

    2. On the Google Cloud page, select Start Free, then enter the required data and accept the terms of service.

    3. Create a Bucket with the following parameters:

      • Name your bucket: Unique name.
      • Choose where to store your data: Set up a location nearest to you.
      • Choose a storage class for your data: Set a default class > Standard.
      • Choose how to control access to objects: Enforce public access prevention on this bucket > Uniform (default).
      • How to protect data: None

    GB

    You will be forwarded to the bucket.

    Upload data

    You need to upload data for annotation and the manifest.jsonl file.

    1. Prepare data. For more information, consult prepare the dataset.
    2. Open the bucket and from the top menu select Upload files or Upload folder (depends on how your files are organized).

    Access permissions

    To access Google Cloud Storage get a Project ID from cloud resource manager page

    Project ID shown in Google Cloud Storage interface

    And follow instructions below based on the preferable type of access.

    Authenticated access

    For authenticated access you need to create a service account and key file.

    To create a service account:

    1. On the Google Cloud platform, go to IAM & Admin > Service Accounts and select +Create Service Account.
    2. Enter your account name and select Create And Continue.
    3. Select a role, for example Basic > Viewer, and select Continue.
    4. (Optional) Give access rights to the service account.
    5. Select Done.

    Creating service account shown in Google Cloud Storage interface

    To create a key:

    1. Go to IAM & Admin > Service Accounts > select on account name > Keys.
    2. Select Add key and select Create new key > JSON
    3. Select Create. The key file will be downloaded automatically.

    Google Cloud Storage interface with highlighted steps to create a key

    For more information about keys, consult Learn more about creating keys.

    Anonymous access

    To configure anonymous access:

    1. Open the bucket and go to the Permissions tab.
    2. Click + Grant access to add new principals.
    3. In the New principals field specify allUsers, select roles: Cloud Storage Legacy > Storage Legacy Bucket Reader.
    4. Select Save.

    Google Cloud Storage interface with anonymous access configuration

    Now you can attach the Google Cloud Storage bucket to CVAT.

    Attach Google Cloud Storage

    To attach storage, do the following:

    1. Log into CVAT and in the separate tab open your bucket page.
    2. In the CVAT, on the top menu select Cloud storages > on the opened page select +.

    Fill in the following fields:

    CVAT Google Cloud Storage
    Display name Preferred display name for your storage.
    Description (Optional) Add description of storage.
    Provider From drop-down list select Google Cloud Storage.
    Bucket name Name of the bucket. You can find it on the storage browser page.
    Authentication type Depends on the bucket setup:
  • Authenticated access: Select Key file and upload the key file from computer.
    Advanced: For self-hosted solution, if the key file was not attached, then environment variable GOOGLE_APPLICATION_CREDENTIALS that was specified for an environment will be used. For more information, consult Authenticate to Cloud services using client libraries.
  • Anonymous access: for anonymous access. Public access to the bucket must be enabled.
  • Prefix (Optional) Used to filter data from the bucket. By setting a default prefix, you ensure that only data from a specific folder in the cloud is used in CVAT. This will affect which files you see when creating a task with cloud data.
    Project ID Project ID.
    For more information, consult projects page and cloud resource manager page.
    Note: Project name does not match the project ID.
    Location (Optional) Choose a region from the list or add a new one. For more information, consult Available locations.
    Manifests (Optional) Select + Add manifest and enter the name of the manifest file with an extension. For example: manifest.jsonl.

    After filling in all the fields, select Submit.

    Video tutorial: Add Google Cloud Storage as Cloud Storage in CVAT

    Microsoft Azure Blob Storage

    Create a bucket

    To create bucket, do the following:

    1. Create an Microsoft Azure account and log into it.

    2. Go to Azure portal, hover over the resource , and in the pop-up window select Create.

      Microsoft Azure interface with highlighted &ldquo;Create&rdquo; button

    3. Enter a name for the group and select Review + create, check the entered data and select Create.

    4. Go to the resource groups page, navigate to the group that you created and select Create resources.

    5. On the marketplace page, use search to find Storage account.

      Microsoft Azure interface with highlighted &ldquo;Storage account&rdquo; button

    6. Select on Storage account and on the next page select Create.

    7. On the Basics tab, fill in the following fields:

      • Storage account name: to access container from CVAT.
      • Select a region closest to you.
      • Select Performance > Standard.
      • Select Local-redundancy storage (LRS).
      • Select next: Advanced>.

      Microsoft Azure interface with basic settings for storage account

    8. On the Advanced page, fill in the following fields:

      • (Optional) Disable Allow enabling public access on containers to prohibit anonymous access to the container.
      • Select Next > Networking.

      Microsoft Azure interface with advanced settings for storage account

    9. On the Networking tab, fill in the following fields:

      • If you want to change public access, enable Public access from all networks.

      • Select Next>Data protection.

        You do not need to change anything in other tabs until you need some specific setup.

    10. Select Review and wait for the data to load.

    11. Select Create. Deployment will start.

    12. After deployment is over, select Go to resource.

    Microsoft Azure interface with highlighted &ldquo;Go to resource&rdquo; button

    Create a container

    To create container, do the following:

    1. Go to the containers section and on the top menu select +Container

      Microsoft Azure interface with highlighted &ldquo;+Container&rdquo; button

    2. Enter the name of the container.

    3. (Optional) In the Public access level drop-down, select type of the access.
      Note: this field will inactive if you disabled Allow enabling public access on containers.

    4. Select Create.

    Upload data

    You need to upload data for annotation and the manifest.jsonl file.

    1. Prepare data. For more information, refer on how to prepare the dataset.

    2. Go to container and select Upload.

    3. Select Browse for files and select images.

    4. Select Upload.

    Microsoft Azure interface with highlighted &ldquo;Upload&rdquo; button and upload settings

    SAS token and connection string

    Use the SAS token or connection string to grant secure access to the container.

    To configure the credentials:

    1. Go to Home > Resource groups > You resource name > Your storage account.
    2. On the left menu, select Shared access signature.
    3. Change the following fields:
      • Allowed services: Enable Blob . Disable all other fields.
      • Allowed resource types: Enable Container and Object. Disable all other fields.
      • Allowed permissions: Enable Read, Write, and List. Disable all other fields.
      • Start and expiry date: Set up start and expiry dates.
      • Allowed protocols: Select HTTPS and HTTP
      • Leave all other fields with default parameters.
    4. Select Generate SAS and connection string and copy SAS token or Connection string.

    Microsoft Azure interface with highlighted &ldquo;SAS token&rdquo; field

    Personal use

    For personal use, you can use the Access Key from your storage account in the CVAT SAS Token field.

    To get the Access Key:

    1. In the Azure Portal, go to the Security + networking > Access Keys
    2. Select Show and copy the key.

    Microsoft Azure interface with highlighted elements to get an access key

    Attach Azure Blob Storage

    To attach storage, do the following:

    1. Log into CVAT and in the separate tab open your bucket page.
    2. In the CVAT, on the top menu select Cloud storages > on the opened page select +.

    Fill in the following fields:

    CVAT Azure
    Display name Preferred display name for your storage.
    Description (Optional) Add description of storage.
    Provider From drop-down list select Azure Blob Storage.
    Container name` Name of the cloud storage container.
    Authentication type Depends on the container setup.
    Account name and SAS token:
    • Account name enter storage account name.
    • SAS token is located in the Shared access signature section of your Storage account.
    . Anonymous access: for anonymous access Allow enabling public access on containers must be enabled.
    Prefix (Optional) Used to filter data from the bucket. By setting a default prefix, you ensure that only data from a specific folder in the cloud is used in CVAT. This will affect which files you see when creating a task with cloud data.
    Manifests (Optional) Select + Add manifest and enter the name of the manifest file with an extension. For example: manifest.jsonl.

    After filling in all the fields, select Submit.

    Video tutorial: Add Microsoft Azure Blob Storage as Cloud Storage in CVAT

    Prepare the dataset

    For example, the dataset is The Oxford-IIIT Pet Dataset:

    1. Download the archive with images.
    2. Unpack the archive into the prepared folder.
    3. Create a manifest. For more information, consult Dataset manifest:
    python <cvat repository>/utils/dataset_manifest/create.py --output-dir <your_folder> <your_folder>
    

    6 - Requests

    The Requests page allows users to track the status of data processing jobs (such as exporting annotations or importing datasets) and most of the background processes (such as task creation, quality calculation, report preparation with analytics, merge consensus jobs). Users can monitor progress, download results, and check for errors if they occur.

    Requests page

    Requests List

    On the Requests page, requests are displayed as cards. Each card contains the following details (if applicable):

    • Operation Name
    • Resource Link
    • Status of the Request
    • Timestamps:
      • Enqueued Date
      • Started Date
      • Finished Date
      • Result Expiration Date
    • Annotations Format
    • Lightweight backup (shown for backup requests created with the lightweight option)
    • Menu to download the result or cancel a Queued job

    Statuses for Requests List

    The following statuses are used to indicate the state of each request:

    Status Description
    In Progress The requested job is being executed. The progress percentage is shown.
    Queued The requested job is waiting to be picked up by a worker.
    Finished The requested job is finished. Downloading the result is available.
    Failed The requested job cannot be executed due to an unexpected error. The error description is available.

    7 - Models

    To deploy the models, you will need to install the necessary components using Semi-automatic and Automatic Annotation guide. To learn how to deploy the model, read Serverless tutorial.

    The Models page contains a list of deep learning (DL) models deployed for semi-automatic and automatic annotation. To open the Models page, click the Models button on the navigation bar. The list of models is presented in the form of a table. The parameters indicated for each model are the following:

    • Framework the model is based on
    • model Name
    • model Type:
    • Description - brief description of the model
    • Labels - list of the supported labels (only for the models of the detectors type)

    Models page example

    8 - Bulk actions

    Overview

    Bulk Actions allow you to select multiple resources (such as jobs, tasks, projects and more) and perform actions on all of them at once. This streamlines workflows by enabling mass updates, such as changing an assignee or state for a group of jobs, without needing to update each resource individually.

    Supported Resources

    • Jobs
    • Tasks
    • Projects
    • Cloud storages
    • Requests
    • Models
    • Webhooks
    • Organization members

    Typical Bulk Actions

    • Update Assignee: Assign a new user to multiple jobs, tasks, or projects.
    • Update State/Stage: Change the status or stage for a group of jobs.
    • Delete: Remove multiple resources in one operation.
    • Other field updates: Depending on resource type, other fields may be updated in bulk.

    How It Works

    1. Selection: Select multiple resources using selection tools in the UI.
      • Ctrl (Cmd for Mac) + Click: Select or deselect individual resources by holding the Ctrl key and clicking on them.
      • Shift + Click: Select a range of resources by clicking the first item, holding Shift, and clicking the last item in the range.
      • Select All Button: Use the “Select All” button in the top bar to select all resources on the current page.
      • Click: Click anywhere outside the selected resources to reset the selection.
    2. Action Menu: Once resources are selected, you can either right-click on any of them or left-click the actions menu of a selected resource. An actions appears, offering bulk operations relevant to that resource type.
    3. Execution: The chosen action is applied to all selected resources. Progress and status messages are shown for each item.
    4. Error Handling: If an operation fails for some items, the system provides feedback and allows retrying the failed items.

    Bulk actions demo

    9 - Search

    Overview of available search options.

    Search within all fields (owner, assignee, task name, task status, task mode). To execute enter a search string in search field.

    The search is case insensitive.

    Search bar