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.
Observa: Entrenamiento de YOLOv9 con datos personalizados utilizando Ultralytics | Conjunto de datos de paquetes industriales
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
donde I
denota la 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 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:
con psi
y zeta
como parámetros de la función reversible y de 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 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 los 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.
Puntos de referencia de YOLOv9
La evaluación comparativa en YOLOv9 mediante Ultralytics consiste en evaluar el rendimiento de tu 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 funciona bien en diversos entornos.
- Marco de apoyo: Proporcionar un marco completo dentro de Ultralytics YOLOv8 para facilitar estas evaluaciones y garantizar unos resultados coherentes y fiables.
Mediante la evaluación comparativa, puedes asegurarte de que tu 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 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
Rendimiento
Modelo | tamaño (píxeles) | mAPval 50-95 | mAPval 50 | parámetros (M) | FLOP (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) | FLOP (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 la diminuta 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 alta precisión manteniendo o reduciendo la carga computacional en comparación con versiones anteriores y modelos competidores.
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:
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 | 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 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:
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.
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 de la pérdida de información en las redes neuronales profundas, garantizando una gran eficacia, 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. Más información sobre las principales innovaciones de YOLOv9 que establecen nuevos puntos de referencia en el conjunto de datos MS COCO.
¿Cómo se comporta 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 al lograr una mayor precisión y eficacia. 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 consigue una precisión comparable con un 42% menos de parámetros y un 21% menos de demanda computacional que YOLOv7 AF. Explora las comparaciones de rendimiento para obtener métricas detalladas.
¿Cómo puedo entrenar un modelo YOLOv9 utilizando Python y CLI?
Puedes entrenar un modelo YOLOv9 utilizando los comandos Python y CLI . Para Python, instanciar 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 el entrenamiento CLI , ejecuta:
Obtén más información sobre ejemplos de uso para entrenamiento 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. Al integrar 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 de alto rendimiento. Para más detalles, explora la sección sobre el impacto de YOLOv9 en los modelos ligeros.
¿Qué tareas y modos admite YOLOv9?
YOLOv9 admite varias 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. Consulta la sección de tareas y modos compatibles para obtener más información.