====== Supervision (Roboflow) ====== //Vytvořeno: **7.7.2026** | Aktualizováno: **~~LASTMOD~~**// [[https://github.com/roboflow/supervision|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 [[https://supervision.roboflow.com/latest/|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 [[https://raw.githubusercontent.com/roboflow/supervision/develop/pyproject.toml|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. ===== Zdroje ===== * [[https://github.com/roboflow/supervision|roboflow/supervision – GitHub repozitář]] * [[https://supervision.roboflow.com/latest/|Supervision – oficiální dokumentace]] * [[https://raw.githubusercontent.com/roboflow/supervision/develop/pyproject.toml|Supervision – pyproject.toml ve větvi develop]]