Ir al contenido

YOLOv9 vs. YOLOv7: Un análisis exhaustivo de la evolución en la detección de objetos

El panorama de la visión artificial se caracteriza por una rápida innovación, donde los avances arquitectónicos redefinen continuamente los límites de la velocidad y la precisión. Dos hitos importantes en este viaje son YOLOv9 y YOLOv7. Ambos modelos provienen de la investigación de Chien-Yao Wang y sus colegas, y representan diferentes generaciones de la familia "You Only Look Once".

Si bien YOLOv7 estableció el estándar para la detección de objetos en tiempo real tras su lanzamiento en 2022, YOLOv9 surgió en 2024 con mecanismos novedosos para abordar la pérdida de información en redes profundas. Esta comparación explora sus especificaciones técnicas, diferencias arquitectónicas y aplicaciones prácticas para ayudar a los desarrolladores a seleccionar el modelo óptimo para sus necesidades.

Métricas de rendimiento y eficiencia

La evolución de YOLOv7 a YOLOv9 es más visible en el equilibrio entre el coste computacional y el rendimiento de la detección. YOLOv9 introduce mejoras significativas en la eficiencia, lo que le permite alcanzar una mayor precisión media (mAP) con menos parámetros en comparación con su predecesor.

Por ejemplo, el modelo YOLOv9m alcanza el mismo 51.4% de mAPval que YOLOv7l, pero utiliza casi la mitad de los parámetros (20.0M frente a 36.9M) y significativamente menos FLOPs. Esta eficiencia hace que YOLOv9 sea particularmente atractivo para aplicaciones de edge AI donde los recursos de hardware son limitados.

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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

YOLOv9: Información de Gradiente Programable

YOLOv9 representa un cambio de paradigma en la forma en que las redes neuronales profundas manejan la transmisión de datos a través de las capas. Lanzado a principios de 2024, se dirige específicamente al problema del "cuello de botella de información", donde los datos se pierden a medida que pasan a través de las capas sucesivas de una red profunda.

Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organización:Instituto de Ciencias de la Información, Academia Sinica
Fecha: 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9

Innovación Arquitectónica

La innovación principal en YOLOv9 es la introducción de la Información de Gradiente Programable (PGI). PGI proporciona un marco de supervisión auxiliar que garantiza que los gradientes se propaguen de manera confiable de vuelta a las capas iniciales, preservando la información de entrada esencial que de otro modo podría perderse durante la extracción de características.

Como complemento a PGI se encuentra la Red de Agregación de Capas Eficiente Generalizada (GELAN). Esta arquitectura permite a los desarrolladores apilar varios bloques computacionales (como CSP o ResBlocks) de forma flexible, optimizando los pesos del modelo para restricciones de hardware específicas sin sacrificar la precisión.

Fortalezas y Debilidades

  • Ventajas:
    • Precisión superior: Alcanza resultados de última generación en el conjunto de datos COCO, con el modelo YOLOv9-E alcanzando un 55.6% de mAP.
    • Eficiencia de parámetros: Ofrece un rendimiento comparable al de los modelos más antiguos utilizando significativamente menos parámetros, lo que reduce los requisitos de memoria durante la inferencia.
    • Preservación de la información: Las mejoras teóricas en el flujo de gradiente conducen a una mejor convergencia y representación de características.
  • Debilidades:
    • Complejidad del Entrenamiento: Las ramas auxiliares utilizadas durante el entrenamiento (y eliminadas para la inferencia) pueden aumentar el uso de memoria de la GPU durante la fase de entrenamiento en comparación con arquitecturas más simples.

Más información sobre YOLOv9

YOLOv7: el estándar Bag-of-Freebies

Antes de YOLOv9, YOLOv7 era el campeón reinante de la familia YOLO. Introdujo refinamientos arquitectónicos que se centraron en la optimización del proceso de entrenamiento sin aumentar los costes de inferencia, un concepto conocido como "bag-of-freebies" (trucos gratuitos).

Autores: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Organización: Instituto de Ciencias de la Información, Academia Sinica
Fecha: 2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
Docs:Ultralytics YOLOv7

Descripción General de la Arquitectura

YOLOv7 introdujo E-ELAN (Extended Efficient Layer Aggregation Network), que controla las rutas de gradiente más cortas y más largas para mejorar la capacidad de aprendizaje de la red. También utilizó técnicas de escalado de modelos que modifican la profundidad y la anchura de la red simultáneamente, garantizando una arquitectura óptima para diferentes dispositivos de destino.

Fortalezas y Debilidades

  • Ventajas:
    • Fiabilidad comprobada: El amplio uso y la validación por parte de la comunidad durante varios años la convierten en una opción estable para sistemas heredados.
    • Alta velocidad: Optimizado específicamente para la inferencia en tiempo real en hardware GPU estándar.
  • Debilidades:
    • Menor eficiencia: Requiere más parámetros y FLOPs para igualar los niveles de precisión que los modelos más nuevos como YOLOv9 o YOLO11 pueden lograr con arquitecturas más ligeras.
    • Herramientas más antiguas: Carece de algunas de las integraciones nativas y características de facilidad de uso que se encuentran en el moderno ecosistema de Ultralytics.

