YOLOX vs. YOLOv9: Una comparación técnica
Elegir la arquitectura adecuada para la detección de objetos es una decisión crítica que afecta la velocidad, la precisión y la viabilidad de la implementación de los proyectos de visión artificial. Este análisis compara YOLOX, un modelo pivotal sin anclajes lanzado en 2021, y YOLOv9, una arquitectura de última generación introducida en 2024 que aprovecha la información de gradiente programable (PGI).
Mientras que YOLOX cambió el paradigma hacia la detección sin anclajes, YOLOv9 introduce mecanismos novedosos para retener información en redes profundas, ofreciendo métricas de rendimiento superiores. Esta guía desglosa sus arquitecturas, benchmarks y casos de uso ideales para ayudarle a seleccionar el mejor modelo para sus necesidades.
YOLOX: El pionero sin anclajes
YOLOX se lanzó para cerrar la brecha entre la comunidad de investigación y las aplicaciones industriales, simplificando el head de detection y eliminando la dependencia de los cuadros de anclaje predefinidos.
Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li y Jian Sun
Organización:Megvii
Fecha: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:Documentación de YOLOX
Puntos destacados de la arquitectura
YOLOX introdujo una arquitectura de decoupled head, que separa las tareas de clasificación y regresión. Esta separación permite que el modelo converja más rápido y logre una mejor precisión. También emplea un mecanismo anchor-free, que elimina la necesidad de un análisis de clustering para determinar los tamaños óptimos de los anchor box, lo que hace que el modelo sea más robusto a las variadas formas de los objetos. Además, YOLOX utiliza SimOTA para la asignación de etiquetas, tratando el proceso como un problema de transporte óptimo para mejorar la estabilidad del entrenamiento.
Fortalezas y Debilidades
- Puntos fuertes: El diseño sin anclajes simplifica el proceso de ajuste de hiperparámetros. El cabezal desacoplado generalmente produce una mayor precisión para las tareas de localización en comparación con los cabezales acoplados de esa época.
- Debilidades: Como modelo de 2021, carece de las optimizaciones modernas que se encuentran en las arquitecturas más nuevas. Puede requerir más datos de entrenamiento para alcanzar el máximo rendimiento en comparación con los modelos que utilizan técnicas avanzadas de aumento de datos y agregación de capas.
YOLOv9: Información de Gradiente Programable
YOLOv9 representa un avance significativo, abordando el problema del "cuello de botella de información" inherente a las redes neuronales profundas.
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organización:Instituto de Ciencias de la Información, Academia Sinica
Fecha: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Documentación de Ultralytics YOLOv9
Puntos destacados de la arquitectura
YOLOv9 introduce la Información de Gradiente Programable (PGI) y la Red Generalizada de Agregación de Capas Eficientes (GELAN). PGI evita la pérdida de información de entrada crucial a medida que los datos pasan a través de capas profundas, lo que garantiza una generación de gradiente fiable para las actualizaciones del modelo. GELAN optimiza la utilización de parámetros, lo que permite que el modelo sea ligero pero preciso. Estas innovaciones permiten a YOLOv9 superar significativamente a sus predecesores tanto en eficiencia como en precisión media promedio (mAP).
Fortalezas y Debilidades
- Puntos fuertes: Excepcional relación precisión-parámetro, lo que la hace muy eficiente para aplicaciones en tiempo real. La arquitectura conserva el flujo de información mejor que las iteraciones anteriores, lo que conduce a una mejor detección de objetos pequeños.
- Debilidades: Al ser una arquitectura más nueva, puede requerir controladores CUDA actualizados y soporte de hardware en comparación con los modelos heredados.
Comparación de rendimiento
La siguiente tabla contrasta el rendimiento de YOLOX y YOLOv9 en el conjunto de datos COCO. YOLOv9 demuestra consistentemente puntuaciones mAP más altas con menos parámetros, lo que destaca la eficiencia de la arquitectura GELAN.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Análisis: YOLOv9 proporciona una mejora sustancial en la densidad de rendimiento. Por ejemplo, YOLOv9c alcanza un 53.0% de mAP con solo 25.3M de parámetros, mientras que YOLOX-L requiere 54.2M de parámetros para alcanzar una puntuación inferior de 49.7% de mAP. Esto indica que YOLOv9 es aproximadamente dos veces más eficiente en términos de uso de parámetros para este nivel de precisión.
La eficiencia importa
Al implementar en dispositivos edge, observar los FLOPs y los parámetros es tan importante como el mAP. La arquitectura GELAN de YOLOv9 reduce significativamente la sobrecarga computacional, lo que permite que los dispositivos funcionen de forma más refrigerada y prolonga la duración de la batería en implementaciones móviles.
La ventaja de Ultralytics
Si bien YOLOX es un repositorio independiente robusto, utilizar YOLOv9 dentro del Ecosistema Ultralytics ofrece distintas ventajas para desarrolladores e investigadores.
Facilidad de uso e integración
El framework de Ultralytics unifica la interacción del modelo. Puede entrenar, validar e implementar YOLOv9 utilizando una API de Python simple e intuitiva. Esto contrasta con el código base de YOLOX, que a menudo requiere una configuración más manual de las variables de entorno y las rutas del conjunto de datos.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Train the model on a custom dataset with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Ecosistema bien mantenido
Los modelos de Ultralytics se benefician de actualizaciones continuas, correcciones de errores y soporte de la comunidad. La integración con Ultralytics HUB permite un MLOps sin problemas, lo que permite a los equipos administrar conjuntos de datos, rastrear experimentos e implementar modelos en varios formatos (ONNX, TensorRT, CoreML) sin escribir scripts de exportación complejos.
Equilibrio del rendimiento y eficiencia de la memoria
Los modelos YOLO de Ultralytics están diseñados para un equilibrio práctico entre velocidad y precisión. Además, suelen mostrar menores requisitos de memoria durante el entrenamiento en comparación con arquitecturas más antiguas o modelos pesados basados en transformadores. Esta eficiencia reduce los costes de computación en la nube y hace que el entrenamiento sea accesible en GPU de consumo.
Versatilidad
Si bien YOLOX es principalmente un detector de objetos, el marco de Ultralytics extiende las capacidades de sus modelos compatibles. Los usuarios pueden cambiar fácilmente entre tareas como la segmentación de instancias, la estimación de poses y la detección de cajas delimitadoras orientadas (OBB) utilizando una sintaxis y flujos de trabajo similares, una versatilidad de la que a menudo carecen los repositorios de investigación independientes.
Casos de Uso Ideales
Cuándo elegir YOLOv9
- Sistemas autónomos: La alta precisión de YOLOv9-E es ideal para vehículos autónomos donde la detección de pequeños obstáculos a distancia es crítica para la seguridad.
- Análisis en tiempo real: Para el comercio minorista o la gestión del tráfico, YOLOv9c ofrece el punto óptimo entre altas velocidades de fotogramas y una detect precisa.
- Edge AI: La eficiencia arquitectónica de GELAN hace que YOLOv9t e YOLOv9s sean perfectos para la implementación en dispositivos como NVIDIA Jetson o Raspberry Pi.
Cuándo elegir YOLOX
- Integración Heredada: Si un pipeline de producción existente ya está fuertemente diseñado en torno al formato de head sin anclajes específico de YOLOX.
- Investigación Académica: Los investigadores que estudian específicamente el comportamiento de los encabezados desacoplados en los primeros detectores sin anclaje pueden encontrar en YOLOX una valiosa línea de base para la comparación.
Conclusión
Ambas arquitecturas se han ganado su lugar en la historia de la visión artificial. YOLOX desafió con éxito el statu quo basado en anclajes en 2021. Sin embargo, YOLOv9 representa el estándar moderno, incorporando años de avances en la optimización del flujo de gradiente y la agregación de capas.
Para la mayoría de los nuevos desarrollos, YOLOv9 es la opción recomendada. Su rendimiento superior por parámetro, combinado con la facilidad de uso, la eficiencia de entrenamiento y las sólidas opciones de implementación que proporciona el ecosistema Ultralytics, garantiza un camino más rápido desde el concepto hasta la producción.
Explore otras opciones modernas en el ecosistema, como YOLO11 y YOLOv8, para encontrar la opción perfecta para sus limitaciones de aplicación específicas.