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 Split Assets License
mot17 Pedestrian tracking with crowded scenes and frequent occlusions. train, val frames, annotations, detections CC BY-NC-SA 3.0
mot17 test frames, detections CC BY-NC-SA 3.0
sportsmot Sports broadcast tracking with fast motion and similar-looking targets. train, val frames, annotations CC BY 4.0
sportsmot test frames CC BY 4.0
dancetrack Coming soon.
soccernet Coming soon.

mot17 has no annotations for test (the official test-set ground truth is not public), and sportsmot has no detections for any split.

dancetrack and soccernet aren't downloadable via trackers download yet, but both are already usable with trackers benchmark mcbyte if you supply your own detection and frame directories — see Benchmark Runner.

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

trackers download --list_available

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 --name mot17

Download the full MOT17 dataset.

from trackers import Dataset, download_dataset

download_dataset(name=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 --name mot17 --split train --asset annotations
trackers download --name mot17 --split train,val --asset annotations,frames
trackers download --name 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(
    name=Dataset.MOT17,
    split=DatasetSplit.TRAIN,
    asset=DatasetAsset.ANNOTATIONS,
)
from trackers import Dataset, DatasetAsset, DatasetSplit, download_dataset

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

download_dataset(
    name=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 --name mot17 \
    --split train,val \
    --asset annotations,frames,detections \
    --output ./datasets

Use output to extract into a custom directory.

from trackers import Dataset, DatasetAsset, DatasetSplit, download_dataset

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

The resulting directory structure after extraction.

datasets/
└── mot17/
    ├── train/
    │   ├── MOT17-02-FRCNN/
    │   │   ├── det/
    │   │   │   └── det.txt
    │   │   ├── gt/
    │   │   │   └── gt.txt
    │   │   └── img1/
    │   │       ├── 000001.jpg
    │   │       ├── 000002.jpg
    │   │       └── ...
    │   ├── MOT17-04-FRCNN/
    │   │   ├── det/
    │   │   │   └── det.txt
    │   │   ├── gt/
    │   │   │   └── gt.txt
    │   │   └── img1/
    │   │       └── ...
    │   └── ...
    └── val/
        ├── MOT17-02-FRCNN/
        │   ├── det/
        │   │   └── det.txt
        │   ├── 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 --name 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(
    name=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
--name Dataset name to download. Options: mot17, sportsmot.
--list_available 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