model.jde
Description
🎯 Joint Detection and Embedding model for human detection and tracking.
- class Node(config, **kwargs)[source]
Initializes and uses JDE tracking model to detect and track people from the supplied image frame.
JDE is a fast and high-performance multiple-object tracker that learns the object detection task and appearance embedding task simultaneously in a shared neural network.
- Inputs
img
(numpy.ndarray
): A NumPy array of shape \((height, width, channels)\) containing the image data in BGR format.- Outputs
bboxes
(numpy.ndarray
): A NumPy array of shape \((N, 4)\) containing normalized bounding box coordinates of \(N\) detected objects. Each bounding box is represented as \((x_1, y_1, x_2, y_2)\) where \((x_1, y_1)\) is the top-left corner and \((x_2, y_2)\) is the bottom-right corner. The order corresponds to bbox_labels and bbox_scores.bbox_labels
(numpy.ndarray
): A NumPy array of shape \((N)\) containing strings representing the labels of detected objects. The order corresponds to bboxes and bbox_scores.bbox_scores
(numpy.ndarray
): A NumPy array of shape \((N)\) containing confidence scores \([0, 1]\) of detected objects. The order corresponds to bboxes and bbox_labels.obj_attrs
(Dict[str, Any]
): A dictionary of attributes associated with each bounding box, in the same order as bboxes. Different nodes that produce this obj_attrs output type may contribute different attributes.model.fairmot
produces theids
attribute which contains the tracking IDs of the detections.- Configs
weights_parent_dir (
Optional[str]
) – default = null.
Change the parent directory where weights will be stored by replacingnull
with an absolute path to the desired directory.iou_threshold (
float
) – default = 0.5.
Threshold value for Intersecton-over-Union of detections.nms_threshold (
float
) – default = 0.4.
Threshold values for non-max suppression.score_threshold (
float
) – default = 0.5.
Object confidence score threshold.min_box_area (
int
) – default = 200.
Minimum value for area of detected bounding box. Calculated by \(width \times height\).track_buffer (
int
) – default = 30.
Threshold to remove track if track is lost for more frames than value.
References
Towards Real-Time Multi-Object Tracking: https://arxiv.org/abs/1909.12605v2
Model weights trained by: https://github.com/Zhongdao/Towards-Realtime-MOT