Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User Guide update #953

Merged
merged 38 commits into from
Dec 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2a78dfb
User Guide update v1
Dec 13, 2019
b69fa50
Fix codacy issue and missing definitions
Dec 16, 2019
15588bc
Fix codacy issue v1
Dec 17, 2019
f2e92a9
Fix codacy issue v2
Dec 17, 2019
a167232
Fix codacy issue and ordered lists
Dec 17, 2019
107ffc9
Fix codacy issue, ordered lists and hyperlink
Dec 17, 2019
ccb58ec
Fix codacy issue and ordered lists v3
Dec 17, 2019
b24bf5b
Fix ordered lists v4
Dec 17, 2019
f0b878c
Fix codacy issues v5
Dec 17, 2019
b8b7761
Cancel the "task sync" image change
Dec 17, 2019
fba03a8
Fix codacy issue v6
Dec 17, 2019
93cbcde
Fix codacy issues v7
Dec 17, 2019
f496874
Fix codacy issues v8
Dec 17, 2019
62f6306
Fix codacy issues v9
Dec 17, 2019
45c1add
Update image131.jpg
Dec 17, 2019
857d206
Fix codacy issues v10
Dec 18, 2019
fb57b2e
Fix codacy issues v11
Dec 18, 2019
2345f52
Fix codacy issues v12
Dec 18, 2019
fb67a52
Fix codacy issues v13
Dec 18, 2019
80cdb6a
Fix codacy issues v14
Dec 18, 2019
4c0e1fa
Fix codacy issues v15
Dec 18, 2019
de45cc2
Fix codacy issues v16
Dec 18, 2019
80d0855
Fix codacy issues v17
Dec 18, 2019
175c5f3
Fix codacy issues v18
Dec 18, 2019
8ff0e06
Fix codacy issues v19
Dec 18, 2019
5ab6e03
Fix codacy issues v20
Dec 18, 2019
bdf7b74
Fix codacy issues v21
Dec 18, 2019
a871331
Fix codacy issues v22
Dec 18, 2019
299a2e7
Fix codacy issues v22
Dec 18, 2019
dadd30d
Fix codacy issues v23
Dec 18, 2019
54d17b5
Fix codacy issues v24
Dec 18, 2019
63c2d1a
Fix codacy issues v24
Dec 18, 2019
4704b00
Fix codacy issues v25
Dec 18, 2019
72072dd
Fix codacy issues v25
Dec 18, 2019
d582349
Fix codacy issues v26
Dec 18, 2019
6fe48c6
Fix codacy issues v27
Dec 18, 2019
057a8b8
Fix codacy issues v28
Dec 18, 2019
bccbde9
Fix codacy issues v29
Dec 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
206 changes: 127 additions & 79 deletions cvat/apps/documentation/user_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
- [Annotation with polygons](#annotation-with-polygons)
- [Annotation with polylines](#annotation-with-polylines)
- [Annotation with points](#annotation-with-points)
- [Points in annotation mode](#points-in-annotation-mode)
- [Linear interpolation with one point](#linear-interpolation-with-one-point)
- [Annotation with Auto Segmentation](#annotation-with-auto-segmentation)
- [Auto annotation](#auto-annotation)
- [Shape grouping](#shape-grouping)
Expand Down Expand Up @@ -55,6 +57,8 @@ computer vision tasks developed by our team.

![](static/documentation/images/image001.jpg)

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

![](static/documentation/images/image002.jpg)

- You can register a user but by default it will not have rights even to view
Expand All @@ -80,67 +84,71 @@ Go to the [Django administration panel](http://localhost:8080/admin). There you

### Creating an annotation task

1. Create an annotation task pressing ``Create New Task`` button on the main page.

![](static/documentation/images/image004.jpg)

1. Specify mandatory parameters of the task.
You have to fill in ``Name``, ``Labels`` and press the ``Select Files`` button.
After that you have to choose data you want to annotate.

![](static/documentation/images/image005.jpg)

**Labels**. Use the following layout to create labels:
``label_name <prefix>input_type=attribute_name:attribute_value1,attribute_value2``.
You can specify multiple labels and attributes and divide them pressing the space button.
Attributes belong to a previous label.

Example:
- ``vehicle @select=type:__undefined__,car,truck,bus,train ~radio=quality:good,bad ~checkbox=parked:false`` -
one label with multiple attributes
- ``car person bike`` - three labels without attributes
- ``circle @radio=color:green,red,blue @number=radius:0,10,0.1 line square`` -
one label with two attributes and two labels without attributes
1. Create an annotation task pressing ``Create new task`` button on the main page.
![](static/documentation/images/image004.jpg)

``label_name``: for example _vehicle, person, face etc._
1. Specify parameters of the task:

``<prefix>``:
- Use ``@`` for unique attributes which cannot be changed from frame to frame _(e.g. age, gender, color, etc.)_
- Use ``~`` for temporary attributes which can be changed on any frame _(e.g. quality, pose, truncated, etc.)_
#### Basic configuration

``input_type``: the following input types are available ``select``, ``checkbox``, ``radio``, ``number``, ``text``.
**Name** The name of the task to be created.

``attribute_name``: for example, _age, quality, parked_

``attribute_value``: for example, _middle-age, good, true_

Default value for an attribute is the first value after "``:``".

For ``select`` and ``radio`` input types the special value is available: ``__undefined__``.
Specify this value first if an attribute should be annotated explicitly.

**Bug Tracker**. Specify full bug tracker's URL if you have it.

**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]``
![](static/documentation/images/image005.jpg)

Supported URL formats :
- ``https://github.com/project/repos[.git]``
- ``github.com/project/repos[.git]``
- ``[email protected]:project/repos[.git]``
**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.
![](static/documentation/images/image123.jpg)

You can set a name of the label in the ``Label name`` field.

![](static/documentation/images/image124.jpg)

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

![](static/documentation/images/image125.jpg)

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.
![](static/documentation/images/image126.jpg)

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

![](static/documentation/images/image127.jpg)

The task will be highlighted in red after creation if annotation isn't synchronized with the repository.
#### Advanced configuration

**Use LFS**. If the annotation file is large, you can create a repository with
[LFS](https://git-lfs.github.com/) support.

**Source**. Choose "Local" if you want to use files from your PC.
Choose the "Remote" option if you want to use a one url-adress or a list.
To create huge tasks please use shared server directory (choose "Share").
![](static/documentation/images/image128.jpg)

**Z-Order**. Defines the order on drawn polygons. Check the box for enable layered displaying.

**Image Quality**. Use this option to specify quality of uploaded images.
The option helps to load high resolution datasets faster.
Use the value from ``1`` (completely compressed images) to ``95`` (almost not compressed images).

**Overlap Size**. Use this option to make overlapped segments.
The option makes tracks continuous from one segment into another.
Expand Down Expand Up @@ -168,53 +176,93 @@ Go to the [Django administration panel](http://localhost:8080/admin). There you
Thus using "segment size" you can create several jobs for the same annotation task.
It will help you to parallel data annotation process.

**Image Quality**. Use this option to specify quality of uploaded images.
The option helps to load high resolution datasets faster.
Use the value from ``1`` (completely compressed images) to ``95`` (almost not compressed images).
**Start frame**. Frame from which video in task begins.

**Stop frame**. Frame on which video in task ends.

**Frame Filter**. Use this option to filter video frames.
For example, enter ``step=25`` to leave every twenty fifth frame in the video. Use this option on video files only.

**Select files or URL list**. If you select `` Remote`` in `` Source``, you'll see a field where you can enter
a list of URLs (one URL per line).
Press `` Local`` or `` Share`` in the `` source`` field to choose some files
for anotation from your local PC or a network folder respectively.
**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]``
- ``[email protected]: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:

![](static/documentation/images/image006_DETRAC.jpg)

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, execution status, buttons, and one or more links.
Each button is responsible for a specific function:
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`` — download an annotation file from a task. Several formats are available:
- [CVAT XML 1.1 for video](/cvat/apps/documentation/xml_format.md#interpolation)
is highlighted if a task has the interpolation mode
is highlighted if a task has the interpolation mode.
- [CVAT XML 1.1 for images](/cvat/apps/documentation/xml_format.md#annotation)
is highlighted if a task has the annotation mode
is highlighted if a task has the annotation mode.
- [PASCAL VOC ZIP 1.0](http://host.robots.ox.ac.uk/pascal/VOC/)
- [YOLO ZIP 1.0](https://pjreddie.com/darknet/yolo/)
- [COCO JSON 1.0](http://cocodataset.org/#format-data)
- ``MASK ZIP 1.0`` — archive contains a mask of each frame in the png format and a text file
with the value of each color
with the value of each color.
- [TFRecord ZIP 1.0](https://www.tensorflow.org/tutorials/load_data/tf_records)
- [MOT CSV 1.0](https://motchallenge.net/)
- [LabelMe ZIP 3.0 for image](http://labelme.csail.mit.edu/Release3.0/)
- ``Upload annotation`` is possible in same format as ``Dump annotation``, with exception of ``MASK ZIP 1.0``
format and without choosing whether [CVAT XML 1.1](/cvat/apps/documentation/xml_format.md)
format and without choosing whether [CVAT XML 1.1](/cvat/apps/documentation/xml_format.md)
and [LabelMe ZIP 3.0](http://labelme.csail.mit.edu/Release3.0/)
refers to an image or video.
- ``Update Task`` — bring up "Update task" panel. It is used to edit or add labels line
- ``Delete Task`` — delete the task
- ``Git Repository Sync`` — sync annotation with the dataset repository.
It is available only if you specify a dataset repository when the task has been created.
- ``Run TF Annotation`` — automatic annotation with Tensorflow Object Detection API.
Presence depends on how you build CVAT instance
- ``Run Auto Annotation`` — automatic annotation with OpenVINO toolkit.
- ``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/)
- ``Auto Annotation`` — automatic annotation with OpenVINO toolkit.
Presence depends on how you build CVAT instance.

Item color depends on status of synchronization with the dataset repository:
``red`` means annotations are not synchronized with the repository,
``yellow`` means annotations are in a temporary branch of the repository,
``green`` means annotations are merged into the repository.
- ``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.

![](static/documentation/images/image131.jpg)

- 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 whit 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
Expand Down Expand Up @@ -466,7 +514,7 @@ Usage examples:
### Task synchronization with a repository

1. At the end of the annotation process, a task is synchronized clicking
the `` Git Repository Sync`` on the main page. Notice: this feature
the `` Synchronize`` on the task page. Notice: this feature
works only if a git repository was specified when the task was created.

![](static/documentation/images/image106.jpg)
Expand Down Expand Up @@ -881,7 +929,7 @@ By default, objects in the mode are zoomed. Check

It is used for semantic / instance segmentation.

Be sure ``Z-Order`` flag in ``Create task`` dialog is enabled if you want to
Be sure ``Z-Order`` flag in ``Create new task`` dialog is enabled if you want to
annotate polygons. Z-Order flag defines order of drawing. It is necessary to
get right annotation mask without extra work (additional drawing of borders).
Z-Order can be changed by ``+``/``-`` which set maximum/minimum z-order
Expand Down