
Combined Ultralytics YOLO detector and tracker. Accepts an Image per tick, runs detection with persistent tracker memory, and emits [(BoundingBox, UInt64)] stable-id pairs for all matched objects.
Joint detect-and-track from a video file, with per-object summaries pushed to a message broker for counting.
Track ids drive zone-transition counting posted to an HTTP endpoint.
Track positions are re-identified and smoothed before downstream consumption.
det_model is resolved as an existing path first, then a bare filename looked up in the YOLO cache or downloaded from ultralytics/assets. Restricted networks must pre-seed the cache directory.ultralytics_assets_release falls back to the rolling latest tag; pin a release tag for reproducibility.device cuda silently falls back to cpu with a warning when no CUDA runtime is visible.det_model, ultralytics_assets_release, tracker, device, iou, img_size, or object_classes triggers a session rebuild (model reload, cache flush, CUDA cache freed); threshold and class_thresholds take effect on the next call without a rebuild.cpu_threads is read once at module import; runtime updates have no effect.object_classes list tracks nothing; the default [0] targets COCO person.tracker must be a path to a valid Ultralytics tracker YAML; invalid YAMLs raise inside model.track.Automated release