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 eficiencia, precisión y adaptabilidad, estableciendo nuevas referencias 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 investigadora en IA.
Observa: Entrenamiento de YOLOv9 con datos personalizados utilizando Ultralytics | Industrial Package Dataset
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 solo mejora la capacidad de aprendizaje del modelo, sino que también garantiza la retención de información crucial a lo largo de todo el proceso de detección, con lo que consigue una precisión y un rendimiento excepcionales.
Principales innovaciones de YOLOv9
Los avances de YOLOv9 están profundamente arraigados en la resolución de los retos que plantea la pérdida de información en las redes neuronales profundas. El principio del cuello de botella de información y el uso innovador de funciones reversibles son fundamentales para su diseño, lo que garantiza 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 capas sucesivas de una red, aumenta el potencial de pérdida de información. Este fenómeno se representa matemáticamente como:
donde I
denota información mutua, y f
y g
representan funciones de transformación con parámetros theta
y phi
respectivamente. 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 de las piedras angulares del diseño de YOLOv9. Una función se considera reversible si puede invertirse sin pérdida de información, tal y como se expresa en:
con psi
y zeta
como parámetros para la función reversible y su función inversa, respectivamente. Esta propiedad es crucial para aprendizaje profundo ya que permite que la red conserve un flujo de información completo, posibilitando así actualizaciones más precisas de los parámetros del modelo. YOLOv9 incorpora funciones reversibles dentro de 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 de 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 (PGI)
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 Generalizada de Agregación Eficiente de Capas (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, lo que hace que YOLOv9 se adapte 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 mediante Ultralytics consiste en evaluar el rendimiento del modelo entrenado y validado en situaciones reales. Este proceso incluye:
- Evaluación del rendimiento: Evaluación de la velocidad y precisión del modelo.
- Formatos de exportación: Probar el modelo en distintos formatos de exportación para garantizar que cumple las normas necesarias y se comporta bien en diversos entornos.
- Marco de apoyo: Proporcionar un marco integral dentro de Ultralytics YOLOv8 para facilitar estas evaluaciones y garantizar resultados coherentes y fiables.
Mediante la evaluación comparativa, puede asegurarse de que su modelo no sólo funciona bien en entornos de prueba controlados, sino que también mantiene un alto rendimiento en aplicaciones prácticas del mundo real.
Observa: Cómo comparar el modelo YOLOv9 con el paquete Ultralytics Python
Rendimiento en el conjunto de datos MS COCO
El rendimiento de YOLOv9 en el conjunto de datos COCO ejemplifica sus significativos 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
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 precisión (métricas mAP), sino también en eficiencia con un número reducido de parámetros y necesidades computacionales (FLOPs). Esta tabla subraya la capacidad de YOLOv9 para ofrecer altos precisión manteniendo o reduciendo la carga computacional en comparación con las versiones anteriores y los modelos de la competencia.
Comparativamente, YOLOv9 presenta ganancias notables:
- Modelos ligeros: YOLOv9s supera a YOLO MS-S en eficiencia de parámetros y carga computacional, al tiempo que logra 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 en los parámetros y los cálculos con el telón de fondo de una mayor 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, 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 de gran tamaño, con un 15% menos de parámetros y un 25% menos de necesidad de cálculo que YOLOv7 AF. YOLOv8xjunto con una mejora incremental del 1,7% en AP.
Estos resultados ponen de manifiesto los avances estratégicos de YOLOv9 en el diseño de modelos, destacando su mayor eficiencia 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 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 se erige en 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, consulte las páginas de documentación Predicción, Entrenamiento, Val y Exportación.
Ejemplo
PyTorch preentrenado *.pt
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:
Tareas y modos compatibles
La serie YOLOv9 ofrece una gama de modelos, cada uno de ellos optimizado para la detección de objetos de alto rendimiento. Estos modelos se adaptan a diferentes 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 | yolov9t yolov9s yolov9m 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 completa 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:
El artículo original sobre 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 este campo y poner su trabajo a disposición de la comunidad en general.
PREGUNTAS FRECUENTES
¿Qué innovaciones introduce YOLOv9 para la detección de objetos en tiempo real?
YOLOv9 introduce técnicas revolucionarias como la Información de Gradiente Programable (PGI) y la Red de Agregación de Capas Eficiente Generalizada (GELAN). Estas innovaciones abordan los retos que plantea la pérdida de información en las redes neuronales profundas, garantizando una gran eficiencia, precisión y adaptabilidad. PGI conserva los datos esenciales en todas las capas de la red, mientras que GELAN optimiza la utilización de los parámetros y la eficiencia computacional. Obtenga más información sobre las principales innovaciones de YOLOv9 que establecen nuevos puntos de referencia en el conjunto de datos MS COCO.
¿Cuál es el rendimiento de YOLOv9 en el conjunto de datos MS COCO en comparación con otros modelos?
YOLOv9 supera a los detectores de objetos en tiempo real más avanzados en precisión y eficiencia. En el conjunto de datos COCO, los modelos YOLOv9 muestran puntuaciones mAP superiores en varios tamaños, al tiempo que 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. Explore las comparaciones de rendimiento para obtener métricas detalladas.
¿Cómo puedo entrenar un modelo YOLOv9 utilizando Python y CLI?
Puede entrenar un modelo YOLOv9 utilizando los comandos Python y CLI . Para Python, instancie un modelo utilizando el comando YOLO
y llamar a la clase train
método:
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 CLI formación, ejecutar:
Más información sobre ejemplos de uso para formación e inferencia.
¿Cuáles son las ventajas de utilizar Ultralytics YOLOv9 para modelos ligeros?
YOLOv9 está diseñado para mitigar la pérdida de información, lo que es especialmente importante para los modelos ligeros, a menudo propensos a perder información significativa. Mediante la integración de la Información de Gradiente Programable (PGI) y las funciones reversibles, YOLOv9 garantiza la retención de datos esenciales, mejorando la precisión y eficacia del modelo. Esto lo hace muy adecuado para aplicaciones que requieren modelos compactos con un alto rendimiento. Para más detalles, explore la sección sobre el impacto de YOLOv9 en los modelos ligeros.
¿Qué tareas y modos admite YOLOv9?
YOLOv9 admite diversas tareas, como la detección de objetos y la segmentación de instancias. Es compatible con múltiples modos operativos como inferencia, validación, entrenamiento y exportación. Esta versatilidad hace que YOLOv9 se adapte a diversas aplicaciones de visión por ordenador en tiempo real. Consulte la sección de tareas y modos compatibles para obtener más información.