gvatrack#
Performs object tracking using zero-term, zero-term-imageless, short-term-imageless or deepsort tracking algorithms.
Zero-term tracking assigns unique object IDs and requires object detection to run on every frame. Short-term tracking allows for tracking objects between frames, reducing the need to run object detection on each frame. Imageless tracking forms object associations based on the movement and shape of objects, and does not use image data. Deep SORT tracking combines motion prediction (Kalman filter) with appearance features (deep learning re-identification) for robust multi-object tracking with reduced ID switches.
Please refer to Object Tracking for more information on the element properties.
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-raw
format: { (string)BGRx, (string)BGRA, (string)BGR, (string)NV12, (string)I420 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(memory:DMABuf)
format: { (string)RGBA, (string)I420 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(memory:VASurface)
format: { (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(memory:VAMemory)
format: { (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
SRC template: 'src'
Availability: Always
Capabilities:
video/x-raw
format: { (string)BGRx, (string)BGRA, (string)BGR, (string)NV12, (string)I420 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(memory:DMABuf)
format: { (string)RGBA, (string)I420 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(memory:VASurface)
format: { (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(memory:VAMemory)
format: { (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
config : Comma separated list of KEY=VALUE parameters specific to platform/tracker. Please see user guide for more details
flags: readable, writable
String. Default: null
device : Target device for tracking. This version supports only CPU device
flags: readable, writable
String. Default: ""
name : The name of the object
flags: readable, writable, 0x2000
String. Default: "gvatrack0"
parent : The parent of the object
flags: readable, writable, 0x2000
Object of type "GstObject"
qos : Handle Quality-of-Service events
flags: readable, writable
Boolean. Default: false
tracking-type : Tracking algorithm used to identify the same object in multiple frames. Please see user guide for more details
flags: readable, writable
Enum "GstGvaTrackingType" Default: 0, "zero-term"
(0): zero-term - Zero-term tracker
(1): short-term-imageless - Short-term imageless tracker
(2): zero-term-imageless - Zero-term imageless tracker
(3): deep-sort - Deep SORT tracker
feature-model : Path to feature extraction model for Deep SORT tracking (internal feature extractor mode).
Deep SORT requires a 128-dimensional feature vector model (e.g., mars-small128) for re-identification.
Available modes:
(1) Internal feature extractor:
gvatrack tracking-type=deep-sort feature-model=mars_small128_fp32.xml
(2) External feature extractor (using gvainference before gvatrack):
gvainference model=mars_small128_fp32.xml device=GPU inference-region=roi-list ! queue ! gvatrack tracking-type=deep-sort
flags: readable, writable
String. Default: ""
deepsort-trck-cfg : Comma separated list of KEY=VALUE parameters to configure Deep SORT tracker behavior.
Available parameters:
- max_iou_distance: Maximum IoU distance threshold for matching detections to tracks (default: 0.7)
Lower values = stricter spatial matching. Typical range: 0.5-0.8
- max_age: Maximum number of frames a track survives without detection before deletion (default: 30)
Higher values = tracks survive longer during occlusions. Increase to 60-90 to reduce object loss.
- n_init: Number of consecutive detections required to confirm a new track (default: 3)
Lower values = faster track initialization but more false positives.
- max_cosine_distance: Maximum cosine distance for appearance feature matching (default: 0.2)
Higher values = more lenient appearance matching. Increase to 0.3-0.4 to handle appearance variations.
- nn_budget: Maximum number of appearance features stored per track (default: 100)
Higher values = better appearance matching but more memory usage.
Example: deepsort-trck-cfg="max_age=60,max_cosine_distance=0.3,max_iou_distance=0.6"
flags: readable, writable
String. Default: null