YOLOv5 vs YOLOX: Cambios arquitectónicos y métricas de rendimiento
El panorama de la detección de objetos ha evolucionado rápidamente, con varias arquitecturas compitiendo por el equilibrio óptimo entre la velocidad de inferencia y la precisión de la detección. Dos hitos importantes en este recorrido son YOLOv5, desarrollado por Ultralytics, y YOLOX, un modelo centrado en la investigación de Megvii. Si bien ambos modelos provienen del linaje "You Only Look Once", divergen significativamente en sus filosofías arquitectónicas, específicamente con respecto a los mecanismos de detección basados en anclajes frente a los que no lo están.
Esta comparación explora las especificaciones técnicas, las diferencias arquitectónicas y las métricas de rendimiento de ambos modelos para ayudar a los desarrolladores e investigadores a elegir la herramienta adecuada para sus proyectos de visión artificial.
Ultralytics YOLOv5: El Estándar de Ingeniería
Lanzado en 2020, YOLOv5 se convirtió rápidamente en el estándar de la industria para la detección práctica de objetos. A diferencia de sus predecesores, que eran principalmente proyectos de investigación académica, YOLOv5 fue diseñado con un enfoque en la usabilidad, la facilidad de implementación y el rendimiento en el mundo real. Introdujo un flujo de trabajo optimizado basado en PyTorch que hizo que el entrenamiento y la implementación de modelos personalizados fueran accesibles a un público más amplio.
- Autores: Glenn Jocher
- Organización:Ultralytics
- Fecha: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- Documentación:https://docs.ultralytics.com/models/yolov5/
YOLOv5 emplea una arquitectura basada en anclajes, utilizando cajas de anclaje predefinidas para predecir las ubicaciones de los objetos. Integra una función "AutoAnchor" que evoluciona las formas de los anclajes para adaptarse a conjuntos de datos personalizados antes del entrenamiento, lo que garantiza una convergencia óptima. El modelo presenta una estructura troncal CSPNet y un cuello de botella PANet, optimizados para la extracción y agregación rápida de características. Su principal fortaleza radica en su excepcional velocidad de inferencia y su baja huella de memoria, lo que lo hace ideal para la computación en el borde y las aplicaciones móviles.
YOLOX: El contendiente sin anclajes
YOLOX, lanzado en 2021 por Megvii, buscó ampliar los límites de la familia YOLO adoptando un diseño sin anclajes. Este enfoque elimina la necesidad de cuadros delimitadores predefinidos, prediciendo en su lugar los centros y tamaños de los objetos directamente. Este cambio tenía como objetivo simplificar el proceso de diseño y mejorar la generalización en diversas formas de objetos.
- 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/
YOLOX introduce una arquitectura de decoupled head, que separa las tareas de clasificación y regresión en diferentes ramas. Teóricamente, esto permite que el modelo aprenda representaciones de características distintas para identificar qué es un objeto frente a dónde está. Además, emplea una estrategia avanzada de asignación de etiquetas conocida como SimOTA (Simplified Optimal Transport Assignment) para asignar dinámicamente muestras positivas durante el entrenamiento. Si bien estas innovaciones contribuyen a una alta precisión, a menudo conllevan una mayor complejidad computacional.
¿Buscas la última tecnología?
Si bien YOLOv5 e YOLOX representan pasos importantes en la historia de la visión artificial, el campo avanza rápidamente. YOLO11, el último modelo de Ultralytics, ofrece una precisión y una velocidad superiores en comparación con ambos, con una arquitectura refinada que admite la detección, la segmentación, la estimación de la pose y mucho más.
Análisis de rendimiento: Velocidad vs. Precisión
Al comparar YOLOv5 y YOLOX, la compensación generalmente se centra en la latencia de inferencia frente a la precisión absoluta. YOLOv5 está meticulosamente optimizado para la velocidad, particularmente en aceleradores de hardware que utilizan TensorRT y ONNX Runtime. Como se muestra en los datos a continuación, los modelos YOLOv5 demuestran una latencia significativamente menor (mayor velocidad) en tamaños de modelo equivalentes.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Puntos clave
- Velocidad de inferencia: YOLOv5 tiene una ventaja decisiva en velocidad. Por ejemplo, YOLOv5n logra una latencia de TensorRT de solo 1.12 ms, lo que lo hace excepcionalmente adecuado para el procesamiento de video de alta velocidad de fotogramas en dispositivos de borde como la NVIDIA Jetson. En contraste, los modelos YOLOX más pequeños carecen de datos de referencia comparables para la CPU, y su latencia de GPU es generalmente mayor para niveles de precisión similares.
- Precisión (mAP): YOLOX tiende a lograr puntuaciones de mAP ligeramente superiores en el conjunto de datos COCO, particularmente con sus variantes más grandes (YOLOX-x con 51.1 frente a YOLOv5x con 50.7). Esto se atribuye a su diseño sin anclaje y a su encabezado desacoplado, que pueden manejar mejor las variaciones de los objetos. Sin embargo, esta ganancia marginal a menudo se produce a costa de una sobrecarga computacional significativamente mayor (FLOPs).
- Eficiencia: Los modelos YOLOv5 generalmente requieren menos FLOP para una velocidad de inferencia dada. El diseño de cabezal acoplado de YOLOv5 es más amigable con el hardware, lo que permite una ejecución más rápida tanto en CPUs como en GPUs.
Análisis Arquitectónico en Profundidad
La diferencia fundamental radica en cómo cada modelo aborda el problema de la detección.
YOLOv5 (basado en anclajes): YOLOv5 utiliza un conjunto predefinido de cuadros de anclaje. Durante el entrenamiento, el modelo aprende a ajustar estos cuadros para que se ajusten a los objetos. Este método se basa en la correlación entre el tamaño del objeto y el tamaño de la celda de la cuadrícula.
- Ventajas: Entrenamiento estable, metodología establecida, excelente rendimiento en conjuntos de datos estándar.
- Contras: Requiere ajuste de hiperparámetros para anclajes en conjuntos de datos exóticos (aunque AutoAnchor de YOLOv5 mitiga esto).
YOLOX (Sin anclajes): YOLOX trata la detección de objetos como un problema de regresión de puntos. Predice la distancia desde el centro de la celda de la cuadrícula hasta los límites del objeto.
- Ventajas: Reduce el número de parámetros de diseño (sin necesidad de ajustar anchors), potencial para una mejor generalización en relaciones de aspecto irregulares.
- Contras: Puede ser más lento para converger durante el entrenamiento, y el encabezado desacoplado añade capas que aumentan la latencia de inferencia.
Experiencia del usuario y ecosistema
Una de las características más definitorias de Ultralytics YOLOv5 es su robusto ecosistema. Mientras que YOLOX proporciona una sólida base académica, YOLOv5 ofrece un marco listo para el producto diseñado para los desarrolladores.
Facilidad de uso
YOLOv5 es reconocido por su simplicidad "de principio a fin". Desde la anotación de datos hasta el entrenamiento e implementación del modelo, el ecosistema de Ultralytics agiliza cada paso. El modelo se puede cargar con unas pocas líneas de código y admite la exportación automática a formatos como TFLite, CoreML y ONNX.
import torch
# Load a pretrained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Print results
results.print()
Versatilidad y mantenimiento
Los modelos de Ultralytics no se limitan solo a la detección. El framework admite la clasificación de imágenes y la segmentación de instancias, ofreciendo una API unificada para múltiples tareas. Esta versatilidad suele faltar en los repositorios específicos de investigación como YOLOX, que se centran principalmente en la detección. Además, el mantenimiento activo por parte de Ultralytics garantiza la compatibilidad con las últimas versiones de PyTorch y CUDA, lo que reduce la "degradación del código" con el tiempo.
Casos de Uso Ideales
Elija Ultralytics YOLOv5 si:
- Necesitas un rendimiento en tiempo real en dispositivos periféricos (Raspberry Pi, teléfonos móviles).
- Priorizas la facilidad de implementación y necesitas soporte integrado para la exportación a TensorRT, CoreML o TFLite.
- Prefieres un marco de trabajo estable y bien documentado con un soporte activo de la comunidad.
- Tu aplicación implica la vigilancia de la seguridad o la navegación autónoma donde la baja latencia es crítica.
Elija YOLOX si:
- Está llevando a cabo una investigación académica específicamente sobre arquitecturas sin anclajes.
- Necesitas el mAP máximo absoluto para una competición o benchmark, independientemente de la velocidad de inferencia.
- Tienes un conjunto de datos especializado en el que los métodos basados en anclajes han fallado de forma demostrable (p. ej., relaciones de aspecto extremas) y AutoAnchor no resolvió el problema.
Conclusión
Tanto YOLOv5 como YOLOX se han ganado su lugar en la historia de la visión artificial. YOLOX demostró la viabilidad de los detectores sin anclaje en la familia YOLO, ofreciendo una base sólida para la investigación académica. Sin embargo, para la gran mayoría de las aplicaciones prácticas, Ultralytics YOLOv5 sigue siendo la opción superior debido a su velocidad, eficiencia y ecosistema amigable para el desarrollador sin igual.
Para aquellos que comienzan nuevos proyectos hoy, recomendamos encarecidamente explorar YOLO11. Se basa en los puntos fuertes de YOLOv5 (facilidad de uso y velocidad), al tiempo que integra avances arquitectónicos modernos que superan tanto a YOLOv5 como a YOLOX en precisión y versatilidad.
Otras comparaciones de modelos
Explore cómo se comparan los modelos de Ultralytics con otras arquitecturas en el campo: