Ir al contenido

YOLOv9 vs. YOLOv5: Una comparación técnica

En el panorama de la visión artificial, que avanza rápidamente, seleccionar el modelo de detección de objetos adecuado es fundamental para el éxito del proyecto. Este análisis proporciona una comparación técnica detallada entre YOLOv9, una arquitectura centrada en la investigación que supera los límites de la precisión, y Ultralytics YOLOv5, el modelo estándar de la industria reconocido por su fiabilidad, velocidad y versatilidad. Exploramos sus diferencias arquitectónicas, puntos de referencia de rendimiento y casos de uso ideales para ayudarle a tomar una decisión informada.

YOLOv9: Innovación Arquitectónica para una Máxima Precisión

Lanzado a principios de 2024, YOLOv9 se dirige a los límites teóricos de la detección de objetos abordando problemas fundamentales en el flujo de información del aprendizaje profundo. Está diseñado para escenarios donde la precisión es primordial.

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:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Documentación de YOLOv9

Arquitectura Central

YOLOv9 introduce dos conceptos innovadores: la Información de Gradiente Programable (PGI) y la Red Generalizada de Agregación de Capas Eficientes (GELAN). PGI combate el problema del cuello de botella de la información inherente a las redes neuronales profundas al garantizar que se retenga la información de entrada completa para la función de pérdida, lo que mejora la fiabilidad del gradiente. GELAN optimiza la eficiencia de los parámetros, lo que permite que el modelo logre una mayor precisión con menos recursos computacionales en comparación con las arquitecturas anteriores que utilizan la convolución depth-wise.

Fortalezas y Debilidades

La principal fortaleza de YOLOv9 es su precisión de última generación en benchmarks como el conjunto de datos COCO. Sobresale en la detección de objetos pequeños u ocluidos donde otros modelos podrían fallar. Sin embargo, este enfoque en la precisión de la detección conlleva concesiones. El proceso de entrenamiento puede consumir más recursos y, aunque está integrado en el ecosistema de Ultralytics, el soporte más amplio de la comunidad y las herramientas de terceros aún están madurando en comparación con los modelos establecidos desde hace más tiempo. Además, su enfoque principal sigue siendo la detección, mientras que otros modelos ofrecen un soporte nativo multitarea más amplio.

Más información sobre YOLOv9

Ultralytics YOLOv5: El estándar versátil de la industria

Desde su lanzamiento en 2020, YOLOv5 de Ultralytics ha definido el estándar para la implementación práctica de la IA en el mundo real. Logra un equilibrio preciso entre rendimiento y usabilidad, lo que lo convierte en uno de los modelos más utilizados de la historia.

Autor: Glenn Jocher
Organización:Ultralytics
Fecha: 2020-06-26
GitHub:ultralytics/yolov5
Docs:Documentación de YOLOv5

Arquitectura Central

YOLOv5 emplea una arquitectura refinada basada en anclajes que presenta una estructura troncal CSPDarknet53 y un cuello de botella PANet para una agregación de características robusta. Su diseño prioriza la velocidad de inferencia y la optimización de la ingeniería. El modelo viene en varias escalas (Nano a Extra Grande), lo que permite a los desarrolladores ajustar el modelo perfectamente a sus limitaciones de hardware, desde dispositivos de borde integrados hasta GPU en la nube.

La ventaja de Ultralytics

Mientras que YOLOv9 supera los límites académicos, YOLOv5 destaca en la practicidad de la ingeniería.

  • Facilidad de uso: YOLOv5 es famoso por su experiencia de "instalar y ejecutar". La API de python optimizada y la documentación completa reducen significativamente el tiempo de desarrollo.
  • Ecosistema bien mantenido: Respaldado por Ultralytics, YOLOv5 disfruta de un mantenimiento activo, una comunidad masiva en GitHub y una integración perfecta con herramientas de MLOps.
  • Versatilidad: Más allá de la detección, YOLOv5 admite de forma nativa la segmentación de instancias y la clasificación de imágenes, ofreciendo una solución unificada para diversas tareas de visión.
  • Eficiencia de memoria: Los modelos de Ultralytics están optimizados para reducir la huella de memoria tanto durante el entrenamiento como en la inferencia, lo que contrasta con los elevados requisitos de las alternativas basadas en transformadores.

Más información sobre YOLOv5

