vista.algorithms.trackers.tracklet_tracker.run_tracklet_tracker

vista.algorithms.trackers.tracklet_tracker.run_tracklet_tracker(detectors, config)[source]

Run tracklet-based hierarchical tracker on detections.

This tracker is optimized for high false alarm scenarios where real tracks move smoothly. It uses a two-stage approach:

Stage 1: Form high-confidence tracklets with strict association criteria

  • Small search radius for initial associations

  • Velocity consistency checking

  • “M out of N” approach: allows small detection gaps

Stage 2: Link tracklets using global optimization

  • Velocity extrapolation for gap filling

  • Smoothness scoring based on velocity/position consistency

  • Hungarian algorithm for optimal linking

Parameters:
  • detectors (list of Detector) – List of Detector objects to use as input

  • config (dict) –

    Dictionary containing tracker configuration:

    • tracker_name: Name for the resulting tracker

    • initial_search_radius: Max distance for tracklet formation (default: 10.0)

    • max_velocity_change: Max velocity change for tracklet formation (default: 5.0)

    • min_tracklet_length: Minimum detections for valid tracklet (default: 3)

    • max_consecutive_misses: Max consecutive missed detections in Stage 1 (default: 2)

    • min_detection_rate: Minimum detection rate (hits/age) for tracklets (default: 0.6)

    • max_linking_gap: Maximum frame gap to link tracklets (default: 10)

    • linking_search_radius: Max distance for tracklet linking (default: 30.0)

    • smoothness_weight: Weight for smoothness in linking cost (default: 1.0)

    • min_track_length: Minimum detections for final track (default: 5)

Returns:

List of track data dictionaries, each containing:

  • ’frames’: numpy array of frame numbers

  • ’rows’: numpy array of row coordinates

  • ’columns’: numpy array of column coordinates

Return type:

list of dict