Import annotations

Annotation file format

You can upload annotations with the JSON structure in the SuperAnnotate annotation format. The annotation files should have the following naming conventions:

Project type

Annotation file naming convention

Pixel

<image_name>___pixel.json
<image_name>___save.png

Vector

<image_name>___objects.json

Text

<document_name>.json

Video

<video_name>.json

❗️

When you upload annotations, make sure that their corresponding items are available in the project. If they aren’t, then the annotations won’t be uploaded.

🚧

The annotations you upload override the existing annotations.

Annotation format

SuperAnnotate supports the SuperAnnotate annotation format and other commonly used annotation formats (COCO, YOLO, and VOC).

To use the commonly used annotation formats, you need to convert the annotations to the SuperAnnotate annotation format first. The SuperAnnotate annotation format is based on JSON.

  • Pixel Project
  • Vector Project
  • Video Project
  • Text Project

Upload annotations from local storage

To upload annotations from a local directory:

sa.upload_annotations_from_folder_to_project(
    project = "Project Name",
    folder_path = "./data/annotations")

To enable recursive subfolder upload (when annotations are stored within multiple subfolders) set recursive_subfolders to true:

sa.upload_annotations_from_folder_to_project(
    project = "Project Name",
    folder_path = "./data/annotations", 
    recursive_subfolders = True)

🚧

When you upload annotations, the status of an image will change to inProgress.

Upload annotations from a cloud storage

AWS S3 Bucket

To upload annotations from an AWS S3 bucket:

sa.upload_annotations_from_folder_to_project(
    project = "Project Name",
    folder_path = "./data/annotations",
    s3_bucket_name = "Bucket Name")

🚧

  • When you upload annotations, the status of an image will change to inProgress.

Identify invalid annotations

When you want to upload annotations from a folder, the function will identify the invalid annotations and show you a warning message that contains the number of invalid annotations.

The function will also put the paths of invalid annotations to the return tuple of (uploaded, could-not-upload, missing-images), in the could-not-upload list accordingly.

Use the function below to fetch the possible reason(s) for why an annotation is invalid.

superannotate.validate_annotations(
     project_type = “Video”, 
     annotations_json = “./<video_name.json>”)

Add annotations

You can add annotations to images only in Vector Projects.

To add a Point to an image in a specific location:

sa.add_annotation_point_to_image(
    project = "Project Name",
    image_name = "image_name.png", 
    point = [100, 200],
    annotation_class_name = "Class Name")

To add a Bounding Box to an image in a specific location:

sa.add_annotation_bbox_to_image(
    project = "Project Name", 
    image_name = "image_name.png",
    bbox = [100, 200, 300, 500],
    annotation_class_name = "Class Name")

📘

Add a Bounding Box by setting its top-right and bottom-left coordinates in the bbox field.

🚧

When you add annotations, the status of an image will change to inProgress.


Did this page help you?