EN JA ZH ES

Visión general de la detección de objetos - Comparación de arquitectura y rendimiento de YOLO, SSD y Faster R-CNN

· 9 min de lectura

Qué es la detección de objetos - Encontrar y clasificar objetos en imágenes

La detección de objetos estima simultáneamente la posición (cuadro delimitador) y la categoría (clase) de los objetos presentes en las imágenes. Mientras la clasificación de imágenes determina "qué hay en toda la imagen", la detección de objetos identifica "dónde y qué". Es la tecnología de reconocimiento de imágenes más desplegada industrialmente, utilizada en conducción autónoma, cámaras de vigilancia, imágenes médicas y gestión de inventario minorista.

Salida de la detección de objetos: Cada resultado de detección contiene:

  • Cuadro delimitador: Coordenadas del rectángulo que encierra el objeto (x, y, ancho, alto)
  • Etiqueta de clase: Categoría del objeto (persona, coche, perro, etc.)
  • Puntuación de confianza: Certeza de la detección (0.0-1.0)

Métricas de evaluación:

  • mAP (mean Average Precision): Promedio del AP (área bajo la curva Precision-Recall) de todas las clases. El dataset COCO usa mAP@[0.5:0.95] (promedio entre umbrales IoU 0.5-0.95) como estándar.
  • IoU (Intersection over Union): Superposición entre cuadros predichos y reales. 0.5+ se considera típicamente correcto.
  • FPS (Frames Per Second): Fotogramas procesados por segundo. Indicador de capacidad en tiempo real.

Clasificación de detectores:

  • Detectores de dos etapas: Propuesta de región → clasificación en dos etapas. Alta precisión pero lento. Faster R-CNN es representativo.
  • Detectores de una etapa: Propuesta de región y clasificación simultáneas. Rápido pero precisión ligeramente menor. YOLO, SSD son representativos.
  • Sin anclas: Sin cuadros de anclaje predefinidos. CenterNet, FCOS son representativos.

Faster R-CNN - Detector de dos etapas de alta precisión

Faster R-CNN (2015) es un detector de objetos de dos etapas que introduce la Region Proposal Network (RPN), aún ampliamente utilizado donde se requiere detección de alta precisión. Evolucionó a través de R-CNN → Fast R-CNN → Faster R-CNN, permitiendo entrenamiento de extremo a extremo.

Arquitectura:

  • Backbone: Red de extracción de características (ResNet-50/101, FPN). Genera mapas de características multiescala a partir de imágenes de entrada.
  • RPN (Region Proposal Network): Evalúa cuadros de anclaje (múltiples tamaños/proporciones) en cada posición del mapa de características, generando aproximadamente 300 propuestas de región con alta probabilidad de contener objetos.
  • RoI Pooling/Align: Convierte cada propuesta de región en vectores de características de tamaño fijo. RoI Align elimina errores de cuantización para mayor precisión.
  • Cabeza: Realiza clasificación de clase y regresión de cuadro delimitador para cada propuesta de región.

FPN (Feature Pyramid Network): Tecnología clave para detección multiescala. Integra mapas de características de cada nivel de resolución del backbone de arriba hacia abajo, permitiendo detección uniforme desde objetos pequeños hasta grandes.

Rendimiento: mAP 42-47% en dataset COCO (ResNet-101 + FPN). Velocidad de procesamiento aproximadamente 5-15 FPS (GPU). Clase de mayor precisión pero inadecuado para procesamiento en tiempo real.

Cascade R-CNN (2018): Mejora de Faster R-CNN que aplica múltiples cabezas de detección progresivamente con umbrales IoU crecientes para detección de alta precisión. Logra 2-4% de mejora en mAP.

Casos de uso: Óptimo donde la precisión es la máxima prioridad con restricciones de velocidad relajadas (imágenes médicas, análisis de imágenes satelitales, procesamiento por lotes offline).

Serie YOLO - Evolución de la detección de objetos en tiempo real

YOLO (You Only Look Once), introducido en 2016, es un detector de una etapa que procesa imágenes completas en un solo paso hacia adelante para detección de objetos en tiempo real. En continua evolución desde v1 hasta v11 con mejoras significativas tanto en velocidad como en precisión.

Principio básico de YOLO: Divide la imagen de entrada en una cuadrícula SxS, con cada celda prediciendo simultáneamente B cuadros delimitadores y C probabilidades de clase. Todas las predicciones se completan en un solo paso hacia adelante de la CNN, permitiendo velocidad extrema.

