Supervision (Roboflow)
Vytvořeno: 7.7.2026 | Aktualizováno: 07.07.2026 23:48
Supervision je open-source Python knihovna od Roboflow pro stavbu aplikací v oblasti počítačového vidění. Poskytuje opakovaně použitelné nástroje pro práci s detekcemi, anotacemi, trackingem, zónami, datasety a vyhodnocováním modelů, aby se kolem modelů dal rychleji stavět aplikační kód.
K čemu slouží
Podle oficiální dokumentace je Supervision zaměřený na produkční i experimentální computer vision workflow. Není to model ani trénovací framework, ale pomocná vrstva kolem modelů a jejich výstupů.
Typické použití:
- sjednocení výstupů modelů přes objekt
sv.Detections, - anotace obrázků a videa pomocí bounding boxů, masek a labelů,
- tracking objektů napříč snímky s perzistentními ID,
- filtrování a počítání detekcí v polygonových nebo liniových zónách,
- načítání, převod a ukládání datasetů ve formátech YOLO, COCO a Pascal VOC,
- vyhodnocování modelů pomocí metrik jako mAP, recall, precision nebo F1.
Supervision je modelově agnostický. Dokumentace uvádí konvertory nebo podporu pro výstupy z nástrojů jako Ultralytics, Roboflow Inference, Transformers, SAM, Detectron2, MMDetection, YOLO-NAS, PaddleDet, NCNN, Azure AI Vision a VLM parserů.
Instalace
Základní instalace přes pip:
pip install supervision
Při práci s konkrétní verzí je dobré zkontrolovat požadovanou verzi Pythonu. Ve vývojovém pyproject.toml je pro větev develop uvedeno requires-python = „>=3.10“. Stránka dokumentace latest zároveň v instalační části uvádí Python>=3.9, takže rozhodující je konkrétní instalovaná verze balíčku.
Některé ukázky vyžadují volitelné balíčky podle použitého modelu nebo zdroje dat. Například ukázka s RF-DETR v README používá:
pip install pillow rfdetr
Základní workflow
Zjednodušený postup práce:
- Model vytvoří predikce nad obrázkem nebo videem.
- Výstup se převede na jednotný objekt
sv.Detections, případně ho některé integrace vrací přímo. - Nad detekcemi se provede anotace, filtrování, tracking, zónové počítání nebo export.
Příklad z README s modelem RF-DETR:
import supervision as sv from PIL import Image from rfdetr import RFDETRSmall image = Image.open("path/to/image.jpg") model = RFDETRSmall() detections = model.predict(image, threshold=0.5) len(detections)
Příklad anotace detekcí do obrázku:
import cv2 import supervision as sv image = cv2.imread("path/to/image.jpg") detections = sv.Detections(...) box_annotator = sv.BoxAnnotator() annotated_frame = box_annotator.annotate( scene=image.copy(), detections=detections, )
Práce s datasety
Supervision obsahuje utility pro načítání, slučování, dělení a ukládání datasetů. Podle README a dokumentace podporuje hlavně běžné formáty používané v object detection workflow:
- COCO,
- YOLO,
- Pascal VOC.
Příklad načtení COCO datasetu:
import supervision as sv dataset = sv.DetectionDataset.from_coco( images_directory_path="path/to/images", annotations_path="path/to/_annotations.coco.json", ) path, image, annotation = dataset[0]
Příklad rozdělení datasetu:
train_dataset, test_dataset = dataset.split(split_ratio=0.7) test_dataset, valid_dataset = test_dataset.split(split_ratio=0.5)
Kdy se hodí
Supervision dává smysl hlavně tehdy, když už existuje model nebo inference služba a je potřeba kolem ní postavit praktické zpracování výstupů.
Typické scénáře:
- rychlá vizualizace výsledků object detection nebo segmentation modelu,
- video analytika — tracking objektů, počítání průchodů, práce se zónami,
- příprava a konverze datasetů mezi běžnými formáty,
- kontrola kvality anotací a výstupů modelu,
- prototypování aplikací nad YOLO, RF-DETR, Roboflow Inference nebo jinými modely.
Omezení a poznámky
- Supervision nenahrazuje samotný model. Je to aplikační a utility vrstva kolem výstupů modelů.
- Podpora konkrétních modelových knihoven a konvertorů se může měnit podle verze.
- U produkčního použití je potřeba hlídat závislosti na OpenCV, NumPy a dalších balíčcích podle cílového prostředí.
- Pro konkrétní API je lepší vycházet z verzované dokumentace k instalované verzi balíčku, ne pouze z README na vývojové větvi.