YOLOv10 frente a YOLOX#
El campo de la visión por computador está impulsado por rápidos avances en las arquitecturas de detección de objetos en tiempo real. Esta comparación técnica detallada analiza dos modelos influyentes que ampliaron los límites de la eficiencia y de los paradigmas de diseño: YOLOv10 y YOLOX. Al examinar sus diferencias arquitectónicas, métricas de rendimiento y metodologías de entrenamiento, desarrolladores e investigadores pueden tomar decisiones fundamentadas para implementar sistemas de visión robustos.
Antecedentes y orígenes de los modelos#
Comprender los orígenes de estos modelos de aprendizaje profundo proporciona un contexto valioso sobre sus objetivos arquitectónicos y casos de uso previstos.
YOLOv10: eliminación de NMS para una detección realmente de extremo a extremo#
Desarrollado para resolver cuellos de botella de latencia de larga duración, YOLOv10 introdujo un enfoque nativo de extremo a extremo en la familia YOLO.
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización: Universidad de Tsinghua
- Fecha: 23 de mayo de 2024
- ArXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Documentación: Documentación de Ultralytics YOLOv10
YOLOX: cerrando la brecha entre la investigación y la industria#
YOLOX surgió como una versión sin anclajes del diseño YOLO tradicional, ofreciendo una metodología más sencilla con un rendimiento competitivo, orientada específicamente a facilitar la implementación en entornos industriales.
- Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li y Jian Sun
- Organización: Megvii
- Fecha: 18 de julio de 2021
- ArXiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
- Documentación: Documentación oficial de YOLOX
Aspectos destacados e innovaciones arquitectónicas#
Ambos frameworks se alejan de los detectores tradicionales basados en anclajes, pero resuelven problemas diferentes de la canalización de detección de objetos.
Arquitectura de YOLOX#
YOLOX incorporó varias actualizaciones cruciales al ecosistema en 2021. Su principal contribución fue adoptar un diseño de detector sin anclajes. Al eliminar las cajas de anclaje predefinidas, YOLOX redujo considerablemente el número de parámetros de diseño y de ajustes heurísticos necesarios para distintos conjuntos de datos.
Además, YOLOX emplea una cabeza desacoplada, que separa las tareas de clasificación y regresión. Esto resolvió el conflicto entre ambos objetivos y aceleró significativamente la convergencia durante el entrenamiento. También utiliza SimOTA para una asignación avanzada de etiquetas, lo que mejora el tratamiento de escenas abarrotadas y oclusiones habituales en el conjunto de datos COCO.
Los diseños sin anclajes, como el que introdujo YOLOX, reducen significativamente la complejidad del ajuste del modelo. Ya no necesitas realizar agrupamiento k-means en conjuntos de datos personalizados para definir los tamaños óptimos de las cajas de anclaje, lo que ahorra un tiempo valioso de preparación.
Arquitectura de YOLOv10#
Aunque YOLOX mejoró la cabeza de detección, siguió dependiendo de la supresión no máxima (NMS) durante la inferencia, lo que provoca variabilidad en la latencia. YOLOv10 se centró específicamente en este defecto mediante la introducción de una estrategia de asignación dual coherente para el entrenamiento sin NMS. Durante el entrenamiento, utiliza asignaciones de etiquetas uno-a-muchos y uno-a-uno, pero durante la inferencia elimina por completo la cabeza uno-a-muchos y genera predicciones limpias sin posprocesamiento NMS.
YOLOv10 también presenta un diseño de modelo integral orientado a la eficiencia y la precisión. Incorpora cabezas de clasificación ligeras y submuestreo desacoplado espacial y por canales, reduciendo considerablemente el número de parámetros y los FLOPs sin sacrificar precisión.
Comparación de rendimiento#
La evaluación de estos modelos en hardware como la GPU NVIDIA T4 revela ventajas distintas según la escala. A continuación se muestra la tabla comparativa completa.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.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 |
Como se puede observar arriba, YOLOv10 escala excepcionalmente bien. La variante YOLOv10x alcanza la precisión más alta (54.4 mAP), mientras que la variante YOLOv10n ofrece la inferencia más rápida mediante la integración con TensorRT. En cambio, el modelo nano de YOLOX, más antiguo, presenta la huella global más pequeña para entornos con recursos muy limitados.
Metodologías de entrenamiento y requisitos de recursos#
Al implementar modelos en producción, el ecosistema de entrenamiento y las necesidades de recursos son tan importantes como la velocidad bruta de inferencia.
YOLOX suele depender de configuraciones de entorno antiguas que pueden resultar difíciles de gestionar. Además, su base de código heredada requiere más código repetitivo para lograr un entrenamiento distribuido en varias GPU o una optimización de precisión mixta.
En cambio, YOLOv10 se integra sin problemas con los flujos de trabajo modernos de PyTorch, pero es el ecosistema de Ultralytics lo que realmente transforma la experiencia del desarrollador. Los modelos de Ultralytics se caracterizan por un uso de memoria CUDA durante el entrenamiento considerablemente menor que el de arquitecturas basadas en Transformer como RT-DETR.
Ejemplo de código: entrenamiento simplificado#
Con la API unificada de Ultralytics, puedes entrenar modelos de última generación de forma fluida con tan solo unas líneas de Python. Esto evita la compilación manual de operadores de C++ o el uso de archivos de configuración complejos.
from ultralytics import YOLO
# Initialize a pre-trained YOLOv10 model
model = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export the optimized model to ONNX format
model.export(format="onnx")Esta sintaxis sencilla proporciona acceso inmediato a la precisión mixta automática, al aumento de datos automatizado y a la integración lista para usar con herramientas como Weights & Biases.
Casos de uso y recomendaciones#
La elección entre YOLOv10 y YOLOX depende de los requisitos específicos de tu proyecto, las limitaciones de implementación y tus preferencias de ecosistema.
Cuándo elegir YOLOv10#
YOLOv10 es una opción sólida para:
- Detección en tiempo real sin NMS: Aplicaciones que se benefician de la detección integral sin supresión de no máximos, reduciendo la complejidad del despliegue.
- Equilibrios entre velocidad y precisión: Proyectos que requieren un equilibrio sólido entre la velocidad de inferencia y la precisión de detección en distintas escalas de modelo.
- Aplicaciones con latencia coherente: Situaciones de despliegue en las que los tiempos de inferencia predecibles son fundamentales, como la robótica o los sistemas autónomos.
Cuándo elegir YOLOX#
YOLOX se recomienda para:
- Investigación sobre detección sin anchors: Investigación académica que utiliza la arquitectura limpia y sin anchors de YOLOX como línea base para experimentar con nuevas cabezas de detección o funciones de pérdida.
- Dispositivos edge ultraligeros: Implementaciones en microcontroladores o hardware móvil antiguo donde sea fundamental el tamaño extremadamente reducido de la variante YOLOX-Nano (0.91M de parámetros).
- Estudios de asignación de etiquetas SimOTA: Proyectos de investigación que analizan estrategias de asignación de etiquetas basadas en el transporte óptimo y su impacto en la convergencia del entrenamiento.
Cuándo elegir Ultralytics (YOLO26)#
Para la mayoría de los proyectos nuevos, Ultralytics YOLO26 ofrece la mejor combinación de rendimiento y experiencia para desarrolladores:
- Despliegue edge sin NMS: Aplicaciones que requieren una inferencia constante y de baja latencia sin la complejidad del posprocesamiento de supresión no máxima.
- Entornos exclusivamente con CPU: Dispositivos sin aceleración dedicada mediante GPU, donde la inferencia en CPU hasta un 43 % más rápida de YOLO26 ofrece una ventaja decisiva.
- Detección de objetos pequeños: Escenarios exigentes, como las imágenes aéreas captadas por drones o el análisis de sensores del IoT, en los que ProgLoss y STAL mejoran significativamente la precisión en objetos diminutos.
El futuro de la IA de visión: llega YOLO26#
Aunque YOLOv10 y YOLOX representan hitos importantes, el panorama de la visión por computador avanza sin descanso. Para los desarrolladores que hoy comienzan nuevos proyectos, Ultralytics YOLO26 es la recomendación definitiva.
Lanzado en enero de 2026, Ultralytics YOLO26 se basa en el avance fundamental del diseño de extremo a extremo sin NMS introducido por YOLOv10 y lo perfecciona para lograr aún más estabilidad y velocidad.
YOLO26 destaca por introducir varios avances importantes:
- Hasta un 43 % más rápido en inferencia con CPU: al eliminar estratégicamente la pérdida focal de distribución (DFL), YOLO26 logra un rendimiento muy superior en dispositivos edge sin GPU.
- Optimizador MuSGD: inspirado en la estabilidad del entrenamiento de LLM, este novedoso híbrido de SGD y Muon garantiza una convergencia más rápida y ejecuciones de entrenamiento muy estables.
- ProgLoss + STAL: estas funciones de pérdida avanzadas ofrecen mejoras notables en el reconocimiento de objetos pequeños, un factor crítico para las imágenes aéreas y los sensores IoT.
- Versatilidad inigualable: a diferencia de YOLOX, que es estrictamente un detector de objetos, YOLO26 admite de forma nativa la segmentación de instancias, la estimación de poses, la clasificación de imágenes y la detección OBB dentro de una única biblioteca unificada.
Para disfrutar del camino más sencillo hacia producción, los desarrolladores pueden usar la plataforma de Ultralytics para anotar conjuntos de datos, entrenar modelos YOLO26 en la nube e implementarlos en cualquier dispositivo edge sin necesidad de configurar nada.
Aplicaciones en el mundo real#
Elegir el modelo adecuado determina el éxito de las implementaciones reales en diversos sectores.
Análisis de vídeo de alta velocidad#
Para procesar flujos de vídeo densos, como los de la gestión del tráfico en ciudades inteligentes, YOLOv10 ofrece una ventaja significativa gracias a su posprocesamiento sin NMS. La eliminación del cuello de botella de NMS permite mantener una latencia baja y constante, por lo que resulta ideal para combinarlo con algoritmos de seguimiento como BoT-SORT.
Implementación edge en sistemas antiguos#
En configuraciones académicas antiguas o aplicaciones Android heredadas muy optimizadas para paradigmas puramente convolucionales, los modelos más pequeños como YOLOX-Tiny aún pueden encontrar casos de uso especializados en los que mantener entornos PyTorch antiguos sea una concesión aceptable.
Dispositivos edge e IoT modernos#
Para implementaciones en hardware de nueva generación, como robots, drones y análisis de estanterías comerciales, YOLO26 es la solución definitiva. Su latencia de CPU drásticamente reducida y su superior detección de objetos pequeños lo hacen especialmente adecuado para la navegación autónoma y la gestión detallada del inventario.
Para consultar comparaciones adicionales que amplíen tu conjunto de herramientas de aprendizaje profundo, también puedes explorar cómo se comparan estos modelos con alternativas como el flexible YOLO11 o el RT-DETR basado en Transformer.