YOLOv5 (2020): Implementación en PyTorch por Ultralytics enfatizando la usabilidad práctica. Variaciones de tamaño de modelo (n/s/m/l/x) permiten selección de balance velocidad-precisión por caso de uso.

  • YOLOv5n: 1.9M parámetros, aproximadamente 200 FPS con entrada 640x640
  • YOLOv5s: 7.2M parámetros, mAP 37.4%, aproximadamente 150 FPS
  • YOLOv5x: 86.7M parámetros, mAP 50.7%, aproximadamente 30 FPS

YOLOv8 (2023): Adopta diseño sin anclas eliminando cuadros de anclaje predefinidos. La cabeza desacoplada (separando clasificación y regresión) mejora la precisión, alcanzando mAP 53.9% en COCO (YOLOv8x).

YOLO11 (2024): Última versión que logra precisión equivalente a YOLOv8 con 22% menos parámetros mediante bloques C3k2 y SPPF mejorado. Optimizado para inferencia en dispositivos edge.

Ejemplo de implementación:

from ultralytics import YOLO

model = YOLO('yolov8n.pt')

results = model('image.jpg', conf=0.5)

SSD y RetinaNet - Variaciones de detectores de una etapa

Más allá de YOLO, se explican SSD y RetinaNet como detectores de una etapa que logran detección multiescala y mejora de precisión mediante diferentes enfoques.

SSD (Single Shot MultiBox Detector, 2016): Detector multiescala que realiza detección simultáneamente desde múltiples mapas de características de diferente resolución. Basado en VGG-16 con capas de convolución adicionales que reducen progresivamente la resolución, ejecutando detección en cada nivel.

Características: (1) Detección desde 6 mapas de características de diferente resolución (38x38, 19x19, 10x10, 5x5, 3x3, 1x1). (2) 4-6 cuadros predeterminados (anclas) por posición. (3) Objetos pequeños detectados en mapas de alta resolución, objetos grandes en mapas de baja resolución.

Rendimiento: mAP 25-28% en COCO (SSD300), aproximadamente 60 FPS. Posicionado como más preciso que YOLO v1 y más rápido que Faster R-CNN, pero ahora superado por YOLOv5+.

RetinaNet (2017): Modelo revolucionario que introduce Focal Loss para elevar la precisión de detectores de una etapa al nivel de detectores de dos etapas.

Problema de desequilibrio de clases: Los detectores de una etapa intentan detección en todas las posiciones de toda la imagen, haciendo que el fondo (negativos) sea abrumadoramente dominante (1000x+ más que positivos), causando que el entrenamiento sea dominado por el fondo.

Focal Loss: FL(p) = -α(1-p)^γ × log(p). Reduce la pérdida para ejemplos fáciles (fondo) y aumenta relativamente la pérdida para ejemplos difíciles (objetos), resolviendo el desequilibrio de clases. γ=2, α=0.25 son valores predeterminados.

Rendimiento: mAP 40.4% en COCO (ResNet-101 + FPN), aproximadamente 8 FPS. Primer modelo en lograr precisión equivalente a Faster R-CNN en una etapa. El concepto de Focal Loss fue adoptado por muchos detectores posteriores.

EfficientDet (2020): Usa backbone EfficientNet con BiFPN (Bidirectional FPN) para fusión eficiente de características multiescala. Alta eficiencia de parámetros, escalando desde dispositivos móviles hasta servidores.

Últimas tendencias - Detectores basados en Transformer y modelos fundacionales

Desde 2020, la introducción de Vision Transformer ha cambiado el paradigma de la detección de objetos. Detectores sin anclas, sin NMS y la utilización de modelos preentrenados a gran escala se están convirtiendo en la corriente principal.

DETR (Detection Transformer, 2020): Detector basado en Transformer de Facebook que formula la detección de objetos como un problema de predicción de conjuntos. Elimina NMS (Non-Maximum Suppression), permitiendo entrenamiento de extremo a extremo.

Arquitectura: CNN Backbone → Transformer Encoder → Transformer Decoder → Cabeza de predicción. Las Object Queries del Decoder (consultas aprendibles) corresponden a cada objeto, emparejadas con la verdad fundamental mediante matching húngaro.

DINO (2022): Mejora de DETR que combina Deformable Attention con aprendizaje contrastivo, alcanzando mAP 63.3% en COCO. Supera significativamente a Faster R-CNN, estableciendo la superioridad de detectores basados en Transformer.

RT-DETR (2023): DETR en tiempo real que logra velocidad equivalente a YOLO (100+ FPS) con precisión de nivel DETR. El diseño sin NMS simplifica el posprocesamiento y facilita el despliegue.

