Saltar al contenido

YOLOv9: Un salto adelante en la tecnología de detección de objetos

YOLOv9 marca un avance significativo en la detección de objetos en tiempo real, introduciendo técnicas revolucionarias como la Información de Gradiente Programable (PGI) y la Red de Agregación de Capas Eficiente Generalizada (GELAN). Este modelo demuestra notables mejoras en eficacia, precisión y adaptabilidad, estableciendo nuevos puntos de referencia en el conjunto de datos MS COCO. El proyecto YOLOv9, aunque desarrollado por un equipo independiente de código abierto, se basa en la sólida base de código proporcionada por Ultralytics YOLOv5mostrando el espíritu de colaboración de la comunidad de investigación en IA.

Comparación del rendimiento de YOLOv9

Introducción a YOLOv9

En la búsqueda de una detección óptima de objetos en tiempo real, YOLOv9 destaca por su enfoque innovador para superar los retos de pérdida de información inherentes a las redes neuronales profundas. Al integrar PGI y la versátil arquitectura GELAN, YOLOv9 no sólo mejora la capacidad de aprendizaje del modelo, sino que también garantiza la retención de información crucial durante todo el proceso de detección, logrando así una precisión y un rendimiento excepcionales.

Innovaciones básicas de YOLOv9

Los avances de YOLOv9 están profundamente arraigados en abordar los retos que plantea la pérdida de información en las redes neuronales profundas. El Principio del Cuello de Botella de la Información y el uso innovador de Funciones Reversibles son fundamentales en su diseño, garantizando que YOLOv9 mantenga una alta eficiencia y precisión.

Principio del cuello de botella informativo

El principio del cuello de botella informativo revela un reto fundamental en el aprendizaje profundo: a medida que los datos pasan por las capas sucesivas de una red, aumenta el potencial de pérdida de información. Este fenómeno se representa matemáticamente como

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

donde I denota la información mutua, y f y g representan funciones de transformación con parámetros theta y phirespectivamente. YOLOv9 contrarresta este reto implementando la Información de Gradiente Programable (PGI), que ayuda a preservar los datos esenciales a través de la profundidad de la red, garantizando una generación de gradiente más fiable y, en consecuencia, una mejor convergencia y rendimiento del modelo.

Funciones reversibles

El concepto de Funciones Reversibles es otra piedra angular del diseño de YOLOv9. Se considera que una función es reversible si puede invertirse sin pérdida de información, como se expresa mediante:

X = v_zeta(r_psi(X))

con psi y zeta como parámetros de la función reversible y de su función inversa, respectivamente. Esta propiedad es crucial para las arquitecturas de aprendizaje profundo, ya que permite que la red conserve un flujo de información completo, permitiendo así actualizaciones más precisas de los parámetros del modelo. YOLOv9 incorpora funciones reversibles en su arquitectura para mitigar el riesgo de degradación de la información, especialmente en las capas más profundas, garantizando la conservación de datos críticos para las tareas de detección de objetos.

Impacto en los modelos ligeros

Abordar la pérdida de información es especialmente vital para los modelos ligeros, que a menudo están infraparametrizados y son propensos a perder información significativa durante el proceso feedforward. La arquitectura de YOLOv9, mediante el uso de funciones PGI y reversibles, garantiza que, incluso con un modelo simplificado, se conserve y utilice eficazmente la información esencial necesaria para la detección precisa de objetos.

Información de gradiente programable (IGP)

PGI es un concepto novedoso introducido en YOLOv9 para combatir el problema del cuello de botella de la información, garantizando la conservación de los datos esenciales en las capas profundas de la red. Esto permite generar gradientes fiables, facilitando actualizaciones precisas del modelo y mejorando el rendimiento general de la detección.

Red de Agregación de Capas Eficiente Generalizada (GELAN)

GELAN representa un avance arquitectónico estratégico, que permite a YOLOv9 lograr una utilización de parámetros y una eficiencia computacional superiores. Su diseño permite la integración flexible de varios bloques computacionales, haciendo que YOLOv9 se adapte a una amplia gama de aplicaciones sin sacrificar la velocidad ni la precisión.

Comparación de la arquitectura de YOLOv9

Rendimiento en el conjunto de datos MS COCO

El rendimiento de YOLOv9 en el conjunto de datos COCO ejemplifica sus importantes avances en la detección de objetos en tiempo real, estableciendo nuevos puntos de referencia en varios tamaños de modelos. La Tabla 1 presenta una comparación exhaustiva de los detectores de objetos en tiempo real más avanzados, que ilustra la eficacia y precisión superiores de YOLOv9.

Tabla 1. Comparación de los detectores de objetos en tiempo real más avanzados

¿Cuándo estarán disponibles otras escalas de modelos?

A pesar de todas las métricas mostradas para las distintas escalas del modelo en la tabla siguiente, sólo las configuraciones para YOLOv9c y YOLOv9e se han publicado. El equipo de Ultralytics trabajará rápidamente para añadir otras configuraciones a medida que estén disponibles, así que no dejes de consultar esta página regularmente para estar al día.

Rendimiento

