Ir al contenido

YOLOv5 vs YOLOv8: Evolución de la detección de objetos en tiempo real

La evolución de la detección de objetos ha estado marcada en gran medida por la familia de modelos YOLO (You Only Look Once). Desarrollada por Ultralyticstanto YOLOv5 como YOLOv8 representan momentos cruciales en la historia de la visión por ordenador. Mientras que YOLOv5 se estableció como la arquitectura de detección más querida y utilizada del mundo por su sencillez y velocidad, YOLOv8 introdujo un marco unificado con innovaciones arquitectónicas de vanguardia para dar soporte a una gama más amplia de tareas de visión.

La elección entre estas dos potencias depende de las limitaciones específicas de su proyecto, la disponibilidad de hardware y la necesidad de capacidades multitarea. Esta guía proporciona un análisis técnico profundo para ayudar a los ingenieros de visión artificial e investigadores a tomar la decisión correcta.

YOLOv5: El estándar industrial probado

Autor: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Documentación:https://docs.ultralytics.com/models/yolov5/

Lanzado a mediados de 2020, YOLOv5 revolucionó la accesibilidad de la detección de objetos. Fue el primer modelo YOLO implementado de forma nativa en PyTorch, alejándose del framework Darknet utilizado por sus predecesores. Este cambio hizo que fuera increíblemente fácil para los desarrolladores entrenar, implementar y experimentar con conjuntos de datos personalizados.

YOLOv5 utiliza un backbone CSPDarknet y es un detector basado en anclajes. Esto significa que se basa en cajas de anclaje predefinidas para predecir las ubicaciones de los objetos. Si bien este enfoque requiere cierto ajuste de hiperparámetros para un rendimiento óptimo en conjuntos de datos únicos, sigue siendo muy eficaz. Su arquitectura enfatiza la velocidad de inferencia y la baja capacidad de memoria, lo que lo convierte en uno de los favoritos para la implementación en hardware con recursos limitados como la Raspberry Pi y las primeras generaciones de NVIDIA Jetson.

Puntos fuertes clave de YOLOv5

  • Estabilidad heredada: Años de uso activo en entornos de producción la han convertido en uno de los modelos de visión más estables y libres de errores disponibles.
  • Optimización de borde: Particularmente en CPUs más antiguas y procesadores móviles específicos, la arquitectura más simple de YOLOv5 a veces puede ofrecer una latencia de inferencia más rápida.
  • Ecosistema vasto: Una comunidad masiva de tutoriales, integraciones de terceros y discusiones en foros apoya la resolución de problemas y el desarrollo.

Más información sobre YOLOv5

YOLOv8: La Potencia Multitarea

Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
Organización:Ultralytics
Fecha: 2023-01-10
GitHub:https://github.com/ultralytics/ultralytics
Docs:https://docs.ultralytics.com/models/yolov8/

YOLOv8 representa un importante avance, diseñado no solo como un detector de objetos, sino como un framework integral para la segmentación de imágenes, la estimación de poses, la clasificación y la detección de cajas delimitadoras orientadas (OBB).

Arquitectónicamente, YOLOv8 se mueve hacia un diseño sin anclajes con una cabeza desacoplada, separando las tareas de objetividad, clasificación y regresión. También introduce el módulo C2f (Cross Stage Partial BottleNeck con 2 convoluciones), que reemplaza el módulo C3 encontrado en YOLOv5. El módulo C2f mejora el flujo de gradiente y la fusión de características, lo que permite que el modelo aprenda patrones más complejos sin un aumento masivo en el costo computacional.

Puntos fuertes clave de YOLOv8

  • Precisión de última generación: Logra consistentemente puntuaciones de mAP (Precisión Media Promedio) más altas en COCO y conjuntos de datos personalizados en comparación con YOLOv5.
  • Detección sin anclajes: Elimina la necesidad de calcular o ajustar cuadros de anclaje, simplificando el pipeline de entrenamiento y mejorando la generalización en objetos con relaciones de aspecto inusuales.
  • Versatilidad: La capacidad de cambiar entre la detección, la segmentación y la estimación de pose utilizando la misma API reduce significativamente el tiempo de desarrollo de proyectos complejos.

Más información sobre YOLOv8

Análisis Técnico en Profundidad: Arquitectura y Rendimiento

La transición de YOLOv5 a YOLOv8 está marcada por varios cambios "bajo el capó" que impulsan las ganancias de rendimiento.

Cambios Arquitectónicos

La diferencia más notable es el head de detección. YOLOv5 utiliza un head acoplado donde la clasificación y la localización comparten características. YOLOv8 emplea un head desacoplado, permitiendo a la red ajustar los pesos independientemente para identificar qué es un objeto versus dónde está. Esto normalmente conduce a una mejor convergencia y mayor precisión.

