1 - Registration & Account Access

CVAT.ai registration and account access.

To start to annotate in CVAT.ai, you need to create an account or log in to the existing account.

See:

To create account or log in, go to the CVAT.ai Cloud login page:

Note: By default authentication and registration with Google and GitHub work only for CVAT.ai Cloud.
If you want to use Google and GitHub authentication on a local installation, see Social auth configuration.

User registration

To register, do the following:

  1. Click Create an account.

    Create account

  2. Fill in all blank fields, accept terms of use, and click Create an account.

Account form


A username generates from the email automatically. You can edit it if needed.

Username generation

User registration with social accounts

To register with Google or GitHub, click the button with the name of the service, and follow instructions on the screen.

Account access

To access your account, do the following:

  1. Go to the login page.
  2. Enter username or email. The password field will appear.
  3. Enter the password and click Next.

To log in with Google or GitHub, click the button with the name of the service.

Password reset

To reset password, do the following:

  1. Go to the CVAT.ai Cloud page and click Forgot password?

    Reset password

  2. Enter email you used for registration and click Send.

  3. Open email and click on the link from CVAT.

  4. Enter new password in both fields and click Change password.

    Reset password

Change password

To change password, do the following:

  1. Log in to your CVAT account.

  2. In the top right corner, click on the arrow next to your nickname.

  3. Select Change password.

  4. Follow instructions on the screen.

    Reset password

2 - Create annotation task

How to create and configure an annotation task.

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

To create a task, on the Tasks page click + and select Create new task.

Create new task

See:

Create a task

To create a new task, open task configurator:

Basic configurator

And specify the following parameters:

  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

    Note: Following steps are valid if the task does not belong to a project.
    If the task has been assigned to a project, the project’s labels will be applied to the task.

  3. On the Constructor tab, click 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) Click Add an attribute and set up its properties.

  8. Click Select files to upload files for annotation.

  9. Click 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. Click 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, 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.

Note: You cannot apply the Label shape to the AI and OpenCV tools, these tools will always be available.

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.

Note: You cannot change the shape of the skeleton label.
The Label shape field for the skeleton label is disabled.

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, do the following:

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

    Attributes

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

  3. From the drop-down, select 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 the default attribute, hover over it with mouse cursor and click on it. The default attribute will change color to blue.

Default attribute

To delete an attribute, click 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. Click on the 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, see 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, see 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.

Note: Be careful with changing the raw specification of an existing task/project. Removing any “id” properties will lead to losing existing annotations. This property will be removed automatically from any text you insert to this field.

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.

