How xin-shu/omnisort works
OmniSORT is a research toolkit for online multi-object tracking in omnidirectional footage, with baseline and seam-aware tracker variants plus the OmniSmall benchmark. The principal workflow supplies frame detections to a tracker, which associates them with predicted tracks and returns identities and boxes; saved results can then be evaluated against annotations. The README documents several tracker families and datasets, while sampled source chiefly supports the SORT-family internals. Uninspected variant wiring is therefore represented conservatively.
Main entry points: ocsort.py OCSORT · te_eval.py TrackEval wrapper · omni_ocsort.py OmniOCSORT · sort.py SORT
Components 19
Tracking workflow
- Frame detections
- SORT Kalman state
trackers/sort/sort.py - OCSORT Kalman filter
trackers/ocsort/kalmanfilter.py - ByteTrack Kalman filter
trackers/bytetrack/kalman_filter.py - Track results
OmniSORT methods
- OmniSORT
trackers/omni_sort/omni_sort.py - OmniOCSORT
trackers/omni_ocsort/omni_ocsort.py - Omni association
trackers/omni_ocsort/association.py
Tracker baselines
- SORT
trackers/sort/sort.py - OCSORT
trackers/ocsort/ocsort.py - ByteTrack
trackers/bytetrack/byte_tracker.py - HybridSORT
trackers/hybridsort - OCSORT association
trackers/ocsort/association.py
Data and evaluation
- OmniSmall dataset
dataset - Dataset fetcher
dataset/fetch_data.py - TrackEval wrapper
trackers/utils/te_eval.py - Tracking metrics
- JRDB dataset
Other components
- Hugging Face
Connections 23
- Frame detections → SORT: updates
- Frame detections → OCSORT: updates
- Frame detections → ByteTrack: updates
- Frame detections → HybridSORT: updates
- Frame detections → OmniSORT: updates
- Frame detections → OmniOCSORT: updates
- SORT → SORT Kalman state: predicts state
- OCSORT → OCSORT Kalman filter: uses filter
- OCSORT → OCSORT association: associates
- OmniOCSORT → Omni association: associates
- OmniSORT → Track results: returns tracks
- OmniOCSORT → Track results: returns tracks
- SORT → Track results: returns tracks
- OCSORT → Track results: returns tracks
- ByteTrack → ByteTrack Kalman filter: uses filter
- ByteTrack → Track results: returns tracks
- HybridSORT → Track results: returns tracks
- Dataset fetcher → Hugging Face: downloads from
- Hugging Face → OmniSmall dataset: provides data
- Track results → TrackEval wrapper: reads results
- OmniSmall dataset → TrackEval wrapper: reads annotations
- JRDB dataset → TrackEval wrapper: evaluates against
- TrackEval wrapper → Tracking metrics: writes summary