Add documentation for 3d task (#3364)

* update documentation sorting

* update README.md and documentation

* fix linter errors

* update name sections

* fix links

* fix linter errors

* add 3D task documentation

* update documentation

* fix conflict README.md

* fix linter error v1

* fix numeration
main
Timur Osmanov 5 years ago committed by GitHub
parent 79f0ff7c14
commit 830c7b213e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,6 +1,6 @@
---
title: 'Administration (advanced)'
title: 'Advanced'
linkTitle: 'Advanced'
weight: 2
description: 'This section contains basic documents for system administrators'

@ -1,6 +1,6 @@
---
title: 'Administration (basics)'
title: 'Basics'
linkTitle: 'Basics'
weight: 1
description: 'This section contains basic documents for system administrators'

@ -0,0 +1,24 @@
---
title: '3D Object annotation (advanced)'
linkTitle: '3D Object annotation'
weight: 18
---
As well as 2D-task objects, 3D-task objects support the ability to change appearance, attributes,
properties and have an action menu. Read more in [objects sidebar](/docs/manual/basics/objects-sidebar/) section.
## Moving an object
If you hover the cursor over a cuboid and press `Shift+N`, the cuboid will be cut,
so you can paste it in other place (double-click to paste the cuboid).
## Copying
As well as in 2D task you can copy and paste objects by `Ctrl+C` and `Ctrl+V`,
but unlike 2D tasks you have to place a copied object in a 3D space (double click to paste).
![](/images/gif030_carla_town3.gif)
## Image of the projection window
You can copy or save the projection-window image by left-clicking on it and selecting a "save image as" or "copy image".

@ -30,3 +30,7 @@ weight: 1
- [MOT](https://motchallenge.net/)
- [LabelMe 3.0](http://labelme.csail.mit.edu/Release3.0/)
- [Datumaro](https://github.com/openvinotoolkit/cvat/tree/develop/cvat/apps/dataset_manager/formats/datumaro)
For 3D tasks, the following formats are available:
- Point Cloud Format 1.0
- Velodyn points format 1.0

@ -5,6 +5,7 @@ weight: 22
---
A special mode to check the annotation allows you to point to an object or area in the frame containing an error.
`Review mode` is not available in 3D tasks.
To go into review mode, you need to select `Request a review` in the menu and assign the user to run a check.
![](/images/image194.jpg)

@ -29,13 +29,13 @@ Many UI elements have shortcut hints. Put your pointer to a required element to
| | _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 splitting shapes |
| `Alt+M` | Activate or deactivate mode to splitting 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 (subtract 90 degrees) |
| `Ctrl+Shift+R` | Change image angle (subtract 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 |
@ -63,6 +63,7 @@ Many UI elements have shortcut hints. Put your pointer to a required element to
| `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 |
| `Ctrl+(0..9)` | Changes a label for an activated object or for the next drawn object if no objects are activated |
| | _Operations are available only for track_ |
| `K` | Change keyframe property for an active track |
| `O` | Change outside property for an active track |
@ -74,3 +75,14 @@ Many UI elements have shortcut hints. Put your pointer to a required element to
| `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 |
| | _Standard 3d mode_ |
| `Shift+arrrowup` | Increases camera roll angle |
| `Shift+arrrowdown` | Decreases camera roll angle |
| `Shift+arrrowleft` | Decreases camera pitch angle |
| `Shift+arrrowright` | Increases camera pitch angle |
| `Alt+O` | Move the camera up |
| `Alt+U` | Move the camera down |
| `Alt+J` | Move the camera left |
| `Alt+L` | Move the camera right |
| `Alt+I` | Performs zoom in |
| `Alt+K` | Performs zoom out |

@ -0,0 +1,54 @@
---
title: '3D Object annotation (basics)'
linkTitle: '3D Object annotation'
weight: 13
---
### Navigation
To move in 3D space you can use several methods:
- Move using the mouse:
- Hold down the left mouse button in the perspective window to turn the camera around the conditional point.
- Hold down the right mouse button in the perspective window to move the camera inside the 3D space.
- Move the mouse while holding down the wheel to zoom in/out in the perspective window.
- Scroll the wheel to zoom in/out (works both in perspective and in projections).
- Move using the keys in the perspective window
![](/images/image216_carla_town3.jpg)
You can move around by pressing the corresponding buttons:
- To rotate the camera use: `Shift+arrrowup`/`Shift+arrrowdown`/`Shift+arrrowleft`/`Shift+arrrowright`.
- To move left/right use: `Allt+J`/`Alt+L`.
- To move up/down use: `Alt-U`/`Alt+O`.
- To zoom in/out use: `Alt+K`/`Alt+I`.
### Creating a cuboid
To create a cube in a 3D task you need to click the appropriate icon on the control sidebar,
select the label of the future object and click `shape`.
![](/images/image217.jpg)
After that the cursor will be followed by a cube. In the creation process you can rotate and move the camera.
Left double-click will create an object.
You can place an object only near the dots of the point cloud.
![](/images/gif026_carla_town3.gif)
To adjust the size precisely, you need to edit the cuboid on the projections.
In each projection you can:
Move the object in the projection plane - to do this, hover over the object,
press the left mouse button and move the object.
![](/images/gif027_carla_town3.gif)
Move one of the four points - you can change the size of the cuboid by dragging the points in the projection.
![](/images/gif028_carla_town3.gif)
Rotate the cuboid in the projection plane to rotate the cuboid you should click on the appropriate point
and then drag it up/down or to the left/right.
![](/images/gif029_carla_town3.gif)

@ -0,0 +1,20 @@
---
title: '3D task workspace'
linkTitle: '3D task workspace'
weight: 5
---
![](/images/image214_carla_town3.jpg)
If the `related_images` folder contains any images, a `context image` will be available in the perspective window.
The contextual image could be compared to 3D data and would help to identify the labels of marked objects.
`Perspective` a main window for work with objects in a 3D task.
Projections - projections are tied to an object so that a cuboid is in the center and looks like a rectangle.
Projections show only the selected object.
- `Top` a projection of the view from above.
- `Side` a projection of the left side of the object.
- `Front` - a frontal projection of the object.

@ -7,19 +7,22 @@ weight: 2
1. Create an annotation task pressing `Create new task` button on the tasks page or on the project page.
![](/images/image004.jpg)
2. Specify parameters of the task:
1. Specify parameters of the task:
#### Basic configuration
## Basic configuration
**Name** The name of the task to be created.
### Name
The name of the task to be created.
![](/images/image005.jpg)
**Projects** The project that this task will be related with.
### Projects
The project that this task will be related with.
![](/images/image193.jpg)
**Labels**. There are two ways of working with labels (available only if the task is not related to the project):
### Labels
There are two ways of working with labels (available only if the task is not related to the project):
- The `Constructor` is a simple way to add and adjust labels. To add a new label click the `Add label` button.
![](/images/image123.jpg)
@ -35,19 +38,19 @@ weight: 2
The following actions are available here:
1. Set the attributes name.
2. Choose the way to display the attribute:
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.
3. Set values for the attribute. The values could be separated by pressing `Enter`.
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).
4. Checkbox `Mutable` determines if an attribute would be changed frame to frame.
5. You can delete the attribute by clicking the close button (x).
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.
@ -62,7 +65,8 @@ weight: 2
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.
### 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 or dataset with images and select `Use cache` option, you can attach a `manifest.jsonl` file.
@ -70,22 +74,67 @@ weight: 2
![](/images/image127.jpg)
#### Advanced configuration
### Data formats for a 3D task
To create a 3D task, you need to use the following directory structures:
{{< tabpane >}}
{{< tab header="Velodyne" >}}
VELODYNE FORMAT
Structure:
velodyne_points/
data/
image_01.bin
IMAGE_00 # unknown dirname, Generally image_01.png can be under IMAGE_00, IMAGE_01, IMAGE_02, IMAGE_03, etc
data/
image_01.png
{{< /tab >}}
{{< tab header="3D pointcloud" >}}
3D POINTCLOUD DATA FORMAT
Structure:
pointcloud/
00001.pcd
related_images/
00001_pcd/
image_01.png # or any other image
{{< /tab >}}
{{< tab header="3D Option 1" >}}
3D, DEFAULT DATAFORMAT Option 1
Structure:
data/
image.pcd
image.png
{{< /tab >}}
{{< tab header="3D Option 2" >}}
3D, DEFAULT DATAFORMAT Option 2
Structure:
data/
image_1/
image_1.pcd
context_1.png # or any other name
context_2.jpg
{{< /tab >}}
{{< /tabpane >}}
## Advanced configuration
![](/images/image128_use_cache.jpg)
**Use zip chunks**. Force to use zip chunks as compressed data. Actual for videos only.
### 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",
### 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](/docs/manual/advanced/data_on_fly/).
**Image Quality**. Use this option to specify quality of uploaded images.
### 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.
## 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:
@ -107,19 +156,24 @@ weight: 2
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.
### 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.
### Start frame
Frame from which video in task begins.
**Stop frame**. Frame on which video in task ends.
### Stop frame
Frame on which video in task ends.
**Frame Step**. Use this option to filter video frames.
### 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.
### 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:
@ -129,7 +183,8 @@ weight: 2
- 4k or less: 4 - 8
- More: 1 - 4
**Dataset Repository**. URL link of the repository optionally specifies the path to the repository for storage
### 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]`
@ -142,17 +197,19 @@ weight: 2
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
### 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.
### 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 tasks page:
![](/images/image006_detrac.jpg)
3. The tasks page contains elements and each of them relates to a separate task. They are sorted in creation order.
1. The tasks page contains elements and each of them relates to a separate task. They are sorted in creation order.
Each element contains: task name, preview, progress bar, button `Open`, and menu `Actions`.
Each button is responsible for a in menu `Actions` specific function:
@ -172,8 +229,12 @@ weight: 2
- [MOT](https://motchallenge.net/)
- [LabelMe 3.0](http://labelme.csail.mit.edu/Release3.0/)
- [Datumaro](https://github.com/openvinotoolkit/cvat/tree/develop/cvat/apps/dataset_manager/formats/datumaro)
- Point Cloud Format 1.0 (Available in 3d task)
- Velodyn points format 1.0 (Available in 3d task)
- `Upload annotation` is available in the same formats as in `Dump annotation`.
- [CVAT](/docs/manual/advanced/xml_format/) accepts both video and image sub-formats.
- Point Cloud Format 1.0 (Available in 3d task)
- Velodyn points format 1.0 (Available in 3d task)
- `Automatic Annotation` — automatic annotation with OpenVINO toolkit.
Presence depends on how you build CVAT instance.
- `Move to project` — Moving the task to the project (can be used to move a task from one project to another).
@ -182,4 +243,6 @@ weight: 2
Some task labels can be matched with the target project labels.
- `Delete` — delete task.
---
Push `Open` button to go to [task details](/docs/manual/basics/task-details/).

@ -3,6 +3,7 @@ title: 'Objects sidebar'
linkTitle: 'Objects sidebar'
weight: 24
---
## Hide objects sidebar
`Hide` - the button hides the object's sidebar.

@ -0,0 +1,13 @@
---
title: 'Standard 3D mode (basics)'
linkTitle: 'Standard 3D mode'
weight: 12.5
---
`Standard 3d mode` - Designed to work with 3D data.
The mode is automatically available if you add PCD or Kitty BIN format data when you create a task.
[read more](/docs/manual/basics/creating_an_annotation_task/)
You can adjust the size of the projections, to do so, simply drag the boundary between the projections.
![](/images/image215_carla_town3.jpg)

@ -10,6 +10,7 @@ There are five shapes which you can annotate your images with:
- `Polyline`
- `Points`
- `Cuboid`
- `Cuboid in 3d task`
- `Tag`
And there is how they all look like:
@ -18,6 +19,8 @@ And there is how they all look like:
![](/images/image009_mapillary_vistas.jpg 'Polyline') ![](/images/image010_affectnet.jpg 'Points')
![](/images/image015_detrac.jpg 'Cuboid') ![](/images/image135.jpg 'Tag')
![](/images/image015_detrac.jpg 'Cuboid') ![](/images/image218_carla_town3.jpg 'Cuboid in 3d task')
![](/images/image135.jpg 'Tag')
`Tag` - has no shape in the workspace, but is displayed in objects sidebar.

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Loading…
Cancel
Save