Skip to content

Download Datasets

Download benchmark multi-object tracking datasets for evaluation and development. Supported datasets can be downloaded in full or filtered by split and asset type.

What you'll learn:

  • Download MOT17 and SportsMOT benchmark datasets
  • Select specific splits and asset types
  • Use the download cache to avoid re-downloading

Visualization of ground-truth annotations for SportsMOT.


Install

Get started by installing the package.

pip install trackers

For more options, see the install guide.


Available Datasets

The table below lists every dataset you can download, along with its splits, assets, and license. Assets include raw video frames, ground-truth bounding box annotations, and pre-computed detections.

Dataset Description Splits Assets License
mot17 Pedestrian tracking with crowded scenes and frequent occlusions. train, val, test frames, annotations, detections CC BY-NC-SA 3.0
sportsmot Sports broadcast tracking with fast motion and similar-looking targets. train, val, test frames, annotations CC BY 4.0
dancetrack Coming soon.
soccernet Coming soon.

Use --list to print available datasets, splits, and asset types.

trackers download --list

Iterate over the Dataset enum to list supported datasets.

from trackers import Dataset

for dataset in Dataset:
    print(dataset.value)

Quickstart

Pass a dataset name to download all of its splits and assets.

Download the full MOT17 dataset.

trackers download mot17

Download the full MOT17 dataset.

from trackers import Dataset, download_dataset

download_dataset(dataset=Dataset.MOT17)

Selective Downloads

Full datasets can be large. Narrow your download to specific splits and asset types.

Use --split and --asset to filter by split, asset type, or both.

trackers download mot17 --split train --asset annotations
trackers download mot17 --split train,val --asset annotations,frames
trackers download sportsmot --split val --asset annotations

Specify splits and assets as enums, strings, or lists of either.

from trackers import Dataset, DatasetAsset, DatasetSplit, download_dataset

download_dataset(
    dataset=Dataset.MOT17,
    split=DatasetSplit.TRAIN,
    asset=DatasetAsset.ANNOTATIONS,
)
from trackers import Dataset, DatasetAsset, DatasetSplit, download_dataset

download_dataset(
    dataset=Dataset.MOT17,
    split=[DatasetSplit.TRAIN, DatasetSplit.VAL],
    asset=[DatasetAsset.ANNOTATIONS, DatasetAsset.FRAMES],
)
from trackers import Dataset, DatasetAsset, DatasetSplit, download_dataset

download_dataset(
    dataset=Dataset.SPORTSMOT,
    split=DatasetSplit.VAL,
    asset=DatasetAsset.ANNOTATIONS,
)

Output

Dataset files are extracted to the current directory by default. Set a custom output path to change this.

Use --output to extract into a custom directory.

trackers download mot17 \
    --split train,val \
    --asset annotations,frames \
    --output ./datasets

Use output to extract into a custom directory.

from trackers import Dataset, DatasetAsset, DatasetSplit, download_dataset

download_dataset(
    dataset=Dataset.MOT17,
    split=[DatasetSplit.TRAIN, DatasetSplit.VAL],
    asset=[DatasetAsset.ANNOTATIONS, DatasetAsset.FRAMES],
    output="./datasets",
)

The resulting directory structure after extraction.

datasets/
└── mot17/
    ├── train/
    │   ├── MOT17-02-FRCNN/
    │   │   ├── gt/
    │   │   │   └── gt.txt
    │   │   └── img1/
    │   │       ├── 000001.jpg
    │   │       ├── 000002.jpg
    │   │       └── ...
    │   ├── MOT17-04-FRCNN/
    │   │   ├── gt/
    │   │   │   └── gt.txt
    │   │   └── img1/
    │   │       └── ...
    │   └── ...
    └── val/
        ├── MOT17-02-FRCNN/
        │   ├── gt/
        │   │   └── gt.txt
        │   └── img1/
        │       └── ...
        └── ...

Caching

Every downloaded ZIP is saved to ~/.cache/trackers and verified with an MD5 checksum. Future runs skip the download and extract directly from the cache.

Use --cache-dir to store ZIPs in a custom location.

trackers download mot17 \
    --split train \
    --asset annotations \
    --cache-dir ./my-cache

Use cache_dir to store ZIPs in a custom location.

from trackers import Dataset, DatasetAsset, DatasetSplit, download_dataset

download_dataset(
    dataset=Dataset.MOT17,
    split=DatasetSplit.TRAIN,
    asset=DatasetAsset.ANNOTATIONS,
    cache_dir="./my-cache",
)

CLI Reference

All arguments accepted by the trackers download command.

Argument Description Default
dataset Dataset name to download. Options: mot17, sportsmot.
--list List available datasets, splits, and asset types without downloading. false
--split Comma-separated splits to download. Omit to download all available splits. all
--asset Comma-separated asset types to download: frames, annotations, detections. Omit to download all available assets. all
--output Directory where dataset files are extracted. .
--cache-dir Directory for caching downloaded ZIP files. Cached files are verified by MD5 and reused across runs. ~/.cache/trackers