function

benchmarks.hota.tracker.build_cascade_tracker

def build_cascade_tracker(height: int, width: int, hi: float = 0.9, cos_threshold: float = 0.5, iou_threshold: float = 0.5, embed_dim: int = EMBED_DIM) -> unitrack.Tracker

Build a two-stage cascade: appearance for high-score, mask-IoU for the rest.

Within a class, detections split by score. High-confidence detections (``score >= hi``) go only to the embedding-cosine stage; a high-score detection left unmatched there spawns a new track (it is NOT re-offered to mask-IoU). Low-confidence detections (``score < hi``) go only to the mask-IoU stage. ``hi`` is the cascade's internal split, independent of the runner's ``min_score`` floor. The default ``hi=0.9`` is tuned for panoptic-segmentation scores, which cluster high (Mask2Former Cityscapes thing scores have a ~0.8 floor and a ~0.997 median): a lower split would route every detection to the appearance stage and the cascade would collapse to the pure-cosine tracker.

Source: unitrack/benchmarks/hota/tracker.py:190