Ir al contenido

YOLOv10 vs. YOLOX: Una comparación técnica

En el panorama de la visión artificial, que evoluciona rápidamente, seleccionar el modelo de detección de objetos adecuado es crucial para equilibrar el rendimiento, la eficiencia y la facilidad de implementación. Esta comparación técnica explora las diferencias entre YOLOv10, el último detector end-to-end en tiempo real de la Universidad de Tsinghua, y YOLOX, un modelo sin anclajes muy apreciado de Megvii.

Si bien YOLOX introdujo innovaciones significativas en 2021 con respecto a los mecanismos de detección sin anclaje, YOLOv10 representa la vanguardia de 2024, ofreciendo inferencia sin NMS y una integración más estrecha con el ecosistema Ultralytics.

YOLOv10: Detección de extremo a extremo en tiempo real

YOLOv10 tiene como objetivo cerrar la brecha entre la eficiencia del post-procesamiento y la arquitectura del modelo. Al introducir una estrategia de asignación dual consistente para el entrenamiento sin NMS, elimina la necesidad de Supresión No Máxima (NMS) durante la inferencia, reduciendo significativamente la latencia.

Detalles técnicos:

Arquitectura y puntos fuertes

YOLOv10 se basa en las fortalezas de las generaciones anteriores de YOLO, pero optimiza la arquitectura tanto para la eficiencia como para la precisión. Emplea un diseño de modelo holístico que incluye encabezados de clasificación ligeros y un submuestreo espacial-canal desacoplado.

  • Inferencia sin NMS: La eliminación de NMS es un cambio radical para las aplicaciones de inferencia en tiempo real, garantizando una latencia predecible y una menor sobrecarga de CPU en dispositivos edge.
  • Equilibrio entre eficiencia y precisión: YOLOv10 logra un rendimiento de última generación con un menor número de parámetros y FLOP en comparación con sus predecesores y competidores.
  • Integración de Ultralytics: Al estar totalmente soportado por el ultralytics paquete significa que los usuarios se benefician de un unificado API de Python, exportación perfecta a formatos como TensorRT y OpenVINO, y una extensa documentación.

Ventaja del ecosistema

La integración de YOLOv10 en el ecosistema Ultralytics proporciona acceso inmediato a funciones avanzadas como auto-anotación, entrenamiento en la nube y una comunidad robusta para soporte.

Debilidades

  • Arquitectura Más Reciente: Como un lanzamiento de 2024, el ecosistema de tutoriales de terceros está creciendo rápidamente, pero puede que aún no iguale el volumen de los modelos heredados más antiguos.

Más información sobre YOLOv10

YOLOX: El pionero sin anclajes

Lanzado en 2021, YOLOX cambió a un mecanismo libre de anclajes y desacopló los encabezados, divergiendo 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:

Arquitectura y puntos fuertes

YOLOX sigue siendo una base sólida en la comunidad de investigación debido a su diseño limpio anchor-free.

  • 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.
  • Head Desacoplado: La separación de las tareas de clasificación y localización mejoró la velocidad de convergencia y la precisión en relación con los diseños anteriores de head acoplado.
  • Base Sólida: Sirve como un benchmark fiable para la investigación académica en cabezales de detección y estrategias de asignación.

Debilidades

  • Velocidad de inferencia: Si bien es eficiente para su época, YOLOX generalmente se queda atrás de los modelos más nuevos como YOLOv10 y YOLO11 en términos de velocidad de inferencia bruta, especialmente cuando se tiene en cuenta el tiempo de NMS.
  • Flujo de trabajo fragmentado: A diferencia de los modelos de Ultralytics, YOLOX a menudo requiere su propia base de código específica y configuración de entorno, careciendo de la interfaz unificada para el entrenamiento, la validación y la implementación que se encuentra en los frameworks modernos.
  • Intensidad de recursos: Mayor número de FLOPs y parámetros para niveles de precisión similares en comparación con las arquitecturas eficientes modernas.

Más información sobre YOLOX

Análisis de rendimiento

La siguiente comparación destaca los importantes avances realizados en eficiencia y precisión durante los tres años que separan estos modelos. Las métricas se centran en el tamaño del modelo (parámetros), el coste computacional (FLOPs) y la precisión (mAP) en el conjunto de datos COCO.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Observaciones Críticas

  1. Precisión vs. Tamaño: YOLOv10 ofrece constantemente un mAP más alto con menos parámetros. Por ejemplo, YOLOv10s alcanza 46.7 de mAP con solo 7.2M parámetros, mientras que YOLOXs alcanza 40.5 de mAP con 9.0M parámetros. Esto demuestra la eficiencia arquitectónica superior de YOLOv10.
  2. Eficiencia Computacional: El conteo de FLOPs para los modelos YOLOv10 es significativamente menor. YOLOv10x opera a 160.4B FLOPs en comparación con los masivos 281.9B FLOPs de YOLOXx, mientras que aún lo supera en precisión (54.4 vs 51.1 mAP).
  3. Velocidad de inferencia: La eliminación de NMS y la arquitectura optimizada permiten que YOLOv10 logre una latencia más baja. Los benchmarks de T4 TensorRT muestran que YOLOv10x se ejecuta a 12.2ms, significativamente más rápido que YOLOXx a 16.1ms.

Casos de Uso Ideales

YOLOv10: El estándar moderno

YOLOv10 es la opción preferida para la mayoría de los nuevos proyectos de desarrollo, particularmente aquellos que requieren:

  • Implementación de Edge AI: Su baja huella de memoria y su alta eficiencia lo hacen perfecto para dispositivos como Raspberry Pi o NVIDIA Jetson.
  • Aplicaciones en tiempo real: Los sistemas que requieren retroalimentación inmediata, como la conducción autónoma, la robótica y el análisis de vídeo, se benefician de la baja latencia sin NMS.
  • Desarrollo Rápido: El ecosistema de Ultralytics permite una rápida gestión de conjuntos de datos, entrenamiento e implementación a través de la ultralytics paquete.

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 línea de base.
  • Sistemas heredados: Las canalizaciones de producción existentes ya optimizadas para YOLOX pueden seguir utilizándolo cuando los costes de actualización superen las ganancias de rendimiento.

Usando YOLOv10 con Ultralytics

Una de las ventajas más significativas de YOLOv10 es su facilidad de uso. La API de python de Ultralytics simplifica todo el flujo de trabajo, desde la carga de pesos pre-entrenados 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)

Eficiencia del entrenamiento

Los modelos YOLO de Ultralytics son conocidos por su eficiencia de entrenamiento, que a menudo requiere 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

Si bien YOLOX desempeñó un papel fundamental en la popularización de la detección sin anclajes, YOLOv10 representa el siguiente gran avance en la tecnología de visión artificial. Con su arquitectura sin NMS, una relación precisión-computación superior y una integración perfecta en el robusto ecosistema de Ultralytics, YOLOv10 ofrece un paquete atractivo tanto para desarrolladores como para investigadores.

Para aquellos que buscan implementar la detección de objetos más avanzada, YOLOv10 proporciona la velocidad y precisión necesarias. Los desarrolladores interesados en capacidades aún más amplias, como la estimación de pose o los cuadros delimitadores orientados, también podrían considerar explorar el versátil YOLO11 o el ampliamente adoptado YOLOv8.


Comentarios