Modelo tamaño
(píxeles)
mAPval
50-95
mAPval
50
parámetros
(M)
FLOPs
(B)
YOLOv9t 640 38.3 53.1 2.0 7.7
YOLOv9s 640 46.8 63.4 7.2 26.7
YOLOv9m 640 51.4 68.1 20.1 76.8
YOLOv9c 640 53.0 70.2 25.5 102.8
YOLOv9e 640 55.6 72.8 58.1 192.5
Modelo tamaño
(píxeles)
mAPbox
50-95
mAPmask
50-95
parámetros
(M)
FLOPs
(B)
YOLOv9c-seg 640 52.4 42.2 27.9 159.4
YOLOv9e-seg 640 55.1 44.3 60.5 248.4

Las iteraciones de YOLOv9, que van desde el diminuto t variante a la amplia e demuestran mejoras no sólo en la precisión (métrica mAP), sino también en la eficiencia con un número reducido de parámetros y necesidades computacionales (FLOPs). Esta tabla subraya la capacidad de YOLOv9 para ofrecer una gran precisión manteniendo o reduciendo la sobrecarga computacional en comparación con versiones anteriores y modelos de la competencia.

Comparativamente, YOLOv9 presenta ganancias notables:

  • Modelos ligeros: YOLOv9s supera al YOLO MS-S en eficiencia de parámetros y carga computacional, al tiempo que consigue una mejora del 0,4∼0,6% en AP.
  • Modelos medianos y grandes: YOLOv9m y YOLOv9e muestran avances notables en el equilibrio entre la complejidad del modelo y el rendimiento de la detección, ofreciendo reducciones significativas de los parámetros y los cálculos en un contexto de mejora de la precisión.

El modelo YOLOv9c, en particular, pone de relieve la eficacia de las optimizaciones de la arquitectura. Funciona con un 42% menos de parámetros y un 21% menos de demanda computacional que YOLOv7 AF, y sin embargo consigue una precisión comparable, lo que demuestra las importantes mejoras de eficiencia de YOLOv9. Además, el modelo YOLOv9e establece un nuevo estándar para los modelos grandes, con un 15% menos de parámetros y un 25% menos de necesidad computacional que YOLOv8xjunto con una mejora incremental del 1,7% en AP.

Estos resultados muestran los avances estratégicos de YOLOv9 en el diseño del modelo, destacando su mayor eficacia sin comprometer la precisión esencial para las tareas de detección de objetos en tiempo real. El modelo no sólo amplía los límites de las métricas de rendimiento, sino que también subraya la importancia de la eficiencia computacional, lo que lo convierte en un avance fundamental en el campo de la visión por ordenador.

Conclusión

YOLOv9 representa un avance fundamental en la detección de objetos en tiempo real, ya que ofrece mejoras significativas en términos de eficacia, precisión y adaptabilidad. Al abordar retos críticos mediante soluciones innovadoras como PGI y GELAN, YOLOv9 sienta un nuevo precedente para futuras investigaciones y aplicaciones en este campo. Mientras la comunidad de la IA sigue evolucionando, YOLOv9 es un testimonio del poder de la colaboración y la innovación para impulsar el progreso tecnológico.

Ejemplos de uso

Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de YOLOv9. Para obtener documentación completa sobre estos y otros modos, consulta las páginas de documentación Predecir, Entrenar, Val y Exportar.

Ejemplo

PyTorch preentrenado *.pt modelos, así como la configuración *.yaml pueden pasarse a la función YOLO() para crear una instancia del modelo en python:

from ultralytics import YOLO

# Build a YOLOv9c model from scratch
model = YOLO('yolov9c.yaml')

# Build a YOLOv9c model from pretrained weight
model = YOLO('yolov9c.pt')

# Display model information (optional)
model.info()

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

# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

CLI para ejecutar directamente los modelos:

# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg

Tareas y modos admitidos

La serie YOLOv9 ofrece una gama de modelos, cada uno de ellos optimizado para la Detección de Objetos de alto rendimiento. Estos modelos responden a distintas necesidades de cálculo y requisitos de precisión, lo que los hace versátiles para una amplia gama de aplicaciones.

Modelo Nombres de archivo Tareas Inferencia Validación Formación Exportar
YOLOv9 yolov9c.pt yolov9e.pt Detección de objetos
YOLOv9-seg yolov9c-seg.pt yolov9e-seg.pt Segmentación de instancias

Esta tabla proporciona una visión detallada de las variantes del modelo YOLOv9, destacando sus capacidades en tareas de detección de objetos y su compatibilidad con diversos modos operativos, como Inferencia, Validación, Entrenamiento y Exportación. Esta amplia compatibilidad garantiza que los usuarios puedan aprovechar plenamente las capacidades de los modelos YOLOv9 en una amplia gama de escenarios de detección de objetos.

Nota

El entrenamiento de los modelos YOLOv9 requerirá más recursos y llevará más tiempo que el modeloYOLOv8 de tamaño equivalente.

Citas y agradecimientos

Queremos agradecer a los autores de YOLOv9 sus importantes contribuciones en el campo de la detección de objetos en tiempo real:

@article{wang2024yolov9,
  title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao  and Liao, Hong-Yuan Mark},
  booktitle={arXiv preprint arXiv:2402.13616},
  year={2024}
}

El artículo original de YOLOv9 puede consultarse en arXiv. Los autores han puesto su trabajo a disposición del público, y se puede acceder al código base en GitHub. Agradecemos sus esfuerzos por hacer avanzar el campo y poner su trabajo a disposición de la comunidad en general.



Creado 2024-02-26, Actualizado 2024-04-17
Autores: glenn-jocher (4), Burhan-Q (2), Laughing-q (1)

Comentarios