Skip to content

Commit e6ea437

Browse files
authored
Merge branch 'develop' into bytetrack-confidende-none
2 parents d378da8 + 6a9b16b commit e6ea437

9 files changed

Lines changed: 1025 additions & 825 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
1212
- **`BaseIoU` ABC** in `trackers.utils.iou` — defines the `compute(boxes_1, boxes_2)` contract; subclass and override `_compute` to implement a custom similarity metric ([#403](https://github.com/roboflow/trackers/pull/403)).
1313
- **`normalize_for_fusion` on `BaseIoU`** — signed variants (GIoU, DIoU, CIoU) override this to shift `[-1, 1]``[0, 1]` before BoT-SORT score fusion, preventing ranking inversion ([#403](https://github.com/roboflow/trackers/pull/403)).
1414

15+
### 🔄 Deprecated
16+
17+
- **`trackers.core.botsort.cmc` module**`CMC` moved to `trackers.utils.cmc`; old path re-exports all symbols with `DeprecationWarning` until v3.0. Migrate: `from trackers.utils.cmc import CMC` or `from trackers import CMC` ([#414](https://github.com/roboflow/trackers/pull/414)).
18+
- **`BoTSORTTracker.apply_cmc_batch`** — use `CMC.apply_batch(H, tracker.tracks)` directly. Will be removed in v3.0 ([#414](https://github.com/roboflow/trackers/pull/414)).
19+
- **`CMCTMethod` type alias** — kept as a back-compat alias for `CMCMethod`; will be removed in v3.0. Migrate to `CMCMethod` ([#414](https://github.com/roboflow/trackers/pull/414)).
20+
- **`CMC.apply_to_xyxy` renamed to `CMC.warp_xyxy_corners`** — old name kept as a deprecated wrapper that forwards to the new name; will be removed in v3.0. Update call sites to `CMC.warp_xyxy_corners` ([#414](https://github.com/roboflow/trackers/pull/414)).
21+
22+
### 🌱 Changed
23+
24+
- **`CMC`, `CMCConfig`, `CMCMethod` moved to `trackers.utils.cmc` and re-exported from top-level `trackers` package** — import directly with `from trackers import CMC`; old `trackers.core.botsort.cmc` path kept as a deprecated shim ([#414](https://github.com/roboflow/trackers/pull/414)).
25+
- **`CMC.warp_xyxy_corners`**`apply_to_xyxy` renamed to `warp_xyxy_corners`; old name kept as a deprecated wrapper until v3.0 ([#414](https://github.com/roboflow/trackers/pull/414)).
26+
- **`CMC.apply_batch` homogeneity guard** — now raises `TypeError` immediately when the tracklet list contains mixed state-estimator types, preventing silent state corruption ([#414](https://github.com/roboflow/trackers/pull/414)).
27+
- **`BoTSORTTracklet.apply_cmc` delegates to `CMC.apply_batch`** — per-track and batch paths now share identical code; behaviour is unchanged ([#414](https://github.com/roboflow/trackers/pull/414)).
28+
1529
### 🔧 Fixed
1630

1731
- **BoT-SORT score fusion with signed IoU**`_fuse_score` multiplied raw negative IoU values by confidence, inverting track ranking for GIoU/DIoU/CIoU; `normalize_for_fusion` now normalises similarity before fusion ([#403](https://github.com/roboflow/trackers/pull/403)).

src/trackers/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,20 @@
2121
HomographyTransformation,
2222
IdentityTransformation,
2323
)
24+
from trackers.utils.cmc import CMC, CMCConfig, CMCMethod, CMCTMethod
2425
from trackers.utils.converters import xcycsr_to_xyxy, xyxy_to_xcycsr
2526
from trackers.utils.iou import BaseIoU, BIoU, CIoU, DIoU, GIoU, IoU
2627

2728
__all__ = [
29+
"CMC",
2830
"BIoU",
2931
"BaseIoU",
3032
"BoTSORTTracker",
3133
"ByteTrackTracker",
3234
"CIoU",
35+
"CMCConfig",
36+
"CMCMethod",
37+
"CMCTMethod",
3338
"CoordinatesTransformation",
3439
"DIoU",
3540
"Dataset",

src/trackers/core/botsort/_cmc_xyxy.py

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)