Skip to content

Latest commit

 

History

History
208 lines (160 loc) · 8.2 KB

multiview.md

File metadata and controls

208 lines (160 loc) · 8.2 KB

Multiview Labeling Format

Overview

Multiview mode is a feature that allows you to view and annotate multiple images simultaneously. It is especially useful when you need to label objects from different perspectives, 3D reconstruction images, Autonomous vehicle camera views or depth estimation task images. Labeling in multiview mode can significantly increase the speed of the labeling process (for example, you don't need to switch between images and select a desired class to label the same object)

Just organize images into groups and drop them to the import. The app will do the rest: it will detect groups, tag images, and activate grouping and multiview modes in the project settings.

Note: To use the multiview import feature, you need to create a project with the Multiview image annotation setting enabled. You can also enable this setting in the project settings after the import. Here is a illustration of how to upload multiview images:

Import Multiview images

Format description

Supported image formats: .jpg, .jpeg, .mpo, .bmp, .png, .webp, .tiff, .tif, .jfif, .avif, .heic, and .heif
With annotations: Yes
Annotation types: Tags in Supervisely format
Grouped by: Folders (corresponding tags will be assigned to images)

Key Features

  • 🏷️ NEW: Upload multiview project with grouped labels
  • All images in groups in the created project will be tagged
  • Images Grouping option will be turned on by default in the created project
  • Images will be grouped by tag's value
  • Tag value is defined by group directory name
  • Works with .nrrd image format (2D only)

How to Use

1. Prepare structure:

  • Archive zip, tar, tar.xz, tar.gz

      📦 my_project.zip
       ┗ 📂 cars catalog
          ┗ 📂 used cars
             ┣ 📂 105
             ┃  ┣ 🏞️ car_105_front.jpg
             ┃  ┗ 🏞️ car_105_top.jpg
             ┣ 📂 202
             ┃  ┣ 🏞️ car_202_front.jpg
             ┃  ┗ 🏞️ car_202_top.jpg
             ┣ 📂 357
             ┃  ┣ 🏞️ car_357_front.jpg
             ┃  ┗ 🏞️ car_357_top.jpg
             ┣ 🏞️ car_401_front.jpg
             ┣ 🏞️ car_401_top.jpg
             ┗ 🏞️ car_401_side.jpg
    
  • Folder

      📂 cars catalog
       ┗ 📂 used cars
          ┣ 📂 car_id_105
          ┃  ┣ 🏞️ car_105_front.jpg
          ┃  ┗ 🏞️ car_105_top.jpg
          ┣ 📂 car_id_202
          ┃  ┣ 🏞️ car_202_front.jpg
          ┃  ┗ 🏞️ car_202_top.jpg
          ┣ 📂 car_id_357
          ┃  ┣ 🏞️ car_357_front.jpg
          ┃  ┗ 🏞️ car_357_top.jpg
          ┣ 🏞️ car_401_front.jpg
          ┣ 🏞️ car_401_top.jpg
          ┗ 🏞️ car_401_side.jpg
    

    Structure explained:

    • Archive must contain only 1 project directory.
    • Inside project directory must be 1 dataset directory.
    • Group directories must be populated with images and placed inside dataset directory. All images inside groups will be tagged with folder name value.
    • All images in the root dataset directory will be uploaded as a regular images and will not be tagged.
  • 🏷️ NEW: Supervisely Project Folder or Archive with label groups

    This type of structure will work only if you have the required data in the files:

    • All images must be tagged with a group tag of the same value.
    • All necessary labels must be tagged with a label group tag of the same value.
    • The project settings in meta.json must contain a multiView section with the correct data.

    Recommended structure

    📦archive
     ┗📂project folder
       ┣ 📂dataset_name_01
       ┃  ┣ 📂ann
       ┃  ┃  ┣ 📄106_1.jpeg.json
       ┃  ┃  ┣ 📄106_2.jpeg.json
       ┃  ┃  ┣ 📄106_3.jpeg.json
       ┃  ┃  ┣ 📄107_1.jpeg.json
       ┃  ┃  ┗ ...
       ┃  ┣ 📂img
       ┃  ┃  ┣ 🏞️106_1.jpg
       ┃  ┃  ┣ 🏞️106_2.jpg
       ┃  ┃  ┣ 🏞️106_3.jpg
       ┃  ┃  ┣ 🏞️107_1.jpg
       ┃  ┃  ┗ ...
       ┃  ┗ 📂meta (optional)
       ┃     ┣ 📄106_1.jpeg.json
       ┃     ┣ 📄106_2.jpeg.json
       ┃     ┣ 📄106_3.jpeg.json
       ┃     ┣ 📄107_1.jpeg.json
       ┃     ┗ ...
       ┗ 📄meta.json
    

    Annotation explained:

    Below is the annotation for each image, for example 106_1.jpeg.json. Only the lines of interest are shown; other lines are omitted, but the structure is preserved.

    {
    	"tags": [
    		{
    			"name": "multiview",
    			"value": "106"
    		}
    	],
    	"objects": [
    		{
    			"classTitle": "Head Light",
    			"tags": [
    				{
    					"name": "@label-group-id",
    					"value": "head-light"
    				}
    			]
    		}
    	]
    }

    For an image group, an image must be tagged with the multiview tag (in our example) and assigned a value that represents the group, such as 106.

    For a label group, an object (label) must be tagged with the @label-group-id tag and assigned a value that represents the group. For example head-light

    Meta explained

    Required setting for the project to import as multiview. Also shown only lines of interest.

    {
    	"projectSettings": {
    		"multiView": {
    			"enabled": true,
    			"tagName": "multiview"
    		}
    	}
    }

    Image Labeling Tool Interface

    • 1 Multiview group
    • 2 Labeling group

    Labeling Tool Interface

You can download an example data:

  • images: download ⬇️

  • NRRD: download ⬇️

  • To display single images switch off Images Grouping setting.

    Switch off multi view mode

  • If you want to disable images grouping for the whole project, go to ProjectSettingsVisuals and uncheck

    Disable multiview mode in project settings

  • Windowing tool is available when working with .nrrd files. It helps to filter pixels to see bones, air, liquids etc.

    Nrrd windowing tool

  • Images view synchronization

    Synchronization OFF Synchronization ON

Useful links