GT Studio
  • Introduction
  • Getting started
    • Set up a Project
    • Set up Annotation Specification
    • Set up a Workflow
    • Create Jobs
    • Export Jobs
    • What's next?
  • Tools for Labelling
    • Image Segmentation
      • Tool Introduction
      • Maker Tool
      • Reviewer Tool
      • QC Tool
    • 2D Video and Image Labeling
      • Tool Introduction
      • Maker Tool
      • Reviewer Tool
      • QC Tool
  • Workflow
    • Workflow Steps
      • Steps and Patch
      • Step Analytics
      • Move and Push Jobs
      • Job Assignment
    • Job Build Structure
      • Base type - Image
      • Base type - Segmentation
      • Base type - Video
    • Workflow Routes
  • How to Guides
    • How to set up an image or a video classification task?
    • How to setup a Pose Tracking Project?
    • How to create jobs with pre-labeled data?
    • How to export annotation data in COCO format?
    • How to convert Playment segmentation mask to a grayscale mask
    • How to split a video into frames and create jobs in GT Studio
    • How to add classes after setting up the workflow
    • How to re-open a completed batch for making changes
  • Batches
    • Job Viewer
    • Quality Check
  • Annotator Performance
    • Video and Images
    • Segmentation
  • Annotation Specification
    • Classes
    • Attributes
  • Team management
    • Invite your team
    • Groups
  • API reference
  • Secure Attachment Access
  • What's New?
  • Hybrid Cloud
  • We are phasing out our SaaS offering — GT Studio
Powered by GitBook
On this page
  • Job Build Structure
  • Annotations structure

Was this helpful?

  1. Workflow
  2. Job Build Structure

Base type - Image

There are two fields in the job build for an image-based project:

  1. image_url: URL of the image to be annotated

  2. maker_response: It contains all the annotations made on the job.

Job Build Structure

