YOLOv9: Un salto adelante en la tecnología de Object Detection#
YOLOv9 marca un avance significativo en la detección de objetos en tiempo real, introduciendo técnicas innovadoras como la Información de Gradiente Programable (PGI) y la Red de Agregación de Capas Eficiente Generalizada (GELAN). Este modelo demuestra mejoras notables en eficiencia, precisión y adaptabilidad, estableciendo nuevos referentes en el conjunto de datos MS COCO. El proyecto YOLOv9, aunque desarrollado por un equipo de código abierto independiente, se basa en la sólida base de código proporcionada por Ultralytics YOLOv5, mostrando el espíritu colaborativo de la comunidad de investigación en IA.
Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

Introducción a YOLOv9#
En la búsqueda de la detección de objetos en tiempo real óptima, YOLOv9 destaca por su enfoque innovador para superar los problemas de pérdida de información inherentes a las neural networks profundas. Al integrar PGI y la versátil arquitectura GELAN, YOLOv9 no solo 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 principales de YOLOv9#
Los avances de YOLOv9 están profundamente arraigados en abordar los desafíos que plantea la pérdida de información en las redes neuronales profundas. El Principio de Cuello de Botella de Información y el uso innovador de las Funciones Reversibles son fundamentales para su diseño, lo que garantiza que YOLOv9 mantenga una alta eficiencia y precisión.
Principio de Cuello de Botella de Información#
El Principio de Cuello de Botella de Información revela un desafío fundamental en el aprendizaje profundo: a medida que los datos pasan a través de 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 información mutua, y f y g representan funciones de transformación con los parámetros theta y phi, respectivamente. YOLOv9 contrasta este desafío implementando Información de Gradiente Programable (PGI), que ayuda a preservar los datos esenciales en toda la profundidad de la red, asegurando una generación de gradientes 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. Una función se considera reversible si puede invertirse sin pérdida de información, tal como se expresa mediante:
X = v_zeta(r_psi(X))con psi y zeta como parámetros para la función reversible y su inversa, respectivamente. Esta propiedad es crucial para las arquitecturas de deep learning, ya que permite a la red retener 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, asegurando la preservación de datos críticos para las tareas de detección de objetos.
Impacto en modelos ligeros#
Abordar la pérdida de información es particularmente vital para los modelos ligeros, que a menudo están subparametrizados y son propensos a perder información significativa durante el proceso de propagación hacia adelante. La arquitectura de YOLOv9, mediante el uso de PGI y funciones reversibles, garantiza que, incluso con un modelo optimizado, se retenga y utilice eficazmente la información esencial necesaria para una detección de objetos precisa.
Información de Gradiente Programable (PGI)#
PGI es un concepto novedoso introducido en YOLOv9 para combatir el problema del cuello de botella de información, garantizando la preservación de los datos esenciales a través de las capas profundas de la red. Esto permite la generación de 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 superior de los parámetros y eficiencia computacional. Su diseño permite una integración flexible de varios bloques computacionales, haciendo que YOLOv9 sea adaptable a una amplia gama de aplicaciones sin sacrificar la velocidad ni la precisión.

Puntos de referencia de YOLOv9#
La evaluación comparativa en YOLOv9 utilizando Ultralytics implica evaluar el rendimiento de tu modelo entrenado y validado en escenarios del mundo real. Este proceso incluye:
- Evaluación del rendimiento: Evaluación de la velocidad y la precisión del modelo.
- Formatos de exportación: Prueba del modelo en diferentes formatos de exportación para asegurar que cumple con los estándares necesarios y funciona bien en varios entornos.
- Soporte de framework: Proporcionar un marco integral dentro de Ultralytics YOLOv8 para facilitar estas evaluaciones y garantizar resultados consistentes y fiables.
Al realizar evaluaciones comparativas, puedes asegurarte de que tu modelo no solo funcione bien en entornos de prueba controlados, sino que también mantenga un alto rendimiento en aplicaciones prácticas del mundo real.
Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package
Rendimiento en el conjunto de datos MS COCO#
El rendimiento de YOLOv9 en el COCO dataset ejemplifica sus avances significativos en la detección de objetos en tiempo real, estableciendo nuevos referentes 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, ilustrando la superior eficiencia y accuracy de YOLOv9.
Las iteraciones de YOLOv9, que van desde la variante diminuta t hasta el modelo extenso e, demuestran mejoras no solo en la precisión (métricas 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 alta precision mientras mantiene o reduce la sobrecarga computacional en comparación con versiones anteriores y modelos de la competencia.
Comparativamente, YOLOv9 muestra ganancias notables:
- Modelos ligeros: YOLOv9s supera a YOLO MS-S en eficiencia de parámetros y carga computacional, logrando una mejora del 0.4∼0.6% en AP.
- Modelos medianos a 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 en parámetros y cálculos frente al trasfondo de una precisión mejorada.
El modelo YOLOv9c, en particular, destaca 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, pero logra 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 necesidades computacionales que YOLOv8x, junto con una mejora incremental del 1,7 % en AP.
Estos resultados muestran los avances estratégicos de YOLOv9 en el diseño de modelos, enfatizando su eficiencia mejorada sin comprometer la precisión esencial para las tareas de detección de objetos en tiempo real. El modelo no solo amplía los límites de las métricas de rendimiento, sino que también destaca la importancia de la eficiencia computacional, convirtiéndolo en un desarrollo fundamental en el campo de la computer vision.
Conclusión#
YOLOv9, lanzado en febrero de 2024, representó un desarrollo fundamental en la detección de objetos en tiempo real, ofreciendo mejoras significativas en términos de eficiencia, precisión y adaptabilidad. Al abordar desafíos críticos a través de soluciones innovadoras como PGI y GELAN, YOLOv9 estableció nuevos referentes en el momento de su lanzamiento. Aunque modelos más nuevos como YOLO11 y YOLO26 se han lanzado desde entonces con mejoras adicionales, las innovaciones arquitectónicas de YOLOv9 continúan influyendo en el campo.
Ejemplos de uso#
Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia con YOLOv9. Para obtener la documentación completa sobre estos y otros modes, consulta las páginas de documentación de Predict, Train, Val y Export.
Los modelos preentrenados de PyTorch *.pt, así como los archivos de configuración *.yaml, se pueden pasar a la clase YOLO() para crear una instancia de 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")Tareas y modos soportados#
La serie YOLOv9 ofrece una gama de modelos, cada uno optimizado para la Object Detection de alto rendimiento. Estos modelos se adaptan a diversas necesidades computacionales y requisitos de precisión, haciéndolos versátiles para una amplia variedad de aplicaciones.
| Modelo | Nombres de archivo | Tareas | Entrenamiento | Validación | Inferencia | Exportar |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | Detección de objetos | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | Instance Segmentation | ✅ | ✅ | ✅ | ✅ |
Esta tabla proporciona una visión general detallada de las variantes del modelo YOLOv9, destacando sus capacidades en tareas de detección de objetos y su compatibilidad con varios modos operativos como Inference, Validation, Training y Export. Este soporte integral garantiza que los usuarios puedan aprovechar al máximo las capacidades de los modelos YOLOv9 en una amplia gama de escenarios de detección de objetos.
El entrenamiento de modelos YOLOv9 requerirá más recursos y llevará más tiempo que el YOLOv8 model de tamaño equivalente.
Citas y agradecimientos#
Nos gustaría agradecer a los autores de YOLOv9 por sus importantes contribuciones en el campo de la detección de objetos en tiempo real:
@inproceedings{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Yeh, I-Hau and Liao, Hong-Yuan Mark},
booktitle={Computer Vision -- ECCV 2024},
pages={1--21},
year={2024},
organization={Springer Nature Switzerland}
}El artículo oficial de YOLOv9 se publicó en las Springer ECCV 2024 proceedings, con una preimpresión en arXiv. Los autores han hecho que su trabajo esté disponible públicamente, y se puede acceder a la base de código en GitHub. Agradecemos sus esfuerzos en hacer avanzar el campo y hacer que su trabajo sea accesible para la comunidad en general.
FAQ#
YOLOv9 introduce técnicas innovadoras como la Información de Gradiente Programable (PGI) y la Red de Agregación de Capas Eficiente Generalizada (GELAN). Estas innovaciones abordan los problemas de pérdida de información en redes neuronales profundas, garantizando una alta eficiencia, precisión y adaptabilidad. PGI conserva los datos esenciales en las capas de la red, mientras que GELAN optimiza la utilización de parámetros y la eficiencia computacional. Obtén más información sobre YOLOv9's core innovations que establecen nuevos referentes en el conjunto de datos MS COCO.
YOLOv9 supera a los detectores de objetos en tiempo real más avanzados al lograr una mayor precisión y eficiencia. En el COCO dataset, los modelos YOLOv9 muestran puntuaciones mAP superiores en varios tamaños mientras mantienen o reducen la sobrecarga computacional. Por ejemplo, YOLOv9c logra una precisión comparable con un 42 % menos de parámetros y un 21 % menos de demanda computacional que YOLOv7 AF. Explora las performance comparisons para ver métricas detalladas.
Puedes entrenar un modelo YOLOv9 utilizando comandos de Python y CLI. Para Python, instancia un modelo utilizando la clase
YOLOy llama al métodotrain:from ultralytics import YOLO # Build a YOLOv9c model from pretrained weights and train model = YOLO("yolov9c.pt") results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Para el entrenamiento mediante CLI, ejecuta:
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640Obtén más información sobre los usage examples para el entrenamiento y la inferencia.
YOLOv9 está diseñado para mitigar la pérdida de información, lo cual es particularmente importante para los modelos ligeros que a menudo son propensos a perder información significativa. Al integrar la Información de Gradiente Programable (PGI) y funciones reversibles, YOLOv9 garantiza la retención de datos esenciales, mejorando la precisión y la eficiencia del modelo. Esto lo hace muy adecuado para aplicaciones que requieren modelos compactos con alto rendimiento. Para más detalles, explora la sección sobre YOLOv9's impact on lightweight models.
YOLOv9 admite varias tareas, incluida la detección de objetos y la instance segmentation. Es compatible con múltiples modos operativos como inferencia, validación, entrenamiento y exportación. Esta versatilidad hace que YOLOv9 sea adaptable a diversas aplicaciones de visión artificial en tiempo real. Consulta la sección de supported tasks and modes para obtener más información.