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.
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í:
sv.Detections,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ů.
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
Zjednodušený postup práce:
sv.Detections, případně ho některé integrace vrací přímo.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, )
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:
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)
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: