La detección de objetos en deep learning es uno de los campos donde la elección del modelo determina si un sistema funciona en producción o no.

Este artículo explora los principios que gobiernan la elección de un modelo de detección de objetos. Los modelos evolucionan rápido — YOLO lleva ya diez versiones — pero el razonamiento detrás de la elección sigue siendo el mismo.

El problema que nadie formula correctamente

Cuando alguien empieza a trabajar con detección de objetos, la pregunta que se hace casi siempre es la misma: ¿qué modelo es el mejor? La respuesta correcta, que frustra a mucha gente, es que depende. Pero no depende de forma vaga o filosófica. Depende de dos variables muy concretas que determinan absolutamente todo lo que viene después: la velocidad que necesitas y la precisión que te puedes permitir sacrificar.

No existe un modelo que gane en las dos dimensiones al mismo tiempo. Eso no es una limitación de la tecnología actual, es una consecuencia directa de cómo están diseñados estos sistemas por dentro. Entender por qué te ahorra meses de prueba y error.

Cómo aprende una máquina a ver

Antes de hablar de modelos concretos, vale la pena construir la intuición correcta sobre qué ocurre cuando un sistema de visión artificial mira una imagen.

Una imagen digital es, en su forma más básica, una matriz de números. Cada píxel tiene un valor que representa su intensidad lumínica, y si la imagen tiene color, tiene tres de esas matrices — una por cada canal: rojo, verde, azul. Un modelo de detección de objetos recibe esa matriz y tiene que responder dos preguntas: ¿qué hay aquí? y ¿dónde está?

🔍

Analogía

Imagina que alguien te enseña una foto en blanco y negro donde cada zona tiene un número que indica qué tan brillante es. Tu trabajo es decir «hay un coche en la esquina inferior izquierda». La red neuronal hace exactamente eso, pero con millones de ejemplos previos que le han enseñado qué combinaciones de números se parecen a un coche, a una persona, o a cualquier otra categoría.

Las redes neuronales convolucionales (CNN) son el tipo de arquitectura que mejor resuelve este problema. Su mecanismo central, la convolución, consiste en deslizar pequeños filtros sobre la imagen para detectar patrones locales: primero bordes, luego texturas, luego formas más complejas. Cada capa de la red construye representaciones más abstractas sobre las anteriores. En las primeras capas el modelo detecta bordes. En las últimas, detecta conceptos.

Arquitectura de una red neuronal convolucional Diagrama que muestra el flujo de una imagen a través de capas de convolución, pooling y clasificación final hasta obtener una predicción píxeles → patrones simples → formas → conceptos → clase Imagen RGB Convolución 1 Detecta bordes Pooling Reduce tamaño Convolución 2 Detecta formas Clasificación Fully connected Coche p = 0.94 Predicción

Flujo de una imagen a través de una CNN: cada capa extrae representaciones más abstractas hasta producir una clase con su probabilidad de confianza.

Lo que diferencia a los modelos de detección de los de clasificación es que no solo dicen qué hay en la imagen. Además localizan cada objeto mediante una caja delimitadora — un rectángulo definido por sus coordenadas — y asignan una probabilidad de confianza a cada detección. Esa probabilidad es clave: no todas las detecciones tienen el mismo peso, y saber cuándo confiar en el modelo es parte del trabajo de diseño.

Detectores de una etapa vs dos etapas Comparación visual entre YOLO (una etapa, ~12ms) y Faster R-CNN (dos etapas, ~18ms), mostrando el flujo de procesamiento de cada arquitectura YOLO — una etapa ~12 ms / imagen Imagen Red CNN Detección + clase en una sola pasada Resultado ⚡ Tiempo real posible Precisión alta, no máxima Faster R-CNN — dos etapas ~18 ms / imagen Imagen Etapa 1 · RPN Propone regiones candidatas Etapa 2 · CNN Clasifica cada región propuesta Resultado Más lento, no tiempo real Mayor precisión Mismo objetivo. Distinto orden de operaciones. Distinto trade-off.