Métricas de rendimiento: Velocidad vs. Precisión

La siguiente comparación destaca las distintas funciones de estos modelos. YOLOv9 generalmente alcanza un mAP (precisión media promedio) más alto, particularmente en los tamaños de modelo más grandes (c y e). Esto lo hace superior para tareas que requieren detalles granulares.

Por el contrario, YOLOv5 ofrece velocidades de inferencia inmejorables, particularmente con sus variantes Nano (n) y Small (s). Para aplicaciones en tiempo real en hardware de borde como NVIDIA Jetson o Raspberry Pi, YOLOv5 sigue siendo un contendiente superior debido a su naturaleza ligera y la madurez de la optimización de TensorRT.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
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

Consejo de implementación

Para una máxima flexibilidad de implementación, ambos modelos se pueden exportar a formatos como ONNX, TensorRT y CoreML utilizando el modo de exportación de Ultralytics. Esto garantiza que sus modelos se ejecuten de manera eficiente en cualquier hardware de destino.

Entrenamiento y usabilidad

Las metodologías de entrenamiento difieren significativamente en la experiencia del usuario. Ultralytics YOLOv5 está diseñado para la eficiencia en el entrenamiento, ofreciendo ajustes preestablecidos robustos que funcionan de inmediato para conjuntos de datos personalizados. Cuenta con cálculo automático de anclajes, evolución de hiperparámetros e integraciones de registro enriquecidas.

YOLOv9, aunque potente, puede requerir un ajuste más cuidadoso de los hiperparámetros para lograr la estabilidad y la convergencia, especialmente en conjuntos de datos más pequeños. Sin embargo, gracias a su integración en el ultralytics Paquete de python, los desarrolladores ahora pueden entrenar YOLOv9 utilizando la misma sintaxis simple que YOLOv5, cerrando la brecha de usabilidad.

Ejemplo de código

Con la librería Ultralytics, cambiar entre estas arquitecturas es tan simple como cambiar el nombre del modelo. Este fragmento demuestra cómo cargar y ejecutar la inferencia con ambos modelos:

from ultralytics import YOLO

# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")

# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")

# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")

# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")

Casos de Uso Ideales

Cuándo elegir YOLOv9

  • Inspección de alta precisión: Detectar defectos diminutos en las líneas de ensamblaje de fabricación donde cada píxel cuenta.
  • Investigación Avanzada: Proyectos que exploran arquitecturas novedosas de aprendizaje profundo como Programmable Gradient Information.
  • Entornos complejos: Escenarios con alta oclusión o desorden donde la agregación de características avanzada de GELAN proporciona una ventaja decisiva.

Cuándo elegir YOLOv5

  • Implementación en el borde: Ejecución en dispositivos alimentados por batería o microcontroladores donde el consumo de energía y la huella de memoria son críticos.
  • Prototipado rápido: Cuando necesitas pasar de la recopilación de datos a una demostración funcional en horas, no en días, aprovechando los extensos tutoriales y los recursos de la comunidad.
  • Sistemas Multi-Tarea: Aplicaciones que requieren estimación de pose o clasificación junto con la detection dentro de un único código base.
  • Estabilidad en producción: Entornos empresariales que requieren una solución probada en batalla con años de fiabilidad demostrada.

Conclusión

La elección entre YOLOv9 y YOLOv5 depende de sus limitaciones específicas. YOLOv9 es la opción superior para maximizar la precisión, ofreciendo mejoras arquitectónicas de vanguardia. YOLOv5 sigue siendo el campeón de la versatilidad y la facilidad de uso, proporcionando un ecosistema robusto y bien soportado que simplifica todo el ciclo de vida de la IA.

Para los desarrolladores que buscan lo mejor de ambos mundos—combinando la facilidad de uso de YOLOv5 con un rendimiento superior a YOLOv9—recomendamos explorar YOLO11. Como la última iteración de Ultralytics, YOLO11 ofrece velocidad y precisión de última generación en todas las tareas de visión, representando el futuro de la familia YOLO.

Explorar Otros Modelos

  • YOLO11: El modelo más reciente y potente de Ultralytics para la detección, la segmentación y la pose.
  • YOLOv8: Un potente predecesor de YOLO11 que ofrece un gran equilibrio de características.
  • RT-DETR: Un detector basado en transformadores optimizado para el rendimiento en tiempo real.

Comentarios