Indexed by TopGit from live GitHub metadata: abewley/sort has 4.4k stars, written primarily in Python. Simple, online, and realtime tracking of multiple objects in a video sequence.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
A simple online and realtime tracking algorithm for 2D multiple object tracking in video sequences.
See an example video here.
By Alex Bewley
Introduction
SORT is a barebones implementation of a visual multiple object tracking framework based on rudimentary data association and state estimation techniques. It is designed for online tracking applications where only past and current frames are available and the method produces object identities on the fly. While this minimalistic tracker doesn't handle occlusion or re-entering objects its purpose is to serve as a baseline and testbed for the development of future trackers.
SORT was initially described in this paper. At the time of the initial publication, SORT was ranked the best open source multiple object tracker on the MOT benchmark.
Note: A significant proportion of SORT's accuracy is attributed to the detections.
For your convenience, this repo also contains Faster RCNN detections for the MOT benchmark sequences in the benchmark format. To run the detector yourself please see the original Faster RCNN project or the python reimplementation of py-faster-rcnn by Ross Girshick.
Also see:
A new and improved version of SORT with a Deep Association Metric implemented in tensorflow is available at https://github.com/nwojke/deep_sort .
License
SORT is released under the GPL License (refer to the LICENSE file for details) to promote the open use of the tracker and future improvements. If you require a permissive license contact Alex ([email protected]).
Citing SORT
If you find this repo useful in your research, please consider citing:
@inproceedings{Bewley2016_sort,
author={Bewley, Alex and Ge, Zongyuan and Ott, Lionel and Ramos, Fabio and Upcroft, Ben},
booktitle={2016 IEEE International Conference on Image Processing (ICIP)},
title={Simple online and realtime tracking},
year={2016},
pages={3464-3468},
keywords={Benchmark testing;Complexity theory;Detectors;Kalman filters;Target tracking;Visualization;Computer Vision;Data Association;Detection;Multiple Object Tracking},
doi={10.1109/ICIP.2016.7533003}
}
Using the MOT challenge devkit the method produces the following results (as described in the paper).
Sequence
Rcll
Prcn
FAR
GT MT PT ML
FP FN IDs FM
MOTA MOTP MOTAL
TUD-Campus
68.5
94.3
0.21
8 6 2 0
15 113 6 9
62.7 73.7 64.1
ETH-Sunnyday
77.5
81.9
0.90
30 11 16 3
319 418 22 54
59.1 74.4 60.3
ETH-Pedcross2
51.9
90.8
0.39
133 17 60 56
330 3014 77 103
45.4 74.8 46.6
ADL-Rundle-8
44.3
75.8
1.47
28 6 16 6
959 3781 103 211
28.6 71.1 30.1
Venice-2
42.5
64.8
2.75
26 7 9 10
1650 4109 57 106
18.6 73.4 19.3
KITTI-17
67.1
92.3
0.26
9 1 8 0
38 225 9 16
60.2 72.3 61.3
Overall
49.5
77.5
1.24
234 48 111 75
3311 11660 274 499
34.0 73.3 35.1
Using SORT in your own project
Below is the gist of how to instantiate and update SORT. See the 'main' section of sort.py for a complete example.
from sort import *
#create instance of SORT
mot_tracker = Sort()
# get detections
...
# update SORT
track_bbs_ids = mot_tracker.update(detections)
# track_bbs_ids is a np array where each row contains a valid bounding box and track_id (last column)
...
🔗 See also
DeepSORT - The successor of SORT with a Deep Association Metric used injecting appearance information to improve the association in difficult scenarios such as occlusions and fast moving objects.
Local Metrics for Multi-Object Tracking - A framework to help better measure and understand how well your tracker performs at association across time as opposed to the standard metrics (MOTA, HOTA) which as heavilty biased towards raw detection performance.
Human Scene Transformer - A recent repository for trajectory forecasting, a future direction beyond tracking (pun intended).
Yes — abewley/sort ships under the GPL-3.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/abewley/sort.
What is abewley/sort?
abewley/sort (abewley/sort) is a Python project on GitHub. From the project's own README: Simple, online, and realtime tracking of multiple objects in a video sequence.
Where do I read more about abewley/sort?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/abewley/sort is the definitive source.
Read full README in the tab above.
Curious whether sort is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about sort.