diff --git a/cvat/apps/documentation/static/documentation/images/image001.jpg b/cvat/apps/documentation/static/documentation/images/image001.jpg index 0fd9e9e6..e51b6da2 100644 Binary files a/cvat/apps/documentation/static/documentation/images/image001.jpg and b/cvat/apps/documentation/static/documentation/images/image001.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image002.jpg b/cvat/apps/documentation/static/documentation/images/image002.jpg index 7c4eb8c3..e7887de7 100644 Binary files a/cvat/apps/documentation/static/documentation/images/image002.jpg and b/cvat/apps/documentation/static/documentation/images/image002.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image003.jpg b/cvat/apps/documentation/static/documentation/images/image003.jpg index b4f8679c..252667ff 100644 Binary files a/cvat/apps/documentation/static/documentation/images/image003.jpg and b/cvat/apps/documentation/static/documentation/images/image003.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image004.jpg b/cvat/apps/documentation/static/documentation/images/image004.jpg index 8622bd77..ecdd8fef 100644 Binary files a/cvat/apps/documentation/static/documentation/images/image004.jpg and b/cvat/apps/documentation/static/documentation/images/image004.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image005.jpg b/cvat/apps/documentation/static/documentation/images/image005.jpg index 1beb9a7e..5916feb1 100644 Binary files a/cvat/apps/documentation/static/documentation/images/image005.jpg and b/cvat/apps/documentation/static/documentation/images/image005.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image006_DETRAC.jpg b/cvat/apps/documentation/static/documentation/images/image006_DETRAC.jpg index d566dd21..7a6fb764 100644 Binary files a/cvat/apps/documentation/static/documentation/images/image006_DETRAC.jpg and b/cvat/apps/documentation/static/documentation/images/image006_DETRAC.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image074.jpg b/cvat/apps/documentation/static/documentation/images/image074.jpg index 72bc9ac7..f2fd7228 100644 Binary files a/cvat/apps/documentation/static/documentation/images/image074.jpg and b/cvat/apps/documentation/static/documentation/images/image074.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image123.jpg b/cvat/apps/documentation/static/documentation/images/image123.jpg new file mode 100644 index 00000000..94276590 Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image123.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image124.jpg b/cvat/apps/documentation/static/documentation/images/image124.jpg new file mode 100644 index 00000000..0c6c78b6 Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image124.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image125.jpg b/cvat/apps/documentation/static/documentation/images/image125.jpg new file mode 100644 index 00000000..389e876d Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image125.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image126.jpg b/cvat/apps/documentation/static/documentation/images/image126.jpg new file mode 100644 index 00000000..2a0f14da Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image126.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image127.jpg b/cvat/apps/documentation/static/documentation/images/image127.jpg new file mode 100644 index 00000000..45313ff0 Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image127.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image128.jpg b/cvat/apps/documentation/static/documentation/images/image128.jpg new file mode 100644 index 00000000..96b35592 Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image128.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image130.jpg b/cvat/apps/documentation/static/documentation/images/image130.jpg new file mode 100644 index 00000000..fa952e60 Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image130.jpg differ diff --git a/cvat/apps/documentation/static/documentation/images/image131.jpg b/cvat/apps/documentation/static/documentation/images/image131.jpg new file mode 100644 index 00000000..0bf3f140 Binary files /dev/null and b/cvat/apps/documentation/static/documentation/images/image131.jpg differ diff --git a/cvat/apps/documentation/user_guide.md b/cvat/apps/documentation/user_guide.md index 5c3947e9..118dcbc8 100644 --- a/cvat/apps/documentation/user_guide.md +++ b/cvat/apps/documentation/user_guide.md @@ -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) @@ -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 @@ -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 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: - ````: - - 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 / .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]`` - - ``git@github.com: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. @@ -168,17 +176,29 @@ 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 / .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: @@ -186,35 +206,63 @@ Go to the [Django administration panel](http://localhost:8080/admin). There you ![](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 @@ -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) @@ -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