Skip to content

supervision

A Python toolkit of reusable building blocks for computer vision: loading datasets, drawing annotations, track

Stars
51.5k
Forks
4.9k
Licence
MIT
Language
Python
Last update
4 days ago
Type
Library

What it is

Supervision is a Python library that provides ready-made pieces for computer vision projects. It handles common chores around a detection model: loading and converting datasets in formats like COCO, YOLO and Pascal VOC, drawing boxes and labels on images or video frames, and counting objects in zones. It is designed to work with any detection or segmentation model rather than being tied to one.

  • Draw bounding boxes and labels over detections from a model using the built-in annotators
  • Load a COCO, YOLO or Pascal VOC dataset, split it into train and test sets, and merge datasets
  • Convert a YOLO dataset to Pascal VOC format
  • Count objects entering a defined zone in a video stream

Great for

  • Python developers building apps on top of object detection or segmentation models
  • Teams that already use YOLO, Ultralytics, Transformers, or MMDetection and want shared visualization code
  • People preparing or converting computer vision datasets between COCO, YOLO and Pascal VOC formats
  • Builders of video analytics such as zone counting or tracking demos

Not ideal for

  • Non-programmers looking for a point-and-click app, since it is a code library with Python examples only
  • Projects that need a trained model included, because the README covers connecting models rather than providing one
  • Users who cannot run Python 3.10 or newer, which the README lists as required
Step-by-step guide: how to use supervisionInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Python 3.10 or newer

    Install the package

    pip install supervision
  2. 2

    Run it

    • Install Python 3.10 or newer and create a virtual environment
    • Run pip install supervision
    • Load an image with OpenCV and create an sv.BoxAnnotator
    • Pass your model's detections to annotate() to get an annotated frame
  3. 3

    Get the most out of it

    • Use the model connectors (Ultralytics, Transformers, MMDetection, Inference, rfdetr) so detections come back in the sv.Detections format
    • Use sv.DetectionDataset to load, split and merge datasets in COCO, YOLO or Pascal VOC formats
    • Explore the linked cookbooks and end-to-end examples for tracking and zone-based counting

Downloads

Strengths

  • Model agnostic: the README says it connects to popular libraries and works with any classification, detection or segmentation model
  • Covers several steps of a vision pipeline (datasets, annotation, zones) in one package under the MIT license
  • Install is a single pip command and the README includes runnable examples

Trade-offs

  • Scope is limited to the building-block layer; you still need your own model and application logic
  • Some integrations, such as the Roboflow inference example, need an API key from Roboflow
  • The README provided is truncated, so details of features beyond the quickstart were not verified here

How it compares

ProjectStarsTypeLevelUpdatedBest for
supervision (this)51.5kLibraryintermediate4 days agoPython developers building apps on top of object detection or segmentation models
albumentations15.3kLibrarybeginner1.4 years agoMachine learning engineers training image classification or segmentation models with limited data
ai-engineering-from-scratch76.3kLearning resourceintermediate4 days agoStudents who want to understand how LLMs, retrieval, and agents work internally
AI-For-Beginners70.5kLearning resourcebeginner13 days agoBeginners who want a structured, self-paced introduction to AI
carla14.6kAppadvanced4 days agoAutonomous driving researchers testing perception or control software
facenet14.4kAI model / agentadvanced3.3 years agoResearchers reproducing the FaceNet paper with TensorFlow

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.