YOLOv8 frente a YOLOv5: evolución de la detección de objetos en tiempo real
En el vertiginoso mundo de la visión por ordenador, pocos nombres resuenan con tanta fuerza como YOLO (You Only Look Once). Desarrollado por Ultralyticstanto YOLOv5 como YOLOv8 representan momentos cruciales en la historia de la detección de objetos. Mientras que YOLOv5 estableció el estándar del sector en cuanto a facilidad de uso y velocidad con su lanzamiento en 2020, YOLOv8 se lanzó en 2023 para ampliar aún más los límites de la precisión y la flexibilidad arquitectónica.
Esta exhaustiva comparación explora las diferencias técnicas, las evoluciones arquitectónicas y las métricas de rendimiento de estos dos potentes modelos. Tanto si mantiene sistemas heredados como si construye soluciones de IA de vanguardia, comprender los matices entre estas versiones es crucial para tomar decisiones de implantación informadas.
Evolución arquitectónica
La transición de YOLOv5 a YOLOv8 marca un cambio significativo en la filosofía de diseño, pasando de métodos establecidos basados en anclajes a un enfoque moderno sin anclajes. Esta evolución aborda retos comunes en la formación y generalización de modelos.
YOLOv5: la norma basada en anclajes
YOLOv5 utiliza un esquema de detección basado en anclajes. Esto significa que el modelo predice los desplazamientos a partir de "cajas de anclaje" predefinidas y adaptadas al conjunto de datos específico. Aunque es muy eficaz, este enfoque suele requerir el cálculo de dimensiones de anclaje óptimas para conjuntos de datos personalizados, un proceso conocido como "autoanclaje".
- Red troncal: Utiliza una red troncal CSPDarknet53 con una capa Focus (en versiones anteriores) o una capa stem (en versiones posteriores) para reducir la resolución de las imágenes.
- Cuello: Incorpora una red PANet (Path Aggregation Network) para la fusión de características.
- Cabeza: estructura de cabeza acoplada en la que las tareas de clasificación y localización comparten características hasta las capas finales de salida.
YOLOv8: el innovador sin anclajes
YOLOv8 introduce un cabezal de detección sin anclajes, que elimina la necesidad de definir manualmente las cajas de anclaje. Esto simplifica el proceso de formación y mejora el rendimiento con objetos de distintas formas y proporciones.
- Módulo C2f: Sustituye al módulo C3 de YOLOv5. El módulo C2f (Cross-Stage Partial Bottleneck con dos convoluciones) está diseñado para mejorar el flujo de gradiente y las capacidades de extracción de características, manteniendo al mismo tiempo una huella ligera.
- Cabezal desacoplado: A diferencia de YOLOv5, YOLOv8 separa las tareas de objetivación, clasificación y regresión en ramas distintas. Esto permite que cada rama se centre en su tarea específica, lo que se traduce en una mayor precisión y una convergencia más rápida.
- Funciones de pérdida: YOLOv8 emplea un asignador alineado con la tarea y una pérdida focal de distribución, refinando aún más cómo se manejan las muestras positivas y negativas durante el entrenamiento.
YOLO11: La última generación
Aunque YOLOv5 ofrece mejoras significativas con respecto a YOLOv5, Ultralytics sigue innovando. El recientemente lanzado YOLO11 ofrece una eficacia y precisión aún mayores. Para los nuevos proyectos, se recomienda encarecidamente explorar YOLO11 para garantizar que su aplicación se beneficia de los últimos avances arquitectónicos.
Análisis de rendimiento
Al comparar el rendimiento, es esencial tener en cuenta tanto la precisiónmAP) como la velocidad de inferencia. La tabla siguiente demuestra que YOLOv5 consigue sistemáticamente una mayor precisión media (mAP ) en el conjunto de datosCOCO en comparación con sus homólogos YOLOv5 de tamaño similar, a menudo con velocidades de inferencia comparables o mejores.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Puntos clave
- Salto de precisión: YOLOv8n (Nano) logra un salto masivo en mAP (37,3) en comparación con YOLOv5n (28,0), lo que hace que el modelo v8 más pequeño sea casi tan preciso como los YOLOv5 más grandes.
- Eficiencia computacional: Aunque los modelos YOLOv8 tienen FLOPs ligeramente más altos en algunas variantes, la compensación produce una precisión desproporcionadamente mayor, proporcionando un mejor retorno de la inversión computacional.
- Velocidad de inferencia: YOLOv5 sigue siendo extremadamente rápido, sobre todo en hardware antiguo o en dispositivos de borde CPU exclusivamente CPU. Sin embargo, YOLOv8 está optimizado para GPU y aceleradores modernos como TensorRTreduciendo significativamente la diferencia de velocidad.
Ultralytics YOLOv8: la potencia multitarea
Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
Organización:Ultralytics
Fecha: 2023-01-10
Docsyolov8
GitHubultralytics
YOLOv8 fue diseñado para ser una solución versátil e integral para la visión por ordenador. Admite de forma nativa una amplia gama de tareas que van más allá de la simple detección de objetos, como la segmentación de instancias, la estimación de poses, la clasificación y la detección de recuadros delimitadores orientados (OBB).
Fortalezas
- Precisión de vanguardia: Ofrece un rendimiento de detección superior en pruebas de referencia estándar como COCO y Roboflow 100.
- Marco unificado: Construido sobre la
ultralyticsPython , lo que garantiza una experiencia perfecta para la formación, validacióny despliegue. - Fácil de desarrollar: la API es increíblemente intuitiva. Cambiar de una tarea a otra (por ejemplo, de detección a segmentación) suele requerir cambiar un único argumento en la CLI o en el código Python .
- Eficacia de la formación: Funciones como el aumento "inteligente" del conjunto de datos y el ajuste automático de hiperparámetros agilizan el camino desde los datos hasta el modelo implantado.
Debilidades
- Uso de recursos: Las variantes de mayor tamaño (L y X) pueden consumir más recursos durante el entrenamiento en comparación con sus predecesoras v5, ya que requieren más VRAM en las GPU.
Ultralytics YOLOv5: la norma heredada
Autor: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
Docsyolov5
GitHubyolov5
YOLOv5 ha revolucionado la accesibilidad de la IA. Al aprovechar PyTorchhizo accesible el entrenamiento de detectores de objetos personalizados a desarrolladores con poca experiencia en aprendizaje profundo. Su ecosistema es enorme, con miles de tutoriales, integraciones e implementaciones en el mundo real.
Fortalezas
- Estabilidad probada: Años de uso activo en entornos de producción han convertido YOLOv5 en uno de los modelos de visión más estables y fiables del mercado.
- Amplio soporte de despliegue: Amplia compatibilidad con formatos de exportación como ONNXCoreML y TFLite , por lo que resulta ideal para diversos tipos de hardware, desde teléfonos móviles hasta Raspberry Pi.
- Ecosistema comunitario: Una comunidad masiva garantiza que las soluciones a casi cualquier caso extremo o error estén fácilmente disponibles en foros y temas de GitHub.
Debilidades
- Techo de precisión más bajo: Al tratarse de un modelo de 2020, sus métricas de precisión quedan por detrás de arquitecturas más recientes como v8 y YOLO11.
- Gestión de anclajes: Requiere el cálculo de cajas de anclaje, lo que puede suponer un punto de fricción para los usuarios con conjuntos de datos únicos o muy variables.
Integración del código y facilidad de uso
Una de las señas de identidad de los modelos de Ultralytics es la API compartida y racionalizada. Tanto si elige YOLOv8 por su precisión como si opta por YOLOv5 por su compatibilidad con modelos anteriores, la ultralytics unifica el flujo de trabajo. Esto reduce significativamente la barrera de entrada y permite experimentar fácilmente.
Puede entrenar, validar y predecir con unas pocas líneas de código Python .
from ultralytics import YOLO
# Load a YOLOv8 model (recommended for new projects)
model_v8 = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results_v8 = model_v8.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
model_v8.predict("https://ultralytics.com/images/bus.jpg", save=True)
# Load a YOLOv5 model (automatically handled by the same package)
model_v5 = YOLO("yolov5su.pt") # 'u' suffix indicates updated v5 model structure
# The same API works for training and inference
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
Beneficios del ecosistema unificado
Al utilizar el ecosistema unificado Ultralytics Ultralytics , obtendrá acceso a potentes herramientas como Ultralytics HUB para la formación y visualización de modelos sin código. Esta plataforma simplifica la gestión de conjuntos de datos y la colaboración, lo que permite a los equipos centrarse en resolver problemas en lugar de gestionar la infraestructura.
Recomendaciones de uso
La elección entre YOLOv8 y YOLOv5 depende de los requisitos específicos de su proyecto, las limitaciones de hardware y los objetivos de desarrollo.
Cuándo elegir YOLOv8
- Nuevos proyectos: Si está empezando desde cero, YOLOv8 (o el más reciente YOLO11) es el claro ganador. Su precisión superior garantiza que su aplicación siga siendo competitiva y sólida.
- Tareas complejas: Para aplicaciones que requieren estimación de la pose o segmentación, el soporte multitarea nativo de YOLOv8 es indispensable.
- Necesidades de alta precisión: En campos como la imagen médica o la detección de defectos, el mAP mejorado de YOLOv8 puede reducir significativamente los falsos negativos.
Cuándo elegir YOLOv5
- Mantenimiento heredado: Si ya dispone de un proceso de producción basado en YOLOv5 que funciona correctamente, es posible que la migración no sea necesaria de forma inmediata.
- Limitaciones extremas: Para dispositivos de muy bajo consumo en los que cada milisegundo de latencia cuenta y la precisión es secundaria, las variantes más ligeras de YOLOv5 Nano aún podrían tener una ligera ventaja en rendimiento bruto en CPU más antiguas específicas.
- Compatibilidad con tutoriales: Si está siguiendo un tutorial o curso heredado específico que depende en gran medida de la estructura de repositorios original YOLOv5 .
Conclusión
Tanto YOLOv5 como YOLOv8 ejemplifican el compromiso de Ultralytics de hacer que la IA sea accesible, rápida y precisa. YOLOv5 democratizó la detección de objetos, creando una comunidad masiva y estableciendo el estándar de usabilidad. YOLOv8 se basa en estos cimientos e introduce innovaciones arquitectónicas que ofrecen un rendimiento y una versatilidad de vanguardia.
Para la gran mayoría de usuarios, YOLOv8-o el aún más avanzado YOLO11-es la opción recomendada. Ofrece el mejor equilibrio entre velocidad y precisión, respaldado por un ecosistema de software moderno y rico en funciones que simplifica todo el ciclo de vida del aprendizaje automático.
Para profundizar más, consulte nuestras Guías para obtener instrucciones detalladas sobre la implantación, o visite el GitHubUltralytics para contribuir al futuro de la IA de visión.