YOLOv9 vs YOLOv5: Una Comparación Detallada
Esta página proporciona una comparación técnica entre dos modelos de detección de objetos importantes: YOLOv9 y Ultralytics YOLOv5. Ambos modelos forman parte de la influyente serie YOLO (You Only Look Once), conocida por equilibrar velocidad y precisión en la detección de objetos en tiempo real. Esta comparación explora sus diferencias arquitectónicas, métricas de rendimiento y casos de uso ideales para ayudarle a seleccionar el modelo más adecuado para sus proyectos de visión artificial.
YOLOv9: Avance en precisión con una arquitectura novedosa
YOLOv9 se introdujo en febrero de 2024, trayendo consigo importantes innovaciones arquitectónicas a la vanguardia de la detección de objetos. Su objetivo es resolver el problema de la pérdida de información en las redes neuronales profundas, un desafío crítico para entrenar modelos altamente efectivos.
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organización: Instituto de Ciencias de la Información, Academia Sinica, Taiwán
Fecha: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
Documentación: https://docs.ultralytics.com/models/yolov9/
Arquitectura e Innovaciones
YOLOv9 introduce dos conceptos innovadores que se detallan en su artículo, "YOLOv9: Aprendiendo lo que quieres aprender usando información de gradiente programable":
- Información de Gradiente Programable (PGI): Este novedoso enfoque está diseñado para abordar el problema del cuello de botella de la información que se produce a medida que los datos fluyen a través de las capas de la red profunda. PGI asegura que la información de entrada completa esté disponible para calcular la función de pérdida, preservando así los datos cruciales para actualizaciones de gradiente más precisas y un entrenamiento del modelo más eficaz.
- Red Generalizada de Agregación de Capas Eficiente (GELAN): YOLOv9 también presenta GELAN, una nueva arquitectura de red optimizada para una utilización superior de los parámetros y eficiencia computacional. Se basa en los principios de CSPNet y ELAN para crear una estructura que logre una mayor precisión con menos parámetros y costos computacionales (FLOPs).
Fortalezas
- Precisión mejorada: YOLOv9 establece un nuevo estado del arte en el conjunto de datos COCO, superando a muchos detectores de objetos en tiempo real anteriores en precisión media promedio (mAP).
- Eficiencia mejorada: La combinación de PGI y GELAN da como resultado modelos que no solo son muy precisos sino también computacionalmente eficientes, lo que los hace potentes para tareas donde el rendimiento es crítico.
- Preservación de la Información: Al abordar directamente el cuello de botella de la información, PGI permite el entrenamiento de redes más profundas y complejas sin la degradación típica en el rendimiento, lo que lleva a modelos más robustos.
Debilidades
- Recursos de entrenamiento: Como se indica en la documentación de YOLOv9, el entrenamiento de los modelos YOLOv9 puede requerir más recursos y tiempo en comparación con los modelos más establecidos como YOLOv5.
- Ecosistema más reciente: Al ser un modelo más reciente de un grupo de investigación diferente, su ecosistema, el soporte de la comunidad y las integraciones de terceros son menos maduros que los de Ultralytics YOLOv5, que está bien establecido.
- Versatilidad de tareas: El YOLOv9 original se centra principalmente en la detección de objetos. Carece del soporte integrado para otras tareas de visión como la segmentación de instancias, la clasificación de imágenes y la estimación de poses, que son compatibles de forma nativa en los modelos de Ultralytics.
Casos de uso
- Aplicaciones que exigen la mayor precisión posible en la detección de objetos, como el análisis de video avanzado y la inspección industrial de alta precisión.
- Escenarios donde la eficiencia computacional debe equilibrarse con un rendimiento de primer nivel, como en la IA para la gestión del tráfico.
- Investigación y desarrollo en visión artificial avanzada, donde la exploración de arquitecturas novedosas es una prioridad.
Ultralytics YOLOv5: El Estándar Establecido y Versátil
Lanzado en 2020, Ultralytics YOLOv5 se convirtió rápidamente en un estándar de la industria debido a su excepcional equilibrio entre velocidad, precisión y facilidad de uso. Desarrollado completamente en PyTorch, se ha perfeccionado continuamente y está respaldado por un ecosistema robusto.
Autor: Glenn Jocher
Organización: Ultralytics
Fecha: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Documentación: https://docs.ultralytics.com/models/yolov5/
Arquitectura y características
YOLOv5 utiliza una arquitectura probada que presenta una backbone CSPDarknet53 y un cuello de botella PANet para una agregación de características eficaz. Su encabezado de detección basado en anclajes es altamente eficiente. El modelo está disponible en varios tamaños (n, s, m, l, x), lo que permite a los desarrolladores elegir el equilibrio perfecto entre rendimiento y limitaciones de recursos.
Fortalezas
- Velocidad y Eficiencia Excepcionales: YOLOv5 está altamente optimizado para una inferencia rápida, lo que lo hace ideal para aplicaciones en tiempo real en una amplia gama de hardware, desde GPU potentes hasta dispositivos edge con recursos limitados.
- Facilidad de uso: Reconocido por su experiencia de usuario optimizada, YOLOv5 ofrece interfaces sencillas de Python y CLI, junto con una documentación extensa y clara.
- Ecosistema bien mantenido: YOLOv5 se beneficia del completo ecosistema de Ultralytics, que incluye un desarrollo activo, una comunidad grande y de apoyo en Discord, actualizaciones frecuentes y herramientas potentes como Ultralytics HUB para un entrenamiento e implementación sin código.
- Equilibrio de rendimiento: Logra una sólida compensación entre la velocidad de inferencia y la precisión de detección, lo que lo hace adecuado para una amplia gama de escenarios de implementación en el mundo real.
- Versatilidad: A diferencia de muchos modelos especializados, YOLOv5 admite múltiples tareas de forma predeterminada, incluyendo la detección de objetos, la segmentación de instancias y la clasificación de imágenes.
- Eficiencia en el entrenamiento: YOLOv5 ofrece procesos de entrenamiento eficientes, pesos pre-entrenados disponibles y, por lo general, menores requisitos de memoria en comparación con muchas otras arquitecturas, especialmente los modelos basados en transformers.
Debilidades
- Precisión máxima: Si bien fue muy preciso en su momento, los modelos más nuevos como YOLOv9 pueden alcanzar puntuaciones mAP más altas en benchmarks como COCO.
- Diseño Basado en Anclas: Se basa en cuadros de anclaje predefinidos, lo que puede requerir más ajuste para conjuntos de datos con objetos de forma inusual en comparación con los enfoques modernos sin anclaje.
Casos de uso
- Videovigilancia en tiempo real y sistemas de seguridad.
- Implementación en dispositivos edge con recursos limitados como Raspberry Pi y NVIDIA Jetson.
- Automatización industrial y control de calidad, como la mejora de la fabricación con visión artificial.
- Prototipado y desarrollo rápidos, gracias a su facilidad de uso y amplio soporte.
Rendimiento y benchmarks: YOLOv9 vs. YOLOv5
La comparación de rendimiento entre YOLOv9 y YOLOv5 destaca los avances en la arquitectura del modelo a lo largo de los años. Los modelos YOLOv9 logran consistentemente puntuaciones mAP más altas que sus contrapartes YOLOv5, a menudo con un uso más eficiente de los parámetros y FLOPs en el extremo superior. Por ejemplo, YOLOv9-C alcanza un 53.0% mAP con 25.3M de parámetros, superando el 50.7% mAP de YOLOv5x con 86.7M de parámetros.
Sin embargo, YOLOv5 destaca en velocidad, especialmente sus variantes más pequeñas como YOLOv5n e YOLOv5s, que ofrecen tiempos de inferencia extremadamente rápidos tanto en CPU como en GPU, lo que las hace imbatibles para muchas aplicaciones de borde en tiempo real.
Modelo | tamaño (píxeles) |
mAPval 50-95 |
Velocidad CPU ONNX (ms) |
Velocidad T4 TensorRT10 (ms) |
parámetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
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 |
Conclusión: ¿Qué modelo debería elegir?
La elección entre YOLOv9 y YOLOv5 depende en gran medida de las necesidades específicas de tu proyecto.
-
YOLOv9 es la opción superior para aplicaciones donde la máxima precisión es el objetivo principal, y se dispone de suficientes recursos computacionales para el entrenamiento. Su innovadora arquitectura lo hace ideal para superar los límites del rendimiento de la detección de objetos en campos especializados.
-
Ultralytics YOLOv5 sigue siendo la opción más práctica y versátil para una gama más amplia de aplicaciones. Sus principales ventajas—facilidad de uso, velocidad, soporte multi-tarea y un ecosistema maduro y bien soportado—lo convierten en el modelo de referencia para los desarrolladores que necesitan construir soluciones robustas del mundo real de forma rápida y eficiente. Para los proyectos que requieren el despliegue en dispositivos edge o un equilibrio entre velocidad y precisión, YOLOv5 es a menudo la opción óptima.
Para aquellos que buscan un término medio o incluso características más avanzadas, Ultralytics ofrece un conjunto completo de modelos. Considere explorar YOLOv8, que combina muchos de los beneficios de usabilidad de YOLOv5 con una arquitectura sin anclajes e incluso una mayor versatilidad, o el último YOLO11 para un rendimiento de última generación dentro del ecosistema de Ultralytics. Puede encontrar más comparaciones en nuestra página de comparación de modelos.