Skip to main content

Guangzhou, China

Computer Vision Annotation Tool (CVAT)

CVAT was designed to provide users with a set of convenient instruments for annotating digital images and videos. CVAT supports supervised machine learning tasks pertaining to object detection, image classification, image segmentation and 3D data annotation. It allows users to annotate images with multiple tools (boxes, polygons, cuboids, circles, skeletons, etc).

Installation (Docker)

git clone https://github.com/opencv/cvat
cd cvat
export CVAT_HOST=your-ip-address
docker compose up -d

Or optionally build the container manually:

export CVAT_VERSION=dev docker compose pull
docker compose -f docker-compose.yml -f docker-compose.dev.yml build
docker compose up -d

The CVAT UI is now available on your-ip-address with port 8080.

Create an Annotation Job

To start annotating in CVAT, you need to create an annotation task and specify its parameters. To create a task, on the Project page click + and select Create a new Project:

Computer Vision Annotation Tool (CVAT)

Create a project and assign available class labels and annotation types:

Computer Vision Annotation Tool (CVAT)

On the Task tab click to Create a new Task:

Computer Vision Annotation Tool (CVAT)

Add a name and your previously created project. Then continue uploading your image dataset - it is possible to upload images directly but I found it a bit error prone sometimes. I am now zipping the files now and upload the compressed container instead:

Computer Vision Annotation Tool (CVAT)

Under advanced you can select the label format that you want to use for your task:

Computer Vision Annotation Tool (CVAT)

Click to Submit and Open and your task will be prepared - which might take a while, depending on your dataset. You will be redirected to the task overview once ready:

Computer Vision Annotation Tool (CVAT)

Every task generates a job on the Job tab:

Computer Vision Annotation Tool (CVAT)

Click on the job tile and happy annotating :)

Computer Vision Annotation Tool (CVAT)

Shortcuts

List of available mouse and keyboard shortcuts:

ShortcutCommon
Main functions
F1Open/hide the list of available shortcuts
F2Go to the settings page or go back
Ctrl+SGo to the settings page or go back
Ctrl+ZCancel the latest action related with objects
Ctrl+Shift+Z or Ctrl+YCancel undo action
Hold Mouse WheelTo move an image frame (for example, while drawing)
Player
FGo to the next frame
DGo to the previous frame
VGo forward with a step
CGo backward with a step
RightSearch the next frame that satisfies to the filters or next frame which contain any objects
LeftSearch the previous frame that satisfies to the filters or previous frame which contain any objects
SpaceStart/stop automatic changing frames
` or ~Focus on the element to change the current frame
Modes
NRepeat the latest procedure of drawing with the same parameters
MActivate or deactivate mode to merging shapes
Alt+MActivate or deactivate mode to splitting shapes
GActivate or deactivate mode to grouping shapes
Shift+GReset group for selected shapes (in group mode)
EscCancel any active canvas mode
Image operations
Ctrl+RChange image angle (add 90 degrees)
Ctrl+Shift+RChange image angle (subtract 90 degrees)
Operations with objects
CtrlSwitch automatic bordering for polygons and polylines during drawing/editing
Hold CtrlWhen the shape is active and fix it
Alt+Click on pointDeleting a point (used when hovering over a point of polygon, polyline, points)
Shift+Click on pointEditing a shape (used when hovering over a point of polygon, polyline or points)
Right-Click on shapeDisplay of an object element from objects sidebar
T+LChange locked state for all objects in the sidebar
LChange locked state for an active object
T+HChange hidden state for objects in the sidebar
HChange hidden state for an active object
Q or /Change occluded property for an active object
Del or Shift+DelDelete an active object. Use shift to force delete of locked objects
- or _Put an active object “farther” from the user (decrease z axis value)
+ or =Put an active object “closer” to the user (increase z axis value)
Ctrl+CCopy shape to CVAT internal clipboard
Ctrl+VPaste a shape from internal CVAT clipboard
Hold Ctrl while pastingWhen pasting shape from the buffer for multiple pasting.
Ctrl+BMake a copy of the object on the following frames
Ctrl+(0..9)Changes a label for an activated object or for the next drawn object if no objects are activated
Operations are available only for track
KChange keyframe property for an active track
OChange outside property for an active track
RGo to the next keyframe of an active track
EGo to the previous keyframe of an active track
Attribute annotation mode
Up ArrowGo to the next attribute (up)
Down ArrowGo to the next attribute (down)
TabGo to the next annotated object in current frame
Shift+TabGo to the previous annotated object in current frame
numberAssign a corresponding value to the current attribute
Standard 3d mode
Shift+Up ArrowIncreases camera roll angle
Shift+Down ArrowDecreases camera roll angle
Shift+Left ArrowDecreases camera pitch angle
Shift+Right ArrowIncreases camera pitch angle
Alt+OMove the camera up
Alt+UMove the camera down
Alt+JMove the camera left
Alt+LMove the camera right
Alt+IPerforms zoom in
Alt+KPerforms zoom out