Python Data Science Program
📓 Abrir notebook en GitHub

Clase 134 — YOLOv11 práctico: detección, segmentación, pose, tracking

Parte: 2 — Deep Learning · Fuente: Ultralytics YOLOv11 docs. ⏱️ Duración estimada: 85 min.

🎯 Objetivo

Dominar YOLOv11 (Ultralytics, 2024) — el detector default industrial 2026: inference real-time, fine-tuning sencillo, export a ONNX/TensorRT/CoreML/TFLite con un kwarg. Cubrir las 4 tareas: detection, segmentation, pose estimation, oriented bounding boxes (OBB).

📚 Resultados de aprendizaje

Al finalizar, el estudiante podrá:

🗺️ Temas

📖 Definiciones y características

📂 Dataset / recursos

🧪 Ejercicios

  1. Inference: model = YOLO('yolo11n.pt'); results = model('zidane.jpg'); results[0].show().
  2. Segmentation: YOLO('yolo11n-seg.pt'). Visualizar máscaras.
  3. Pose: YOLO('yolo11n-pose.pt'). Detectar keypoints en una foto.
  4. Fine-tune: dataset propio (50-100 imágenes anotadas). model.train(data='ds.yaml', epochs=50, imgsz=640).
  5. Tracking: model.track('video.mp4', tracker='botsort.yaml').

📝 Homework verificable

Detector custom de 2 clases:

  1. Etiquetar ~100 imágenes con Roboflow / LabelImg → formato YOLO.
  2. dataset.yaml correcto.
  3. Train YOLOv11n por 100 épocas.
  4. Reportar mAP@0.5; visualizar 3 inferencias.
  5. Exportar a ONNX y verificar que predice igual.

Criterio de aceptación: mAP@0.5 ≥ 0.7; ONNX produce predicciones consistentes.

⚠️ Errores comunes

Síntoma / mensaje Causa y cómo arreglar
dataset.yaml paths mal Errores de path. Fix: usar paths absolutos en yaml.
mAP bajo con dataset chico Pocos datos. Fix: ≥ 100 ejemplos por clase, augmentation.
Inference lento en CPU YOLO es para GPU. Fix: device='cuda' o exportar a ONNX/TensorRT.
Class names mismatched Orden en yaml debe coincidir con anotaciones. Fix: revisar names: en yaml.
Anotaciones con coords absolutas YOLO espera normalizadas [0,1]. Fix: convertir.

❓ Preguntas frecuentes

❓ YOLOv11 vs versiones anteriores?

v11 mejor accuracy/latency. v8 sigue siendo válido y muy usado. v5 legacy pero funciona.

❓ Tareas además de detección?

Segmentation, pose estimation (COCO keypoints), classification, OBB. Una sola API.

❓ Producción cómo deploy?

Export → ONNX → ONNX Runtime / TensorRT. O TF Lite para mobile. Soportado nativo.

❓ Licencia?

AGPL para uso open-source. Para uso comercial cerrado, license enterprise.

❓ Augmentation automática?

Sí, mosaic/mixup/etc. Built-in. Tunear con model.train(augment=True).

🔗 Referencias

📥 Material descargable

➡️ Siguiente clase

Clase 135 — RNNs: neuronas recurrentes, BPTT