Note: You can’t mix 2D and 3D data in the same task.

  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.

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:

  • Lexicographica: 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.
  • Use zip/video 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 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 that are
    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, click Submit & Open .

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

    Created tasks will be displayed on the tasks page.

    3 - Create multi tasks

    Step-by-step guide on how to create and set up multiple tasks

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

    To create the multi tasks, on the Tasks page click + and select Create multi tasks.

    Note: The Create multi tasks feature is available for videos only.

    See:

    Create multi tasks

    To add several tasks in one go, open the task configurator:

    Multitack configurator

    And specify the following parameters:

    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

      Note: Following steps are valid if the tasks do not belong to a project.
      If the tasks have been assigned to a project, the project’s labels will be applied to the tasks.

    3. On the Constructor tab, click Add label.

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

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

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

    7. Click Select files to upload files for annotation.

      Note: You cannot upload multiple tasks from the cloud storage.

    8. Click 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:

    4. Click Submit N tasks

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

    6. Click Ok.

    The result will look like the following:

    Errors

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

    Error Description
    Wrong file format. You can add only video files.
    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, see Advanced configuration

    4 - CVAT Annotation Interface

    This section describes CVAT annotation interface and it’s features

    This section of the documentation describes the annotation interface and all available options that you can use to annotate image data accurately and quickly.

    The interface includes the following areas:

    CVAT Interfaces

    4.1 - Navigation bar & Menu

    Features navigation arrows to switch between frames, provides access to main functions, and Menu.

    The navigation panel and drop-down Menu, allow you to switch between frames, change the annotation mode, save your work, and more.

    CVAT Navbar

    See:

    Use the Menu options to upload and download annotations, change the status of the job, and access other features listed in the table below:

    Panel Item                             Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    Upload annotations Upload annotations into a task.                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    Export as a dataset Download a dataset in one of the supported formats.                                                                                                                                                                                                                                                                                                                                                                                          
    Remove annotations Delete all annotations for the current job.
    Use Select range to remove annotations for a specific range of frames.
    Enable the Delete only keyframe for tracks checkbox to delete only keyframes from the tracks within the selected range.

                                                                                                                                                                                   
    Run actions Run annotation actions on the annotated dataset. Annotations action is a feature that allows you to modify a bulk of annotations on many frames. It supports only shape objects.                                                                                                                                                                                                                                                                      
    Open the task Opens a page with details about the task.                                                                                                                                                                                                                                                                                                                                                                                                                                                    
    Change job state Changes the state of the job:
    • New: The job is newly created and has not been started yet. It is waiting for annotation work to begin.
    • In Progress: The job is currently being worked on. Annotations are being added or edited.
    • Rejected: The job has been reviewed and deemed unsatisfactory or incorrect. It requires revisions and further work.
    • Completed: The job has been finished, reviewed, and approved. No further changes are necessary.
      Finish the job Saves annotations and sets job state to Completed.

      Use the navigation bar to save annotation results, switch between frames, and access other features listed in the tables below.

      Save, Undo, Done

      Use the following buttons, to save your work, undo changes, and move tasks to done.

      Function                                           Description                                                                                                                                                                                                                                                                                                
      Save work

         
      Saves annotations for the current job. The button indicates the saving process.                                                                                                                                                                                                                
      Undo/Redo

      Use buttons to undo actions or redo them.                                                                                                                                                                                                                                                                  
      Done

               
      Used to complete the creation of the object. This button appears only when the object is being created.                                                                                                                                                                                                    
      Block

             
      Used to pause automatic line creation when drawing a polygon with OpenCV Intelligent scissors. Also used to postpone server requests when creating an object using AI Tools.

      Overview of how to navigate through frames within the interface, with detailed descriptions provided in the table below.

      Navigation Controls

      Function                                                                         Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      Go to the first/last frame

      First last frame controls            
      Navigate to the first or the last frame of the sequence.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      Go back with a step/Go next with a step

      Go to a step controls
      Move to the previous or next frame by a predefined step.

      Shortcuts:
    • C — previous frame.
    • V — next frame.

      Default step size is 10 frames. To modify this, navigate to Nickname > Settings > Player Step.                                                                                                                                                                                                                                                                                                                                                                                                                                        
    • Go back/Go next

      Go back and go forth controls                    
      Navigate to the neighboring frames.

      Shortcuts:
    • D — previous frame.
    • F — next frame.

      Go back/Go next buttons are customizable:



      To customize, right-click on the button and select one of three options (left to right):
      1. The default setting moves to the next or previous frame (step size is 1 frame).
      2. Move to the next or previous frame that contains objects (e.g., filtered). For more information, refer to Filters.
      3. Move to the next or previous frame without annotations. Use this option to quickly locate missed frames.
      .
    • Play/Pause

      Play and pause                              
      Switch between playing and pausing the sequence of frames or set of images.
      Shortcut: Space.
      To adjust the playback speed, go to Nickname > Settings > Player Speed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      Go to the specific frame

      Go to the specific frame                    
      Enter the number of the frame you want to go to and press Enter.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      Delete frame

      Delete frame                            
      Click to delete current frame.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

      Job information and Annotation Mode switcher

      This section outlines various functionalities, including how to switch to the fullscreen player mode, access job information, and use the Workspace Switcher to toggle between different annotation and QA modes.

      Function                                         Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      Fullscreen

      Fullscreen
      The fullscreen player mode. The keyboard shortcut is F11.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      Info

      Info    
      Open the job info.



      Overview:
      • Assignee - the individual to whom the job is assigned.
      • Reviewer– the user tasked with conducting the review. For more information, see Manual QA
      • Start frame - the number of the first frame in this job.
      • Stop frame - the number of the last frame in this job.
      • Frames - the total number of frames in the job.

      Annotations Statistics table displays the number of created shapes, categorized by labels (e.g., vehicle, person) and the type of annotation (shape, track), as well as the count of manual and interpolated frames.
      Filters

       
      Switches on Filters.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      Workplace Switcher The drop-down list to switch between different annotation modes:



      Overview:
      • Standard – default mode.
      • Attribute – annotation with Attributes
      • Single ShapeSingle shape annotation mode.
      • Tag annotation- annotation with Tags
      • ReviewManual QA mode.                                                                                                                                                                              

      4.2 - Controls sidebar

      Offers tools for navigating within the image, annotation tools, and additional options to merge, split, and group labels.

      Navigation block - contains tools for moving and rotating images.

      Icon Description
      Cursor (Esc)- a basic annotation editing tool.
      Move the image- a tool for moving around the image without
      the possibility of editing.
      Rotate- two buttons to rotate the current frame
      a clockwise (Ctrl+R) and anticlockwise (Ctrl+Shift+R).
      You can enable Rotate all images in the settings to rotate all the images in the job

      Zoom

      Zoom block - contains tools for image zoom.

      Icon Description
      Fit image- fits image into the workspace size.
      Shortcut - double click on an image
      Select a region of interest- zooms in on a selected region.
      You can use this tool to quickly zoom in on a specific part of the frame.

      Shapes

      Shapes block - contains all the tools for creating shapes.

      Icon Description Links to section
      AI Tools AI Tools
      OpenCV OpenCV
      Rectangle Shape mode; Track mode;
      Drawing by 4 points
      Polygon Annotation with polygons; Track mode with polygons
      Polyline Annotation with polylines
      Points Annotation with points
      Ellipses Annotation with ellipses
      Cuboid Annotation with cuboids
      Brushing tools Annotation with brushing
      Tag Annotation with tags
      Open an issue Review (available only in review mode)

      Edit

      Edit block - contains tools for editing tracks and shapes.

      Icon Description Links to section
      Merge Shapes(M) - starts/stops the merging shapes mode. Track mode (basics)
      Group Shapes (G) - starts/stops the grouping shapes mode. Shape grouping
      Split - splits a track. Track mode (advanced)
      Split - splits a track. Track mode (advanced)
      Joins multiple labels into one Joining mask tool
      Slices one label into several. Slice mask/polygon

      Move image

      Switching between user interface modes.

      1. Use arrows below to move to the next/previous frame. Use the scroll bar slider to scroll through frames. Almost every button has a shortcut. To get a hint about a shortcut, just move your mouse pointer over an UI element.

      2. To navigate the image, use the button on the controls sidebar. Another way an image can be moved/shifted is by holding the left mouse button inside an area without annotated objects. If the Mouse Wheel is pressed, then all annotated objects are ignored. Otherwise the a highlighted bounding box will be moved instead of the image itself.

      3. You can use the button on the sidebar controls to zoom on a region of interest. Use the button Fit the image to fit the image in the workspace. You can also use the mouse wheel to scale the image (the image will be zoomed relatively to your current cursor position).

      4.3 - Objects sidebar

      Displays annotated objects and includes a label filter, lists of objects (current frame) and labels (objects on the frame), and appearance settings.

      In the objects sidebar, you can see the list of available objects on the current frame. The following figure is an example of how the list might look like:

      Shape mode Track mode

      Objects properties

      Filter input box

      The way how to use filters is described in the advanced guide here.

      List of objects

      • Switch lock property for all - switches lock property of all objects in the frame.
      • Switch hidden property for all - switches hide the property of all objects in the frame.
      • Expand/collapse all - collapses/expands the details field of all objects in the frame.
      • Sorting - sort the list of objects: updated time, ID - accent, ID - descent

      Objects on the sidebar

      The type of shape can be changed by selecting the Label property. For instance, it can look like shown in the figure below:

      Object action menu

      The action menu calls up the button:

      The action menu contains:

      • Create object URL - puts a link to an object on the clipboard. After you open the link, this object will be filtered.

      • Make a copy - copies an object. The keyboard shortcut is Ctrl + C > Ctrl + V.

      • Propagate function copies the form to multiple frames and displays a dialog box where you can specify the number of copies or the frame to which you want to copy the object. The keyboard shortcut is Ctrl + B. On how to propagate only filtered shapes, see Shapes converter
        There are two options available:

        • Propagate forward (Fw propagate) creates a copy of the object on N subsequent frames at the same position.
        • Propagate backward (Back propagate) creates a copy of the object on N previous frames at the same position.

      • To background - moves the object to the background. The keyboard shortcut - or _

      • To foreground - moves the object to the foreground. The keyboard shortcut + or =

      • Change instance color- choosing a color using the color picker (available only in instance mode).

      • Remove - removes the object. The keyboard shortcut Del, Shift+Del.

      A shape can be locked to prevent its modification or moving by an accident. Shortcut to lock an object: L.

      A shape can be Occluded. Shortcut: Q. Such shapes have dashed boundaries.

      You can change the way an object is displayed on a frame (show or hide).

      Switch pinned property - when enabled, a shape cannot be moved by dragging or dropping.

      **Tracker switcher **- enable/disable tracking for the object.

      By clicking on the Details button you can collapse or expand the field with all the attributes of the object.


      Labels

      In this tab, you can lock or hide objects of a certain label. To change the color for a specific label, you need to go to the task page and select the color by clicking the edit button, this way you will change the label color for all jobs in the task.

      Fast label change

      You can change the label of an object using hotkeys. In order to do it, you need to assign a number (from 0 to 9) to labels. By default numbers 1,2…0 are assigned to the first ten labels. To assign a number, click on the button placed at the right of a label name on the sidebar.

      After that, you will be able to assign a corresponding label to an object by hovering your mouse cursor over it and pressing Ctrl + Num(0..9).

      In case you do not point the cursor to the object, pressing Ctrl + Num(0..9) will set a chosen label as default, so that the next object you create (use the N key) will automatically have this label assigned.


      Appearance

      Color By options

      Change the color scheme of the annotation:

      • Instance — every shape has a random color

      • Group — every group of shape has its own random color, ungrouped shapes are white

      • Label — every label (e.g. car, person) has its own random color

        You can change any random color pointing to a needed box on a frame or on an object sidebar.

      Fill Opacity slider

      Change the opacity of every shape in the annotation.

      Selected Fill Opacity slider

      Change the opacity of the selected object’s fill. It is possible to change the opacity while drawing an object in the case of rectangles, polygons, and cuboids.

      Outlines borders checkbox

      You can change a special shape border color by clicking on the Eyedropper icon.

      Show bitmap checkbox

      If enabled all shapes are displayed in white and the background is black.

      Show projections checkbox

      Enables/disables the display of auxiliary perspective lines. Only relevant for cuboids

      Hide objects sidebar

      Hide - the button hides the object’s sidebar.

      4.4 - CVAT Workspace

      The main annotation area where images and videos are displayed for annotation..

      In CVAT the Workspace serves as a work area where annotators interact with images, videos, and the various tools available to create high-quality annotations.

      Image quality panel

      See:

      Image settings in CVAT

      The Image settings panel serves as a versatile tool for fine-tuning the visual aspects of your image. Whether you need to brighten the image, increase contrast, or make other adjustments, this panel is your go-to.

      Additionally, the panel allows you to overlay a grid on the image for more precise annotation.

      Note: Adjusting the image settings only alters how the pictures are displayed. The images themselves will remain unmodified and unchanged.

      By default, the Image settings panel is not visible. To access it, click on the Arrow Up (Image Grid Icon) icon located at the bottom of the workspace.

      Image quality panel

      Adding grid overlay to image in CVAT

      To add the grid to the image, do the following:

      1. Open the Image Settings panel.
      2. Locate and check the box that allows you to overlay a grid on the image.
      3. Specify the grid cell size in square millimeters by entering the desired number in the Size field.
      4. From the Color drop-down list, select the color of the grid.
      5. Use the Opacity slider to change the transparency of the grid overlay.

      Changing color settings of image in CVAT

      To change the color setting of the image is CVAT, do the following:

      1. Open the Image Settings panel.
      2. Use the slider to change the color quality.

      There are four color quality settings in CVAT:

      Brightness increases and decreases the overall lightness of the image:

      Image Brightness

      Contrast is the range of brightness, from lightest to darkest, in an image.

      Image Brightness

      Saturation describes the intensity of the color.

      Image Saturation

      Gamma correction can be used to control the overall brightness of an image

      Gamma Correction

      To reset the setting to default values, click Reset color settings

      Adding layers and Z-axis slider

      Z-axis Slider enables you to add annotation layers while hiding the layers positioned beyond.

      You can also move between layers by moving the slider to the layer you need.

      The slider becomes active when multiple Z-layers are present within a frame. Click + on the slider to add a new layer; upon pressing it, a new layer is automatically created and activated.

      You can also relocate objects between layers using the + and - keys.

      Z-Order Slider

      Interacting with Objects

      The workspace is also equipped with the following features:

      • Right-clicking an object opens the Object Card. This interface contains essential controls for modifying the object’s label and attributes, as well as providing access to an action menu.

        Object card

      • Right-clicking on a polygon point will open a menu, from which you can Delete point or Set start point.

        Polygon menu

      5 - Jobs page

      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.

      On the job 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.

      To open the job in a new tab, click on the job by holding Ctrl.

      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

      Applying filter disables the quick 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.

      For clear all filters press 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)

      6 - Tasks page

      Overview of the Tasks page.

      The tasks page contains elements and each of them relates to a separate task. They are sorted in creation order. Each element contains: task name, preview, progress bar, button Open, and menu Actions. Each button is responsible for a in 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 which does not belong to any project). In case of label mismatch, you can create or delete necessary labels in the project/task. Some task labels can be matched with the target project labels.
      • 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

      Applying filter disables the quick 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.

      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 [read more] [subset]
      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
      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)

      Push Open button to go to task details.

      7 - Task details

      Overview of the Task details page.

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

      • The next actions are available on this page:

        1. Change the task’s title.
        2. Open Actions menu.
        3. Change issue tracker or open issue tracker if it is 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 clicking 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.
      • 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 filters panel.

      Follow a link inside Jobs section to start annotation process. In some cases, you can have several links. It depends on 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 first images. Other frames will be loaded in background.

      8 - Requests page

      The Requests page allows users to track the status of data processing jobs such as exporting annotations or importing datasets. 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
      • Menu to download the result or cancel a Queued job

      Currently supported operations include creating tasks, importing/exporting annotations and datasets, and backups.

      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.

      9 - 3D task workspace

      If the related_images folder contains any images, a context image will be available in the perspective window. The contextual image could be compared to 3D data and would help to identify the labels of marked objects.

      Perspective – a main window for work with objects in a 3D task.

      Projections - projections are tied to an object so that a cuboid is in the center and looks like a rectangle. Projections show only the selected object.

      • Top – a projection of the view from above.
      • Side – a projection of the left side of the object.
      • Front - a frontal projection of the object.

      10 - Standard 3D mode (basics)

      Standard 3d mode - Designed to work with 3D data. The mode is automatically available if you add PCD or Kitty BIN format data when you create a task. read more

      You can adjust the size of the projections, to do so, simply drag the boundary between the projections.

      11 - Settings

      To open the settings open the user menu in the header and select the settings item or press F2.

      Settings have two tabs:

      In tab Player you can:

      • Control step of C and V shortcuts.
      • Control speed of Space/Play button.
      • Select canvas background color. You can choose a background color or enter manually (in RGB or HEX format).
      • Reset zoom Show every image in full size or zoomed out like previous (it is enabled by default for interpolation mode and disabled for annotation mode).
      • Rotate all images checkbox — switch the rotation of all frames or an individual frame.
      • Smooth image checkbox — smooth image when zoom-in it.
        smoothed pixelized

      In tab Workspace you can:

      • Enable auto save checkbox — turned off by default.

      • Auto save interval (min) input box — 15 minutes by default.

      • Show all interpolation tracks checkbox — shows hidden objects on the side panel for every interpolated object (turned off by default).

      • Always show object details - show text for an object on the canvas not only when the object is activated:

      • Content of a text - setup of the composition of the object details:

        • ID - object identifier.
        • Attributes - attributes of the object.
        • Label - object label.
        • Source- source of creating of objects MANUAL, AUTO or SEMI-AUTO.
        • Descriptions - description of attributes.
      • Position of a text - text positioning mode selection:

        • Auto - the object details will be automatically placed where free space is.
        • Center - the object details will be embedded to a corresponding object if possible.
      • Font size of a text - specifies the text size of the object details.

      • Automatic bordering - enable automatic bordering for polygons and polylines during drawing/editing. For more information To find out more, go to the section annotation with polygons.

      • Intelligent polygon cropping - activates intelligent cropping when editing the polygon (read more in the section edit polygon

      • Show tags on frame - shows/hides frame tags on current frame

      • Attribute annotation mode (AAM) zoom margin input box — defines margins (in px) for shape in the attribute annotation mode.

      • Control points size — defines a size of any interactable points in the tool (polygon’s vertices, rectangle dragging points, etc.)

      • Default number of points in polygon approximation With this setting, you can choose the default number of points in polygon. Works for serverless interactors and OpenCV scissors.

      • Click Save to save settings (settings will be saved on the server and will not change after the page is refreshed). Click Cancel or press F2 to return to the annotation.

      12 - Types of shapes

      List of shapes available for annotation.

      There are several shapes with which you can annotate your images:

      • Rectangle or Bounding box
      • Polygon
      • Polyline
      • Points
      • Ellipse
      • Cuboid
      • Cuboid in 3d task
      • Skeleton
      • Tag

      And there is how they all look like:

      Tag - has no shape in the workspace, but is displayed in objects sidebar.

      13 - Shape mode (basics)

      Usage examples and basic operations available during annotation in shape mode.

      Usage examples:

      • Create new annotations for a set of images.
      • Add/modify/delete objects for existing annotations.
      1. You need to select Rectangle on the controls sidebar:

        Before you start, select the correct Label (should be specified by you when creating the task) and Drawing Method (by 2 points or by 4 points):

      2. Creating a new annotation in Shape mode:

        • Create a separate Rectangle by clicking on Shape.

        • Choose the opposite points. Your first rectangle is ready!

        • To learn more about creating a rectangle read here.

        • It is possible to adjust boundaries and location of the rectangle using a mouse. Rectangle’s size is shown in the top right corner , you can check it by clicking on any point of the shape. You can also undo your actions using Ctrl+Z and redo them with Shift+Ctrl+Z or Ctrl+Y.

      3. You can see the Object card in the objects sidebar or open it by right-clicking on the object. You can change the attributes in the details section. You can perform basic operations or delete an object by clicking on the action menu button.

      4. The following figure is an example of a fully annotated frame with separate shapes.

        Read more in the section shape mode (advanced).

      14 - Track mode (basics)

      Usage examples and basic operations available during annotation in track mode.

      Usage examples:

      • Create new annotations for a sequence of frames.
      • Add/modify/delete objects for existing annotations.
      • Edit tracks, merge several rectangles into one track.
      1. Like in the Shape mode, you need to select a Rectangle on the sidebar, in the appearing form, select the desired Label and the Drawing method.

      2. Creating a track for an object (look at the selected car as an example):

        • Create a Rectangle in Track mode by clicking on Track.

        • In Track mode the rectangle will be automatically interpolated on the next frames.

        • The cyclist starts moving on frame #2270. Let’s mark the frame as a key frame. You can press K for that or click the star button (see the screenshot below).

        • If the object starts to change its position, you need to modify the rectangle where it happens. It isn’t necessary to change the rectangle on each frame, simply update several keyframes and the frames between them will be interpolated automatically.

        • Let’s jump 30 frames forward and adjust the boundaries of the object. See an example below:

        • After that the rectangle of the object will be changed automatically on frames 2270 to 2300:

      3. When the annotated object disappears or becomes too small, you need to finish the track. You have to choose Outside Property, shortcut O.

      4. If the object isn’t visible on a couple of frames and then appears again, you can use the Merge feature to merge several individual tracks into one.

        • Create tracks for moments when the cyclist is visible:

        • Click Merge button or press key M and click on any rectangle of the first track and on any rectangle of the second track and so on:

        • Click Merge button or press M to apply changes.

        • The final annotated sequence of frames in Interpolation mode can look like the clip below:

          Read more in the section track mode (advanced).

      15 - 3D Object annotation

      Overview of basic operations available when annotating 3D objects.

      Use the 3D Annotation tool for labeling 3D objects and scenes, such as vehicles, buildings, landscapes, and others.

      See:

      The 3D annotation canvas looks like the following

      3D canvas

      Note: if you added contextual images to the dataset, the canvas will include them. For more information, see Contextual images

      For information on the available tools, see Controls sidebar.

      You can navigate, using the mouse, or navigation keys:

      You can also use keyboard shortcuts to navigate:

      Action Keys
      Camera rotation Shift + Arrow (Up, Down, Left, Right)
      Left/Right Alt+J/ Alt+L
      Up/down Alt+U/ Alt+O
      Zoom in/ou Alt+K/ Alt+I

      Annotation with cuboids

      There are two options available for 3D annotation:

      • Shape: for tasks like object detection.
      • Track: uses interpolation to predict the position of objects in subsequent frames. A unique ID will be assigned to each object and maintained throughout the sequence of images.

      Annotation with shapes

      To add a 3D shape, do the following:

      1. On the objects pane, select Draw new cuboid > select the label from the drop-down list > Shape.

      1. The cursor will be followed by a cuboid. Place the cuboid on the 3D scene.

      1. Use projections to adjust the cuboid. Click and hold the left mouse button to edit the label shape on the projection.

      1. (Optional) Move one of the four points to change the size of the cuboid.

      1. (Optional) To rotate the cuboid, click on the middle point and then drag the cuboid up/down or to left/right.

      Tracking with cuboids

      To track with cuboids, do the following:

      1. On the objects pane, select Draw new cuboid > select the label from the drop-down list > Track.

      2. The cursor will be followed by a cuboid. Place the cuboid on the 3D scene.

      3. Use projections to adjust the cuboid. Click and hold the left mouse button to edit the label shape on the projection.

      1. (Optional) Move one of the four points to change the size of the cuboid.

      1. (Optional) To rotate the cuboid, click on the middle point and then drag the cuboid up/down or to left/right.

      1. Move several frames forward. You will see the cuboid you’ve added in frame 1. Adjust it, if needed.

      2. Repeat to the last frame with the presence of the object you are tracking.

      For more information about tracking, see Track mode

      16 - Attribute annotation mode (basics)

      Usage examples and basic operations available in attribute annotation mode.
      • In this mode you can edit attributes with fast navigation between objects and frames using a keyboard. Open the drop-down list in the top panel and select Attribute annotation Mode.

      • In this mode objects panel change to a special panel :

      • The active attribute will be red. In this case it is gender . Look at the bottom side panel to see all possible shortcuts for changing the attribute. Press key 2 on your keyboard to assign a value (female) for the attribute or select from the drop-down list.

      • Press Up Arrow/Down Arrow on your keyboard or click the buttons in the UI to go to the next/previous attribute. In this case, after pressing Down Arrow you will be able to edit the Age attribute.

      • Use Right Arrow/Left Arrow keys to move to the previous/next image with annotation.

      To see all the hot keys available in the attribute annotation mode, press F2. Read more in the section attribute annotation mode (advanced).

      17 - Quality control

      Overview of quality control features

      CVAT has the following features for automated quality control of annotations:

      In this section we only highlight the key steps in quality estimation. Read the detailed guide on quality estimation in CVAT in the Advanced section.

      How to enable quality control

      1. Go to task creation
      2. Select the source media, configure other task parameters
      3. Scroll down to the Quality Control section
      4. Select one of the validation modes available

      Create task with validation mode

      1. Create the task
      2. Upload or create Ground Truth annotations in the Ground Truth job in the task
      3. Switch the Ground Truth job into the acceptance stage and completed state

      Set job status

      For already existing tasks only the Ground Truth validation mode is available. If you want to use Honeypots for your task, you will need to recreate the task.

      1. Open the task page
      2. Click the + button next to the job list

      Create job

      1. Select Job Type Ground truth and configure the job parameters

      Configure job parameters

      1. Upload or create Ground Truth annotations in the Ground Truth job in the task
      2. Switch the Ground Truth job into the acceptancestage and completed state

      Set job status

      How to enable immediate job feedback

      Note: This feature requires a configured validation set in the task. Read more in How to enable quality control and in the full guide.

      1. Open the task Actions menu > Quality control > Settings
      2. Set Max validations per job to above zero. 3 is a good starting number.

      Configure job validations

      1. Save the updated settings
      2. Assign an annotator to an annotation job
      3. Annotate the job
      4. Mark the job finished using the corresponding button in the menu
      5. Once the job is completed, you’ll see the job validation dialog

      Each assignee gets no more than the specified number of validation attempts.

      Read more about this functionality in the Immediate Feedback section.

      How to check task quality metrics

      1. Open the task Actions menu > Quality control
      2. (optional) Request quality metrics computation, wait for completion
      3. Review summaries or detailed reports

      Quality Analytics page

      Read more about this functionality here.

      How to review problems found

      1. Open the task Actions menu > Quality control
      2. Find an annotation job to be reviewed, it must have at least 1 validation frame
      3. Click the job link
      4. Switch to the Review mode
      5. Enable display of Ground Truth annotations and conflicts

      GT conflict

      Read more about this functionality here.

      18 - Vocabulary

      List of terms pertaining to annotation in CVAT.

      Label

      Label is a type of an annotated object (e.g. person, car, vehicle, etc.)


      Attribute

      Attribute is a property of an annotated object (e.g. color, model, quality, etc.). There are two types of attributes:

      Unique

      Unique immutable and can’t be changed from frame to frame (e.g. age, gender, color, etc.)

      Temporary

      Temporary mutable and can be changed on any frame (e.g. quality, pose, truncated, etc.)


      Track

      Track is a set of shapes on different frames which corresponds to one object. Tracks are created in Track mode


      Annotation

      Annotation is a set of shapes and tracks. There are several types of annotations:

      • Manual which is created by a person
      • Semi-automatic which is created mainly automatically, but the user provides some data (e.g. interpolation)
      • Automatic which is created automatically without a person in the loop

      Approximation

      Approximation allows you to reduce the number of points in the polygon. Can be used to reduce the annotation file and to facilitate editing polygons.


      Trackable

      Trackable object will be tracked automatically if the previous frame was a latest keyframe for the object. More details in the section trackers.


      Mode

      Interpolation

      Mode for video annotation, which uses track objects. Only objects on keyframes are manually annotation, and intermediate frames are linearly interpolated.

      Related sections:

      Annotation

      Mode for images annotation, which uses shape objects.

      Related sections:


      Dimension

      Depends on the task data type that is defined when the task is created.

      2D

      The data format of 2d tasks are images and videos. Related sections:

      3D

      The data format of 3d tasks is a cloud of points. Data formats for a 3D task

      Related sections:


      State

      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.


      Stage

      Stage of the job. The stage is specified with the drop-down list on the task page. There are three stages: annotation, validation or acceptance. This value affects the task progress bar.


      Subset

      A project can have subsets. Subsets are groups for tasks that make it easier to work with the dataset. It could be test, train, validation or custom subset.


      Credentials

      Under credentials is understood Key & secret key, Account name and token, Anonymous access, Key file. Used to attach cloud storage.


      Resource

      Under resource is understood bucket name or container name. Used to attach cloud storage.

      19 - Cloud storages page

      Overview of the cloud storages page.

      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.

      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

      Applying filter disables the quick 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.

      For clear all filters press Clear filters.

      Supported properties for cloud storages list

      Properties Supported values Description
      ID number or range of task ID
      Provider type AWS S3, Azure, 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 click on the input field

      Click the + button to attach a new cloud storage.

      20 - Attach cloud storage

      Instructions on how to attach cloud storage using UI

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

      See:

      AWS S3

      Create a bucket

      To create bucket, do the following:

      1. Create an AWS account.

      2. Go to console AWS-S3, and click Create bucket.

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

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

      5. Click Create bucket.

      A new bucket will appear on the list of buckets.

      Upload data

      Note: manifest file is optional.

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

      1. Prepare data. For more information, see prepare the dataset.

      2. Open the bucket and click Upload.

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

      Access permissions

      Authenticated access

      To add access permissions, do the following:

      1. Go to IAM and click Add users.

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

      3. Click Next: Permissions.

      4. Click Create group, enter the group name.

      5. Use search to find and select:

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

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

      7. Save Access key ID and Secret access key.

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

      Anonymous access

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

      Attach AWS 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 click +.

      Fill in the following fields:

      CVAT AWS S3
      Display name Preferred display name for your storage.
      Description (Optional) Add description of storage.
      Provider From drop-down list select AWS 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, see 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) Click + Add manifest and enter the name of the manifest file with an extension. For example: manifest.jsonl.

      After filling in all the fields, click Submit.

      AWS S3 manifest file

      Note: manifest file is optional.

      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>
      
      1. Copy the content of the bucket to a folder on your computer:
      aws s3 cp <s3://bucket-name> <yourfolder> --recursive
      
      1. 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>
      
      1. When the manifest file is ready, upload it to aws 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, click upload, drag the manifest file to the page and click upload.

      Video tutorial: Add AWS 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, click Start Free, then enter the required data and accept the terms of service.

        Note: Google requires to add payment, you will need a bank card to accomplish step 2.

      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

      Note: manifest file is optional.

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

      1. Prepare data. For more information, see 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

      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 click +Create Service Account.
      2. Enter your account name and click Create And Continue.
      3. Select a role, for example Basic > Viewer, and click Continue.
      4. (Optional) Give access rights to the service account.
      5. Click Done.

      To create a key:

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

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

      Anonymous access

      To configure anonymous access:

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

      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 click +.

      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: Click on the Key file field and upload 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, see 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, see 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, see Available locations.
      Manifests (Optional) Click + Add manifest and enter the name of the manifest file with an extension. For example: manifest.jsonl.

      After filling in all the fields, click 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 click Create.

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

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

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

      6. Click on Storage account and on the next page click 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).
        • Click next: Advanced>.

      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.
        • Click Next > Networking.

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

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

        • Click Next>Data protection.

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

      2. Click Review and wait for the data to load.

      3. Click Create. Deployment will start.

      4. After deployment is over, click Go to resource.

      Create a container

      To create container, do the following:

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

      1. Enter the name of the container.
      2. (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.
      3. Click Create.

      Upload data

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

      1. Prepare data. For more information, see prepare the dataset.
      2. Go to container and click Upload.
      3. Click Browse for files and select images.

        Note: If images are in folder, specify folder in the Advanced settings > Upload to folder.

      4. Click Upload.

      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, click 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. Click Generate SAS and connection string and copy SAS token or Connection string.

      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. Click Show and copy the 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 click +.

      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 Container.
      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) Click + Add manifest and enter the name of the manifest file with an extension. For example: manifest.jsonl.

      After filling in all the fields, click 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, see Dataset manifest:
      python <cvat repository>/utils/dataset_manifest/create.py --output-dir <your_folder> <your_folder>