Además, la evolución del backbone de C3 a C2f permite a YOLOv8 capturar información de gradiente más rica. Si bien esto hace que la arquitectura sea ligeramente más compleja, Ultralytics ha optimizado la implementación para garantizar que la eficiencia del entrenamiento siga siendo alta.

Métricas de rendimiento

Al comparar los modelos en el conjunto de datos COCO estándar, YOLOv8 demuestra relaciones precisión-cálculo superiores.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Como se ilustra, YOLOv8n (Nano) alcanza un mAP de 37.3, prácticamente igualando al YOLOv5s (Small) más grande, que obtiene una puntuación de 37.4, pero con significativamente menos FLOPs. Esta eficiencia es fundamental para las aplicaciones modernas de Edge AI.

Metodologías de entrenamiento y ecosistema

Una de las características definitorias de los modelos de Ultralytics es la atención que se presta a la experiencia del desarrollador. Ambos modelos se benefician del completo ecosistema de Ultralytics, pero se accede a ellos de forma ligeramente diferente.

Facilidad de uso y API

YOLOv8 introdujo el ultralytics Paquete de python, una CLI unificada y una interfaz de python. Este paquete gestiona eficazmente las dependencias y proporciona una API consistente para entrenamiento, validación, y predicción. Curiosamente, el moderno ultralytics paquete también puede cargar y ejecutar modelos YOLOv5, cerrando la brecha entre generaciones.

from ultralytics import YOLO

# Load a YOLOv8 model (Official)
model_v8 = YOLO("yolov8n.pt")

# Load a YOLOv5 model (Legacy support via Ultralytics package)
model_v5 = YOLO("yolov5nu.pt")

# Training is identical for both
results = model_v8.train(data="coco8.yaml", epochs=100)

Memoria y Eficiencia

En comparación con los modelos basados en transformadores como RT-DETR, tanto YOLOv5 como YOLOv8 son excepcionalmente eficientes en cuanto a memoria. Los transformadores a menudo requieren una cantidad sustancial de memoria CUDA y tiempos de entrenamiento más largos para converger. En cambio, los modelos YOLO de Ultralytics están optimizados para ejecutarse en GPU de consumo e incluso en CPU, lo que democratiza el acceso a la IA de alto rendimiento.

Ecosistema Integrado

Ambos modelos son totalmente compatibles con Ultralytics HUB, lo que permite una gestión fluida de los conjuntos de datos, la visualización de modelos y la implementación con un solo clic en dispositivos del mundo real.

Casos de Uso Ideales

La selección del modelo adecuado a menudo se reduce al entorno específico en el que se implementará el modelo.

Cuándo elegir YOLOv5

YOLOv5 sigue siendo una excelente opción para:

  • Sistemas heredados: Actualización de las canalizaciones existentes donde la infraestructura ya está construida alrededor de la arquitectura de YOLOv5.
  • Hardware Específico para Edge: Algunos controladores NPU (Unidad de Procesamiento Neuronal) más antiguos tienen soporte altamente optimizado específicamente para la arquitectura YOLOv5.
  • Latencia ultrabaja: En escenarios donde cada milisegundo de inferencia de CPU cuenta, el head acoplado más simple de YOLOv5n a veces puede ofrecer una ventaja de velocidad bruta sobre v8n.

Cuándo elegir YOLOv8

YOLOv8 es la opción recomendada para:

  • Nuevos Desarrollos: Empezando un proyecto hoy, YOLOv8 (o el más nuevo YOLO11) proporciona un mejor camino a prueba de futuro.
  • Tareas Complejas: Aplicaciones que requieren segmentación de instancias (p. ej., análisis de células médicas) o detección de puntos clave (p. ej., análisis deportivo).
  • Altos Requisitos de Precisión: Escenarios donde perder una detection es crítico, como en los sistemas de seguridad de vehículos autónomos o la vigilancia de seguridad.

Conclusión

Tanto YOLOv5 como YOLOv8 son prueba del compromiso de Ultralytics con la innovación de código abierto. YOLOv5 sigue siendo una leyenda en el campo: fiable, rápido y con un amplio soporte. Sin embargo, YOLOv8 mejora esta base con avances arquitectónicos que ofrecen mayor precisión y versatilidad sin sacrificar la facilidad de uso que esperan los desarrolladores.

Para la mayoría de los proyectos nuevos, recomendamos aprovechar los avances de YOLOv8 o actualizar a la última versión de YOLO11, que refina aún más estos conceptos para lograr el máximo equilibrio entre velocidad y precisión.

Explorar Otros Modelos

Si le interesa explorar lo último en tecnología de detección, considere consultar:

  • YOLO11: La última evolución, que ofrece un procesamiento más rápido y una extracción de características mejorada con respecto a YOLOv8.
  • RT-DETR: Un modelo basado en transformadores que ofrece alta precisión para aplicaciones en tiempo real, ideal cuando la memoria de la GPU es menos limitante.

Comentarios