YOLO resuelve detección y clasificación en una sola pasada por la red. Faster R-CNN separa el problema en dos fases: primero propone dónde hay objetos, luego clasifica cada propuesta.

Dos filosofías de detección

El campo de la detección de objetos está dominado por dos grandes familias de modelos que reflejan dos formas distintas de resolver el mismo problema.

Detectores de dos etapas: primero proponer, luego clasificar

La familia R-CNN — y su evolución más madura, Faster R-CNN — funciona en dos fases bien diferenciadas. En la primera, una red separada (la Region Proposal Network) genera miles de regiones candidatas donde podría haber un objeto. En la segunda, cada región candidata se analiza individualmente para clasificar qué hay en ella y ajustar las coordenadas de la caja.

Este proceso de dos pasos tiene una consecuencia directa: más precisión, más tiempo de cómputo. Al analizar cada región de forma independiente y con detalle, el modelo puede distinguir mejor objetos parecidos, gestionar oclusiones parciales y afinar los bordes de la detección. El precio es que no puede hacerlo en tiempo real en hardware convencional.

Dónde encaja Faster R-CNN

Aplicaciones donde la velocidad no es crítica pero la precisión sí lo es. Análisis de imágenes médicas, inspección industrial, sistemas de vigilancia donde el procesamiento es posterior a la captura.

Detectores de una etapa: todo a la vez

YOLO — You Only Look Once — propone una solución radicalmente distinta. En lugar de separar el problema en dos fases, divide la imagen en una cuadrícula y para cada celda predice simultáneamente las cajas delimitadoras y las probabilidades de clase. Una sola pasada por la red produce el resultado completo.

La consecuencia es la inversa: velocidad extrema, algo menos de precisión en casos límite. En su versión YOLOv5 el tiempo de inferencia está entre 2 y 12 milisegundos por imagen dependiendo de la configuración elegida. Eso es suficiente para procesar vídeo en tiempo real sin hardware especializado.

La diferencia en la práctica

Un detective que inspecciona cada habitación de la casa con lupa antes de emitir su informe (Faster R-CNN) frente a uno que da una vuelta rápida a todo el espacio y señala lo importante al instante (YOLO). El primero no se pierde nada, el segundo te da el resultado antes de que termines de hacer la pregunta.


Lo que los datos dicen: experimento real

La teoría es necesaria, pero la decisión real se toma mirando números concretos sobre el mismo conjunto de datos. Entrenando ambos modelos sobre un dataset de imágenes de cámaras de tráfico — más de 6.000 imágenes con vehículos etiquetados en condiciones variables de iluminación y densidad — los resultados ilustran perfectamente el trade-off.

Métricas de evaluación: qué mide cada número

Antes de mostrar los resultados, vale la pena precisar qué significan las métricas que importan en detección de objetos. La precisión mide cuántas de las detecciones realizadas son correctas. El recall mide cuántos de los objetos reales fueron detectados. El mAP (Mean Average Precision) combina ambas bajo distintos umbrales de confianza y es el estándar del campo para comparar modelos.

El IoU (Intersection over Union) es la métrica que valida una detección individual: mide el solapamiento entre la caja predicha y la caja real. Una detección se considera válida cuando ese solapamiento supera un umbral, habitualmente 0.5.

Intersection over Union — tres casos Diagrama con tres ejemplos de IoU: bajo (0.15, detección inválida), medio (0.52, justo por encima del umbral) y alto (0.88, detección precisa) IoU = Área de intersección / Área de unión IoU bajo IoU = 0.15 Detección inválida IoU medio — umbral 0.5 IoU = 0.52 Justo por encima IoU alto IoU = 0.88 Detección precisa Caja real Caja predicha Intersección

El IoU mide el solapamiento entre la caja predicha y la real. Por convención, una detección se acepta cuando IoU ≥ 0.5. Cuanto más se acerque a 1, más precisa es la localización.

Resultados comparados

