# nwojke/deep_sort

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nwojke-deep-sort).**

6,148 stars · 1,556 forks · Python · GPL-3.0

## Links

- GitHub: https://github.com/nwojke/deep_sort
- awesome-repositories: https://awesome-repositories.com/repository/nwojke-deep-sort.md

## Description

DeepSORT is a real-time multi-object tracking framework designed to maintain consistent identities of multiple objects across video frames. It integrates deep learning appearance features with motion descriptors to track objects through a sequence of video data.

The system uses a deep convolutional neural network to generate high-dimensional visual descriptors for person re-identification. These appearance features are combined with motion estimation via Kalman filtering and solved using the Hungarian algorithm to optimally associate detections with existing tracks.

The framework includes capabilities for gating-based association filtering and state-based track management to handle object lifecycles. It also provides tools for rendering tracking results onto video frames and evaluating tracking performance against established benchmarks.

## Tags

### Artificial Intelligence & ML

- [Object Tracking Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/object-tracking-frameworks.md) — Provides a real-time multi-object tracking framework combining motion descriptors and deep appearance features.
- [Feature Descriptor Computation](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-features/feature-descriptor-computation.md) — Generates numerical feature descriptors for bounding boxes to enable similarity comparison. ([source](https://github.com/nwojke/deep_sort/blob/master/README.md))
- [Object Tracking Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-detection-tracking/object-tracking-systems.md) — Maintains consistent identities of multiple objects across a sequence of video frames.
- [Detection-to-Track Association](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-detection-tracking/object-tracking-systems/detection-to-track-association.md) — Uses the Hungarian algorithm to optimally pair detections with tracks via a cost matrix.
- [Appearance Matching Networks](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-architectures/appearance-matching-networks.md) — Implements appearance matching networks to associate detected objects with existing tracks using visual embeddings.
- [Appearance Embedding Extraction](https://awesome-repositories.com/f/artificial-intelligence-ml/feature-extraction-pipelines/appearance-embedding-extraction.md) — Extracts appearance embeddings from bounding boxes for person re-identification. ([source](https://github.com/nwojke/deep_sort#readme))
- [Kalman Filter Trackers](https://awesome-repositories.com/f/artificial-intelligence-ml/object-tracking/kalman-filter-trackers.md) — Employs Kalman filters to predict future object positions based on velocity and bounding box coordinates.
- [Video Object Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/video-object-tracking.md) — Integrates appearance and motion data to track multiple objects across video frames in real time. ([source](https://github.com/nwojke/deep_sort/blob/master/README.md))
- [Association Gating Filters](https://awesome-repositories.com/f/artificial-intelligence-ml/association-gating-filters.md) — Restricts the matching search space by ignoring candidates outside a maximum distance threshold.
- [Deep Learning Association Metrics](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-association-metrics.md) — Associates bounding boxes across video frames using deep feature vectors and cosine similarity.
- [Identity Association Metrics](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/computer-vision/computer-vision-techniques/bounding-box-metrics/identity-association-metrics.md) — Determines if bounding boxes in different frames represent the same object using deep learning feature vectors.
- [Track Lifecycle Management](https://awesome-repositories.com/f/artificial-intelligence-ml/track-lifecycle-management.md) — Maintains track lifecycles by counting consecutive frames of non-detection before deleting a track.

### Part of an Awesome List

- [Person Re-identification](https://awesome-repositories.com/f/awesome-lists/ai/person-re-identification.md) — Implements person re-identification to recognize individuals across different camera views or frames.
- [CNN Feature Extractors](https://awesome-repositories.com/f/awesome-lists/ai/pre-trained-models/cnn-feature-extractors.md) — Uses a deep convolutional neural network to generate high-dimensional visual descriptors for object identification.

### Graphics & Multimedia

- [Real-Time Video Analytics](https://awesome-repositories.com/f/graphics-multimedia/real-time-video-analytics.md) — Processes live video streams to identify and follow specific objects in real time.