{
  "image_url": "https://sample-unannotated-url.com",
  "maker_response": {
    "rectangles": {                   
        "data": [....]                
    },
    "polygons": {                
       "data": [....]                
    },
    "landmarks": {                
       "data": [....]                
    }, 
    "lines": {                
       "data": [....]                
    }, 
    "cuboids": {                
       "data": [....]                
    },
}

The maker_response has a field for every annotation type. Every annotation_type has a data field that contains an array of annotations.

Annotations structure

> example rectangle annotation data
"rectangles": {
  "data": [
    {
      "_id": "72c888f6-b365-4f27-ad57-d7841da2de0c",
      "label": "Car",
      "coordinates": [
        {
          "x": 0.12,
          "y": 0.12
        },
        {
          "x": 0.24,
          "y": 0.12
        },
        {
          "x": 0.24,
          "y": 0.24
        },
        {
          "x": 0.12,
          "y": 0.24
        }
      ],
      "attributes": {
        "occlusion": {
          "value": "100%"
        },
        "visibility": {
          "value": "partially_visible"
        }
      },
      "state": "editable"
    }
  ]
}

Each annotation has the following values:

  • id: Unique ID for the annotation

  • label: Class (label) selected for the annotation

  • coordinates: List of (x,y) coordinates for the rectangle in the order: [Top left, top right, bottom right, bottom left]

  • attributes: It contains the name of the attribute and the value selected.

  • state: It defines the state of the annotation in GT create, it can have two values:

    1. editable: Annotator will be able to make any changes to the annotation

    2. non_editable: Annotator will be unable to make any changes to the annotation

> example polygon annotation data
"polygons": {
  "data": [
    {
      "_id": "cbdcd7c4-8ba7-4bce-bfdd-fa3a9a2c0d47",
      "edges": {
        "e1": [
          "p1",
          "p2"
        ],
        "e2": [
          "p2",
          "p3"
        ],
        "e3": [
          "p3",
          "p4"
        ],
        "e4": [
          "p4",
          "p5"
        ],
        "e5": [
          "p5",
          "p6"
        ],
        "e6": [
          "p6",
          "p1"
        ]
      },
      "label": "Car",
      "state": "editable",
      "points": {
        "p1": {
          "x": 0.373737,
          "y": 0.12367
        },
        "p2": {
          "x": 0.480696,
          "y": 0.104769
        },
        "p3": {
          "x": 0.600541,
          "y": 0.103051
        },
        "p4": {
          "x": 0.592809,
          "y": 0.259408
        },
        "p5": {
          "x": 0.478118,
          "y": 0.25769
        },
        "p6": {
          "x": 0.41884,
          "y": 0.225044
        }
      },
      "attributes": {
        "occlusion": {
          "value": "100%"
        },
        "visibility": {
          "value": "partially_visible"
        }
      }
    }
  ],
  "type": "polygons",
  
}

Each annotation will have the following values:

  • id: Unique ID for the annotation.

  • label: Class selected for the annotation.

  • edges: A polygon annotation can have one or more edges, edges key defines. all the edges for the annotation, where each edge is a list of two points.

  • points: It contains the label and coordinates of all the points.

  • attributes: It contains the name of the attribute and the value selected.

  • state: It defines the state of the annotation in GT create, it can have two values:

    1. editable: Annotator will be able to make any changes to the annotation.

    2. non_editable: Annotator will be unable to make any changes to the annotation.

  > example landmark annotation data
  "landmarks": {
      "data": [
        {
          "_id": "8834d6ed-78cc-41f9-8729-3d68093a2889",
          "label": "Traffic light",
          "state": "editable",
          "points": {
            "p1": {
              "x": 0.375026,
              "y": 0.627106,
              "label": 1
            },
            "p2": {
              "x": 0.452345,
              "y": 0.651161,
              "label": 2
            },
            "p3": {
              "x": 0.560593,
              "y": 0.707862,
              "label": 3
            }
          },
          "attributes": {
                    "Color": {
                        "value": "Green"
                        }
                    }
       } 
      ],
      "type": "landmarks",
      "success": true
    }

Each annotation will have the following values:

  • id: Unique ID for the annotation.

  • label: Class selected for the annotation.

  • points: It contains the label and coordinates of all the points.

  • attributes: It contains the name of the attribute and the value selected.

  • state: It defines the state of the annotation in GT create, it can have two values:

    1. editable: Annotator will be able to make any changes to the annotation.

    2. non_editable: Annotator will be unable to make any changes to the annotation.

> example line annotation data
"lines": {
      "data": [
        {
          "_id": "abc0a04b-dc1e-4de6-af29-fbdde53b61e7",
          "edges": {
            "e1": [
              "p1",
              "p2"
            ],
            "e2": [
              "p2",
              "p3"
            ],
            "e3": [
              "p3",
              "p4"
            ],
            "e4": [
              "p4",
              "p5"
            ],
            "e5": [
              "p5",
              "p6"
            ]
          },
          "label": "Lane",
          "state": "editable",
          "points": {
            "p1": {
              "x": 0.192036,
              "y": 0.487931
            },
            "p2": {
              "x": 0.314459,
              "y": 0.438102
            },
            "p3": {
              "x": 0.545129,
              "y": 0.38312
            },
            "p4": {
              "x": 0.699768,
              "y": 0.398584
            },
            "p5": {
              "x": 0.747448,
              "y": 0.451848
            },
            "p6": {
              "x": 0.578634,
              "y": 0.560096
            }
          },
          "attributes": {
                    "visibility": {
                        "value": "partially_visible"
                    }
        }
       } 
      ],
      "type": "lines",
    }

Each annotation will have the following values:

  • id: Unique ID for the annotation.

  • label: Class selected for the annotation.

  • edges: A line annotation can have one or more edges, edges key defines all the edges for the annotation, where each edge is a list of two points.

  • points: It contains the label and coordinates of all the points.

  • attributes: It contains the name of the attribute and the value selected.

  • state: It defines the state of the annotation in GT create, it can have two values:

    1. editable: Annotator will be able to make any changes to the annotation.

    2. non_editable: Annotator will be unable to make any changes to the annotation.

PreviousJob Build StructureNextBase type - Segmentation

Last updated 4 years ago

Was this helpful?