|
|
- [User's guide](#users-guide)
|
|
|
- [Getting started](#getting-started)
|
|
|
- [Authorization](#authorization)
|
|
|
- [Administration panel](#administration-panel)
|
|
|
- [Creating an annotation task](#creating-an-annotation-task)
|
|
|
- [Models](#models)
|
|
|
- [Search](#search)
|
|
|
- [Interface of the annotation tool](#interface-of-the-annotation-tool)
|
|
|
- [Basic navigation](#basic-navigation)
|
|
|
- [Types of shapes (basics)](#types-of-shapes-basics)
|
|
|
- [Shape mode (basics)](#shape-mode-basics)
|
|
|
- [Track mode (basics)](#track-mode-basics)
|
|
|
- [Attribute annotation mode (basics)](#attribute-annotation-mode-basics)
|
|
|
- [Downloading annotations](#downloading-annotations)
|
|
|
- [Task synchronization with a repository](#task-synchronization-with-a-repository)
|
|
|
- [Vocabulary](#vocabulary)
|
|
|
- [Workspace](#workspace)
|
|
|
- [Settings](#settings)
|
|
|
- [Top Panel](#top-panel)
|
|
|
- [Controls sidebar](#controls-sidebar)
|
|
|
- [Objects sidebar](#objects-sidebar)
|
|
|
- [Objects](#objects)
|
|
|
- [Labels](#labels)
|
|
|
- [Shape mode (advanced)](#shape-mode-advanced)
|
|
|
- [Track mode (advanced)](#track-mode-advanced)
|
|
|
- [Attribute annotation mode (advanced)](#attribute-annotation-mode-advanced)
|
|
|
- [AI Tools](#ai-tools)
|
|
|
- [Annotation with rectangle by 4 points](#annotation-with-rectangle-by-4-points)
|
|
|
- [Annotation with polygons](#annotation-with-polygons)
|
|
|
- [Annotation with polylines](#annotation-with-polylines)
|
|
|
- [Annotation with points](#annotation-with-points)
|
|
|
- [Points in shape mode](#points-in-shape-mode)
|
|
|
- [Linear interpolation with one point](#linear-interpolation-with-one-point)
|
|
|
- [Annotation with cuboids](#annotation-with-cuboids)
|
|
|
- [Annotation with tags](#annotation-with-tags)
|
|
|
- [Track mode with polygons](#track-mode-with-polygons)
|
|
|
- [Automatic annotation](#automatic-annotation)
|
|
|
- [Shape grouping](#shape-grouping)
|
|
|
- [Filter](#filter)
|
|
|
- [Analytics](#analytics)
|
|
|
- [Shortcuts](#shortcuts)
|
|
|
|
|
|
# User's guide
|
|
|
|
|
|
Computer Vision Annotation Tool (CVAT) is a web-based tool which helps to
|
|
|
annotate videos and images for Computer Vision algorithms. It was inspired
|
|
|
by [Vatic](http://carlvondrick.com/vatic/) free, online, interactive video
|
|
|
annotation tool. CVAT has many powerful features: _interpolation of bounding
|
|
|
boxes between key frames, automatic annotation using deep learning models,
|
|
|
shortcuts for most of critical actions, dashboard with a list of annotation
|
|
|
tasks, LDAP and basic authorization, etc..._ It was created for and used by
|
|
|
a professional data annotation team. UX and UI were optimized especially for
|
|
|
computer vision tasks developed by our team.
|
|
|
|
|
|
## Getting started
|
|
|
|
|
|
### Authorization
|
|
|
- First of all, you have to log in to CVAT tool.
|
|
|
|
|
|

|
|
|
|
|
|
- For register a new user press "Create an account"
|
|
|
|
|
|

|
|
|
|
|
|
- You can register a user but by default it will not have rights even to view
|
|
|
list of tasks. Thus you should create a superuser. The superuser can use
|
|
|
[Django administration panel](http://localhost:8080/admin) to assign correct
|
|
|
groups to the user. Please use the command below to create an admin account:
|
|
|
|
|
|
``docker exec -it cvat bash -ic '/usr/bin/python3 ~/manage.py createsuperuser'``
|
|
|
|
|
|
- If you want to create a non-admin account, you can do that using the link below
|
|
|
on the login page. Don't forget to modify permissions for the new user in the
|
|
|
administration panel. There are several groups (aka roles): admin, user,
|
|
|
annotator, observer.
|
|
|
|
|
|

|
|
|
|
|
|
### Administration panel
|
|
|
Go to the [Django administration panel](http://localhost:8080/admin). There you can:
|
|
|
- Create / edit / delete users
|
|
|
- Control permissions of users and access to the tool.
|
|
|
|
|
|

|
|
|
|
|
|
### Creating an annotation task
|
|
|
|
|
|
1. Create an annotation task pressing ``Create new task`` button on the main page.
|
|
|

|
|
|
|
|
|
1. Specify parameters of the task:
|
|
|
|
|
|
#### Basic configuration
|
|
|
|
|
|
**Name** The name of the task to be created.
|
|
|
|
|
|

|
|
|
|
|
|
**Labels**. There are two ways of working with labels:
|
|
|
- The ``Constructor`` is a simple way to add and adjust labels. To add a new label click the ``Add label`` button.
|
|
|

|
|
|
|
|
|
You can set a name of the label in the ``Label name`` field and choose a color for each label.
|
|
|
|
|
|

|
|
|
|
|
|
If necessary you can add an attribute and set its properties by clicking ``Add an attribute``:
|
|
|
|
|
|

|
|
|
|
|
|
The following actions are available here:
|
|
|
1. Set the attribute’s name.
|
|
|
1. Choose the way to display the attribute:
|
|
|
- Select — drop down list of value
|
|
|
- Radio — is used when it is necessary to choose just one option out of few suggested.
|
|
|
- Checkbox — is used when it is necessary to choose any number of options out of suggested.
|
|
|
- Text — is used when an attribute is entered as a text.
|
|
|
- Number — is used when an attribute is entered as a number.
|
|
|
1. Set values for the attribute. The values could be separated by pressing ``Enter``.
|
|
|
The entered value is displayed as a separate element which could be deleted
|
|
|
by pressing ``Backspace`` or clicking the close button (x).
|
|
|
If the specified way of displaying the attribute is Text or Number,
|
|
|
the entered value will be displayed as text by default (e.g. you can specify the text format).
|
|
|
1. Checkbox ``Mutable`` determines if an attribute would be changed frame to frame.
|
|
|
1. You can delete the attribute by clicking the close button (x).
|
|
|
|
|
|
Click the ``Continue`` button to add more labels.
|
|
|
If you need to cancel adding a label - press the ``Cancel`` button.
|
|
|
After all the necessary labels are added click the ``Done`` button.
|
|
|
After clicking ``Done`` the added labels would be displayed as separate elements of different colour.
|
|
|
You can edit or delete labels by clicking ``Update attributes`` or ``Delete label``.
|
|
|
|
|
|
- The ``Raw`` is a way of working with labels for an advanced user.
|
|
|
Raw presents label data in _json_ format with an option of editing and copying labels as a text.
|
|
|
The ``Done`` button applies the changes and the ``Reset`` button cancels the changes.
|
|
|

|
|
|
|
|
|
In ``Raw`` and ``Constructor`` mode, you can press the ``Copy`` button to copy the list of labels.
|
|
|
|
|
|
**Select files**. Press tab ``My computer`` to choose some files for annotation from your PC.
|
|
|
If you select tab ``Connected file share`` you can choose files for annotation from your network.
|
|
|
If you select `` Remote source`` , you'll see a field where you can enter a list of URLs (one URL per line).
|
|
|
If you upload a video data and select ``Use cache`` option, you can along with the video file attach a file with meta information.
|
|
|
You can find how to prepare it [here](/utils/prepare_meta_information/README.md).
|
|
|
|
|
|

|
|
|
|
|
|
#### Advanced configuration
|
|
|
|
|
|

|
|
|
|
|
|
**Use zip chunks**. Force to use zip chunks as compressed data. Actual for videos only.
|
|
|
|
|
|
**Use cache**. Defines how to work with data. Select the checkbox to switch to the "on-the-fly data processing",
|
|
|
which will reduce the task creation time (by preparing chunks when requests are received)
|
|
|
and store data in a cache of limited size with a policy of evicting less popular items.
|
|
|
See more [here](/cvat/apps/documentation/data_on_fly.md).
|
|
|
|
|
|
**Image Quality**. Use this option to specify quality of uploaded images.
|
|
|
The option helps to load high resolution datasets faster.
|
|
|
Use the value from ``5`` (almost completely compressed images) to ``100`` (not compressed images).
|
|
|
|
|
|
**Overlap Size**. Use this option to make overlapped segments.
|
|
|
The option makes tracks continuous from one segment into another.
|
|
|
Use it for interpolation mode. There are several options for using the parameter:
|
|
|
- For an interpolation task (video sequence).
|
|
|
If you annotate a bounding box on two adjacent segments they will be merged into one bounding box.
|
|
|
If overlap equals to zero or annotation is poor on adjacent segments inside a dumped annotation file,
|
|
|
you will have several tracks, one for each segment, which corresponds to the object.
|
|
|
- For an annotation task (independent images).
|
|
|
If an object exists on overlapped segments, the overlap is greater than zero
|
|
|
and the annotation is good enough on adjacent segments, it will be automatically merged into one object.
|
|
|
If overlap equals to zero or annotation is poor on adjacent segments inside a dumped annotation file,
|
|
|
you will have several bounding boxes for the same object.
|
|
|
Thus, you annotate an object on the first segment.
|
|
|
You annotate the same object on second segment, and if you do it right, you
|
|
|
will have one track inside the annotations.
|
|
|
If annotations on different segments (on overlapped frames)
|
|
|
are very different, you will have two shapes for the same object.
|
|
|
This functionality works only for bounding boxes.
|
|
|
Polygons, polylines, points don't support automatic merge on overlapped segments
|
|
|
even the overlap parameter isn't zero and match between corresponding shapes on adjacent segments is perfect.
|
|
|
|
|
|
**Segment size**. Use this option to divide a huge dataset into a few smaller segments.
|
|
|
For example, one job cannot be annotated by several labelers (it isn't supported).
|
|
|
Thus using "segment size" you can create several jobs for the same annotation task.
|
|
|
It will help you to parallel data annotation process.
|
|
|
|
|
|
**Start frame**. Frame from which video in task begins.
|
|
|
|
|
|
**Stop frame**. Frame on which video in task ends.
|
|
|
|
|
|
**Frame Step**. Use this option to filter video frames.
|
|
|
For example, enter ``25`` to leave every twenty fifth frame in the video or every twenty fifth image.
|
|
|
|
|
|
**Chunk size**. Defines a number of frames to be packed in a chunk when send from client to server.
|
|
|
Server defines automatically if empty.
|
|
|
|
|
|
Recommended values:
|
|
|
- 1080p or less: 36
|
|
|
- 2k or less: 8 - 16
|
|
|
- 4k or less: 4 - 8
|
|
|
- More: 1 - 4
|
|
|
|
|
|
**Dataset Repository**. URL link of the repository optionally specifies the path to the repository for storage
|
|
|
(``default: annotation / <dump_file_name> .zip``).
|
|
|
The .zip and .xml file extension of annotation are supported.
|
|
|
Field format: ``URL [PATH]`` example: ``https://github.com/project/repos.git [1/2/3/4/annotation.xml]``
|
|
|
|
|
|
Supported URL formats :
|
|
|
- ``https://github.com/project/repos[.git]``
|
|
|
- ``github.com/project/repos[.git]``
|
|
|
- ``git@github.com:project/repos[.git]``
|
|
|
|
|
|
The task will be highlighted in red after creation if annotation isn't synchronized with the repository.
|
|
|
|
|
|
**Use LFS**. If the annotation file is large, you can create a repository with
|
|
|
[LFS](https://git-lfs.github.com/) support.
|
|
|
|
|
|
**Issue tracker**. Specify full issue tracker's URL if it's necessary.
|
|
|
|
|
|
Push ``Submit`` button and it will be added into the list of annotation tasks.
|
|
|
Then, the created task will be displayed on a dashboard:
|
|
|
|
|
|

|
|
|
|
|
|
1. The Dashboard 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:
|
|
|
- ``Dump Annotation`` and ``Export as a dataset`` — download annotations or
|
|
|
annotations and images in a specific format. The following formats are available:
|
|
|
- [CVAT for video](/cvat/apps/documentation/xml_format.md#interpolation)
|
|
|
is highlighted if a task has the interpolation mode.
|
|
|
- [CVAT for images](/cvat/apps/documentation/xml_format.md#annotation)
|
|
|
is highlighted if a task has the annotation mode.
|
|
|
- [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/)
|
|
|
- [(VOC) Segmentation mask](http://host.robots.ox.ac.uk/pascal/VOC/) —
|
|
|
archive contains class and instance masks for each frame in the png
|
|
|
format and a text file with the value of each color.
|
|
|
- [YOLO](https://pjreddie.com/darknet/yolo/)
|
|
|
- [COCO](http://cocodataset.org/#format-data)
|
|
|
- [TFRecord](https://www.tensorflow.org/tutorials/load_data/tf_records)
|
|
|
- [MOT](https://motchallenge.net/)
|
|
|
- [LabelMe 3.0](http://labelme.csail.mit.edu/Release3.0/)
|
|
|
- [Datumaro](https://github.com/opencv/cvat/blob/develop/datumaro/)
|
|
|
- ``Upload annotation`` is available in the same formats as in ``Dump annotation``.
|
|
|
- [CVAT](/cvat/apps/documentation/xml_format.md) accepts both video and image sub-formats.
|
|
|
- ``Automatic Annotation`` — automatic annotation with OpenVINO toolkit.
|
|
|
Presence depends on how you build CVAT instance.
|
|
|
- ``Open bug tracker`` — opens a link to Issue tracker.
|
|
|
- ``Delete`` — delete task.
|
|
|
|
|
|
Push ``Open`` button to go to task details.
|
|
|
|
|
|
1. 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.
|
|
|
1. Open ``Actions`` menu.
|
|
|
1. Change issue tracker or open issue tracker if it is specified.
|
|
|
1. Change labels.
|
|
|
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.
|
|
|
1. 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.
|
|
|
- ``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.
|
|
|
- Frames — the frame interval.
|
|
|
- A status of the job. The status is specified by the user in the menu inside the job.
|
|
|
There are three types of status: annotation, validation or completed.
|
|
|
The status of the job is changes the progress bar of the task.
|
|
|
- Started on — start date of this job.
|
|
|
- Duration — is the amount of time the job is being worked.
|
|
|
- Assignee is the user who is working on the job.
|
|
|
You can start typing an assignee’s name and/or choose the right person out of the dropdown list.
|
|
|
- ``Copy``. By clicking Copy you will copy the job list to the clipboard.
|
|
|
The job list contains direct links to jobs.
|
|
|
|
|
|
1. 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.
|
|
|
|
|
|

|
|
|
|
|
|
### Models
|
|
|
|
|
|
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``:
|
|
|
- ``detector`` - used for automatic annotation (available in [detectors](#detectors) and [automatic annotation](#automatic-annotation))
|
|
|
- ``interactor`` - used for semi-automatic shape annotation (available in [interactors](#interactors))
|
|
|
- ``tracker`` - used for semi-automatic track annotation (available in [trackers](#trackers))
|
|
|
- ``reid`` - used to combine individual objects into a track (available in [automatic annotation](#automatic-annotation))
|
|
|
- ``Description`` - brief description of the model
|
|
|
- ``Labels`` - list of the supported labels (only for the models of the ``detectors`` type)
|
|
|
|
|
|

|
|
|
|
|
|
Read how to install your model [here](installation.md#semi-automatic-and-automatic-annotation).
|
|
|
|
|
|
### Search
|
|
|
|
|
|
There are several options how to use the search.
|
|
|
|
|
|
- Search within all fields (owner, assignee, task name, task status, task mode).
|
|
|
To execute enter a search string in search field.
|
|
|
- Search for specific fields. How to perform:
|
|
|
- ``owner: admin`` - all tasks created by the user who has the substring "admin" in his name
|
|
|
- ``assignee: employee`` - all tasks which are assigned to a user who has the substring "employee" in his name
|
|
|
- ``name: mighty`` - all tasks with the substring "mighty" in their names
|
|
|
- ``mode: annotation`` or ``mode: interpolation`` - all tasks with images or videos.
|
|
|
- ``status: annotation`` or ``status: validation`` or ``status: completed`` - search by status
|
|
|
- ``id: 5`` - task with id = 5.
|
|
|
- Multiple filters. Filters can be combined (except for the identifier) using the keyword `` AND``:
|
|
|
- ``mode: interpolation AND owner: admin``
|
|
|
- ``mode: annotation and status: annotation``
|
|
|
|
|
|
The search is case insensitive.
|
|
|
|
|
|

|
|
|
|
|
|
## Interface of the annotation tool
|
|
|
|
|
|
The tool consists of:
|
|
|
- ``Header`` - pinned header used to navigate CVAT sections and account settings;
|
|
|
- ``Top panel`` — contains navigation buttons, main functions and menu access;
|
|
|
- ``Workspace`` — space where images are shown;
|
|
|
- ``Controls sidebar`` — contains tools for navigating the image, zoom,
|
|
|
creating shapes and editing tracks (merge, split, group)
|
|
|
- ``Objects sidebar`` — contains label filter, two lists:
|
|
|
objects (on the frame) and labels (of objects on the frame) and appearance settings.
|
|
|
|
|
|

|
|
|
|
|
|
### Basic navigation
|
|
|
|
|
|
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.
|
|
|
|
|
|

|
|
|
|
|
|
1. 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.
|
|
|
|
|
|

|
|
|
|
|
|
1. 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).
|
|
|
|
|
|

|
|
|
|
|
|
### Types of shapes (basics)
|
|
|
|
|
|
There are five shapes which you can annotate your images with:
|
|
|
- ``Rectangle`` or ``Bounding box``
|
|
|
- ``Polygon``
|
|
|
- ``Polyline``
|
|
|
- ``Points``
|
|
|
- ``Cuboid``
|
|
|
- ``Tag``
|
|
|
|
|
|
And there is how they all look like:
|
|
|
|
|
|
 
|
|
|
|
|
|
 
|
|
|
|
|
|
 
|
|
|
|
|
|
``Tag`` - has no shape in the workspace, but is displayed in objects sidebar.
|
|
|
|
|
|
### Shape mode (basics)
|
|
|
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):
|
|
|
|
|
|

|
|
|
|
|
|
1. 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 about creating a rectangle using the by 4 point drawing method, ([read here](#annotation-by-rectangle-4-points)).
|
|
|
|
|
|
- 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``.
|
|
|
|
|
|
1. 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.
|
|
|
|
|
|

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

|
|
|
|
|
|
Read more in the section [shape mode (advanced)](#shape-mode-advanced).
|
|
|
|
|
|
### Track mode (basics)
|
|
|
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``.
|
|
|
|
|
|

|
|
|
|
|
|
1. 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:
|
|
|
|
|
|

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

|
|
|
|
|
|
1. 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)](#track-mode-advanced).
|
|
|
|
|
|
### Attribute annotation mode (basics)
|
|
|
|
|
|
- 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)](#attribute-annotation-mode-advanced).
|
|
|
|
|
|
### Downloading annotations
|
|
|
|
|
|
1. To download the latest annotations, you have to save all changes first.
|
|
|
click the ``Save`` button. There is a ``Ctrl+S`` shortcut to save annotations quickly.
|
|
|
1. After that, сlick the ``Menu`` button.
|
|
|
1. Press the ``Dump Annotation`` button.
|
|
|
|
|
|

|
|
|
|
|
|
1. Choose format dump annotation file. Dump annotation are available in several formats:
|
|
|
- [CVAT for video](/cvat/apps/documentation/xml_format.md#interpolation)
|
|
|
is highlighted if a task has the interpolation mode.
|
|
|
- [CVAT for images](/cvat/apps/documentation/xml_format.md#annotation)
|
|
|
is highlighted if a task has the annotation mode.
|
|
|
|
|
|

|
|
|
|
|
|
- [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/)
|
|
|
- [(VOC) Segmentation mask](http://host.robots.ox.ac.uk/pascal/VOC/) —
|
|
|
archive contains class and instance masks for each frame in the png
|
|
|
format and a text file with the value of each color.
|
|
|
- [YOLO](https://pjreddie.com/darknet/yolo/)
|
|
|
- [COCO](http://cocodataset.org/#format-data)
|
|
|
- [TFRecord](https://www.tensorflow.org/tutorials/load_data/tf_records)
|
|
|
- [MOT](https://motchallenge.net/)
|
|
|
- [LabelMe 3.0](http://labelme.csail.mit.edu/Release3.0/)
|
|
|
- [Datumaro](https://github.com/opencv/cvat/blob/develop/datumaro/)
|
|
|
|
|
|
### Task synchronization with a repository
|
|
|
|
|
|
1. At the end of the annotation process, a task is synchronized by clicking
|
|
|
`` Synchronize`` on the task page. Notice: this feature
|
|
|
works only if a git repository was specified when the task was created.
|
|
|
|
|
|

|
|
|
|
|
|
1. After synchronization the button ``Sync`` is highlighted in green. The
|
|
|
annotation is now in the repository in a temporary branch.
|
|
|
|
|
|

|
|
|
|
|
|
1. The next step is to go to the repository and manually create a pull request to the main branch.
|
|
|
1. After confirming the PR, when the annotation is saved in the main branch, the color of the task changes to blue.
|
|
|
|
|
|

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

|
|
|
|
|
|
---
|
|
|
|
|
|
**Attribute** is a property of an annotated object (e.g. color, model,
|
|
|
quality, etc.). There are two types of attributes:
|
|
|
|
|
|
- **Unique**: immutable and can't be changed from frame to frame (e.g. age, gender, color, etc.)
|
|
|
|
|
|

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

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

|
|
|
|
|
|
---
|
|
|
**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
|
|
|
|
|
|
---
|
|
|
### Workspace
|
|
|
|
|
|
This is the main field in which drawing and editing objects takes place.
|
|
|
In addition the workspace also has the following functions:
|
|
|
- Right-clicking on an object calls up the ``Object card`` - this is an element containing
|
|
|
the necessary controls for changing the label and attributes of the object, as well as the action menu.
|
|
|
|
|
|

|
|
|
|
|
|
- Right-clicking a point deletes it.
|
|
|
|
|
|

|
|
|
|
|
|
- ``Z-axis slider`` - Allows you to switch annotation layers hiding the upper layers
|
|
|
(slider is enabled if several z layers are on a frame).
|
|
|
This element has a button for adding a new layer. When pressed, a new layer is added and switched to it.
|
|
|
You can move objects in layers using the ``+`` and ``-`` keys.
|
|
|
|
|
|

|
|
|
|
|
|
---
|
|
|
### Settings
|
|
|
|
|
|
To open the settings open the user menu in the header and select the settings item or press ``F3``.
|
|
|
|
|
|

|
|
|
|
|
|
``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).
|
|
|
- Show ``Grid``, change grid size, choose color and transparency:
|
|
|
|
|
|

|
|
|
|
|
|
- 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.
|
|
|
- Adjust ``Brightness``/``Contrast``/``Saturation`` of too exposed or too
|
|
|
dark images using ``F3`` — color settings (changes displaying settings and not the
|
|
|
image itself).
|
|
|
|
|
|
Shortcuts:
|
|
|
- ``Shift+B+=``/``Shift+B+-`` for brightness.
|
|
|
- ``Shift+C+=``/``Shift+C+-`` for contrast.
|
|
|
- ``Shift+S+=``/``Shift+S+-`` for saturation.
|
|
|
|
|
|

|
|
|
|
|
|
- ``Reset color settings`` to default values.
|
|
|
|
|
|
---
|
|
|
|
|
|
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:
|
|
|
|
|
|

|
|
|
|
|
|
- ``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](#Annotation-with-polygons).
|
|
|
- ``Attribute annotation mode (AAM) zoom margin`` input box — defines margins (in px)
|
|
|
for shape in the attribute annotation mode.
|
|
|
- Press `` Go back`` or ``F3`` to return to the annotation.
|
|
|
|
|
|
---
|
|
|
|
|
|
### Top Panel
|
|
|
|
|
|

|
|
|
|
|
|
---
|
|
|
|
|
|
#### Menu button
|
|
|
|
|
|
It is the main menu of the annotation tool. It can be used to download, upload and remove annotations.
|
|
|
|
|
|

|
|
|
|
|
|
Button assignment:
|
|
|
|
|
|
- ``Dump Annotations`` — downloads annotations from a task.
|
|
|
- ``Upload Annotations`` — uploads annotations into a task.
|
|
|
- ``Remove Annotations`` — removes annotations from the current job.
|
|
|
- ``Export as a dataset`` — download a data set from a task. Several formats are available:
|
|
|
- [Datumaro](https://github.com/opencv/cvat/blob/develop/datumaro/docs/design.md)
|
|
|
- [Pascal VOC 2012](http://host.robots.ox.ac.uk/pascal/VOC/)
|
|
|
- [MS COCO](http://cocodataset.org/#format-data)
|
|
|
- [YOLO](https://pjreddie.com/darknet/yolo/)
|
|
|
- ``Open the task`` — opens a page with details about the task.
|
|
|
|
|
|
#### Save Work
|
|
|
Saves annotations for the current job. The button has an indication of the saving process.
|
|
|
|
|
|

|
|
|
|
|
|
#### Undo-redo buttons
|
|
|
|
|
|
Use buttons to undo actions or redo them.
|
|
|
|
|
|

|
|
|
|
|
|
---
|
|
|
|
|
|
#### Player
|
|
|
|
|
|
Go to the first /the latest frames.
|
|
|
|
|
|

|
|
|
|
|
|
Go to the next/previous frame with a predefined step. Shortcuts:
|
|
|
``V`` — step backward, ``C`` — step forward. By default the step is ``10`` frames
|
|
|
(change at ``Account Menu`` —> ``Settings`` —> ``Player Step``).
|
|
|
|
|
|

|
|
|
|
|
|
The button to go to the next / previous frame has the customization possibility. To customize, right-click on the button and select one of three options:
|
|
|
1. The default option - go to the next / previous frame (the step is 1 frame).
|
|
|
2. Go to the next / previous frame that has any objects (in particular filtered). Read the [filter](#filter) section to know the details how to use it.
|
|
|
3. Go to the next / previous frame without annotation at all. Use this option in cases when you need to find missed frames quickly.
|
|
|
|
|
|
Shortcuts: ``D`` - previous, ``F`` - next.
|
|
|
|
|
|

|
|
|
|
|
|
Play the sequence of frames or the set of images.
|
|
|
Shortcut: ``Space`` (change at ``Account Menu`` —> ``Settings`` —> ``Player Speed``).
|
|
|
|
|
|

|
|
|
|
|
|
Go to a specific frame. Press ``~`` to focus on the element.
|
|
|
|
|
|

|
|
|
|
|
|
---
|
|
|
|
|
|
#### Fullscreen Player
|
|
|
The fullscreen player mode. The keyboard shortcut is ``F11``.
|
|
|
|
|
|

|
|
|
|
|
|
#### Info
|
|
|
Open the job info.
|
|
|
|
|
|

|
|
|
|
|
|
- Job status: ``annotation``, ``validation`` or ``completed`` task
|
|
|
|
|
|
_Overview_:
|
|
|
|
|
|
- ``Assinger`` - the one to whom the job is assigned.
|
|
|
- ``Start Frame`` - the number of the first frame in this job.
|
|
|
- ``End Frame`` - the number of the last frame in this job.
|
|
|
- ``Frames`` - the total number of all frames in the job.
|
|
|
|
|
|
_Annotations statistics_:
|
|
|
|
|
|
This is a table number of created shapes, sorted by labels (e.g. vehicle, person)
|
|
|
and type of annotation (shape, track). As well as the number of manual and interpolated frames.
|
|
|
|
|
|
#### UI switcher
|
|
|
Switching between user interface modes.
|
|
|
|
|
|

|
|
|
|
|
|
---
|
|
|
|
|
|
### Controls sidebar
|
|
|
|
|
|
**Navigation block** - contains tools for moving and rotating images.
|
|
|
|Icon |Description |
|
|
|
|-- |-- |
|
|
|
||``Cursor`` (``Esc``)- a basic annotation pedacting tool. |
|
|
|
||``Move the image``- a tool for moving around the image without<br/> the possibility of editing.|
|
|
|
||``Rotate``- two buttons to rotate the current frame<br/> a clockwise (``Ctrl+R``) and anticlockwise (``Ctrl+Shift+R``).<br/> You can enable ``Rotate all images`` in the settings to rotate all the images in the job
|
|
|
|
|
|
**Zoom block** - contains tools for image zoom.
|
|
|
|Icon |Description |
|
|
|
|-- |-- |
|
|
|
||``Fit image``- fits image into the workspace size.<br/> Shortcut - double click on an image|
|
|
|
||``Select a region of interest``- zooms in on a selected region.<br/> You can use this tool to quickly zoom in on a specific part of the frame.|
|
|
|
|
|
|
**Shapes block** - contains all the tools for creating shapes.
|
|
|
|Icon |Description |Links to section |
|
|
|
|-- |-- |-- |
|
|
|
||``AI Tools`` |[AI Tools](#ai-tools)|
|
|
|
||``Rectangle``|[Shape mode](#shape-mode-basics); [Track mode](#track-mode-basics);<br/> [Drawing by 4 points](#annotation-with-rectangle-by-4-points)|
|
|
|
||``Polygon`` |[Annotation with polygons](#annotation-with-polygons); [Track mode with polygons](#track-mode-with-polygons) |
|
|
|
||``Polyline`` |[Annotation with polylines](#annotation-with-polylines)|
|
|
|
||``Points`` |[Annotation with points](#annotation-with-points) |
|
|
|
||``Cuboid`` |[Annotation with cuboids](#annotation-with-cuboids) |
|
|
|
||``Tag`` |[Annotation with tags](#annotation-with-tag) |
|
|
|
|
|
|
**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)](#track-mode-basics)|
|
|
|
||``Group Shapes`` (``G``) — starts/stops the grouping shapes mode.|[Shape grouping](#shape-grouping)|
|
|
|
||``Split`` — splits a track. |[Track mode (advanced)](#track-mode-advanced)|
|
|
|
|
|
|
---
|
|
|
|
|
|
### Objects sidebar
|
|
|
|
|
|
``Hide`` - the button hides the object's sidebar.
|
|
|
|
|
|

|
|
|
|
|
|
#### Objects
|
|
|
|
|
|
**Filter** input box
|
|
|
|
|
|

|
|
|
|
|
|
The way how to use filters is described in the advanced guide [here](#filter).
|
|
|
|
|
|
**List of objects**
|
|
|
|
|
|

|
|
|
|
|
|
- Switch lock property for all - switches lock property of all objects in the frame.
|
|
|
- Switch hidden property for all - switches hide 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
|
|
|
|
|
|
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** on the side bar
|
|
|
|
|
|
The type of a shape can be changed by selecting **Label** property. For instance, it can look like shown on 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`` - Сopies the form to several frames,
|
|
|
invokes a dialog box in which you can specify the number of copies
|
|
|
or the frame onto which you want to copy the object. The keyboard shortcut ``Ctrl + B``.
|
|
|
|
|
|

|
|
|
|
|
|
- ``To background`` - moves the object to the background. The keyboard shortcut ``-``,``_``.
|
|
|
- ``To foreground`` - moves the object to the foreground. The keyboard shortcut ``+``,``=``.
|
|
|
- ``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.
|
|
|
|
|
|

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

|
|
|
|
|
|
---
|
|
|
|
|
|
#### Appearance
|
|
|
|
|
|
**Color By** options
|
|
|
|
|
|
Change the color scheme of annotation:
|
|
|
- ``Instance`` — every shape has 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.
|
|
|
|
|
|

|
|
|
|
|
|
**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
|
|
|
|
|
|

|
|
|
|
|
|
## Shape mode (advanced)
|
|
|
|
|
|
Basic operations in the mode were described in section [shape mode (basics)](#shape-mode-basics).
|
|
|
|
|
|
**Occluded**
|
|
|
Occlusion is an attribute used if an object is occluded by another object or
|
|
|
isn't fully visible on the frame. Use ``Q`` shortcut to set the property
|
|
|
quickly.
|
|
|
|
|
|

|
|
|
|
|
|
Example: the three cars on the figure below should be labeled as **occluded**.
|
|
|
|
|
|

|
|
|
|
|
|
If a frame contains too many objects and it is difficult to annotate them
|
|
|
due to many shapes placed mostly in the same place, it makes sense
|
|
|
to lock them. Shapes for locked objects are transparent, and it is easy to
|
|
|
annotate new objects. Besides, you can't change previously annotated objects
|
|
|
by accident. Shortcut: ``L``.
|
|
|
|
|
|

|
|
|
|
|
|
## Track mode (advanced)
|
|
|
|
|
|
Basic operations in the mode were described in section [track mode (basics)](#track-mode-basics).
|
|
|
|
|
|
Shapes that were created in the track mode, have extra navigation buttons.
|
|
|
- These buttons help to jump to the previous/next keyframe.
|
|
|
|
|
|

|
|
|
|
|
|
- The button helps to jump to the initial frame and to the last keyframe.
|
|
|
|
|
|

|
|
|
|
|
|
You can use the `` Split '' function to split one track into two tracks:
|
|
|
|
|
|

|
|
|
|
|
|
## Attribute annotation mode (advanced)
|
|
|
|
|
|
Basic operations in the mode were described in section [attribute annotation mode (basics)](#attribute-annotation-mode-basics).
|
|
|
|
|
|
It is possible to handle lots of objects on the same frame in the mode.
|
|
|
|
|
|

|
|
|
|
|
|
It is more convenient to annotate objects of the same type. In this case you can apply
|
|
|
the appropriate filter. For example, the following filter will
|
|
|
hide all objects except person: ``label=="Person"``.
|
|
|
|
|
|
To navigate between objects (person in this case),
|
|
|
use the following buttons ``switch between objects in the frame`` on the special panel:
|
|
|
|
|
|

|
|
|
|
|
|
or shortcuts:
|
|
|
- ``Tab`` — go to the next object
|
|
|
- ``Shift+Tab`` — go to the previous object.
|
|
|
|
|
|
In order to change the zoom level, go to settings (press ``F3``)
|
|
|
in the workspace tab and set the value Attribute annotation mode (AAM) zoom margin in px.
|
|
|
|
|
|
## AI Tools
|
|
|
|
|
|
The tool is designed for semi-automatic and automatic annotation using DL models.
|
|
|
The tool is available only if there is a corresponding model.
|
|
|
For more details about DL models read the [Models](#models) section.
|
|
|
|
|
|
### Interactors
|
|
|
|
|
|
Interactors are used to create a polygon semi-automatically.
|
|
|
Supported DL models are not bound to the label and can be used for any objects.
|
|
|
To create a polygon usually you need to use regular or positive points.
|
|
|
For some kinds of segmentation negative points are available.
|
|
|
Positive points are the points related to the object.
|
|
|
Negative points should be placed outside the boundary of the object.
|
|
|
In most cases specifying positive points alone is enough to build a polygon.
|
|
|
|
|
|
- Before you start, select the magic wand on the controls sidebar and go to the ``Interactors`` tab.
|
|
|
Then select a label for the polygon and a required DL model.
|
|
|
|
|
|

|
|
|
|
|
|
- Click ``Interact`` to enter the interaction mode. Now you can place positive and/or negative points.
|
|
|
Left click creates a positive point and right click creates a negative point.
|
|
|
``Deep extreme cut`` model requires a minimum of 4 points. After you set 4 positive points,
|
|
|
a request will be sent to the server and when the process is complete a polygon will be created.
|
|
|
If you are not satisfied with the result, you can set additional points or remove points by left-clicking on it.
|
|
|
If you want to postpone the request and create a few more points, hold down ``Ctrl`` and continue,
|
|
|
the request will be sent after the key is released.
|
|
|
|
|
|

|
|
|
|
|
|
- To finish interaction, click on the icon on the controls sidebar or press ``N`` on your keyboard.
|
|
|
|
|
|
- When the object is finished, you can edit it like a polygon.
|
|
|
You can read about editing polygons in the [Annotation with polygons](#annotation-with-polygons) section.
|
|
|
|
|
|
### Detectors
|
|
|
|
|
|
Detectors are used to automatically annotate one frame. Supported DL models are suitable only for certain labels.
|
|
|
|
|
|
- Before you start, click the magic wand on the controls sidebar and select the Detectors icon tab.
|
|
|
You need to match the labels of the DL model (left column) with the labels in your task (right column).
|
|
|
Then click ``Annotate``.
|
|
|
|
|
|

|
|
|
|
|
|
- This action will automatically annotates one frame.
|
|
|
In the [Automatic annotation](#automatic-annotation) section you can read how to make automatic annotation of all frames.
|
|
|
|
|
|
## Annotation with rectangle by 4 points
|
|
|
It is an efficient method of bounding box annotation, proposed
|
|
|
[here](https://arxiv.org/pdf/1708.02750.pdf).
|
|
|
Before starting, you need to make sure that the drawing method by 4 points is selected.
|
|
|
|
|
|

|
|
|
|
|
|
Press ``Shape`` or ``Track`` for entering drawing mode. Click on four extreme points:
|
|
|
the top, bottom, left- and right-most physical points on the object.
|
|
|
Drawing will be automatically completed right after clicking the fourth point.
|
|
|
Press ``Esc`` to cancel editing.
|
|
|
|
|
|

|
|
|
|
|
|
## Annotation with polygons
|
|
|
|
|
|
### Manual drawing
|
|
|
|
|
|
It is used for semantic / instance segmentation.
|
|
|
|
|
|
The Z-Order flag defines the order of drawing. It is necessary to
|
|
|
get the right annotation mask without extra work (additional drawing of borders).
|
|
|
Z-Order can be changed by pressing ``+``/``-`` which set maximum/minimum z-order
|
|
|
accordingly.
|
|
|
|
|
|

|
|
|
|
|
|
Before starting, you need to select ``Polygon`` on the controls sidebar and choose the correct Label.
|
|
|
|
|
|

|
|
|
|
|
|
- Click ``Shape`` to enter drawing mode.
|
|
|
There are two ways to draw a polygon: either create points by clicking or
|
|
|
by dragging the mouse on the screen while holding ``Shift``.
|
|
|
|
|
|
| Clicking points | Holding Shift+Dragging |
|
|
|
| -- | -- |
|
|
|
| | |
|
|
|
|
|
|
- When ``Shift`` isn't pressed, you can zoom in/out (when scrolling the mouse
|
|
|
wheel) and move (when clicking the mouse wheel and moving the mouse), you can also
|
|
|
delete the previous point by right-clicking on it.
|
|
|
- Press ``N`` again for completing the shape.
|
|
|
- After creating the polygon, you can move the points or delete them by right-clicking and selecting ``Delete point``
|
|
|
or clicking with pressed ``Alt`` key in the context menu.
|
|
|
|
|
|
### Drawing using automatic borders
|
|
|
|
|
|

|
|
|
|
|
|
You can use auto borders when drawing a polygon. Using automatic borders allows you to automatically trace
|
|
|
the outline of polygons existing in the annotation.
|
|
|
- To do this, go to settings -> workspace tab and enable ``Automatic Bordering``
|
|
|
or press ``Ctrl`` while drawing a polygon.
|
|
|
|
|
|

|
|
|
|
|
|
- Start drawing / editing a polygon.
|
|
|
- Points of other shapes will be highlighted, which means that the polygon can be attached to them.
|
|
|
- Define the part of the polygon path that you want to repeat.
|
|
|
|
|
|

|
|
|
|
|
|
- Click on the first point of the contour part.
|
|
|
|
|
|

|
|
|
|
|
|
- Then click on any point located on part of the path. The selected point will be highlighted in purple.
|
|
|
|
|
|

|
|
|
|
|
|
- Сlick on the last point and the outline to this point will be built automatically.
|
|
|
|
|
|

|
|
|
|
|
|
Besides, you can set a fixed number of points in the ``Number of points`` field, then
|
|
|
drawing will be stopped automatically. To enable dragging you should right-click
|
|
|
inside the polygon and choose ``Switch pinned property``.
|
|
|
|
|
|
Below you can see results with opacity and black stroke:
|
|
|
|
|
|

|
|
|
|
|
|
If you need to annotate small objects, increase ``Image Quality`` to
|
|
|
``95`` in ``Create task`` dialog for your convenience.
|
|
|
|
|
|
### Edit polygon
|
|
|
|
|
|
To edit a polygon you have to click with pressed ``Shift``, it will open the polygon editor.
|
|
|
- There you can create new points or delete part of a polygon closing the line on another point.
|
|
|
- After closing the polygon, you can select the part of the polygon that you want to leave.
|
|
|
- You can press ``Esc`` to cancel editing.
|
|
|
|
|
|

|
|
|
|
|
|
## Annotation with polylines
|
|
|
|
|
|
It is used for road markup annotation etc.
|
|
|
|
|
|
Before starting, you need to select the ``Polyline``. You can set a fixed number of points
|
|
|
in the ``Number of points`` field, then drawing will be stopped automatically.
|
|
|
|
|
|

|
|
|
|
|
|
Click ``Shape`` to enter drawing mode. There are two ways to draw a polyline —
|
|
|
you either create points by clicking or by dragging a mouse on the screen while holding ``Shift``.
|
|
|
When ``Shift`` isn't pressed, you can zoom in/out (when scrolling the mouse wheel)
|
|
|
and move (when clicking the mouse wheel and moving the mouse), you can delete
|
|
|
previous points by right-clicking on it. Press ``N`` again to complete the shape.
|
|
|
You can delete a point by clicking on it with pressed ``Ctrl`` or right-clicking on a point
|
|
|
and selecting ``Delete point``. Click with pressed ``Shift`` will open a polyline editor.
|
|
|
There you can create new points(by clicking or dragging) or delete part of a polygon closing
|
|
|
the red line on another point. Press ``Esc`` to cancel editing.
|
|
|
|
|
|

|
|
|
|
|
|
## Annotation with points
|
|
|
|
|
|
### Points in shape mode
|
|
|
|
|
|
It is used for face, landmarks annotation etc.
|
|
|
|
|
|
Before you start you need to select the ``Points``. If necessary you can set a fixed number of points
|
|
|
in the ``Number of points`` field, then drawing will be stopped automatically.
|
|
|
|
|
|

|
|
|
|
|
|
Click ``Shape`` to entering the drawing mode. Now you can start annotation of the necessary area.
|
|
|
Points are automatically grouped — all points will be considered linked between each start and finish.
|
|
|
Press ``N`` again to finish marking the area. You can delete a point by clicking with pressed ``Ctrl``
|
|
|
or right-clicking on a point and selecting ``Delete point``. Clicking with pressed ``Shift`` will open the points
|
|
|
shape editor. There you can add new points into an existing shape. You can zoom in/out (when scrolling the mouse wheel)
|
|
|
and move (when clicking the mouse wheel and moving the mouse) while drawing. You can drag an object after
|
|
|
it has been drawn and change the position of individual points after finishing an object.
|
|
|
|
|
|

|
|
|
|
|
|
### Linear interpolation with one point
|
|
|
|
|
|
You can use linear interpolation for points to annotate a moving object:
|
|
|
|
|
|
1. Before you start, select the ``Points``.
|
|
|
1. Linear interpolation works only with one point, so you need to set ``Number of points`` to 1.
|
|
|
1. After that select the ``Track``.
|
|
|
|
|
|

|
|
|
|
|
|
1. Click ``Track`` to enter the drawing mode left-click to create a point and after that shape will be automatically completed.
|
|
|
|
|
|

|
|
|
|
|
|
1. Move forward a few frames and move the point to the desired position,
|
|
|
this way you will create a keyframe and intermediate frames will be drawn automatically.
|
|
|
You can work with this object as with an interpolated track: you can hide it using the ``Outside``,
|
|
|
move around keyframes, etc.
|
|
|
|
|
|

|
|
|
|
|
|
1. This way you'll get linear interpolation using the `` Points``.
|
|
|
|
|
|

|
|
|
|
|
|
## Annotation with cuboids
|
|
|
|
|
|
It is used to annotate 3 dimensional objects such as cars, boxes, etc...
|
|
|
Currently the feature supports one point perspective and has the constraint
|
|
|
where the vertical edges are exactly parallel to the sides.
|
|
|
|
|
|
### Creating the cuboid
|
|
|
|
|
|
Before you start, you have to make sure that Cuboid is selected
|
|
|
and choose a drawing method ”from rectangle” or “by 4 points”.
|
|
|
|
|
|

|
|
|
|
|
|
#### Drawing cuboid by 4 points
|
|
|
|
|
|
Choose a drawing method “by 4 points” and click Shape to enter the drawing mode. There are many ways to draw a cuboid.
|
|
|
You can draw the cuboid by placing 4 points, after that the drawing will be completed automatically.
|
|
|
The first 3 points determine the plane of the cuboid while the last point determines the depth of that plane.
|
|
|
For the first 3 points, it is recommended to only draw the 2 closest side faces, as well as the top and bottom face.
|
|
|
|
|
|
A few examples:
|
|
|
|
|
|

|
|
|
|
|
|
### Drawing cuboid from rectangle
|
|
|
|
|
|
Choose a drawing method “from rectangle” and click Shape to enter the drawing mode.
|
|
|
When you draw using the rectangle method, you must select the frontal plane of the object using the bounding box.
|
|
|
The depth and perspective of the resulting cuboid can be edited.
|
|
|
|
|
|
Example:
|
|
|
|
|
|

|
|
|
|
|
|
### Editing the cuboid
|
|
|
|
|
|

|
|
|
|
|
|
The cuboid can be edited in multiple ways: by dragging points, by dragging certain faces or by dragging planes.
|
|
|
First notice that there is a face that is painted with gray lines only, let us call it the front face.
|
|
|
|
|
|
You can move the cuboid by simply dragging the shape behind the front face.
|
|
|
The cuboid can be extended by dragging on the point in the middle of the edges.
|
|
|
The cuboid can also be extended up and down by dragging the point at the vertices.
|
|
|
|
|
|

|
|
|
|
|
|
To draw with perspective effects it should be assumed that the front face is the closest to the camera.
|
|
|
To begin simply drag the points on the vertices that are not on the gray/front face while holding ``Shift``.
|
|
|
The cuboid can then be edited as usual.
|
|
|
|
|
|

|
|
|
|
|
|
If you wish to reset perspective effects, you may right click on the cuboid,
|
|
|
and select ``Reset perspective`` to return to a regular cuboid.
|
|
|
|
|
|

|
|
|
|
|
|
The location of the gray face can be swapped with the adjacent visible side face.
|
|
|
You can do it by right clicking on the cuboid and selecting ``Switch perspective orientation``.
|
|
|
Note that this will also reset the perspective effects.
|
|
|
|
|
|

|
|
|
|
|
|
Certain faces of the cuboid can also be edited,
|
|
|
these faces are: the left, right and dorsal faces, relative to the gray face.
|
|
|
Simply drag the faces to move them independently from the rest of the cuboid.
|
|
|
|
|
|

|
|
|
|
|
|
You can also use cuboids in track mode, similar to rectangles in track mode ([basics](#track-mode-basics) and [advanced](#track-mode-advanced)) or [Track mode with polygons](#track-mode-with-polygons)
|
|
|
|
|
|
## Annotation with Tags
|
|
|
|
|
|
It is used to annotate frames, tags are not displayed in the workspace.
|
|
|
Before you start, open the drop-down list in the top panel and select ``Tag annotation``.
|
|
|
|
|
|

|
|
|
|
|
|
The objects sidebar will be replaced with a special panel for working with tags.
|
|
|
Here you can select a label for a tag and add it by clicking on the ``Add tag`` button.
|
|
|
You can also customize hotkeys for each label.
|
|
|
|
|
|

|
|
|
|
|
|
If you need to use only one label for one frame, then enable the ``Automatically go to the next frame``
|
|
|
checkbox, then after you add the tag the frame will automatically switch to the next.
|
|
|
|
|
|
## Track mode with polygons
|
|
|
|
|
|
Polygons in the track mode allow you to mark moving objects more accurately other than using a rectangle
|
|
|
([Tracking mode (basic)](#track-mode-basics); [Tracking mode (advanced)](#track-mode-advanced)).
|
|
|
1. To create a polygon in the track mode, click the ``Track`` button.
|
|
|
|
|
|

|
|
|
|
|
|
1. Create a polygon the same way as in the case of [Annotation with polygons](#annotation-with-polygons).
|
|
|
Press ``N`` to complete the polygon.
|
|
|
|
|
|
1. Pay attention to the fact that the created polygon has a starting point and a direction,
|
|
|
these elements are important for annotation of the following frames.
|
|
|
|
|
|
1. After going a few frames forward press ``Shift+N``, the old polygon will disappear and you can create a new polygon.
|
|
|
The new starting point should match the starting point of the previously created polygon
|
|
|
(in this example, the top of the left mirror). The direction must also match (in this example, clockwise).
|
|
|
After creating the polygon, press ``N`` and the intermediate frames will be interpolated automatically.
|
|
|
|
|
|

|
|
|
|
|
|
1. If you need to change the starting point, right-click on the desired point and select ``Set starting point``.
|
|
|
To change the direction, right-click on the desired point and select switch orientation.
|
|
|
|
|
|

|
|
|
|
|
|
There is no need to redraw the polygon every time using ``Shift+N``,
|
|
|
instead you can simply move the points or edit a part of the polygon by pressing ``Shift+Click``.
|
|
|
|
|
|
## Automatic annotation
|
|
|
|
|
|
Automatic Annotation is used for creating preliminary annotations.
|
|
|
To use Automatic Annotation you need a DL model. You can use primary models or models uploaded by a user.
|
|
|
You can find the list of available models in the ``Models`` section.
|
|
|
|
|
|
1. To launch automatic annotation, you should open the dashboard and find a task which you want to annotate.
|
|
|
Then click the ``Actions`` button and choose option ``Automatic Annotation`` from the dropdown menu.
|
|
|
|
|
|

|
|
|
|
|
|
1. In the dialog window select a model you need. DL models are created for specific labels, e.g.
|
|
|
the Crossroad model was taught using footage from cameras located above the highway and it is best to
|
|
|
use this model for the tasks with similar camera angles.
|
|
|
If it's necessary select the ``Clean old annotations`` checkbox.
|
|
|
Adjust the labels so that the task labels will correspond to the labels of the DL model.
|
|
|
For example, let’s consider a task where you have to annotate labels “car” and “person”.
|
|
|
You should connect the “person” label from the model to the “person” label in the task.
|
|
|
As for the “car” label, you should choose the most fitting label available in the model - the “vehicle” label.
|
|
|
The task requires to annotate cars only and choosing the “vehicle” label implies annotation of all vehicles,
|
|
|
in this case using auto annotation will help you complete the task faster.
|
|
|
Click ``Submit`` to begin the automatic annotation process.
|
|
|
|
|
|

|
|
|
|
|
|
1. At runtime - you can see the percentage of completion.
|
|
|
You can cancel the automatic annotation by clicking on the ``Cancel``button.
|
|
|
|
|
|

|
|
|
|
|
|
1. The end result of an automatic annotation is an annotation with separate rectangles (or other shapes)
|
|
|
|
|
|

|
|
|
|
|
|
1. You can combine separate bounding boxes into tracks using the ``Person reidentification `` model.
|
|
|
To do this, click on the automatic annotation item in the action menu again and select the model
|
|
|
of the ``ReID`` type (in this case the ``Person reidentification`` model).
|
|
|
You can set the following parameters:
|
|
|
- Model ``Threshold`` is a maximum cosine distance between objects’ embeddings.
|
|
|
- ``Maximum distance`` defines a maximum radius that an object can diverge between adjacent frames.
|
|
|
|
|
|

|
|
|
|
|
|
1. You can remove false positives and edit tracks using ``Split`` and ``Merge`` functions.
|
|
|
|
|
|

|
|
|
|
|
|
## Shape grouping
|
|
|
|
|
|
This feature allows us to group several shapes.
|
|
|
|
|
|
You may use the ``Group Shapes`` button or shortcuts:
|
|
|
- ``G`` — start selection / end selection in group mode
|
|
|
- ``Esc`` — close group mode
|
|
|
- ``Shift+G`` — reset group for selected shapes
|
|
|
|
|
|
You may select shapes clicking on them or selecting an area.
|
|
|
|
|
|
Grouped shapes will have ``group_id`` filed in dumped annotation.
|
|
|
|
|
|
Also you may switch color distribution from an instance (default) to a group.
|
|
|
You have to switch ``Color By Group`` checkbox for that.
|
|
|
|
|
|
Shapes that don't have ``group_id``, will be highlighted in white.
|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
|
## Filter
|
|
|
|
|
|

|
|
|
|
|
|
There are some reasons to use the feature:
|
|
|
|
|
|
1. When you use a filter, objects that don't match the filter will be hidden.
|
|
|
1. The fast navigation between frames which have an object of interest.
|
|
|
Use the ``Left Arrow`` / ``Right Arrow`` keys for this purpose
|
|
|
or customize the UI buttons by right-clicking and select "switching by filter".
|
|
|
If there are no objects which correspond to the filter,
|
|
|
you will go to the previous / next frame which contains any annotated objects.
|
|
|
1. The list contains frequently used and recent filters.
|
|
|
|
|
|
To use the function, it is enough to specify a value inside the ``Filter`` text
|
|
|
field and press ``Enter``. After that, the filter will be applied.
|
|
|
|
|
|
---
|
|
|
**Supported properties:**
|
|
|
|
|
|
| Properties | Supported values | Description |
|
|
|
|-- |-- | -- |
|
|
|
| ``width`` |number of px or ``height`` | shape width |
|
|
|
| ``height`` |number of px or ``width`` | shape height |
|
|
|
| ``label`` |``"text"`` or ``["text"]`` | label name |
|
|
|
| ``serverID``| number | ID of the object on server <br> (You can find out by forming a link to the object through the Action menu)|
|
|
|
| ``clientID``| number | ID of the object in your client (indicated on the objects sidebar)|
|
|
|
| ``type`` |``"shape"``, ``"track"``, ``"tag"``| type of object |
|
|
|
| ``shape`` |``"rectangle"``,``"polygon"``, <br>``"polyline"``,``"points"``| type of shape |
|
|
|
| ``occluded``|``true`` or ``false`` | occluded properties |
|
|
|
| ``attr`` |``"text"`` | attribute name |
|
|
|
|
|
|
**Supported operators:**
|
|
|
|
|
|
``==`` - Equally; ``!=`` - Not equal; ``>`` - More; ``>=`` - More or equal; ``<`` - Less; ``<=`` - Less or equal;
|
|
|
``()`` - Brackets; ``&`` - And; ``|``- Or.
|
|
|
|
|
|
If you have double quotes in your query string, please escape them using backslash: ``\"`` (see the latest example)
|
|
|
All properties and values are case-sensitive. CVAT uses json queries to perform search.
|
|
|
|
|
|
---
|
|
|
|
|
|
**Examples filters**
|
|
|
|
|
|
- ``label=="car" | label==["road sign"]`` - this filter will show only objects with the car or road sign label.
|
|
|
- ``shape == "polygon"`` - this filter will show only polygons.
|
|
|
- ``width >= height`` - this filter will show only those objects whose width will be greater than
|
|
|
or equal to the height.
|
|
|
- ``attr["color"] == "black"`` - this filter will show objects whose color attribute is black.
|
|
|
- ``clientID == 50`` - this filter will show the object with id equal to 50 (e.g. rectangle 50).
|
|
|
- ``(label=="car" & attr["parked"]==true) | (label=="pedestrian" & width > 150)`` - this filter will display objects
|
|
|
with the “car” label and the parking attribute enabled or objects with the “pedestrian” label with a height of more
|
|
|
than 150 pixels
|
|
|
- ``(( label==["car \"mazda\""]) | (attr["parked"]==true & width > 150)) & (height > 150 & (clientID == serverID)))`` -
|
|
|
This filter will show objects with the label "car" mazda "" or objects that have the parked attribute turned on
|
|
|
and have a width of more than 150 pixels, and those listed should have a height of more than 150 pixels
|
|
|
and their clientID is equal to serverID.
|
|
|
|
|
|
**Filter history**
|
|
|
|
|
|

|
|
|
|
|
|
You can add previously entered filters and combine them. To do so, click on the input field and a list of previously
|
|
|
entered filters will open. Click on the filters to add them to the input field.
|
|
|
Combined filters occur with the "or" operator.
|
|
|
|
|
|
---
|
|
|
|
|
|
## Analytics
|
|
|
|
|
|
If your CVAT instance was created with analytics support, you can press the ``Analytics`` button in the dashboard
|
|
|
and analytics and journals will be opened in a new tab.
|
|
|
|
|
|

|
|
|
|
|
|
The analytics allows you to see how much time every user spends on each task
|
|
|
and how much work they did over any time range.
|
|
|
|
|
|

|
|
|
|
|
|
It also has an activity graph which can be modified with a number of users shown and a timeframe.
|
|
|
|
|
|

|
|
|
|
|
|
## Shortcuts
|
|
|
|
|
|
Many UI elements have shortcut hints. Put your pointer to a required element to see it.
|
|
|
|
|
|

|
|
|
|
|
|
| Shortcut | Common |
|
|
|
|--------------------------------|---------------------------------------------------------------------------------|
|
|
|
| | _Main functions_ |
|
|
|
| ``F2`` | Open/hide the list of available shortcuts |
|
|
|
| ``F3`` | Go to the settings page or go back |
|
|
|
| ``Ctrl+S`` | Go to the settings page or go back |
|
|
|
| ``Ctrl+Z`` | Cancel the latest action related with objects |
|
|
|
| ``Ctrl+Shift+Z`` or ``Ctrl+Y`` | Cancel undo action |
|
|
|
| Hold ``Mouse Wheel`` | To move an image frame (for example, while drawing) |
|
|
|
| | _Player_ |
|
|
|
| ``F`` | Go to the next frame |
|
|
|
| ``D`` | Go to the previous frame |
|
|
|
| ``V`` | Go forward with a step |
|
|
|
| ``C`` | Go backward with a step |
|
|
|
| ``Right`` | Search the next frame that satisfies to the filters <br> or next frame which contain any objects|
|
|
|
| ``Left`` | Search the previous frame that satisfies to the filters <br> or previous frame which contain any objects|
|
|
|
| ``Space`` | Start/stop automatic changing frames |
|
|
|
| `` ` `` or ``~`` | Focus on the element to change the current frame |
|
|
|
| | _Modes_ |
|
|
|
| ``N`` | Repeat the latest procedure of drawing with the same parameters |
|
|
|
| ``M`` | Activate or deactivate mode to merging shapes |
|
|
|
| ``Alt+M`` | Activate or deactivate mode to spliting shapes |
|
|
|
| ``G`` | Activate or deactivate mode to grouping shapes |
|
|
|
| ``Shift+G`` | Reset group for selected shapes (in group mode) |
|
|
|
| ``Esc`` | Cancel any active canvas mode |
|
|
|
| | _Image operations_ |
|
|
|
| ``Ctrl+R`` | Change image angle (add 90 degrees) |
|
|
|
| ``Ctrl+Shift+R`` | Change image angle (substract 90 degrees) |
|
|
|
| ``Shift+B+=`` | Increase brightness level for the image |
|
|
|
| ``Shift+B+-`` | Decrease brightness level for the image |
|
|
|
| ``Shift+C+=`` | Increase contrast level for the image |
|
|
|
| ``Shift+C+-`` | Decrease contrast level for the image |
|
|
|
| ``Shift+S+=`` | Increase saturation level for the image |
|
|
|
| ``Shift+S+-`` | Increase contrast level for the image |
|
|
|
| ``Shift+G+=`` | Make the grid more visible |
|
|
|
| ``Shift+G+-`` | Make the grid less visible |
|
|
|
| ``Shift+G+Enter`` | Set another color for the image grid |
|
|
|
| | _Operations with objects_ |
|
|
|
| ``Ctrl`` | Switch automatic bordering for polygons and polylines during drawing/editing |
|
|
|
| Hold ``Ctrl`` | When the shape is active and fix it |
|
|
|
| ``Alt+Click`` on point | Deleting a point (used when hovering over a point of polygon, polyline, points) |
|
|
|
| ``Shift+Click`` on point | Editing a shape (used when hovering over a point of polygon, polyline or points)|
|
|
|
| ``Right-Click`` on shape | Display of an object element from objects sidebar |
|
|
|
| ``T+L`` | Change locked state for all objects in the sidebar |
|
|
|
| ``L`` | Change locked state for an active object |
|
|
|
| ``T+H`` | Change hidden state for objects in the sidebar |
|
|
|
| ``H`` | Change hidden state for an active object |
|
|
|
| ``Q`` or ``/`` | Change occluded property for an active object |
|
|
|
| ``Del`` or ``Shift+Del`` | Delete 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+C`` | Copy shape to CVAT internal clipboard |
|
|
|
| ``Ctrl+V`` | Paste a shape from internal CVAT clipboard |
|
|
|
| Hold ``Ctrl`` while pasting | When pasting shape from the buffer for multiple pasting. |
|
|
|
| ``Crtl+B`` | Make a copy of the object on the following frames |
|
|
|
| | _Operations are available only for track_ |
|
|
|
| ``K`` | Change keyframe property for an active track |
|
|
|
| ``O`` | Change outside property for an active track |
|
|
|
| ``R`` | Go to the next keyframe of an active track |
|
|
|
| ``E`` | Go to the previous keyframe of an active track |
|
|
|
| | _Attribute annotation mode_ |
|
|
|
| ``Up Arrow`` | Go to the next attribute (up) |
|
|
|
| ``Down Arrow`` | Go to the next attribute (down) |
|
|
|
| ``Tab`` | Go to the next annotated object in current frame |
|
|
|
| ``Shift+Tab`` | Go to the previous annotated object in current frame |
|
|
|
| ``<number>`` | Assign a corresponding value to the current attribute |
|