YOLOv10 vs. YOLOX: comparación técnica
En el panorama en rápida evolución de la visión por ordenador, seleccionar el modelo de detección de objetos adecuado es crucial para equilibrar el rendimiento, la eficiencia y la facilidad de despliegue. Esta comparación técnica explora las diferencias entre YOLOv10el último detector de extremo a extremo en tiempo real de la Universidad de Tsinghua, y YOLOX, un modelo sin anclaje de gran prestigio de Megvii.
Mientras que YOLOX introdujo importantes innovaciones en 2021 en relación con los mecanismos de detección sin anclaje, YOLOv10 representa la vanguardia de 2024, ofreciendo una inferencia NMS y una integración más estrecha con el ecosistemaUltralytics .
YOLOv10: detección de extremo a extremo en tiempo real
YOLOv10 pretende salvar la brecha existente entre la eficiencia del posprocesamiento y la arquitectura del modelo. Al introducir una estrategia de asignación dual coherente para un entrenamiento NMS, elimina la necesidad de la Supresión No Máxima (NMS) durante la inferencia, lo que reduce significativamente la latencia.
Detalles técnicos:
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización:Universidad de Tsinghua
- Fecha: 2024-05-23
- Arxiv:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
Arquitectura y puntos fuertes
YOLOv10 se basa en los puntos fuertes de las generaciones anteriores de YOLO , pero optimiza la arquitectura en términos de eficacia y precisión. Emplea un diseño de modelo holístico que incluye cabezales de clasificación ligeros y muestreo descendente desacoplado de canales espaciales.
- InferenciaNMS: La eliminación de NMS supone un cambio radical para las aplicaciones de inferencia en tiempo real, ya que garantiza una latencia predecible y una menor sobrecarga de CPU en los dispositivos periféricos.
- Equilibrio entre eficacia y precisión: YOLOv10 logra un rendimiento de vanguardia con un menor número de parámetros y FLOPs en comparación con sus predecesores y competidores.
- Integración de Ultralytics : Con el pleno apoyo de la
ultralyticssignifica que los usuarios se benefician de un paquete API de Pythonexportación sin problemas a formatos como TensorRT y OpenVINOy una amplia documentación.
Ventaja del ecosistema
La integración de YOLOv10 en el ecosistema Ultralytics proporciona acceso inmediato a funciones avanzadas como la anotación automática, la formación en la nube y una sólida comunidad de asistencia.
Debilidades
- Arquitectura más reciente: Al ser un lanzamiento de 2024, el ecosistema de tutoriales de terceros está creciendo rápidamente, pero puede que aún no alcance el volumen de los modelos heredados más antiguos.
YOLOX: el pionero sin anclajes
Lanzado en 2021, YOLOX cambió a un mecanismo sin anclajes y cabezas desacopladas, desviándose de los enfoques basados en anclajes de YOLOv4 y YOLOv5. Utiliza SimOTA (Simplified Optimal Transport Assignment) para la asignación de etiquetas, lo que supuso un importante paso adelante en las estrategias de asignación dinámica de etiquetas.
Detalles técnicos:
- 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
Arquitectura y puntos fuertes
YOLOX sigue siendo un sólido punto de referencia en la comunidad investigadora gracias a su diseño limpio y sin anclajes.
- Mecanismo sin anclajes: Al eliminar los cuadros de anclaje predefinidos, YOLOX reduce la complejidad del diseño y el número de hiperparámetros que requieren ajuste.
- Cabezal desacoplado: la separación de las tareas de clasificación y localización mejoró la velocidad de convergencia y la precisión con respecto a los antiguos diseños de cabezal acoplado.
- Base de referencia sólida: Sirve de referencia fiable para la investigación académica sobre cabezas detectoras y estrategias de asignación.
Debilidades
- Velocidad de inferencia: Aunque eficaz para su época, YOLOX suele ir a la zaga de modelos más recientes como YOLOv10 y YOLO11 en términos de velocidad de inferencia bruta, especialmente si se tiene en cuenta el tiempo de NMS .
- Flujo de trabajo fragmentado: A diferencia de los modelos Ultralytics , YOLOX a menudo requiere su propia base de código y configuración de entorno específicos, careciendo de la interfaz unificada para la formación, validación y despliegue que se encuentra en los marcos modernos.
- Intensidad de recursos: Mayores FLOPs y recuentos de parámetros para niveles de precisión similares en comparación con las modernas arquitecturas eficientes.
Análisis de rendimiento
La comparación que figura a continuación pone de relieve los importantes avances logrados en eficiencia y precisión a lo largo de los tres años que separan a estos modelos. Las métricas se centran en el tamaño del modelo (parámetros), el coste computacional (FLOPs) y la precisiónmAP) en el conjunto de datos COCO .
| 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 |
Observaciones críticas
- Precisión frente a tamaño: YOLOv10 ofrece sistemáticamente mayor mAP con menos parámetros. Por ejemplo, YOLOv10s consigue 46,7 mAP con sólo 7,2 millones de parámetros, mientras que YOLOXs consigue 40,5 mAP con 9,0 millones de parámetros. Esto demuestra la superior eficiencia arquitectónica de YOLOv10.
- Eficiencia de cálculo: El recuento de FLOPs de los modelos YOLOv10 es significativamente inferior. YOLOv10x funciona a 160,4 mil millones de FLOPs, frente a los 281,9 mil millones de YOLOXx, y sigue superándolo en precisión (54,4 frente a 51,1 mAP).
- Velocidad de inferencia: la eliminación de NMS y la optimización de la arquitectura permiten a YOLOv10 reducir la latencia. Las pruebas comparativas T4 TensorRT muestran que YOLOv10x funciona a 12,2 ms, significativamente más rápido que YOLOXx a 16,1 ms.
Casos de Uso Ideales
YOLOv10: La norma moderna
YOLOv10 es la opción preferida para la mayoría de los nuevos proyectos de desarrollo, en particular los que requieren:
- Despliegue Edge AI: Su bajo consumo de memoria y su alta eficiencia la hacen perfecta para dispositivos como Raspberry Pi o NVIDIA Jetson.
- Aplicaciones en tiempo real: Los sistemas que requieren información inmediata, como la conducción autónoma, la robótica y el análisis de vídeo, se benefician de la baja latencia NMS.
- Desarrollo rápido: El ecosistema Ultralytics permite gestión de conjuntos de datosformación y despliegue a través del
ultralyticspaquete.
YOLOX: Legado e investigación
YOLOX sigue siendo relevante para:
- Investigación académica: Los investigadores que estudian la evolución de los detectores sin anclaje o estrategias específicas de asignación de etiquetas como SimOTA suelen utilizar YOLOX como referencia.
- Sistemas heredados: Las tuberías de producción existentes ya optimizadas para YOLOX pueden seguir utilizándolo cuando los costes de actualización superen las mejoras de rendimiento.
Utilización de YOLOv10 con Ultralytics
Una de las ventajas más significativas de YOLOv10 es su facilidad de uso. La APIPython Ultralytics simplifica todo el flujo de trabajo, desde la carga de pesos preentrenados hasta el entrenamiento con datos personalizados.
A continuación se muestra un ejemplo de cómo ejecutar predicciones y entrenar un modelo YOLOv10 :
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
# Train the model on a custom dataset (COCO format)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Eficacia de la formación
Los modelosYOLO Ultralytics son conocidos por su eficiencia de entrenamiento, ya que suelen requerir menos memoria CUDA que las arquitecturas más antiguas o los modelos basados en transformadores. Esto permite entrenar lotes más grandes en GPU de consumo estándar.
Conclusión
Mientras que YOLOX desempeñó un papel fundamental en la popularización de la detección sin anclaje, YOLOv10 representa el siguiente salto adelante en la tecnología de visión por ordenador. Gracias a su arquitectura NMS, su relación superior entre precisión y cálculo y su perfecta integración en el sólido ecosistema Ultralytics , YOLOv10 ofrece un paquete atractivo tanto para desarrolladores como para investigadores.
YOLOv10 ofrece la velocidad y la precisión necesarias para aquellos que deseen utilizar la detección de objetos más avanzada. Los desarrolladores interesados en funciones aún más amplias, como la estimación de la pose o los cuadros delimitadores orientados, también pueden considerar la posibilidad de explorar la versátil solución YOLO11 o el ampliamente adoptado YOLOv8.