Releases: mikel-brostrom/boxmot
Release v10.0.11
- Minimal requirements
- Avoid ultralytics installation by default, only if Yolov8 model is used for tracking
- Avoid SG installation by default, only if YOLO-NAS is used for tracking
- Update OpenVINO export
- 33% CI speedup by lower
imgsz
resolution - Boxmot paths imports. From:
FILE = Path(__file__).resolve()
ROOT = FILE.parents[0].parents[0] # repo root absolute path
EXAMPLES = FILE.parents[0] # examples absolute path
WEIGHTS = EXAMPLES / 'weights'
in each example file, to:
from boxmot.utils import ROOT, EXAMPLES, WEIGHTS
Release v10.0.10
- configure non-yolov8 models for inference, based on input arguments
- add @torch.no_grad() to all ReID related inference methods
Release v10.0.9
- Multi Yolo backend added (Ultralytics + SuperGradients)
- Unified yolo-nas, yolox and yolov8 tracking file
-
python examples/track.py --yolo-model yolo_nas_s
- -python examples/track.py --yolo-model yolo_nas_s
- All YOLO models tested in CI
Release v10.0.8
- Simultaneous pypi + release publishing in CI
v10.0.6
v.10.0.4
- Complete repo refactor
- PyPI package published
- Yolo-NAS example added
v10.0.0
- Tracking now available for all main computer vision tasks:
- detection
- segmentation
- pose estimation - Added DeepOCSORT to trackers
- Added LightMBN to ReID models
- Added ReID export compatibility for
--half
with--dynamic
, thanks to @Rm1n90 in #798 - ReID TFlite model export now available using
onnx2tf
instead of usingopenvino2tensorflow
- Deleted Yolov8 submodule in favour of a pure Yolov8 package implementation
- Complete
track.py
refactor - Simplified
val.py
- Log val and evolve results to tensorboard. Usage
tensorboard --logdir=./runs/evolve/
tensorboard --logdir=./runs/val/
v9.0 - Mult-object tracking and segmentation, Multi-objective genetic algorithm for custom dataset tracker tuning, Yolov5 to Yolo8 upgrade
The goal of this release is to add segmentation tracking capability and specific tracking method hyperparameter tuning on MOTXX & custom tracking datasets.
Important updates
- Tracker hyperparameter tuning using "A fast and elitist multiobjective genetic algorithm: NSGA-II", based on custom dataset evaluation results using Optuna (https://ieeexplore.ieee.org/document/996017)
- Upgraded Yolov5 to Yolov8
- Segmentation tracking available by loading segmentation Yolov8 models:
python --yolo-weight yolov8m-seg.pt
- Added Dockerfile
- Added CITATION.cff
- MOT17 toy dataset created for CI purposes
- Trajectories plotting:
- class color for matched observations
- White for unmatched predictions
- Activate it using the
--save-trajectories
flag
val.py
working on Windows (#624)- Confidences now handled internally in each tracker
- Actions update in CI pipeline:
- actions/checkout@v2 --> v3
- actions/setup-python@v3 --> v4
val.py
andevolve.py
added to CI CPU pipeline- Experiment results:
MOT17-train evaluation results
From now on we will evaluate our tracking results using COCO trained models only. Yolo M will still be the standard model. This is so that we can focus on tracking as we don't have enough resources for a broader scope for this repo.
HOTA: MOT17-pedestrian HOTA DetA AssA DetRe DetPr AssRe AssPr LocA OWTA HOTA(0) LocA(0) HOTALocA(0)
MOT17-02-FRCNN 33.206 24.564 45.1 25.163 84.839 46.954 86.804 86.686 33.647 38.14 83.737 31.938
MOT17-04-FRCNN 41.731 32.692 53.308 33.877 84.349 56.459 86.095 86.814 42.495 50.444 82.724 41.729
MOT17-05-FRCNN 42.656 41.307 44.419 45.386 69.872 51.719 68.892 78.993 44.857 59.422 71.221 42.321
MOT17-09-FRCNN 55.857 57.727 54.145 62.213 80.136 57.66 82.182 84.264 58.037 71.027 79.983 56.81
MOT17-10-FRCNN 45.976 43.936 48.289 47.112 74.19 51.34 78.774 80.124 47.684 61.839 74.3 45.946
MOT17-11-FRCNN 59.008 52.593 66.413 59.229 76.382 72.324 84.023 85.503 62.712 74.143 79.733 59.116
MOT17-13-FRCNN 39.175 32.501 47.443 34.011 77.744 51.174 78.836 82.474 40.139 49.312 78.08 38.503
COMBINED 43.582 36.14 52.761 38.145 79.618 56.557 83.461 84.453 44.84 54.209 79.569 43.133
CLEAR: MOT17-pedestrian MOTA MOTP MODA CLR_Re CLR_Pr MTR PTR MLR sMOTA CLR_TP CLR_FN CLR_FP IDSW MT PT ML Frag
MOT17-02-FRCNN 27.84 84.61 28.045 28.852 97.278 11.29 30.645 58.065 23.4 5361 13220 150 38 7 19 36 155
MOT17-04-FRCNN 34.552 85.785 34.657 37.41 93.147 12.048 39.759 48.193 29.234 17791 29766 1309 50 10 33 40 345
MOT17-05-FRCNN 45.713 75.681 46.451 55.703 85.756 17.293 63.158 19.549 32.167 3853 3064 640 51 23 84 26 186
MOT17-09-FRCNN 66.423 82.262 67.08 72.357 93.203 50 46.154 3.8462 53.588 3853 1472 281 35 13 12 1 61
MOT17-10-FRCNN 51.39 77.087 51.834 57.668 90.813 26.316 45.614 28.07 38.177 7404 5435 749 57 15 26 16 277
MOT17-11-FRCNN 52.522 84.907 52.745 65.144 84.01 32 26.667 41.333 42.69 6147 3289 1170 21 24 20 31 50
MOT17-13-FRCNN 38.301 79.725 38.782 41.264 94.326 19.091 36.364 44.545 29.934 4804 6838 289 56 21 40 49 165
COMBINED 39.464 82.58 39.738 43.824 91.472 20.696 42.857 36.447 31.83 49213 63084 4588 308 113 234 199 1239
Identity: MOT17-pedestrian IDF1 IDR IDP IDTP IDFN IDFP
MOT17-02-FRCNN 38.345 24.859 83.814 4619 13962 892
MOT17-04-FRCNN 48.31 33.856 84.298 16101 31456 2999
MOT17-05-FRCNN 58.983 48.648 74.894 3365 3552 1128
MOT17-09-FRCNN 70.24 62.385 80.358 3322 2003 812
MOT17-10-FRCNN 60.785 49.692 78.253 6380 6459 1773
MOT17-11-FRCNN 68.644 60.937 78.584 5750 3686 1567
MOT17-13-FRCNN 49.824 35.81 81.857 4169 7473 924
COMBINED 52.627 38.92 81.236 43706 68591 10095
Count: MOT17-pedestrian Dets GT_Dets IDs GT_IDs
MOT17-02-FRCNN 5511 18581 72 62
MOT17-04-FRCNN 19100 47557 97 83
MOT17-05-FRCNN 4493 6917 135 133
MOT17-09-FRCNN 4134 5325 58 26
MOT17-10-FRCNN 8153 12839 110 57
MOT17-11-FRCNN 7317 9436 96 75
MOT17-13-FRCNN 5093 11642 115 110
COMBINED 53801 112297 683 546
v8.0 - Tracking experiment platform, MOT17 & MOT20 evaluation
The goal of this release is to transform the repo into a user-friendly tracking experiment platform by adding different tracking methods and evaluation support for different MOT datasets. I will continue adding SOTA tracking methods as they come out.
Important updates
- Tracking method selection
- OCSORT added as a tracking option
- ByteTrack added as a tracking option
- Added evaluation support for MOT17 & MOT20
- Added custom tracking dataset evaluation tutorial
- Added to CI:
- Model export testing
- Tracking with exported model testing
- Tracking with OCSORT testing
- Tracking with ByteTrack testing
- Less bloated README
- Evaluation on specific GPUs and CPU
- Update to Yolov5 release v7
--vid-stride
to process every nth frame now available- Experiment results:
MOT17-train evaluation results
The hyperparameters used for evaluation can be found under val.py
. Notice that
none of the models used during the evaluation has ever seen any of the MOT17 data and that our object detection model is a modest Yolov5m.
HOTA: exp105-pedestrian HOTA DetA AssA DetRe DetPr AssRe AssPr LocA RHOTA HOTA(0) LocA(0) HOTALocA(0)
MOT17-04-ss 60.908 59 63.405 64.121 76.02 68.898 78.923 80.981 63.714 81.25 75.158 61.066
MOT17-05-ss 40.252 39.213 41.436 42.163 74.171 52.461 63.544 81.546 41.789 51.945 76.574 39.777
MOT17-09-ss 56.907 60.309 53.739 65.712 80.477 59.512 79.408 85.724 59.415 70.643 81.881 57.843
MOT17-10-ss 50.853 50.201 51.696 54.009 74.875 56.683 76.058 80.464 52.834 67.831 75.599 51.28
MOT17-11-ss 62.797 58.699 67.396 70.483 72.798 74.55 82.031 86.688 68.912 75.266 83.145 62.58
MOT17-13-ss 46.722 43.064 51.08 46.897 72.133 56.866 74.246 80.146 48.893 61.802 74.62 46.116
COMBINED 56.852 54.364 60.008 59.706 75.249 66.14 78.487 81.823 59.774 74.144 76.496 56.717
CLEAR: exp105-pedestrian MOTA MOTP MODA CLR_Re CLR_Pr MTR PTR MLR sMOTA CLR_TP CLR_FN CLR_FP IDSW MT PT ML Frag
MOT17-04-ss 69.718 78.487 69.847 77.097 91.404 50.602 33.735 15.663 53.133 36665 10892 3448 61 42 28 13 549
MOT17-05-ss 45.757 78.793 46.668 51.757 91.048 19.549 63.158 17.293 34.781 3580 3337 352 63 26 84 23 249
MOT17-09-ss 67.925 84.484 68.732 75.192 92.088 50 50 0 56.258 4004 1321 344 43 13 13 0 141
MOT17-10-ss 62.575 77.025 63.206 67.669 93.813 28.07 61.404 10.526 47.028 8688 4151 573 81 16 35 6 663
MOT17-11-ss 61.753 85.318 62.081 79.451 82.06 46.667 40 13.333 50.088 7497 1939 1639 31 35 30 10 200
MOT17-13-ss 52.534 76.716 53.247 59.131 90.95 30 41.818 28.182 38.766 6884 4758 685 83 33 46 31 321
COMBINED 63.933 79.251 64.319 71.832 90.531 34.091 48.76 17.149 49.028 67318 26398 7041 362 165 236 83 2123
Identity: exp105-pedestrian IDF1 IDR IDP IDTP IDFN IDFP
MOT17-04-ss 77.326 71.274 84.501 33896 13661 6217
MOT17-05-ss 54.125 42.446 74.669 2936 3981 996
MOT17-09-ss 70.485 64.019 78.404 3409 1916 939
MOT17-10-ss 69.701 59.989 83.166 7702 5137 1559
MOT17-11-ss 74.445 73.262 75.668 6913 2523 2223
MOT17-13-ss 63.099 52.062 80.077 6061 5581 1508
COMBINED 72.488 65.002 81.923 60917 32799 13442
Count: exp105-pedestrian Dets GT_Dets IDs GT_IDs
MOT17-04-ss 40113 47557 131 83
MOT17-05-ss 3932 6917 103 133
MOT17-09-ss 4348 5325 52 26
MOT17-10-ss 9261 12839 96 57
MOT17-11-ss 9136 9436 152 75
MOT17-13-ss 7569 11642 133 110
COMBINED 74359 93716 667 484
No performance boost this time, only that we started evaluating on MOT17
v7.0 - ReID export and optimization
The goal of this release is to increase the deployment possibilities by enabling ReID model export to different frameworks. The ReID part of the project was enhanced by batched inferences for all the supported export frameworks. This results in big speedups, specially when the number of detected objects are large. I also started looking into more tracking methods with the idea of transforming the repo into a tracking experiment platform.
Important updates
- Added Windows testing to CI
- Added Python eval script/deleted Bash eval script
- Increased StrongSORT inference speed by batchifying the visual appearance inferences in the ReID multi-backend engine
- Warmup added to ReID models
- Publish StrongSORT vs BoTSORT vs OCSORT comparison
- New best MOT16 performing ReID model in
val.py
(osnet_x1_0_dukemtmcreid.pt) - ReID model exports and batched inference support for the following frameworks:
- ONNX
- TensorRT
- TorchScript
- OpenVINO
MOT16 Train evaluation results
Relevant changed/used hparams: imgz 1280, crowdhuman_yolov5m, osnet_x1_0_dukemtmcreid, StrongSORT. Notice that
none of the models used during the evaluation has ever seen any of the MOT16 data and that our object detection model is a modest Yolov5m.
HOTA: StrongSORT HOTA DetA AssA DetRe DetPr AssRe AssPr LocA RHOTA HOTA(0) LocA(0) HOTALocA(0)
MOT16-02 38.665 36.637 40.944 38.537 76.614 44.547 74.684 81.639 39.705 49.256 77.503 38.175
MOT16-04 60.283 58.906 62.211 63.644 76.869 66.581 80.092 81.303 62.872 79.943 75.772 60.574
MOT16-05 38.966 39.128 38.924 42.247 74.007 50.935 61.954 82.021 40.537 50.046 77.021 38.546
MOT16-09 54.379 57.758 51.227 67.172 73.999 62.039 71.768 85.541 58.648 67.299 81.843 55.08
MOT16-10 51.081 51.565 50.736 55.758 74.916 56.163 74.611 80.794 53.183 68.005 76.058 51.723
MOT16-11 63.351 60.472 66.585 72.742 73.149 74.295 79.782 86.921 69.584 75.419 83.756 63.169
MOT16-13 47.139 43.125 51.925 46.561 73.727 58.249 74.375 80.826 49.113 60.92 76.073 46.343
COMBINED 54.087 51.797 56.978 56.54 75.637 62.799 77.756 82.107 56.675 69.878 77.185 53.935
CLEAR: exp306-pedestrian MOTA MOTP MODA CLR_Re CLR_Pr MTR PTR MLR sMOTA CLR_TP CLR_FN CLR_FP IDSW MT PT ML Frag
MOT16-02 44.569 78.978 45.006 47.653 94.738 14.815 55.556 29.63 34.551 8498 9335 472 78 8 30 16 366
MOT16-04 70.316 78.861 70.478 76.636 92.561 48.193 37.349 14.458 54.115 36446 11111 2929 77 40 31 12 485
MOT16-05 45.321 79.635 46.436 51.76 90.673 27.2 54.4 18.4 34.78 3529 3289 363 76 34 68 23 205
MOT16-09 62.792 84.37 63.192 76.983 84.807 52 48 0 50.76 4047 1210 725 21 13 12 0 72
MOT16-10 63.817 77.592 64.377 69.403 93.248 37.037 57.407 5.5556 48.265 8549 3769 619 69 20 31 3 588
MOT16-11 64.672 85.465 64.89 82.167 82.626 52.174 37.681 10.145 52.729 7538 1636 1585 20 36 26 7 109
MOT16-13 53.022 77.397 53.528 58.341 92.38 28.972 43.925 27.103 39.835 6680 4770 551 58 31 47 29 305
COMBINED 61.268 79.594 61.629 68.19 91.223 35.203 47.389 17.408 47.353 75287 35120 7244 399 182 245 90 2130
Identity: exp306-pedestrian IDF1 IDR IDP IDTP IDFN IDFP
MOT16-02 50.77 38.154 75.853 6804 11029 2166
MOT16-04 76.092 69.546 83.997 33074 14483 6301
MOT16-05 51.055 40.1 70.247 2734 4084 1158
MOT16-09 66.946 63.858 70.348 3357 1900 1415
MOT16-10 68.361 59.62 80.105 7344 4974 1824
MOT16-11 74.887 74.678 75.096 6851 2323 2272
MOT16-13 64.001 52.21 82.672 5978 5472 1253
COMBINED 68.563 59.907 80.142 66142 44265 16389
Performance boost coming from new ReID model