cli: add download command for benchmark datasets
help wantedcli
## Description
Add a `trackers download` CLI subcommand that lets users download benchmark datasets from a GCP bucket. Supports downloading full datasets or individual splits, with or without video frames. Datasets: MOT17, SportsMOT, SoccerNet Tracking, DenseTrack.
## Proposed CLI interface
```bash
# List what's available
trackers download --list
# Download full dataset
trackers download mot17
# Download specific split, annotations only
trackers download mot17 --split train --annotations-only
# Custom output path
trackers download sportsmot --split val -o ./datasets
```
## Tasks
- [ ] Research and document the structure of each dataset (MOT17, SportsMOT, SoccerNet Tracking, DenseTrack): available splits, contents per split (frames, GT annotations, detections), directory layout.
- [ ] Prepare zip files for each dataset/split/variant combination and upload them to a GCP bucket.
- [ ] Create a dataset manifest (mapping dataset + split + variant to GCP URLs and metadata) inside the codebase.
- [ ] Register the `download` subcommand in `trackers/scripts/__main__.py`.
- [ ] Implement the `--list` flag to display available datasets, splits, and content types in a formatted table.
- [ ] Implement download logic: resolve URL from manifest, download zip with progress bar, extract to output directory.
- [ ] Handle edge cases: existing files (skip/overwrite), network errors, interrupted downloads.
- [ ] Test the command end-to-end for each dataset and variant.
27 条评论