YOLOv8 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, de la disponibilidad de hardware y de la necesidad de capacidades multitarea. Esta guía ofrece un profundo análisis técnico para ayudar a los ingenieros e investigadores de visión por computador a tomar la decisión correcta.
YOLOv5: la norma probada del sector
Autor: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
GitHubyolov5
Docsyolov5
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 PyTorchalejándose del marco Darknet utilizado por sus predecesores. Este cambio facilitó enormemente a los desarrolladores el entrenamiento, la implementación y la experimentación con conjuntos de datos personalizados.
YOLOv5 utiliza una red troncal CSPDarknet y es un detector basado en anclas. Esto significa que se basa en cajas de anclaje predefinidas para predecir la ubicación de los objetos. Aunque este enfoque requiere un cierto ajuste de los hiperparámetros para obtener un rendimiento óptimo en conjuntos de datos únicos, sigue siendo muy eficaz. Su arquitectura hace hincapié en la velocidad de inferencia y la baja capacidad de memoria, lo que la convierte en una de las favoritas para su despliegue en hardware con recursos limitados como la Raspberry Pi y las primeras generaciones de NVIDIA Jetson.
Puntos fuertes de YOLOv5
- Estabilidad heredada: Años de uso activo en entornos de producción lo han convertido en uno de los modelos de visión más estables y libres de errores disponibles.
- Optimización de bordes: Especialmente en CPU antiguas y procesadores móviles específicos, la arquitectura más sencilla de YOLOv5 puede ofrecer a veces una latencia de inferencia más rápida.
- Amplio ecosistema: Una enorme comunidad de tutoriales, integraciones de terceros y foros de debate facilita la resolución de problemas y el desarrollo.
YOLOv8: el centro neurálgico multitarea
Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
Organización:Ultralytics
Fecha: 2023-01-10
GitHubultralytics
Docsyolov8
YOLOv8 representa un importante salto adelante, ya que no se ha diseñado únicamente como detector de objetos, sino como un marco integral para la segmentación de imágenes, la estimación de poses, la clasificación y la detección de recuadros delimitadores orientados (OBB).
Desde el punto de vista arquitectónico, YOLOv8 adopta un diseño sin anclajes con un cabezal desacoplado que separa las tareas de objetividad, clasificación y regresión. También introduce el módulo C2f (Cross Stage Partial BottleNeck con 2 convoluciones), que sustituye al módulo C3 de YOLOv5. El módulo C2f mejora el flujo de gradiente y la fusión de características, lo que permite al modelo aprender patrones más complejos sin un aumento masivo del coste computacional.
Puntos fuertes de YOLOv8
- Precisión de vanguardia: Obtiene sistemáticamente puntuaciones mAP (precisión media) más altas en los conjuntos de datos COCO y personalizados en comparación con YOLOv5.
- Detección sin anclajes: Elimina la necesidad de calcular o ajustar los cuadros de anclaje, lo que simplifica el proceso de formación y mejora la generalización en objetos con relaciones de aspecto inusuales.
- Versatilidad: La posibilidad de alternar entre detección, segmentación y estimación de la pose utilizando la misma API reduce significativamente el tiempo de desarrollo de proyectos complejos.
Profundización técnica: Arquitectura y rendimiento
La transición de YOLOv5 a YOLOv8 está marcada por varios cambios "bajo el capó" que impulsan las mejoras de rendimiento.
Cambios arquitectónicos
La diferencia más notable es el cabezal de detección. YOLOv5 utiliza un cabezal acoplado en el que la clasificación y la localización comparten características. YOLOv8 emplea un cabezal desacoplado, que permite a la red ajustar los pesos de forma independiente para identificar qué es un objeto y dónde está. Esto suele mejorar la convergencia y la precisión.
Además, la evolución de la columna vertebral de C3 a C2f permite a YOLOv8 capturar información de gradiente más rica. Aunque 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 datosCOCO estándar, YOLOv8 demuestra una relación superior entre precisión y cálculo.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Como se ilustra, YOLOv8n (Nano) alcanza un mAP de 37,3, prácticamente igualando al mayor YOLOv5s (Small), que obtiene una puntuación de 37,4, pero con un número significativamente menor de FLOPs. Esta eficiencia es fundamental para las modernas aplicaciones de inteligencia artificial Edge.
Metodologías de entrenamiento y ecosistema
Una de las características que definen los modelos de Ultralytics es que se centran en 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 Python , una interfaz unificada de CLI y Python . Este paquete gestiona eficazmente las dependencias y proporciona una API coherente para formación, validación, y predicción. Curiosamente, la moderna ultralytics también puede cargar y ejecutar modelos YOLOv5 , salvando las distancias 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-DETRtanto YOLOv5 como YOLOv8 son excepcionalmente eficientes en memoria. Los transformadores suelen requerir una gran cantidad de memoria CUDA y tiempos de entrenamiento más largos para converger. En cambio, los modelosYOLO 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 la gestión de conjuntos de datos, la visualización de modelos y la implantación en dispositivos del mundo real con un solo clic.
Casos de Uso Ideales
La selección del modelo adecuado suele depender del entorno específico en el que se va a implantar.
Cuándo elegir YOLOv5
YOLOv5 sigue siendo una excelente opción para:
- Sistemas heredados: Actualización de canalizaciones existentes en las que la infraestructura ya está construida en torno a la arquitectura YOLOv5 .
- Hardware Edge específico: Algunos controladores NPU (Neural Processing Unit) antiguos tienen soporte altamente optimizado específicamente para la arquitectura YOLOv5 .
- Latencia ultrabaja: En situaciones en las que cada milisegundo de inferencia de CPU cuenta, el cabezal acoplado más sencillo de YOLOv5n puede ofrecer a veces una ventaja de velocidad bruta sobre v8n.
Cuándo elegir YOLOv8
YOLOv8 es la opción recomendada para:
- Nuevos desarrollos: Al iniciar un proyecto hoy, YOLOv8 (o el más reciente YOLO11) proporciona un camino mejor preparado para el futuro.
- Tareas complejas: Aplicaciones que requieren segmentación de instancias (por ejemplo, análisis médico de células) o detección de puntos clave (por ejemplo, análisis deportivo).
- Requisitos de alta precisión: Escenarios en los que omitir una detección es crítico, como en sistemas de seguridad de vehículos autónomos o vigilancia de seguridad.
Conclusión
Tanto YOLOv5 como YOLOv8 son una prueba del compromiso de Ultralytics con la innovación de código abierto. YOLOv5 sigue siendo una leyenda en este campo: fiable, rápido y ampliamente respaldado. YOLOv8 YOLOv8 mejora esta base con avances arquitectónicos que ofrecen una mayor precisión y versatilidad sin sacrificar la facilidad de uso que esperan los desarrolladores.
Para la mayoría de los nuevos proyectos, recomendamos aprovechar los avances de YOLOv8 o actualizar a la última versión de YOLO11que perfecciona aún más estos conceptos para lograr el equilibrio definitivo entre velocidad y precisión.
Explorar Otros Modelos
Si está interesado en explorar lo último en tecnología de detección, considere la posibilidad de echar un vistazo:
- 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 una gran precisión para aplicaciones en tiempo real, ideal cuando la memoria de GPU es una limitación menor.