Ir al contenido

YOLO vs. YOLOv9: comparación técnica

En el mundo de la visión por ordenador, que avanza a gran velocidad, la selección del modelo óptimo de detección de objetos es una decisión fundamental que afecta a todos los aspectos, desde la latencia del sistema hasta la precisión de la detección. Esta completa guía ofrece una comparación técnica entre YOLO, un detector de alta velocidad de Alibaba Group, y YOLOv9una arquitectura centrada en la conservación de la información y la eficiencia. Analizaremos sus innovaciones arquitectónicas, métricas de rendimiento y casos de uso ideales para ayudar a desarrolladores e investigadores a tomar decisiones informadas.

Aunque ambos modelos ofrecen mejoras significativas con respecto a sus predecesores, YOLOv9especialmente cuando se utiliza en el ecosistema Ultralytics , ofrece una combinación convincente de precisión de vanguardia, herramientas fáciles de usar para desarrolladores y opciones de implantación versátiles.

YOLO es un marco de detección de objetos desarrollado por Alibaba, diseñado con una metodología de "una vez por todas". Prioriza la baja latencia y el alto rendimiento, lo que lo convierte en un fuerte competidor para aplicaciones industriales que requieren limitaciones de velocidad estrictamente definidas en hardware específico.

Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang y Xiuyu Sun
Organización:Alibaba Group
Fecha: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHubYOLO

Innovaciones arquitectónicas

YOLO se distingue por sus procesos de diseño automatizados y sus componentes eficientes:

  • Búsqueda de arquitectura neuronal (NAS): En lugar de diseñar backbones manualmente, YOLO utiliza la Búsqueda de Arquitectura Neuronal ( NAS) para descubrir estructuras eficientes (TinyNAS) adaptadas a diferentes presupuestos computacionales.
  • Cuello RepGFPN: Introduce una variación eficiente de la red piramidal de características generalizadas (GFPN), denominada RepGFPN. Este componente optimiza la fusión de características y admite la reparametrización, lo que permite una mayor velocidad de inferencia.
  • ZeroHead: El modelo emplea un cabezal de detección ligero "ZeroHead", que reduce la sobrecarga computacional asociada normalmente a los cabezales de detección complejos.
  • AlignedOTA: Para mejorar la estabilidad y la precisión del entrenamiento, utiliza AlignedOTA, una estrategia de asignación de etiquetas que resuelve los problemas de desalineación entre las tareas de clasificación y regresión.

Puntos fuertes y limitaciones

El principal punto fuerte de YOLO es su velocidad de inferencia. La arquitectura está muy optimizada para un alto rendimiento de GPU , lo que la hace adecuada para cadenas de análisis de vídeo en las que el volumen de procesamiento es fundamental. Además, el uso de la destilación mejora el rendimiento de sus modelos más pequeños.

Sin embargo, YOLO se enfrenta a retos relacionados con la madurez del ecosistema. En comparación con las sólidas herramientas disponibles para los modelos Ultralytics , los usuarios pueden encontrar menos recursos para el despliegue, la conversión de formatos y el apoyo de la comunidad. Además, la versatilidad de sus tareas suele limitarse a la detección de objetos, mientras que los marcos de trabajo modernos suelen soportar de forma nativa la segmentación y la estimación de la pose.

Más información sobre DAMO-YOLO

YOLOv9: gradientes programables para la máxima eficiencia

YOLOv9 representa un cambio de paradigma en la detección de objetos en tiempo real al abordar el problema fundamental de la pérdida de información en las redes neuronales profundas. Al garantizar que los datos críticos se conservan en toda la profundidad de la red, YOLOv9 logra una precisión superior con una eficiencia de parámetros notable.

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ónultralytics

Arquitectura central: PGI y GELAN

YOLOv9 introduce dos tecnologías revolucionarias que lo diferencian:

  1. Información de gradiente programable (PGI): Las redes profundas suelen sufrir un cuello de botella de información en el que los datos de entrada se pierden al pasar por las capas. PGI proporciona una rama de supervisión auxiliar que genera gradientes fiables, lo que garantiza que las capas profundas reciban información completa para actualizar los pesos con precisión.
  2. Red Generalizada de Agregación Eficiente de Capas (GELAN): Esta novedosa arquitectura combina los puntos fuertes de CSPNet y ELAN. GELAN está diseñada para maximizar la utilización de parámetros, ofreciendo un modelo que es a la vez ligero e increíblemente potente.

Por qué es importante la IGP

En los modelos tradicionales de aprendizaje profundo, la función de pérdida en la capa de salida a menudo carece de información suficiente para guiar eficazmente las actualizaciones de las capas superficiales. PGI actúa como puente, preservando la información de entrada y garantizando que toda la red aprenda características sólidas, lo que conduce a una mejor convergencia y una mayor precisión.

La ventaja Ultralytics

