Import Labels

Overview

The Import Labels Plugin allows you to import pre-labels into a project from a CSV file. This plugin is designed to support bulk ingestion of labels generated by external tools, models, or annotation pipelines and map them correctly to existing assets in your project.

Cover

Import Labels

Plugin Functionality

The plugin reads a CSV file where each row represents a single asset and imports labels based on the configured parameters. Depending on the configuration, it can:

  • Match CSV rows to existing project assets using an external ID column

  • Import classification labels from one or more CSV columns

  • Import segmentation/polygon annotations from mask files referenced in the CSV

  • Map mask values to label classes using project colors or custom mappings

  • Overwrite existing labels or append new ones

  • Process imports in customized batches for better performance.

Example Configurations

Import Classification Annotations

file-download
290B
chevron-rightCategory Schemahashtag

Import Segmentation Annotations

file-download
688B
chevron-rightCategory Schemahashtag

Supported Data Types

  • Compatible with all data types available in AngoHub.

Supported Annotation Tools

  • Classifications

    • Radio

    • Checkbox

    • Single-Select Dropdown

    • Multi-Select Dropdown

    • Text

  • Tools

    • Segmentation

    • Polygon

triangle-exclamation

Plugin Configuration

You may vary a number of settings related to your export from the Config JSON field. Each option is detailed below:

  • "external_id_column": Name of the CSV column that contains external IDs used to match imported labels to existing assets in the project.

    • Example:

      • "external_id_column": "External ID"

  • "classification_columns": List of CSV column names that contain classification values to import. Each column is mapped to a classification schema.

    • Example:

      • "classification_columns": ["Color", "Category"]

  • "classification_schema_ids": List of classification schema IDs that define how values from classification_columns are interpreted and mapped during import. The order must match classification_columns.

    • Example:

      • "classification_schema_ids": ["12345", "12346"]

  • "mask_column": Name of the CSV column that contains segmentation mask references. The value can be a file path or URL pointing to the mask file.

    • Example:

      • "mask_column": "Mask"

  • "mask_color_mapping": Defines how colors in segmentation masks are mapped to label classes. Use project colors or provide a custom mapping.

    • Options:

      • "mask_color_mapping": "project_colors"

      • "mask_color_mapping": {"Car" : [244, 67, 54], "Person" : [3, 169, 244]}

      • "mask_color_mapping": {"Car" : [1], "Person" : [2]}

  • "segmentation_mode": Controls how segmentation annotations are created from masks. "instance_segmentation" creates a separate object for each connected region per class and "semantic_segmentation" creates a single object for each class.

    • Options:

      • "segmentation_mode": "instance_segmentation"

      • "segmentation_mode": "semantic_segmentation"

  • "polygon_simplification_tolerance": Tolerance used when converting masks to polygons. Higher values reduce the number of polygon points at the cost of geometric precision.

    • Example:

      • "polygon_simplification_tolerance": 0.1

  • "storage_id": Identifier of the storage location where mask files referenced in the CSV are stored. Used to resolve file paths or storage keys during import.

    • Example:

      • "storage_id": "1234"

  • "overwrite": If true, existing labels for matching assets will be replaced by the imported labels. If false, imported labels are added while preserving existing labels.

    • Example:

      • "overwrite": true

      • "overwrite": false

  • "ignored_schema_ids": List of schema IDs to ignore during import. Any tools or classifications associated with these schemas will be skipped, even if present in the CSV.

    • Example:

      • "ignored_schema_ids": ["1234", "1235"]

  • "upload_batch_size": Number of rows from the CSV to process per batch. Larger batch sizes improve throughput but increase memory usage and may hit API limits.

    • Example:

      • "upload_batch_size": 100

Last updated