Más información sobre YOLOv7

Casos de uso y aplicaciones ideales

La elección entre estos dos modelos a menudo depende de las limitaciones específicas del entorno de implementación y de la precisión requerida de la tarea.

Cuándo elegir YOLOv9

YOLOv9 es excelente para escenarios que exigen la mayor relación precisión-eficiencia.

  • Navegación autónoma: En los coches autónomos, detectar objetos pequeños a largas distancias es fundamental. La capacidad de YOLOv9 para preservar la información ayuda a reconocer los peligros distantes.
  • Imágenes médicas: Para tareas como la detección de tumores, donde perder una detección positiva es crítico, el alto recall y la precisión de YOLOv9 son beneficiosos.
  • Dispositivos Edge: El yolov9t variante proporciona una solución robusta para Dispositivos IoT como Raspberry Pis, que ofrecen una buena precisión con una sobrecarga computacional mínima.

Cuándo elegir YOLOv7

YOLOv7 sigue siendo relevante para las canalizaciones existentes que ya están optimizadas para su arquitectura.

  • Sistemas heredados: Las líneas de fabricación industrial que han validado YOLOv7 para el control de calidad pueden preferir mantener la coherencia en lugar de actualizarse inmediatamente.
  • Bases de referencia para la investigación: Sirve como un excelente punto de referencia para comparar nuevas estrategias de detección con los estándares establecidos en la investigación académica.

Equilibrio del rendimiento con Ultralytics

Si bien YOLOv9 y YOLOv7 son potentes, los desarrolladores que buscan el equilibrio definitivo entre velocidad, precisión y experiencia del desarrollador deberían considerar Ultralytics YOLO11. YOLO11 integra las mejores características de las generaciones anteriores con una API optimizada, que admite la detección, la segmentación, la estimación de la pose y la clasificación en un único marco.

La ventaja de Ultralytics

El uso de estos modelos dentro del ecosistema de Ultralytics proporciona ventajas claras sobre el uso de repositorios de investigación sin procesar. La API de Ultralytics en python abstrae el código boilerplate complejo, lo que permite a los investigadores e ingenieros centrarse en los datos y los resultados.

  1. Facilidad de uso: Una interfaz unificada le permite intercambiar entre YOLOv8, YOLOv9 y YOLO11 con una sola línea de código.
  2. Eficiencia en el entrenamiento: Los modelos de Ultralytics están optimizados para una convergencia más rápida, a menudo requiriendo menos datos de entrenamiento para alcanzar una alta precisión.
  3. Requisitos de memoria: El framework está diseñado para minimizar el uso de memoria CUDA, lo que permite el entrenamiento de tamaños de lote más grandes en hardware de nivel de consumidor en comparación con los modelos Transformer que consumen mucha memoria.
  4. Versatilidad: Más allá de los simples cuadros delimitadores, el ecosistema admite tareas de segmentación de instancias, estimación de pose y cuadros delimitadores orientados (OBB), lo que la convierte en una herramienta completa para diversos desafíos de la IA.

Ejemplo de implementación

Ejecutar estos modelos es sencillo con la librería Ultralytics. El siguiente fragmento de código demuestra cómo cargar un modelo pre-entrenado y ejecutar la inferencia en una imagen.

from ultralytics import YOLO

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

# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)

# Process results
for result in results:
    result.show()  # Display predictions

Para aquellos interesados en el entrenamiento en conjuntos de datos personalizados, el proceso es igualmente sencillo, utilizando las robustas estrategias de ajuste de hiperparámetros y aumento de datos integradas en el marco.

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

Conclusión

Tanto YOLOv9 como YOLOv7 representan logros significativos en el campo de la visión artificial. YOLOv9 es el claro sucesor técnico, que ofrece una eficiencia de parámetros y una precisión superiores a través de sus innovadoras arquitecturas PGI y GELAN. Es la opción recomendada para los usuarios que buscan un alto rendimiento del linaje de investigación específico de Wang et al.

Sin embargo, para los desarrolladores que buscan la experiencia de desarrollo de IA más holística, Ultralytics YOLO11 sigue siendo la principal recomendación. Con su mantenimiento activo, su extensa documentación y su amplio soporte para tareas multimodales, YOLO11 garantiza que sus proyectos estén preparados para el futuro y listos para la producción.

Explorar Otros Modelos

Para ampliar aún más su comprensión del panorama de la detección de objetos, considere explorar estos modelos y comparaciones relacionados:

  • YOLO11 vs. YOLOv9 - Compara el último modelo de Ultralytics con YOLOv9.
  • YOLOv8 vs. YOLOv7 - Vea cómo se compara la generación anterior.
  • RT-DETR vs. YOLOv9 - Una mirada a la detección basada en transformadores frente a las CNN.
  • YOLOv10 - Explora el modelo de detección de objetos de extremo a extremo y en tiempo real.
  • Ultralytics HUB: la forma más sencilla de entrenar e implementar tus modelos.

Comentarios