Al utilizar YOLOv9 dentro del ecosistemaUltralytics , los desarrolladores obtienen ventajas significativas con respecto a las implementaciones independientes:

  • Facilidad de uso: la APIPython y la CLI Ultralytics resumen los complejos canales de formación en sencillos comandos.
  • Eficacia de la formación: Las metodologías Ultralytics garantizan un uso óptimo de los recursos. YOLOv9 suele requerir menos memoriaCUDA durante el entrenamiento en comparación con los detectores basados en transformadores, lo que lo hace accesible en una gama más amplia de hardware.
  • Versatilidad: Aunque el núcleo del documento YOLOv9 se centra en la detección, el marco Ultralytics facilita la ampliación de estas arquitecturas a otras tareas y garantiza una exportación sin problemas a formatos como ONNX, TensorRTy OpenVINO.

Más información sobre YOLOv9

Análisis del rendimiento: Precisión frente a eficacia

La siguiente comparación pone de relieve las ventajas y desventajas de YOLO y YOLOv9. Mientras que YOLO ofrece velocidades competitivas en hardware específico, YOLOv9 ofrece sistemáticamente una mayor precisión media (mAP) con menos parámetros, lo que demuestra una eficiencia arquitectónica superior.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

Principales conclusiones:

  • Eficiencia de parámetros: YOLOv9s alcanza un mAP más alto (46,8) que DAMO-YOLOs (46,0) utilizando menos de la mitad de parámetros (7,1M frente a 16,3M). Esto hace que YOLOv9 sea mucho más fácil de almacenar y de actualizar de forma inalámbrica para los dispositivos de IA periféricos.
  • Máxima precisión: Las variantes más grandes de YOLOv9 (c y e) superan con creces los límites de precisión de YOLO, alcanzando 55,6 mAP.
  • Velocidad: Mientras que YOLO muestra una ligera ventaja en latencia TensorRT bruta para modelos medios, YOLOv9t es extremadamente rápido (2,3 ms), lo que lo hace ideal para aplicaciones móviles en tiempo real.

Metodologías de entrenamiento y usabilidad

La experiencia de formación difiere significativamente entre los dos modelos. La dependencia de YOLO de NAS implica una compleja fase de búsqueda para derivar la arquitectura, o el uso de backbones previamente buscados. Su enfoque de "una vez por todas" puede resultar costoso desde el punto de vista informático si es necesario personalizar la estructura de la red troncal.

En cambio, YOLOv9, compatible con Ultralytics, ofrece un modo de entrenamiento simplificado. Los usuarios pueden afinar los modelos en conjuntos de datos personalizados como Open Images V7 o colecciones especializadas con una configuración mínima. La integración con Ultralytics HUB permite la formación basada en la nube, la visualización y el despliegue con un solo clic, democratizando el acceso a la IA avanzada sin necesidad de profundos conocimientos en NAS o ajuste de hiperparámetros.

Ejemplo de código: Formación YOLOv9

Implementar YOLOv9 es sencillo con el paquete Ultralytics Python .

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

Casos de Uso Ideales

Cuándo elegir YOLO

  • Procesamiento de vídeo a gran escala: Si estás procesando miles de secuencias de vídeo en GPUs de servidores específicos donde cada milisegundo de latencia se traduce en un importante ahorro de costes de infraestructura, la optimización de YOLO para un alto rendimiento puede ser beneficiosa.
  • Restricciones de hardware fijas: Para escenarios en los que el hardware es conocido y estático, las arquitecturas derivadas de NAS pueden seleccionarse para cubrir perfectamente el presupuesto de computación disponible.

Cuándo elegir YOLOv9

  • Visión por ordenador de propósito general: Para la mayoría de los desarrolladores que trabajan en robótica, seguridad o análisis de comercios, YOLOv9 ofrece el mejor equilibrio entre precisión y facilidad de uso.
  • Despliegue en bordes: Gracias a su eficiencia superior en parámetros (por ejemplo, YOLOv9s), se adapta mejor a dispositivos con limitaciones como Raspberry Pi o NVIDIA Jetson, dejando más espacio para otras aplicaciones.
  • Investigación y desarrollo: La arquitectura PGI ofrece una base fascinante para seguir investigando la eficiencia del aprendizaje profundo.
  • Requiere un ecosistema maduro: Si su proyecto requiere un seguimiento fiable, una exportación sencilla a CoreML o TFLite y un apoyo activo de la comunidad, el ecosistema de Ultralytics que rodea a YOLOv9 no tiene rival.

Conclusión

Tanto YOLO como YOLOv9 muestran la rápida innovación en el campo de la detección de objetos. YOLO demuestra el valor de la búsqueda de arquitectura neuronal para exprimir al máximo el rendimiento de velocidad. Sin embargo, YOLOv9 destaca como la solución más versátil y potente para la mayoría de los usuarios.

Al resolver el cuello de botella de la información de supervisión profunda con PGI y optimizar las capas con GELAN, YOLOv9 ofrece una precisión de vanguardia con una eficiencia notable. Cuando se combina con el ecosistema Ultralytics , ofrece una plataforma robusta, bien mantenida y fácil de usar que acelera el viaje desde el concepto hasta el despliegue. Para los desarrolladores que buscan crear aplicaciones de visión de vanguardia con confianza, los modelosYOLO de Ultralytics siguen siendo la mejor opción.

Explorar Otros Modelos

Si está interesado en explorar otras opciones de vanguardia dentro de la familia Ultralytics o en comparar más, tenga en cuenta estos recursos:


Comentarios