Commit b5356f4
OC-SORT on top of 2.1.0 (#207)
* ocsort with piotr's review changes
* fix(pre_commit): 🎨 auto format pre-commit hooks
* trackers/core/ocsort
* fixed pre commit
* fixed pre commit
* trying original kalman filter
* fix(pre_commit): 🎨 auto format pre-commit hooks
* trying fix
* trying fix
* trying fix
* added F initialization
* possible fix by transforming cosine_sim
* changed indexing fro initializing new tracklets when ocr unmatched and update also when unmatched detections = 0
* now in frames before minimum consecutive frames we output an id
* now in frames before minimum consecutive frames we output an id
* now in frames before minimum consecutive frames we output an id
* bug fix regarding last commits
* bug fix regarding last commits
* possbile fix by activating track id when just matured
* now doing batch calculation of direction consistency, faster tracking
* nice docs in utils
* trying independence on original KF
* fixed pre commit, deleted 2nd kalman filter
* added XYXY and XCTCSR possible reps
* code looking good
* added metrics
* trying interpolation in xyxy system
* rollback interpolation in xyxy system
* kf annotations fix and removed example
* added oc-sort final numbers
* fix(pre_commit): 🎨 auto format pre-commit hooks
* readme with final numbers, utils with _ and ocsort in docs/api
* readme with final numbers, utils with _ and ocsort in docs/api
* added headers and changed parameters name high_conf_det_threshold -> high_conf_detect_threshold
* rollback parameter name changed
* removed typings from docstring
* added change from PR to prevent in place mutation:
* trying to add delta_t
* trying fix to delta_t: velocity not computed until second match, frame count<=minimum_consecutive_frames (before was <, now it is aligned with original repo)
* reverted <= change
* aligned to original initialization of time_since_update and changes in re-update cycle
* added headers to utils
* fix(pre_commit): 🎨 auto format pre-commit hooks
* modular state representation
* changed state representations to KF classes
* fix(pre_commit): 🎨 auto format pre-commit hooks
* register OCSORTTracker for CLI and public API
- Add `tracker_id = "ocsort"` class variable to enable CLI auto-registration via BaseTracker's registry mechanism
- Export OCSORTTracker in `__all__` for public API discoverability
* remove duplicate headers and forbidden comments in utils
- Remove module-level docstring from state_representations.py
- Remove section divider comment from state_representations.py
- Remove duplicate/truncated headers from converters.py and kalman_filter.py
* Use mkdocstrings-compatible single backticks instead of Sphinx-style
double backticks in state_representations.py.
* wrap OCSORTTracker docstring to fit 88-char line limit
* docs: improve docstrings for mkdocs compatibility and clarity
- Add backticks to variable references (`x1`, `y1`, `scale`, etc.)
- Replace Sphinx-style :class:/:meth: with plain backticks
- Remove bullet points (poor mkdocs rendering)
- Expand StateRepresentation, XCYCSRKalmanFilter, XYXYKalmanFilter
docstrings with variable explanations and behavioral implications
* - Add functions to trackers/__init__.py exports
- Add doctests with full input/output examples
- Add unit tests covering conversions, edge cases, and round-trips
- Add API documentation under Trackers > Utilities section
* Applying changes requested by Piotr
* Fixed pre commit
* try removing activate tracklets in activate_or_kill_tracklets as it seemed redundant because oc-sort activates them earlier
* completely corrected activate_or_kill_tracklets to kill_tracklets after evaluating in sportsmot and getting same metrics
* changed BaseKalmanFilter to BaseStateEstimator and same for other types of StateKalmanFilters
* Update OC-SORT docs and improve tracker API consistency
docs/index.md:
- Mark OC-SORT as supported, move BoT-SORT and McByte to "coming soon"
- Remove MOT17 IDF1 and MOT17 MOTA columns from comparison table
- Remove OC-SORT tutorial card (not yet ready)
trackers/core/ocsort/tracker.py:
- Align update/reset docstrings with SORT and ByteTrack style
- Remove paper reference from delta_t parameter description
- Rename _kill_tracklets to _prune_expired_tracklets for clarity
* Standardize tracker class docstrings across SORT, ByteTrack, and OC-SORT
Replace brief algorithm descriptions with comprehensive two-paragraph docstrings for all tracker classes. Each docstring now covers the algorithm's core mechanism in the first paragraph and its strengths and limitations in the second.
Reformat OCSORTTracker Args section to match SORT/ByteTrack style, using consistent `type` specifying pattern and concise parameter descriptions.
* removed unused functions
* Changed utils so that now only the math happens there and the custom classes dealing happens where it should
* fix(pre_commit): 🎨 auto format pre-commit hooks
* fixed pre commit
* Standardize ocsort utility function signatures and improve docstrings
* fix(pre_commit): 🎨 auto format pre-commit hooks
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Piotr Skalski <piotr.skalski92@gmail.com>1 parent 0e2e7c7 commit b5356f4
File tree
16 files changed
+1690
-15
lines changed- docs
- api
- trackers
- test/utils
- trackers
- core
- bytetrack
- ocsort
- sort
- utils
16 files changed
+1690
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| |||
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| 33 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
| 120 | + | |
120 | 121 | | |
121 | 122 | | |
122 | 123 | | |
| |||
0 commit comments