YOLOX vs. YOLOv7: Una comparación técnica
Elegir el modelo de detección de objetos adecuado es una decisión crítica para cualquier proyecto de visión artificial, que impacta directamente en el rendimiento, la velocidad y la viabilidad de la implementación. Esta página ofrece una comparación técnica detallada entre dos modelos influyentes de la familia YOLO: YOLOX e YOLOv7. Exploraremos sus diferencias arquitectónicas, puntos de referencia de rendimiento y casos de uso ideales para ayudarle a tomar una decisión informada.
YOLOX: Excelencia sin anclajes
YOLOX se introdujo como un detector sin anclajes de alto rendimiento, con el objetivo de simplificar el pipeline de detección y, al mismo tiempo, mejorar el rendimiento con respecto a las versiones anteriores de YOLO. Su filosofía de diseño tiende un puente entre la investigación académica y la aplicación industrial, agilizando el proceso de entrenamiento.
Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, y Jian Sun
Organización: Megvii
Fecha: 2021-07-18
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Documentación: https://yolox.readthedocs.io/en/latest/
Arquitectura y Características Clave
YOLOX destaca por varias innovaciones arquitectónicas clave que lo diferencian de sus predecesores:
- Diseño sin anclajes: Al eliminar las cajas de anclaje predefinidas, YOLOX reduce el número de parámetros de diseño y la complejidad asociada con el ajuste de anclajes. Esto hace que el modelo sea más flexible y mejor para generalizar a objetos con diversas formas y tamaños, particularmente en conjuntos de datos como COCO.
- Decoupled Head: A diferencia de los heads acoplados que realizan la clasificación y la localización simultáneamente, YOLOX utiliza un head desacoplado. Se ha demostrado que esta separación resuelve un conflicto entre las dos tareas, lo que conduce a una convergencia más rápida durante el entrenamiento y a una mayor precisión.
- Aumento de Datos Avanzado: El modelo aprovecha técnicas sólidas de aumento de datos, incluyendo MixUp y Mosaic, para mejorar su robustez y prevenir el sobreajuste. Puede obtener más información sobre estas técnicas en nuestra guía sobre aumento de datos.
- Asignación de Etiquetas SimOTA: YOLOX introduce una estrategia avanzada de asignación de etiquetas llamada SimOTA (Asignación de Transporte Óptimo Simplificada). Asigna dinámicamente muestras positivas para el entrenamiento, lo que mejora la eficiencia del entrenamiento y ayuda al modelo a aprender mejores características.
Fortalezas y Debilidades
Ventajas:
- Pipeline Simplificado: El enfoque sin anclajes simplifica el proceso de entrenamiento e implementación al eliminar la necesidad de agrupar y ajustar los anclajes.
- Sólida Generalización: La combinación de un diseño sin anclajes y un potente aumento de datos ayuda al modelo a generalizar bien a nuevos dominios y conjuntos de datos.
- Buen equilibrio de rendimiento: YOLOX ofrece un equilibrio sólido entre velocidad y precisión en sus diferentes escalas de modelo.
Debilidades:
- Superado por modelos más recientes: Si bien es eficiente, YOLOX ha sido superado en velocidad y precisión por arquitecturas más nuevas como YOLOv7 y los modelos Ultralytics posteriores.
- Limitaciones del ecosistema: YOLOX no forma parte de un ecosistema integrado como Ultralytics, lo que puede dificultar la implementación y MLOps. Carece de una integración perfecta con herramientas como Ultralytics HUB.
YOLOv7: La cúspide de la velocidad y la precisión
Tras su lanzamiento, YOLOv7 estableció un nuevo estándar de última generación para los detectores de objetos en tiempo real, demostrando notables mejoras tanto en velocidad como en precisión. Lo consiguió introduciendo varias optimizaciones arquitectónicas y estrategias de entrenamiento.
Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
Organización: Instituto de Ciencias de la Información, Academia Sinica, Taiwán
Fecha: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Documentación: https://docs.ultralytics.com/models/yolov7/
Arquitectura y Características Clave
El rendimiento superior de YOLOv7 se basa en sus componentes arquitectónicos avanzados y en las mejoras de entrenamiento:
- E-ELAN (Red de Agregación de Capas Eficiente Extendida): Este módulo clave en el backbone permite que la red aprenda características más diversas controlando las rutas de gradiente, mejorando el aprendizaje sin interrumpir el flujo de gradiente.
- Bag-of-Freebies entrenable: YOLOv7 introduce un conjunto de métodos de entrenamiento que aumentan la precisión sin incrementar el coste de la inferencia. Esto incluye técnicas como el entrenamiento guiado de lo grueso a lo fino y los cabezales auxiliares que guían el proceso de aprendizaje.
- Escalado de modelos: El modelo introduce métodos de escalado compuesto para la profundidad y el ancho que están optimizados para arquitecturas basadas en concatenación, lo que garantiza un rendimiento eficiente en diferentes tamaños de modelo.
- Convolución reparametrizada: YOLOv7 utiliza la reparametrización de modelos para mejorar el rendimiento, una técnica que desde entonces se ha vuelto popular en el diseño de redes modernas.
Fortalezas y Debilidades
Ventajas:
- Compensación excepcional entre velocidad y precisión: YOLOv7 ofrece un equilibrio sobresaliente entre un mAP alto y velocidades de inferencia rápidas, lo que lo hace ideal para aplicaciones en tiempo real.
- Eficiencia en el entrenamiento: El enfoque de "bag-of-freebies" le permite lograr una alta precisión con un entrenamiento eficiente.
- Rendimiento Comprobado: Estableció un nuevo punto de referencia para los detectores de objetos en tiempo real en conjuntos de datos estándar.
Debilidades:
- Complejidad arquitectónica: La combinación de E-ELAN, heads auxiliares y otras características hace que la arquitectura sea más compleja que los modelos más simples.
- Entrenamiento con uso intensivo de recursos: El entrenamiento de los modelos YOLOv7 más grandes puede requerir importantes recursos computacionales y memoria de la GPU.
- Versatilidad limitada: Si bien el repositorio oficial tiene extensiones impulsadas por la comunidad para tareas como la estimación de pose, no es un framework inherentemente multitarea como los modelos Ultralytics más nuevos.
Comparación directa de rendimiento: YOLOX vs. YOLOv7
Al comparar el rendimiento, ambos modelos ofrecen una variedad de tamaños para ajustarse a diferentes presupuestos computacionales. YOLOX proporciona una familia escalable desde Nano hasta X, mientras que YOLOv7 se centra en ofrecer un rendimiento de primer nivel con sus variantes más grandes.
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
De la tabla, está claro que los modelos YOLOv7 generalmente alcanzan puntuaciones mAP más altas. Por ejemplo, YOLOv7l supera a YOLOXx en precisión (51.4% vs. 51.1%) con significativamente menos parámetros (36.9M vs. 99.1M) y FLOPs (104.7B vs. 281.9B), y es mucho más rápido en una GPU T4. Esto destaca la eficiencia arquitectónica superior de YOLOv7.
Por qué los modelos Ultralytics YOLO son la opción preferida
Si bien YOLOX y YOLOv7 fueron avances significativos, los modelos Ultralytics YOLO más nuevos como YOLOv8 y YOLO11 ofrecen una experiencia más moderna, versátil y fácil de usar.
- Facilidad de uso: Los modelos de Ultralytics están diseñados pensando en el desarrollador, con una API de Python optimizada, una extensa documentación y sencillos comandos de la CLI que facilitan el entrenamiento, la validación y la implementación.
- Ecosistema bien mantenido: Benefíciese de un ecosistema robusto con desarrollo activo, una gran comunidad de código abierto, actualizaciones frecuentes e integración perfecta con herramientas como Ultralytics HUB para MLOps de extremo a extremo.
- Versatilidad: Modelos como YOLOv8 y YOLO11 son verdaderos marcos multi-tarea, que admiten detección de objetos, segmentación, clasificación, estimación de pose y detección de objetos orientados (OBB) de forma predeterminada.
- Rendimiento y eficiencia: Los modelos Ultralytics proporcionan un excelente equilibrio entre velocidad y precisión, están optimizados para un uso eficiente de la memoria y son adecuados para una amplia gama de hardware, desde dispositivos edge hasta servidores en la nube.
Conclusión
Tanto YOLOX como YOLOv7 son modelos de detección de objetos potentes que han superado los límites de lo que es posible en la visión artificial. YOLOX es encomiable por su innovador diseño sin anclajes, que simplifica la canalización de detección. YOLOv7 destaca por su excepcional velocidad y precisión, lo que la convierte en una opción sólida para las aplicaciones exigentes en tiempo real.
Sin embargo, para los desarrolladores e investigadores de hoy en día, los modelos de Ultralytics como YOLOv8 y YOLO11 representan el siguiente paso adelante. Ofrecen un rendimiento superior, una mayor versatilidad y un ecosistema más completo y fácil de usar, lo que los convierte en la opción recomendada para construir soluciones modernas de IA de visión de alto rendimiento.
Otras comparaciones de modelos
Para obtener más información, explore otras comparaciones de modelos:
- YOLOX vs. YOLOv5
- YOLOX vs. YOLOv8
- YOLOv7 vs. YOLOv8
- RT-DETR vs. YOLOv7
- Explora los últimos modelos como YOLOv10 y YOLO11.