YOLOv5 · Precisión

82%

Sobre conjunto de validación, umbral IoU ≥ 0.5

YOLOv5 · mAP@0.5

76%

Media de precisión media sobre todas las clases

YOLOv5 · Inferencia

12ms

Por imagen, GPU Google Colab

Faster R-CNN · AP

34.7

Formato COCO, sobre el mismo dataset

Faster R-CNN · Cls. Acc.

96%

Accuracy de clasificación, más alta que YOLO

Faster R-CNN · Inferencia

15–22ms

Por imagen, misma infraestructura

Lo primero que salta a la vista es que Faster R-CNN tiene una accuracy de clasificación significativamente más alta. Cuando el modelo detecta un objeto, lo clasifica con más fiabilidad. Sin embargo, el mAP de YOLO es comparable o superior porque el detector de una etapa es más eficaz localizando más objetos en la escena, especialmente en situaciones de alta densidad.

Dimensión
YOLOv5
Faster R-CNN
Velocidad de inferencia
Muy alta · 12ms/img
Moderada · 15–22ms/img
Precisión de clasificación
Alta · 82%
Muy alta · 96%
Detección en escenas densas
Sólida
Más conservadora
Rendimiento nocturno
Degrada más
Más robusto
Tiempo de entrenamiento
44 min · 12 épocas
>45 min · más iteraciones
Procesamiento en tiempo real
Sí, sin problema
Depende del hardware

Un dato que el experimento dejó claro es que en escenas nocturnas YOLO degrada más que Faster R-CNN. La precisión de clasificación baja y aparecen más falsos positivos. Esto no es un defecto del algoritmo sino una consecuencia de su arquitectura: al comprimir el problema en una sola pasada, tiene menos capacidad para recuperarse cuando la señal visual es ambigua.

Conclusión del experimento

YOLO ganó en velocidad y en capacidad de detección en escenas de alta densidad. Faster R-CNN ganó en fiabilidad de clasificación y robustez ante condiciones difíciles. Ninguno ganó en todo. Eso es exactamente lo que esperábamos, y es la razón por la que la elección de modelo es una decisión de diseño, no una búsqueda del mejor benchmark.


El criterio que realmente importa

Después de entrenar, evaluar y comparar ambos modelos sobre el mismo problema, la conclusión no es que uno sea superior al otro. La conclusión es que la pregunta que debes hacerte antes de elegir un modelo no es «¿cuál tiene mejores métricas?» sino una serie de preguntas muy específicas sobre el contexto de tu aplicación.

Framework de decisión

¿Necesitas procesar en tiempo real?

Sí → Detector de una etapa (YOLO y familia). No hay otra opción práctica.

¿Las condiciones de captura son variables?

Mucho → Detector de dos etapas. La robustez vale más que la velocidad.

¿El coste de un falso positivo es alto?

Sí → Prioriza precisión sobre recall. Faster R-CNN, umbral de confianza alto.

¿Tienes restricciones de hardware?

Hardware limitado → YOLO en configuración ligera (nano o small). Los modelos de dos etapas requieren GPU con CUDA obligatoriamente.

¿Cuántas clases necesitas detectar?

Muchas clases similares → Dos etapas. La fase de clasificación separada gestiona mejor la ambigüedad entre categorías parecidas.

Hay un último factor que los benchmarks no capturan: el coste de mantenimiento. Los modelos de una etapa como YOLO tienen ecosistemas más activos, documentación más accesible y ciclos de actualización más rápidos. Si el proyecto va a evolucionar, eso pesa.


Lo que distingue a un buen arquitecto de decisiones basadas en datos no es saber qué modelo tiene el mAP más alto en COCO. Es saber qué pregunta hacerse primero, qué restricciones son reales y cuáles son negociables, y cómo traducir eso en una elección técnica que el sistema pueda sostener en producción.

¿Hay algún caso concreto donde hayas tenido que tomar esta decisión? ¿Qué acabó siendo el factor determinante?