Overview
Avala supports the following annotation types:| Type | Geometry | Use Cases |
|---|---|---|
| Bounding Box | 2D rectangle | Object detection, localization |
| Polygon | 2D arbitrary shape | Instance segmentation, precise outlines |
| 3D Cuboid | 3D box | Autonomous driving, robotics |
| Segmentation Mask | Pixel-level mask | Semantic segmentation, panoptic segmentation |
| Polyline | Open line segments | Lane detection, path annotation |
| Classification | No geometry | Scene classification, image tagging |
| Keypoints | Named points with connections | Pose estimation, facial landmarks |
Bounding Box
A 2D axis-aligned rectangular box defined by its top-left corner, width, and height.Properties
| Property | Type | Description |
|---|---|---|
x | float | X coordinate of the top-left corner (pixels) |
y | float | Y coordinate of the top-left corner (pixels) |
width | float | Width of the box (pixels) |
height | float | Height of the box (pixels) |
label | string | Class label |
attributes | object | Optional key-value attributes |
JSON Example
Polygon
An arbitrary closed polygon defined by an ordered list of vertices.Properties
| Property | Type | Description |
|---|---|---|
vertices | array | Ordered list of [x, y] coordinate pairs (pixels) |
label | string | Class label |
attributes | object | Optional key-value attributes |
JSON Example
3D Cuboid
A 3D bounding box defined by its center position, dimensions (length, width, height), and rotation.Properties
| Property | Type | Description |
|---|---|---|
center | object | Center position with x, y, z (meters) |
dimensions | object | Size with length, width, height (meters) |
rotation | object | Rotation with yaw, pitch, roll (radians) |
label | string | Class label |
attributes | object | Optional key-value attributes |
JSON Example
3D cuboid coordinates use the sensor frame of the point cloud. The
yaw value represents rotation around the Z-axis (vertical), which corresponds to the object’s heading direction.Segmentation Mask
A pixel-level mask that labels every pixel within a region. Masks are stored in run-length encoding (RLE) for efficiency.Properties
| Property | Type | Description |
|---|---|---|
mask | object | RLE-encoded mask with counts and size |
label | string | Class label |
instance_id | integer | Instance identifier (for instance segmentation) |
attributes | object | Optional key-value attributes |
JSON Example
Mask Format
Themask field uses COCO-style run-length encoding:
counts: Alternating runs of background and foreground pixel countssize:[height, width]of the image
Polyline
An open line defined by an ordered sequence of points. Unlike polygons, polylines are not closed.Properties
| Property | Type | Description |
|---|---|---|
points | array | Ordered list of [x, y] coordinate pairs (pixels) |
label | string | Class label |
attributes | object | Optional key-value attributes |
JSON Example
Classification
An image-level or frame-level label with no spatial geometry. Used for categorizing entire images or frames.Properties
| Property | Type | Description |
|---|---|---|
label | string | Classification label |
confidence | float | Confidence score (0.0 to 1.0), typically set by auto-labeling models |
attributes | object | Optional key-value attributes |
JSON Example
Keypoints
A set of named points with connections between them, typically used for pose estimation and skeleton annotation.Properties
| Property | Type | Description |
|---|---|---|
keypoints | array | List of keypoint objects, each with name, x, y, and visibility |
connections | array | List of [name_a, name_b] pairs defining skeleton edges |
label | string | Class label |
attributes | object | Optional key-value attributes |
Keypoint Visibility Values
| Value | Meaning |
|---|---|
0 | Not present (not in frame or not applicable) |
1 | Occluded (estimated position, not directly visible) |
2 | Visible |
JSON Example
Common Properties
Every annotation in Avala includes these shared properties regardless of type.| Property | Type | Description |
|---|---|---|
uid | string | Unique annotation identifier |
type | string | Annotation type (e.g., bounding_box, polygon, cuboid_3d) |
label | string | Class label from the project taxonomy |
attributes | object | Optional key-value pairs for additional metadata (e.g., occlusion, truncation) |
tracking_id | string | Object tracking identifier for video/sequence annotations (same across frames) |
frame_index | integer | Frame number within the sequence (for temporal data) |
created_by | string | User ID of the annotator who created the annotation |
created_at | string | ISO 8601 timestamp of creation |
updated_by | string | User ID of the last person to modify the annotation |
updated_at | string | ISO 8601 timestamp of the last modification |
The
tracking_id field is only present for annotations in video or multi-frame sequence data. It links the same object across frames for consistent tracking.Next Steps
- Learn how to use these tools in the Annotation Tools guide
- See Supported Formats for input data formats
- Explore Keyboard Shortcuts for efficient annotation