YOLOX vs. YOLOv5: Una comparación técnica
En el campo de la visión artificial, que evoluciona rápidamente, la serie YOLO (You Only Look Once) ha superado constantemente los límites de la detección de objetos en tiempo real. Esta página proporciona una comparación técnica detallada entre dos modelos influyentes de esta serie: YOLOX, desarrollado por Megvii, y Ultralytics YOLOv5. Si bien ambos modelos ofrecen potentes capacidades, están construidos sobre diferentes filosofías de diseño. YOLOX introduce un enfoque sin anclaje para simplificar el encabezado de detección y mejorar el rendimiento, mientras que YOLOv5 se ha establecido como un estándar de la industria conocido por su excepcional equilibrio de velocidad, precisión y facilidad de uso.
Esta comparación profundiza en sus diferencias arquitectónicas, métricas de rendimiento y casos de uso ideales para ayudarle a seleccionar el modelo más adecuado para su proyecto, ya sea que priorice la precisión bruta, la velocidad de implementación o la eficiencia general del desarrollo.
YOLOX: Una alternativa sin anclajes y de alto rendimiento
YOLOX fue presentado el 18 de julio de 2021 por investigadores de Megvii. Presenta un enfoque sin anclajes para la detección de objetos, con el objetivo de obtener un alto rendimiento con un diseño simplificado en comparación con los métodos tradicionales basados en anclajes. Al eliminar los cuadros delimitadores predefinidos, YOLOX pretende reducir la complejidad del diseño y mejorar la generalización en diferentes conjuntos de datos.
Detalles técnicos:
- 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 se distingue por varias innovaciones clave. Su característica principal es el mecanismo de detección sin anclajes, que predice directamente las propiedades de los objetos sin depender de un conjunto de cuadros de anclaje predefinidos. Esto simplifica la canalización de entrenamiento y evita la necesidad de ajustar los anclajes. La arquitectura también incorpora cabezales desacoplados para las tareas de clasificación y localización, lo que, según los autores, mejora la convergencia y la precisión. Además, YOLOX utiliza una estrategia avanzada de asignación de etiquetas llamada SimOTA para asignar dinámicamente muestras positivas para el entrenamiento, lo que mejora su rendimiento en objetos desafiantes.
Fortalezas
- Alta precisión: YOLOX alcanza una precisión competitiva, a menudo superando a otros modelos de tamaño similar en benchmarks como COCO, gracias a su head desacoplado y a las técnicas avanzadas de asignación de etiquetas.
- Detección sin anclajes: Esto simplifica el proceso de detección y puede mejorar la generalización al eliminar las dependencias de las configuraciones de los cuadros de anclaje, que a menudo requieren un ajuste específico del dominio.
Debilidades
- Complejidad de la implementación: Si bien la ausencia de anclas simplifica un aspecto, la introducción de encabezados desacoplados y estrategias avanzadas como SimOTA puede añadir complejidad a la implementación y comprensión del modelo.
- Ecosistema externo: YOLOX no forma parte del conjunto de herramientas de Ultralytics, lo que significa que carece de una integración perfecta con herramientas como Ultralytics HUB. Esto puede resultar en una curva de aprendizaje más pronunciada en comparación con la experiencia unificada y bien documentada de Ultralytics.
- Velocidad de la CPU: Como se observa en los puntos de referencia de rendimiento, la velocidad de inferencia en la CPU podría quedar por detrás de los modelos altamente optimizados como YOLOv5, especialmente para las variantes YOLOX más grandes.
Casos de uso
YOLOX es ideal para aplicaciones donde lograr la máxima precisión posible es el objetivo principal:
- Conducción Autónoma: Su alta precisión es valiosa para tareas de percepción en vehículos autónomos, donde la identificación correcta de todos los objetos es fundamental.
- Robótica Avanzada: Ideal para entornos complejos donde los robots necesitan realizar una detección de objetos precisa para la navegación e interacción, como se explora en la IA en la Robótica.
- Investigación: Sirve como una base sólida para la investigación académica e industrial sobre metodologías sin anclaje y técnicas de entrenamiento avanzadas en la detección de objetos.
YOLOv5: El Modelo Versátil y Ampliamente Adoptado
Ultralytics YOLOv5, lanzado el 26 de junio de 2020, se ha convertido en un estándar de la industria, celebrado por su excelente equilibrio entre velocidad, precisión y notable facilidad de uso. Desarrollado por Glenn Jocher en Ultralytics, está construido completamente en PyTorch, lo que lo hace altamente accesible a una amplia comunidad de desarrolladores e investigadores.
Detalles técnicos:
- Autor: Glenn Jocher
- Organización: Ultralytics
- Fecha: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Documentación: https://docs.ultralytics.com/models/yolov5/
Arquitectura y Características Clave
YOLOv5 utiliza una backbone CSPDarknet53 para la extracción de características y un cuello de botella PANet para la agregación de características, una combinación probada para la detección de objetos eficiente y eficaz. Su arquitectura es altamente escalable, ofrecida en varios tamaños (n, s, m, l, x) para adaptarse a diferentes presupuestos computacionales y necesidades de rendimiento. A diferencia de YOLOX, utiliza un encabezado de detección basado en anclajes, que está altamente optimizado para la velocidad. El modelo forma parte de un ecosistema integral que incluye una sencilla API de python, una extensa documentación y la plataforma sin código Ultralytics HUB para el entrenamiento y la implementación.
Fortalezas
- Velocidad de Inferencia Excepcional: YOLOv5 está altamente optimizado para la detección rápida, lo que lo convierte en una opción superior para sistemas en tiempo real tanto en hardware CPU como GPU.
- Facilidad de uso: Reconocido por su API sencilla, documentación completa e integración perfecta dentro del ecosistema de Ultralytics, lo que reduce significativamente la barrera de entrada para los desarrolladores.
- Ecosistema maduro: Se beneficia de una comunidad grande y activa, actualizaciones frecuentes y amplios recursos, incluyendo pesos pre-entrenados disponibles.
- Eficiencia en el entrenamiento: El proceso de entrenamiento es altamente eficiente, con tiempos de convergencia más rápidos y, en general, menores requisitos de memoria en comparación con arquitecturas más complejas.
- Versatilidad: YOLOv5 admite múltiples tareas de visión más allá de la detección, incluyendo la segmentación de instancias y la clasificación de imágenes dentro del mismo marco.
Debilidades
- Detección Basada en Anclas: Se basa en cuadros de anclaje, lo que puede requerir un ajuste para un rendimiento óptimo en conjuntos de datos con objetos de forma o escala inusuales en comparación con los detectores sin anclaje.
- Compromiso en la precisión: Si bien ofrece un equilibrio fantástico, los modelos YOLOv5 más pequeños priorizan la velocidad, lo que puede resultar en una precisión ligeramente inferior en comparación con modelos más grandes o arquitecturas más nuevas diseñadas puramente para la máxima precisión.
Casos de uso
La versatilidad y eficiencia de YOLOv5 lo hacen adecuado para una amplia gama de dominios:
- Edge Computing: Su velocidad y el menor tamaño de los modelos lo hacen perfecto para la implementación en dispositivos con recursos limitados como Raspberry Pi y NVIDIA Jetson.
- Automatización industrial: Potencia el control de calidad y la automatización de procesos en la fabricación, como la mejora de la eficiencia del reciclaje.
- Seguridad y Vigilancia: Permite la monitorización en tiempo real en sistemas de seguridad para aplicaciones como la prevención de robos.
- Aplicaciones móviles: Adecuado para tareas de detección de objetos en el dispositivo donde la baja latencia y la eficiencia son críticas.
Comparación directa de rendimiento: Velocidad vs. Precisión
Al comparar YOLOX y YOLOv5, surge una clara compensación entre precisión y velocidad. Los modelos YOLOX generalmente alcanzan una puntuación mAPval más alta para un tamaño de modelo dado, lo que demuestra la eficacia de su diseño sin anclajes y sus estrategias de entrenamiento avanzadas. Por ejemplo, YOLOX-x alcanza 51,1 mAP, superando ligeramente a YOLOv5x.
Sin embargo, Ultralytics YOLOv5 tiene una ventaja significativa en la velocidad de inferencia. Los modelos YOLOv5 más pequeños, como YOLOv5n, son excepcionalmente rápidos tanto en CPU como en GPU, lo que los hace ideales para aplicaciones en tiempo real en dispositivos perimetrales. La tabla de rendimiento muestra que YOLOv5n alcanza una latencia de TensorRT de solo 1,12 ms, que es más del doble de rápido que YOLOX-s. Esta eficiencia hace de YOLOv5 una opción más práctica para muchos entornos de producción donde la velocidad es una limitación crítica.
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 |
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Conclusión: ¿Qué modelo debería elegir?
Tanto YOLOX como YOLOv5 son modelos de detección de objetos potentes, pero satisfacen diferentes prioridades. YOLOX es una excelente opción para los investigadores y desarrolladores que priorizan la máxima precisión y están interesados en explorar los beneficios de las arquitecturas sin anclajes. Su sólido rendimiento en los puntos de referencia lo convierte en un modelo formidable para las tareas en las que la precisión es primordial.
Sin embargo, para la gran mayoría de las aplicaciones del mundo real, Ultralytics YOLOv5 presenta un paquete global más atractivo. Sus principales ventajas residen en su excepcional velocidad, facilidad de uso y robusto ecosistema. Los desarrolladores pueden empezar rápidamente gracias a la completa documentación, una API sencilla y un proceso de entrenamiento optimizado. La eficiencia del modelo lo hace muy práctico para la implementación, especialmente en escenarios de computación en tiempo real y en el borde.
Además, el desarrollo continuo y el soporte de Ultralytics significan que los usuarios se benefician de un framework bien mantenido y en constante mejora. Para aquellos que buscan un rendimiento de última generación combinado con usabilidad y versatilidad, también se recomienda encarecidamente explorar los modelos Ultralytics más nuevos como YOLOv8 y YOLO11, ya que se basan en la sólida base de YOLOv5 para ofrecer capacidades aún mayores.
Otras comparaciones de modelos
Si está interesado en comparar estos modelos con otros, consulte estas páginas: