Skip to main content

Object Track

This schema builds on the following shared schemas:

PropertyTypeRequiredNote
channel_idIntegerYesUniquely identifies a source within a single device, for example, a video or radar sensor
classesArray of ObjectClassNoClassification candidates for the track (e.g., person, vehicle). The array is ordered, with the most likely classification candidate first
durationFloatNoTotal duration of the track in seconds. Usually calculated as end_time - start_time using a monotonic clock
end_timeStringNoTimestamp of the last observation in the track
idIDYesGlobally unique identifier
imageSnapshotNoRepresentative snapshot of the tracked object
maximum_speedFloatNoMaximum measured speed of an object in m/s
minimum_speedFloatNoMinimum measured speed of an object in m/s
partsArray of ObjectTrackReferenceNoReferences the original object tracks combined to create this track.

Each entry refers to another ObjectTrack. This track contains the combined contents of its parts, with the same or less detail.

This field records transformations or combinations, such as renames. For transformations that don't combine tracks, such as changing coordinate systems or simplifying the content, this field contains one entry that refers to the original track.
pathArray of TimeAndPositionNoTime-ordered samples of the track’s trajectory (timestamps and positions)
start_timeStringNoTimestamp of the first observation in the track

Object Track Reference​

PropertyTypeRequiredNote
object_track_idIDNoGlobally unique identifier
partsArray of ObjectTrackReferenceNoReferences the original object tracks combined to create this track.

Each entry refers to another ObjectTrack. This track contains the combined contents of its parts, with the same or less detail.

This field records transformations or combinations, such as renames. For transformations that don't combine tracks, such as changing coordinate systems or simplifying the content, this field contains one entry that refers to the original track.

Snapshot​

A cropped image.

PropertyTypeRequiredNote
crop_boxBoundingBoxYesNormalized bounding box of the region captured in data, relative to the source image.
dataStringYesImage payload. Base64-encoded when serialized to JSON
idStringYesUUID identifier string for the snapshot
timestampStringYesAccording to format: YYYY-MM-DDTHH:MM:SS.MMMMMMZ

Example​

{
"id": "65060329-828c-443c-b7c8-fed80874298e",
"channel_id": 3,
"duration": 0.4,
"start_time": "2025-09-30T15:06:37.337448Z",
"end_time": "2025-09-30T15:06:37.737448Z",
"minimum_speed": 0.3,
"maximum_speed": 1.5,
"classes": [
{
"type": "Human",
"score": 0.326,
"lower_clothing_colors": [
{ "name": "black", "score": 0.386 },
{ "name": "beige", "score": 0.316 },
{ "name": "blue", "score": 0.218 }
],
"upper_clothing_colors": [
{ "name": "black", "score": 0.47 },
{ "name": "gray", "score": 0.222 },
{ "name": "white", "score": 0.208 }
]
}
],
"image": {
"id": "bf5074bb-fbc1-4fe4-ab7e-37d2d4254b68",
"timestamp": "2025-09-30T15:06:37.737449Z",
"crop_box": {
"bottom": 0.542,
"left": 0.1947,
"right": 0.3109,
"top": 0.4607
},
"data": "<base-64 encoded image>"
},
"parts": [
{
"object_track_id": "d99f6dcd-bd72-4493-872d-1cdbe1ddf5ee"
}
],
"path": [
{
"bounding_box": {
"bottom": 0.5525,
"left": 0.208,
"right": 0.3036,
"top": 0.4778
},
"timestamp": "2025-09-30T15:06:37.337443Z"
},
{
"bounding_box": {
"bottom": 0.5459,
"left": 0.2082,
"right": 0.3018,
"top": 0.4745
},
"timestamp": "2025-09-30T15:06:37.417444Z"
},
{
"bounding_box": {
"bottom": 0.5395,
"left": 0.205,
"right": 0.3012,
"top": 0.4712
},
"timestamp": "2025-09-30T15:06:37.537445Z"
},
{
"bounding_box": {
"bottom": 0.5372,
"left": 0.2036,
"right": 0.3012,
"top": 0.4704
},
"timestamp": "2025-09-30T15:06:37.617445Z"
},
{
"bounding_box": {
"bottom": 0.5337,
"left": 0.2029,
"right": 0.3027,
"top": 0.4689
},
"timestamp": "2025-09-30T15:06:37.737444Z"
}
]
}