← all repositories
roboflow/supervision

The CV glue everyone ends up writing anyway

A model-agnostic Python toolkit that handles the boring parts of computer vision: annotations, dataset juggling, and tracking.

supervision
Velocity · 7d
+32
★ / day
Trend
steady
star history

What it does Supervision is a Python library that sits between your object-detection model and your actual application. It normalizes outputs from Ultralytics, Transformers, MMDetection, or Roboflow’s own Inference into a common sv.Detections format, then gives you annotators, dataset loaders, and tracking utilities to do something useful with those boxes.

The interesting bit The project treats model connectors as plumbing and focuses on the unglamorous work: converting COCO to YOLO, splitting datasets, merging class labels, and drawing bounding boxes that don’t look terrible. The README includes end-to-end tutorials for dwell-time analysis and vehicle speed estimation—practical problems that require more than just running model.predict().

Key highlights

  • Connectors for major frameworks: Ultralytics, Transformers, MMDetection, Inference, and rfdetr returning native sv.Detections
  • Dataset utilities: load, split, merge, and convert between COCO, YOLO, and Pascal VOC formats with lazy image loading
  • Customizable annotators for visualization beyond default matplotlib rectangles
  • Tracking and zone-counting support for video pipelines
  • Requires Python ≥3.9; installs via pip install supervision

Caveats

  • Some connectors (like Roboflow Inference) require an API key
  • The README mentions “real-time zone counting” but doesn’t specify latency benchmarks or hardware requirements

Verdict Worth a look if you’re building CV applications and tired of rewriting dataset converters and bounding-box drawers. Skip it if you need the model itself—this is strictly post-inference tooling.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.