| name | roboflow-supervision |
| description | Supervision de Roboflow — librería Python para herramientas reutilizables de visión por computador: detección de objetos, tracking, métricas, anotación. Compatible con YOLO, PyTorch, TensorFlow. 42K⭐ |
| url | https://github.com/roboflow/supervision |
| category | vision |
| fecha | 2026-06-09T00:00:00.000Z |
Roboflow Supervision
¿Qué hace?
Librería Python de Roboflow para construir herramientas reutilizables de visión por computador. Proporciona utilidades para detección de objetos, tracking, métricas, anotación de imágenes y procesamiento de vídeo.
Características principales
- Detección de objetos: Soporte para YOLO (v5, v8, v11, v12), Detectron2, y más
- Tracking: Multi-object tracking con asociación de IDs
- Métricas: Cálculo de métricas de evaluación (mAP, precision, recall, F1)
- Anotación: Dibujo de bounding boxes, masks, polygons en imágenes
- Procesamiento de vídeo: Frame-by-frame processing con overlay
- Formatos COCO/Pascal VOC: Import/export de datasets estandarizados
Ecosistema Roboflow
Supervision es parte del ecosistema más amplio de Roboflow:
- supervision — Herramientas de CV (esta librería)
- inference — Inferencia de modelos de ML
- autodistill — Auto-annotación con IA
- maestro — Multi-modal model orchestration
- notebooks — Notebooks de ejemplo y tutoriales
Casos de uso
- Visualización de detecciones: Dibujar bounding boxes y masks sobre imágenes/vídeo
- Métricas de evaluación: Calcular mAP, precision, recall de modelos de detección
- Tracking de objetos: Asignar IDs consistentes a objetos a lo largo de frames
- Procesamiento por lotes: Procesar miles de imágenes con pipelines reutilizables
- Integración con YOLO: Uso directo con modelos YOLO de Ultralytics
Snippets útiles
Instalación
pip install supervision
Detección de objetos con YOLO + Supervision
import supervision as sv
from ultralytics import YOLO
model = YOLO('yolov8n.pt')
results = model('image.jpg')
detections = sv.Detections.from_ultralytics(results[0])
annotated_image = sv.BoxAnnotator().annotate(
scene=image.copy(),
detections=detections
)
sv.plot_image(annotated_image)
Tracking de objetos
import supervision as sv
tracker = sv.ByteTrack()
for frame in video_frames:
detections = model(frame)
tracked_detections = tracker.update_with_detections(detections)
annotator = sv.BoxAnnotator()
annotated = annotator.annotate(scene=frame, detections=tracked_detections)
Métricas de evaluación
import supervision as sv
metrics = sv.metrics.Calculator(
iou_threshold=0.5,
classification_threshold=0.5
)
results = metrics.calculate(
predictions=predictions,
ground_truths=ground_truths
)
print(f"mAP: {results.map:.3f}")
print(f"Precision: {results.precision:.3f}")
print(f"Recall: {results.recall:.3f}")
Cómo integrarlo
- Instalar:
pip install supervision
- Importar:
import supervision as sv
- Convertir resultados: Usar
sv.Detections.from_*() para diferentes frameworks
- Annotar: Usar
sv.BoxAnnotator, sv.MaskAnnotator, etc.
- Métricas: Usar
sv.metrics.Calculator para evaluación
Pitfalls
- Requiere numpy y PIL: Dependencias básicas que hay que instalar
- YOLO integration: Solo funciona con Ultralytics YOLO para
from_ultralytics()
- Memory para vídeo largo: Procesar vídeo frame a frame puede consumir mucha memoria
- No es un framework de training: Solo para inference, annotation y metrics
Fecha de descubrimiento
2026-06-09 — Trending diario, 42.3K⭐. Nuevo skill (no teníamos)