Skip to content
OATSCHEMA

Docs / Schemas / object-detection / 0.2.0

Object Detection 0.2.0

Represent objects detected within a source. Supports bounding boxes, polygons, hierarchical relationships, and confidence scores.

This is an older version of object-detection.

The latest version is 0.8.0. Releases before 0.7.0 use the $id https://dorsalhub.com/schemas/open/object-detection and are served by DorsalHub.

$id
https://dorsalhub.com/schemas/open/object-detection
Latest
https://oatschema.org/object-detection
Versions
Source
v0.2.0 on GitHub

Schema

object-detection.json Raw
{    "x-license": {        "id": "Apache-2.0",        "notice": "Copyright 2025 Dorsal Hub LTD",        "url": "https://github.com/dorsalhub/open-validation-schemas/blob/main/LICENSE"    },    "$schema": "https://json-schema.org/draft/2020-12/schema",    "$id": "https://dorsalhub.com/schemas/open/object-detection",    "title": "Object Detection",    "version": "0.2.0",    "description": "Represent objects detected within a source. Supports bounding boxes, polygons, hierarchical relationships, and confidence scores.",    "type": "object",    "properties": {        "unit": {            "type": "string",            "description": "The unit for all coordinate values. 'px' for pixels, 'normalized' for values from 0.0 to 1.0.",            "enum": [                "px",                "pt",                "normalized",                "per_mille"            ]        },        "producer": {            "type": "string",            "description": "The creator (model, tool or author) of this record.",            "maxLength": 1024        },        "vocabulary_url": {            "type": "string",            "description": "A URL pointing to a more detailed external vocabulary or ontology.",            "format": "uri",            "maxLength": 2048        },        "vocabulary": {            "type": "array",            "description": "A list of the possible labels for detected objects.",            "maxItems": 100,            "items": {                "type": "string",                "description": "A single valid label from the vocabulary.",                "maxLength": 128            }        },        "score_explanation": {            "type": "string",            "description": "Defines the meaning and range of the 'score' field.",            "maxLength": 256        },        "objects": {            "type": "array",            "description": "An array of objects detected within the file.",            "maxItems": 100000,            "items": {                "type": "object",                "properties": {                    "id": {                        "type": "string",                        "description": "A unique identifier for this object within the annotation (e.g., UUID4). Required for establishing hierarchies.",                        "maxLength": 128                    },                    "parent_id": {                        "type": "string",                        "description": "The id of the parent object, if this object is nested within another.",                        "maxLength": 128                    },                    "label": {                        "type": "string",                        "description": "The label of the detected object (e.g., 'car', 'face', 'logo').",                        "maxLength": 128                    },                    "score": {                        "type": "number",                        "description": "A normalized score for this detection (-1.0 to 1.0). Positive values [0, 1] represent confidence in the object's presence. Negative values [-1, 0) are reserved for 'hard negatives' (e.g., explicitly annotating that an object is not present in this region).",                        "minimum": -1,                        "maximum": 1                    },                    "box": {                        "type": "object",                        "description": "A rectangular bounding box defined by its top-left corner (x,y) and its dimensions.",                        "properties": {                            "x": {                                "type": "number",                                "description": "The x-coordinate of the top-left corner.",                                "minimum": 0                            },                            "y": {                                "type": "number",                                "description": "The y-coordinate of the top-left corner.",                                "minimum": 0                            },                            "width": {                                "type": "number",                                "minimum": 0,                                "description": "The width of the box."                            },                            "height": {                                "type": "number",                                "minimum": 0,                                "description": "The height of the box."                            }                        },                        "required": [                            "x",                            "y",                            "width",                            "height"                        ],                        "additionalProperties": false                    },                    "polygon": {                        "type": "array",                        "description": "An array of coordinate points defining the object's boundary for non-rectangular shapes.",                        "maxItems": 1000,                        "minItems": 3,                        "items": {                            "type": "object",                            "properties": {                                "x": {                                    "type": "number",                                    "description": "The x-coordinate of a vertex point.",                                    "minimum": 0                                },                                "y": {                                    "type": "number",                                    "description": "The y-coordinate of a vertex point.",                                    "minimum": 0                                }                            },                            "required": [                                "x",                                "y"                            ],                            "additionalProperties": false                        }                    },                    "attributes": {                        "type": "object",                        "description": "Arbitrary metadata relevant to this item.",                        "maxProperties": 16,                        "additionalProperties": {                            "anyOf": [                                {                                    "type": "string",                                    "maxLength": 1024                                },                                {                                    "type": "number"                                },                                {                                    "type": "boolean"                                },                                {                                    "type": "null"                                }                            ]                        }                    }                },                "required": [                    "label"                ],                "additionalProperties": false,                "oneOf": [                    {                        "required": [                            "box"                        ]                    },                    {                        "required": [                            "polygon"                        ]                    }                ]            }        },        "attributes": {            "type": "object",            "description": "Arbitrary metadata relevant to this record.",            "maxProperties": 16,            "additionalProperties": {                "anyOf": [                    {                        "type": "string",                        "maxLength": 1024                    },                    {                        "type": "number"                    },                    {                        "type": "boolean"                    },                    {                        "type": "null"                    }                ]            }        }    },    "required": [        "unit",        "objects"    ],    "additionalProperties": false,    "allOf": [        {            "if": {                "properties": {                    "unit": {                        "const": "normalized"                    }                }            },            "then": {                "properties": {                    "objects": {                        "items": {                            "properties": {                                "box": {                                    "properties": {                                        "x": {                                            "maximum": 1                                        },                                        "y": {                                            "maximum": 1                                        },                                        "width": {                                            "maximum": 1                                        },                                        "height": {                                            "maximum": 1                                        }                                    }                                },                                "polygon": {                                    "items": {                                        "properties": {                                            "x": {                                                "maximum": 1                                            },                                            "y": {                                                "maximum": 1                                            }                                        }                                    }                                }                            }                        }                    }                }            }        },        {            "if": {                "properties": {                    "unit": {                        "const": "per_mille"                    }                }            },            "then": {                "properties": {                    "objects": {                        "items": {                            "properties": {                                "box": {                                    "properties": {                                        "x": {                                            "maximum": 1000                                        },                                        "y": {                                            "maximum": 1000                                        },                                        "width": {                                            "maximum": 1000                                        },                                        "height": {                                            "maximum": 1000                                        }                                    }                                },                                "polygon": {                                    "items": {                                        "properties": {                                            "x": {                                                "maximum": 1000                                            },                                            "y": {                                                "maximum": 1000                                            }                                        }                                    }                                }                            }                        }                    }                }            }        }    ]}

Fields

  • unit string required

    The unit for all coordinate values. 'px' for pixels, 'normalized' for values from 0.0 to 1.0.

    Allowed values: "px", "pt", "normalized", "per_mille"

  • producer string

    The creator (model, tool or author) of this record.

    • at most 1024 characters
  • vocabulary_url string

    A URL pointing to a more detailed external vocabulary or ontology.

    • at most 2048 characters
    • format uri
  • vocabulary array of string

    A list of the possible labels for detected objects.

    Each item: A single valid label from the vocabulary.

    • at most 100 items
    • each at most 128 characters
  • score_explanation string

    Defines the meaning and range of the 'score' field.

    • at most 256 characters
  • objects array of object required

    An array of objects detected within the file.

    • at most 100000 items
    • id string

      A unique identifier for this object within the annotation (e.g., UUID4). Required for establishing hierarchies.

      • at most 128 characters
    • parent_id string

      The id of the parent object, if this object is nested within another.

      • at most 128 characters
    • label string required

      The label of the detected object (e.g., 'car', 'face', 'logo').

      • at most 128 characters
    • score number

      A normalized score for this detection (-1.0 to 1.0). Positive values [0, 1] represent confidence in the object's presence. Negative values [-1, 0) are reserved for 'hard negatives' (e.g., explicitly annotating that an object is not present in this region).

      • -1 to 1
    • box object

      A rectangular bounding box defined by its top-left corner (x,y) and its dimensions.

      • x number required

        The x-coordinate of the top-left corner.

        • ≥ 0
      • y number required

        The y-coordinate of the top-left corner.

        • ≥ 0
      • width number required

        The width of the box.

        • ≥ 0
      • height number required

        The height of the box.

        • ≥ 0
    • polygon array of object

      An array of coordinate points defining the object's boundary for non-rectangular shapes.

      • 3 to 1000 items
      • x number required

        The x-coordinate of a vertex point.

        • ≥ 0
      • y number required

        The y-coordinate of a vertex point.

        • ≥ 0
    • attributes object

      Arbitrary metadata relevant to this item.

      • at most 16 properties
      • * string | number | boolean | null

        Any other key.

        • string: at most 1024 characters

    Rules:

    • Exactly one of box, polygon must be present.
      Show the JSON Schema
      {  "oneOf": [    {      "required": [        "box"      ]    },    {      "required": [        "polygon"      ]    }  ]}
  • attributes object

    Arbitrary metadata relevant to this record.

    • at most 16 properties
    • * string | number | boolean | null

      Any other key.

      • string: at most 1024 characters

Rules:

  • When unit is "normalized", further limits apply.
    Show the JSON Schema
    {  "if": {    "properties": {      "unit": {        "const": "normalized"      }    }  },  "then": {    "properties": {      "objects": {        "items": {          "properties": {            "box": {              "properties": {                "x": {                  "maximum": 1                },                "y": {                  "maximum": 1                },                "width": {                  "maximum": 1                },                "height": {                  "maximum": 1                }              }            },            "polygon": {              "items": {                "properties": {                  "x": {                    "maximum": 1                  },                  "y": {                    "maximum": 1                  }                }              }            }          }        }      }    }  }}
  • When unit is "per_mille", further limits apply.
    Show the JSON Schema
    {  "if": {    "properties": {      "unit": {        "const": "per_mille"      }    }  },  "then": {    "properties": {      "objects": {        "items": {          "properties": {            "box": {              "properties": {                "x": {                  "maximum": 1000                },                "y": {                  "maximum": 1000                },                "width": {                  "maximum": 1000                },                "height": {                  "maximum": 1000                }              }            },            "polygon": {              "items": {                "properties": {                  "x": {                    "maximum": 1000                  },                  "y": {                    "maximum": 1000                  }                }              }            }          }        }      }    }  }}

Copyright 2025 Dorsal Hub LTD. Licensed under Apache-2.0.