<!-- # hard line break macro for HTML -->

# fiftyone.utils.tracking.deepsort

[DeepSort](https://arxiv.org/abs/1703.07402) wrapper for FiftyOne.

Copyright 2017-2026, Voxel51, Inc.
<br/>
[voxel51.com](https://voxel51.com/)
<br/>
<br/>

**Classes:**

| [`DeepSort`](#fiftyone.utils.tracking.deepsort.DeepSort)()   |    |
|--------------------------------------------------------------|----|

### *class* fiftyone.utils.tracking.deepsort.DeepSort

Bases: `object`

**Methods:**

| [`track`](#fiftyone.utils.tracking.deepsort.DeepSort.track)(sample_collection, in_field[, ...])               | Performs object tracking using the DeepSort algorithm on the given video samples.   |
|---------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
| [`track_sample`](#fiftyone.utils.tracking.deepsort.DeepSort.track_sample)(sample, in_field[, out_field, ...]) | Performs object tracking using the DeepSort algorithm on the given video sample.    |

#### *static* track(sample_collection, in_field, out_field='frames.ds_tracks', max_age=5, keep_confidence=False, skip_failures=True, progress=None)

Performs object tracking using the DeepSort algorithm on the given
video samples.

DeepSort is an algorithm for tracking multiple objects in video streams
based on deep learning techniques. It associates bounding boxes between
frames and maintains tracks of objects over time.

* **Parameters:**
  * **sample_collection** – a
    [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)
  * **in_field** – the name of a frame field containing
    [`fiftyone.core.labels.Detections`](fiftyone.core.labels.md#fiftyone.core.labels.Detections) to track. The
    `"frames."` prefix is optional
  * **out_field** ( *"frames.ds_tracks"*) – the name of a frame field to store
    the output [`fiftyone.core.labels.Detections`](fiftyone.core.labels.md#fiftyone.core.labels.Detections) with
    tracking information. The `"frames."` prefix is optional
  * **max_age** (*5*) – the maximum number of missed misses before a track is
    deleted
  * **keep_confidence** (*False*) – whether to store the detection confidence
    of the tracked objects in the `out_field`
  * **skip_failures** (*True*) – whether to gracefully continue without
    raising an error if tracking fails for a video
  * **progress** (*False*) – whether to render a progress bar (True/False),
    use the default value `fiftyone.config.show_progress_bars`
    (None), or a progress callback function to invoke instead

#### *static* track_sample(sample, in_field, out_field='ds_tracks', max_age=5, keep_confidence=False)

Performs object tracking using the DeepSort algorithm on the given
video sample.

DeepSort is an algorithm for tracking multiple objects in video streams
based on deep learning techniques. It associates bounding boxes between
frames and maintains tracks of objects over time.

* **Parameters:**
  * **sample** – a [`fiftyone.core.sample.Sample`](fiftyone.core.sample.md#fiftyone.core.sample.Sample)
  * **in_field** – the name of the frame field containing
    [`fiftyone.core.labels.Detections`](fiftyone.core.labels.md#fiftyone.core.labels.Detections) to track
  * **out_field** ( *"ds_tracks"*) – the name of a frame field to store the
    output [`fiftyone.core.labels.Detections`](fiftyone.core.labels.md#fiftyone.core.labels.Detections) with tracking
    information. The `"frames."` prefix is optional
  * **max_age** (*5*) – the maximum number of missed misses before a track is
    deleted
  * **keep_confidence** (*False*) – whether to store the detection confidence
    of the tracked objects in the `out_field`