Grounding DINO (2023): Detector de vocabulario abierto que especifica objetivos de detección mediante prompts de texto. Detecta categorías no entrenadas previamente como "coche rojo" o "persona con gafas". Combinado con SAM permite segmentación dirigida por texto.

YOLO-World (2024): Añade capacidad de vocabulario abierto a YOLO para detección en tiempo real especificada por texto. No limitado a clases predefinidas; texto arbitrario especifica objetivos de detección.

Utilización de modelos fundacionales: Usar modelos preentrenados a gran escala (DINOv2, SAM, CLIP) como extractores de características con ajuste fino en pequeños conjuntos de datos específicos de tarea se está convirtiendo en el enfoque principal.

Criterios de selección prácticos y estrategia de despliegue

La selección del modelo de detección de objetos depende de los requisitos de precisión, requisitos de velocidad, entorno de despliegue y volumen de datos. Se explican criterios de decisión prácticos y técnicas de optimización de despliegue.

Modelos recomendados por caso de uso:

  • Conducción autónoma: YOLOv8/YOLO11 (tiempo real obligatorio, 30+ FPS)
  • Cámaras de vigilancia: YOLOv8m (balance precisión-velocidad)
  • Imágenes médicas: Faster R-CNN / DINO (prioridad precisión, sin restricción de velocidad)
  • Retail (inventario): EfficientDet (inferencia en dispositivos edge)
  • Imágenes de drones: YOLOv8s (ligero, inferencia edge)
  • Vocabulario abierto: Grounding DINO / YOLO-World

Optimización de despliegue:

  • Cuantización (INT8): FP32 → INT8 para aceleración de inferencia 2-4x, pérdida de precisión 1-2% mAP
  • TensorRT: Optimización para GPU NVIDIA con aceleración 2-3x
  • ONNX Runtime: Motor de inferencia multiplataforma
  • OpenVINO: Optimización para CPU/GPU Intel
  • CoreML: Optimización para dispositivos Apple (iPhone, Mac)

Inferencia en dispositivos edge: La reducción de peso del modelo es esencial para inferencia en Jetson Nano/Xavier, Raspberry Pi y smartphones. YOLOv8n (1.9M parámetros) alcanza 25 FPS en Jetson Nano y 60 FPS en iPhone 15 Pro.

Entrenamiento con datos personalizados: Entrenar detección de objetos en datasets personalizados requiere un mínimo de 300-500 imágenes anotadas. El aprendizaje por transferencia (ajuste fino desde modelos preentrenados en COCO) permite modelos de alta precisión con pocos datos. Roboflow, CVAT y Label Studio son herramientas de anotación ampliamente utilizadas.

Artículos relacionados

Fundamentos de segmentación de imágenes - Principios de división de regiones y aplicaciones

Introducción sistemática a la segmentación de imágenes, desde métodos clásicos de umbralización hasta técnicas de aprendizaje profundo (U-Net, DeepLab, SAM), incluyendo métricas de evaluación e implementación en navegador.

Algoritmos de compresión de imagen en profundidad - DCT, transformada wavelet y codificación predictiva

Explicación profunda de las tecnologías centrales de compresión de imágenes. Comprende los principios matemáticos detrás de la DCT de JPEG, la transformada wavelet de JPEG 2000, la codificación predictiva de H.265/AV1 y la codificación de entropía.

Tecnología de etiquetado automático de imágenes - Detección de objetos, reconocimiento de escenas y generación de subtítulos

Explicación de la tecnología de etiquetado automático de imágenes con IA. Cubre detección de objetos (YOLO), reconocimiento de escenas, generación de subtítulos de imágenes y su implementación en aplicaciones web con ejemplos prácticos.

Introducción a la segmentación semántica - Arquitecturas U-Net y DeepLab

Explicación detallada de las arquitecturas centrales de segmentación semántica, desde el trabajo pionero de FCN hasta la estructura codificador-decodificador de U-Net y la convolución dilatada de DeepLab, incluyendo preparación de datos y despliegue.

Aumento de datos para aprendizaje automático - Técnicas prácticas de augmentación de imágenes

Guía sistemática de técnicas de Data Augmentation esenciales para clasificación de imágenes y detección de objetos. Desde transformaciones geométricas hasta métodos de mezcla con implementaciones.

Superresolución con aprendizaje profundo - De SRCNN a Real-ESRGAN

Análisis completo de la superresolución de imágenes con aprendizaje profundo, desde el trabajo pionero de SRCNN hasta el manejo de degradación real de Real-ESRGAN, con guía de despliegue práctico.

Términos relacionados