From beadcb1c76b0a26f2264daf04efee26e7b831382 Mon Sep 17 00:00:00 2001 From: Maxim Zhiltsov Date: Fri, 2 Apr 2021 12:31:03 +0300 Subject: [PATCH] Fix holes in exported instance masks (#3044) * update datumaro dependency * update coco format * update format docs - Update COCO documentation - Add Datumaro format description - Add TF guide on mask exporting - Add keypoint export guide in COCO * Add mask export docs * update changelog * add camvid * add coco * Update changelog --- CHANGELOG.md | 4 +- cvat/apps/dataset_manager/formats/README.md | 138 +++++++++++++----- cvat/apps/dataset_manager/formats/coco.py | 3 +- .../images/exported_cls_masks_example.png | Bin 0 -> 5719 bytes .../images/exported_inst_masks_example.png | Bin 0 -> 5135 bytes .../images/label_color_picker.jpg | Bin 0 -> 52186 bytes .../images/label_panel_anno_window.jpg | Bin 0 -> 10163 bytes .../images/mask_export_example1_cls_mask.png | Bin 0 -> 3035 bytes .../images/mask_export_example1_editor.png | Bin 0 -> 28770 bytes .../images/mask_export_example1_inst_mask.png | Bin 0 -> 3520 bytes cvat/apps/documentation/user_guide.md | 62 ++++++++ cvat/requirements/base.txt | 2 +- 12 files changed, 170 insertions(+), 39 deletions(-) create mode 100644 cvat/apps/documentation/static/documentation/images/exported_cls_masks_example.png create mode 100644 cvat/apps/documentation/static/documentation/images/exported_inst_masks_example.png create mode 100644 cvat/apps/documentation/static/documentation/images/label_color_picker.jpg create mode 100644 cvat/apps/documentation/static/documentation/images/label_panel_anno_window.jpg create mode 100644 cvat/apps/documentation/static/documentation/images/mask_export_example1_cls_mask.png create mode 100644 cvat/apps/documentation/static/documentation/images/mask_export_example1_editor.png create mode 100644 cvat/apps/documentation/static/documentation/images/mask_export_example1_inst_mask.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c5d1d3c..799d9fc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [1.4.0] - Unreleased ### Added -- +- Documentation on mask annotation () ### Changed - @@ -20,7 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - ### Fixed -- +- Export of instance masks with holes () ### Security - diff --git a/cvat/apps/dataset_manager/formats/README.md b/cvat/apps/dataset_manager/formats/README.md index cee31854..3af8cbfd 100644 --- a/cvat/apps/dataset_manager/formats/README.md +++ b/cvat/apps/dataset_manager/formats/README.md @@ -11,6 +11,7 @@ - [How to add a format](#how-to-add) - [Format descriptions](#formats) - [CVAT](#cvat) + - [Datumaro](#datumaro) - [LabelMe](#labelme) - [MOT](#mot) - [MOTS](#mots) @@ -175,7 +176,7 @@ features, so it can be used to make data backups. - [Format specification](/cvat/apps/documentation/xml_format.md) -#### CVAT for images dumper +#### CVAT for images export Downloaded file: a ZIP file of the following structure: @@ -189,7 +190,7 @@ taskname.zip/ - tracks are split by frames -#### CVAT for videos dumper +#### CVAT for videos export Downloaded file: a ZIP file of the following structure: @@ -207,6 +208,17 @@ taskname.zip/ Uploaded file: an XML file or a ZIP file of the structures above +### Datumaro format + +[Datumaro](https://github.com/openvinotoolkit/datumaro/) is a tool, which can +help with complex dataset and annotation transformations, format conversions, +dataset statistics, merging, custom formats etc. It is used as a provider +of dataset support in CVAT, so basically, everything possible in CVAT +is possible in Datumaro too, but Datumaro can offer dataset operations. + +- supported annotations: any 2D shapes, labels +- supported attributes: any + ### [Pascal VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - [Format specification](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/devkit_doc.pdf) @@ -219,9 +231,10 @@ Uploaded file: an XML file or a ZIP file of the structures above - supported attributes: - - `occluded` + - `occluded` (both UI option and a separate attribute) - `truncated` and `difficult` (should be defined for labels as `checkbox` -es) - action attributes (import only, should be defined as `checkbox` -es) + - arbitrary attributes (in the `attributes` secion of XML files) #### Pascal VOC export @@ -229,7 +242,7 @@ Downloaded file: a zip archive of the following structure: ```bash taskname.zip/ -├── JpegImages/ +├── JPEGImages/ │   ├── .jpg │   ├── .jpg │   └── .jpg @@ -499,17 +512,47 @@ zip images.zip -j -@ < train.txt - [Format specification](http://cocodataset.org/#format-data) -#### COCO dumper description +#### COCO export -Downloaded file: single unpacked `json`. +Downloaded file: a zip archive with following structure: + +```bash +archive.zip/ +├── images/ +│ ├── +│ ├── +│ └── ... +└── annotations/ +    └── instances_default.json +``` - supported annotations: Polygons, Rectangles +- supported attributes: + - `is_crowd` (checkbox or integer with values 0 and 1) - + specifies that the instance (an object group) should have an + RLE-encoded mask in the `segmentation` field. All the grouped shapes + are merged into a single mask, the largest one defines all + the object properties + - `score` (number) - the annotation `score` field + - arbitrary attributes - will be stored in the `attributes` annotation section + + +*Note*: there is also a [support for COCO keypoints over Datumaro](https://github.com/openvinotoolkit/cvat/issues/2910#issuecomment-726077582) -#### COCO loader description +1. Install [Datumaro](https://github.com/openvinotoolkit/datumaro) + `pip install datumaro` +1. Export the task in the `Datumaro` format, unzip +1. Export the Datumaro project in `coco` / `coco_person_keypoints` formats + `datum export -f coco -p path/to/project [-- --save-images]` -Uploaded file: single unpacked `*.json` . +This way, one can export CVAT points as single keypoints or +keypoint lists (without the `visibility` COCO flag). -- supported annotations: Polygons, Rectangles (if `segmentation` field is empty) +#### COCO import + +Uploaded file: a single unpacked `*.json` or a zip archive with the structure above (without images). + +- supported annotations: Polygons, Rectangles (if the `segmentation` field is empty) #### How to create a task from MS COCO dataset @@ -559,25 +602,48 @@ image_feature_description = { } ``` -#### TFRecord dumper description +#### TFRecord export Downloaded file: a zip archive with following structure: ```bash taskname.zip/ -├── task2.tfrecord +├── default.tfrecord └── label_map.pbtxt + +# label_map.pbtxt +item { + id: 1 + name: 'label_0' +} +item { + id: 2 + name: 'label_1' +} +... ``` -- supported annotations: Rectangles +- supported annotations: Rectangles, Polygons (as masks, manually over [Datumaro](https://github.com/openvinotoolkit/datumaro/blob/develop/docs/user_manual.md)) -#### TFRecord loader description +How to export masks: +1. Export annotations in `Datumaro` format +1. Apply `polygons_to_masks` and `boxes_to_masks` transforms + ```bash + datum transform -t polygons_to_masks -p path/to/proj -o ptm + datum transform -t boxes_to_masks -p ptm -o btm + ``` +1. Export in the `TF Detection API` format + ```bash + datum export -f tf_detection_api -p btm [-- --save-images] + ``` + +#### TFRecord import Uploaded file: a zip archive of following structure: ```bash taskname.zip/ -└── task2.tfrecord +└── .tfrecord ``` - supported annotations: Rectangles @@ -706,7 +772,7 @@ python create_pascal_tf_record.py --data_dir --set train --y ### [MOT sequence](https://arxiv.org/pdf/1906.04567.pdf) -#### MOT Dumper +#### MOT export Downloaded file: a zip archive of the following structure: @@ -735,7 +801,7 @@ person - supported annotations: Rectangle shapes and tracks - supported attributes: `visibility` (number), `ignored` (checkbox) -#### MOT Loader +#### MOT import Uploaded file: a zip archive of the structure above or: @@ -749,7 +815,7 @@ taskname.zip/ ### [MOTS PNG](https://www.vision.rwth-aachen.de/page/mots) -#### MOTS PNG Dumper +#### MOTS PNG export Downloaded file: a zip archive of the following structure: @@ -773,7 +839,7 @@ person - supported annotations: Rectangle and Polygon tracks -#### MOTS PNG Loader +#### MOTS PNG import Uploaded file: a zip archive of the structure above @@ -781,7 +847,7 @@ Uploaded file: a zip archive of the structure above ### [LabelMe](http://labelme.csail.mit.edu/Release3.0) -#### LabelMe Dumper +#### LabelMe export Downloaded file: a zip archive of the following structure: @@ -793,7 +859,7 @@ taskname.zip/ - supported annotations: Rectangles, Polygons (with attributes) -#### LabelMe Loader +#### LabelMe import Uploaded file: a zip archive of the following structure: @@ -811,7 +877,7 @@ taskname.zip/ ### [ImageNet](http://www.image-net.org) -#### ImageNet Dumper +#### ImageNet export Downloaded file: a zip archive of the following structure: @@ -835,7 +901,7 @@ taskname.zip/ - supported annotations: Labels -#### ImageNet Loader +#### ImageNet import Uploaded file: a zip archive of the structure above @@ -843,7 +909,7 @@ Uploaded file: a zip archive of the structure above ### [CamVid](http://mi.eng.cam.ac.uk/research/projects/VideoRec/CamVid/) -#### CamVid Dumper +#### CamVid export Downloaded file: a zip archive of the following structure: @@ -873,7 +939,7 @@ has own color which corresponds to a label. - supported annotations: Rectangles, Polygons -#### CamVid Loader +#### CamVid import Uploaded file: a zip archive of the structure above @@ -881,7 +947,7 @@ Uploaded file: a zip archive of the structure above ### [WIDER Face](http://shuoyang1213.me/WIDERFACE/) -#### WIDER Face Dumper +#### WIDER Face export Downloaded file: a zip archive of the following structure: @@ -899,19 +965,21 @@ taskname.zip/ ``` - supported annotations: Rectangles (with attributes), Labels -- supported attributes: `blur`, `expression`, `illumination`, - `occluded` (both the annotation property & an attribute), `pose`, `invalid` +- supported attributes: + - `blur`, `expression`, `illumination`, `pose`, `invalid` + - `occluded` (both the annotation property & an attribute) -#### WIDER Face Loader +#### WIDER Face import Uploaded file: a zip archive of the structure above - supported annotations: Rectangles (with attributes), Labels -- supported attributes: `blur`, `expression`, `illumination`, `occluded`, `pose`, `invalid` +- supported attributes: + - `blur`, `expression`, `illumination`, `occluded`, `pose`, `invalid` ### [VGGFace2](https://github.com/ox-vgg/vgg_face2) -#### VGGFace2 Dumper +#### VGGFace2 export Downloaded file: a zip archive of the following structure: @@ -934,7 +1002,7 @@ label1 - supported annotations: Rectangles, Points (landmarks - groups of 5 points) -#### VGGFace2 Loader +#### VGGFace2 import Uploaded file: a zip archive of the structure above @@ -942,7 +1010,7 @@ Uploaded file: a zip archive of the structure above ### [Market-1501](https://www.aitribune.com/dataset/2018051063) -#### Market-1501 Dumper +#### Market-1501 export Downloaded file: a zip archive of the following structure: @@ -970,7 +1038,7 @@ s1 - sequence - supported annotations: Label `market-1501` with atrributes (`query`, `person_id`, `camera_id`) -#### Market-1501 Loader +#### Market-1501 import Uploaded file: a zip archive of the structure above @@ -978,7 +1046,7 @@ Uploaded file: a zip archive of the structure above ### [ICDAR13/15](https://rrc.cvc.uab.es/?ch=2) -#### ICDAR13/15 Dumper +#### ICDAR13/15 export Downloaded file: a zip archive of the following structure: @@ -1027,7 +1095,7 @@ taskname.zip/ - supported annotations: Rectangles and Polygons with label `icdar` and attributes `index`, `text`, `color`, `center` -#### ICDAR13/15 Loader +#### ICDAR13/15 import Uploaded file: a zip archive of the structure above diff --git a/cvat/apps/dataset_manager/formats/coco.py b/cvat/apps/dataset_manager/formats/coco.py index 3ec3ab18..3e4fb223 100644 --- a/cvat/apps/dataset_manager/formats/coco.py +++ b/cvat/apps/dataset_manager/formats/coco.py @@ -19,7 +19,8 @@ def _export(dst_file, task_data, save_images=False): dataset = Dataset.from_extractors(CvatTaskDataExtractor( task_data, include_images=save_images), env=dm_env) with TemporaryDirectory() as temp_dir: - dataset.export(temp_dir, 'coco_instances', save_images=save_images) + dataset.export(temp_dir, 'coco_instances', save_images=save_images, + merge_images=True) make_zip_archive(temp_dir, dst_file) diff --git a/cvat/apps/documentation/static/documentation/images/exported_cls_masks_example.png b/cvat/apps/documentation/static/documentation/images/exported_cls_masks_example.png new file mode 100644 index 0000000000000000000000000000000000000000..e0dfa58a630a3c6dffe6cf025e046302f885003f GIT binary patch literal 5719 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 literal 0 HcmV?d00001 diff --git a/cvat/apps/documentation/static/documentation/images/exported_inst_masks_example.png b/cvat/apps/documentation/static/documentation/images/exported_inst_masks_example.png new file mode 100644 index 0000000000000000000000000000000000000000..d0362c805aad62b99cc2f62bc7725a13ab45f742 GIT binary patch literal 5135 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 mX)ck^co7G0C0) literal 0 HcmV?d00001 diff --git a/cvat/apps/documentation/static/documentation/images/label_color_picker.jpg b/cvat/apps/documentation/static/documentation/images/label_color_picker.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd0314768c5f00d2e3aeb833832e3a8878673c06 GIT binary patch literal 52186 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�CLEYp3ZYnJSMILy|I&T(=}L;w{g%f` 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 HeEh!vJ<(?n literal 0 HcmV?d00001 diff --git a/cvat/apps/documentation/static/documentation/images/mask_export_example1_editor.png b/cvat/apps/documentation/static/documentation/images/mask_export_example1_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..a53e4ca18d530b48fca1410190b643c8de02b5c3 GIT binary patch literal 28770 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 bJo;B92BW_IF%VJS{R4J&qB_<&1pW3u?Y0ea literal 0 HcmV?d00001 diff --git a/cvat/apps/documentation/user_guide.md b/cvat/apps/documentation/user_guide.md index 2bd85467..bc21e2e5 100644 --- a/cvat/apps/documentation/user_guide.md +++ b/cvat/apps/documentation/user_guide.md @@ -29,6 +29,7 @@ - [OpenCV Tools](#opencv-tools) - [Annotation with rectangle by 4 points](#annotation-with-rectangle-by-4-points) - [Annotation with polygons](#annotation-with-polygons) + - [Creating masks](#creating-masks) - [Annotation with polylines](#annotation-with-polylines) - [Annotation with points](#annotation-with-points) - [Points in shape mode](#points-in-shape-mode) @@ -1282,6 +1283,67 @@ To edit a polygon you have to click on it while holding `Shift`, it will open th ![](static/documentation/images/gif007_mapillary_vistas.gif) +### Cutting holes in polygons + +Currently, CVAT does not support cutting transparent holes in polygons. However, +it is poissble to generate holes in exported instance and class masks. +To do this, one needs to define a background class in the task and draw holes +with it as additional shapes above the shapes needed to have holes: + +The editor window: + ![The editor](static/documentation/images/mask_export_example1_editor.png) + +Remember to use z-axis ordering for shapes by \[\-\] and \[\+\, \=\] keys. + +Exported masks: + ![A class mask](static/documentation/images/mask_export_example1_cls_mask.png) ![An instance mask](static/documentation/images/mask_export_example1_inst_mask.png) + +Notice that it is currently impossible to have a single instance number for +internal shapes (they will be merged into the largest one and then covered by +"holes"). + +### Creating masks + +There are several formats in CVAT that can be used to export masks: +- `Segmentation Mask` (PASCAL VOC masks) +- `CamVid` +- `MOTS` +- `ICDAR` +- `COCO` (RLE-encoded instance masks, [guide](https://github.com/openvinotoolkit/cvat/blob/develop/cvat/apps/dataset_manager/formats/README.md#coco)) +- `TFRecord` ([over Datumaro](https://github.com/openvinotoolkit/datumaro/blob/develop/docs/user_manual.md), [guide](https://github.com/openvinotoolkit/cvat/blob/develop/cvat/apps/dataset_manager/formats/README.md#tfrecord)): +- `Datumaro` + +An example of exported masks (in the `Segmentation Mask` format): + + ![A class mask](static/documentation/images/exported_cls_masks_example.png) ![An instance mask](static/documentation/images/exported_inst_masks_example.png) + +Important notices: +- Both boxes and polygons are converted into masks +- Grouped objects are considered as a single instance and exported as a single + mask (label and attributes are taken from the largest object in the group) + +#### Class colors + +All the labels have associated colors, which are used in the generated masks. +These colors can be changed in the task label properties: + + ![](static/documentation/images/label_color_picker.jpg) + +Label colors are also displayed in the annotation window on the right panel, +where you can show or hide specific labels +(only the presented labels are displayed): + + ![](static/documentation/images/label_panel_anno_window.jpg) + +A background class can be: +- A default class, which is implicitly-added, of black color (RGB 0, 0, 0) +- `background` class with any color (has a priority, name is case-insensitive) +- Any class of black color (RGB 0, 0, 0) + +To change backgound color in generated masks (default is black), +change `background` class color to the desired one. + + ## Annotation with polylines It is used for road markup annotation etc. diff --git a/cvat/requirements/base.txt b/cvat/requirements/base.txt index 2d5c8a1f..a6501a4e 100644 --- a/cvat/requirements/base.txt +++ b/cvat/requirements/base.txt @@ -50,4 +50,4 @@ open3d==0.11.2 # --no-binary=pycocotools: workaround for binary incompatibility on numpy 1.20 # of pycocotools and tensorflow 2.4.1 # when pycocotools is installed by wheel in python 3.8+ -datumaro==0.1.7 --no-binary=datumaro --no-binary=pycocotools +datumaro==0.1.8 --no-binary=datumaro --no-binary=pycocotools