Ir al contenido

YOLOv10 vs. YOLOv9: Una comparación técnica exhaustiva

El panorama de la detección de objetos ha evolucionado rápidamente, con sucesivas iteraciones de la arquitectura YOLO (You Only Look Once) que superan los límites de la velocidad y la precisión. Dos de las contribuciones recientes más significativas a este campo son YOLOv10 y YOLOv9. Si bien ambos modelos alcanzan un rendimiento de última generación en el conjunto de datos COCO, divergen significativamente en sus filosofías de diseño y objetivos arquitectónicos.

YOLOv10 prioriza la baja latencia y la eficiencia de extremo a extremo al eliminar la necesidad de la supresión no máxima (NMS), mientras que YOLOv9 se centra en maximizar la retención de información y la precisión a través de la Información de Gradiente Programable (PGI). Esta guía proporciona una comparación técnica detallada para ayudar a los desarrolladores e investigadores a seleccionar el modelo óptimo para sus aplicaciones de visión artificial.

YOLOv10: El detector de tiempo real de extremo a extremo

Lanzado en mayo de 2024 por investigadores de la Universidad de Tsinghua, YOLOv10 representa un cambio de paradigma en el linaje YOLO. Su principal innovación es la eliminación del paso de post-procesamiento de Supresión No Máxima (NMS), que tradicionalmente ha sido un cuello de botella para la latencia de inferencia.

Detalles técnicos:

Arquitectura e Innovaciones Clave

YOLOv10 logra su eficiencia a través de una combinación de Asignaciones Duales Consistentes y un Diseño de Modelo Holístico Impulsado por la Eficiencia y la Precisión.

  1. Entrenamiento sin NMS: Los modelos YOLO tradicionales se basan en NMS para filtrar los cuadros delimitadores duplicados. YOLOv10 utiliza una estrategia de asignación dual durante el entrenamiento del modelo. Una rama de uno a muchos proporciona señales de supervisión enriquecidas para el aprendizaje, mientras que una rama de uno a uno asegura que el modelo genere una única mejor predicción por objeto durante la inferencia. Esto permite que el modelo se implemente sin NMS, reduciendo significativamente la latencia de inferencia.
  2. Optimización del modelo: La arquitectura incluye encabezados de clasificación ligeros, submuestreo desacoplado espacial-canal y diseño de bloques guiado por rango. Estas características reducen la redundancia computacional y el uso de memoria, lo que hace que el modelo sea altamente eficiente en hardware con recursos limitados.

Ventaja de eficiencia

La eliminación de NMS en YOLOv10 es particularmente beneficiosa para la implementación en el borde. En los dispositivos donde los recursos de la CPU son escasos, evitar el costo computacional de ordenar y filtrar miles de cuadros candidatos puede resultar en aceleraciones sustanciales.

Más información sobre YOLOv10

YOLOv9: Dominando la Retención de Información

Introducido en febrero de 2024 por Chien-Yao Wang y Hong-Yuan Mark Liao, YOLOv9 se dirige al problema del "cuello de botella de la información" inherente a las redes neuronales profundas. A medida que los datos pasan a través de capas sucesivas (extracción de características), se puede perder información crucial, lo que lleva a una degradación de la precisión, especialmente para objetos pequeños o difíciles de detectar.

Detalles técnicos:

Arquitectura e Innovaciones Clave

YOLOv9 introduce conceptos novedosos para garantizar que la red retenga y utilice la mayor cantidad posible de información de entrada.

  1. Información de gradiente programable (PGI): PGI proporciona un marco de supervisión auxiliar que genera gradientes fiables para actualizar los pesos de la red. Esto asegura que las capas profundas reciban información de entrada completa, mitigando el problema del gradiente que se desvanece y mejorando la convergencia.
  2. Red de Agregación de Capas Eficiente Generalizada (GELAN): Esta nueva arquitectura reemplaza el ELAN convencional utilizado en versiones anteriores. GELAN optimiza la utilización de parámetros y la eficiencia computacional (FLOPs), lo que permite que YOLOv9 alcance una mayor precisión con un tamaño de modelo comparable a sus predecesores.

Perspectiva del aprendizaje profundo

El enfoque de YOLOv9 en la retención de información lo hace excepcionalmente fuerte en la detección de objetos en escenas complejas donde los detalles de las características podrían perderse durante las operaciones de submuestreo en el backbone.

Más información sobre YOLOv9

Métricas de rendimiento: Velocidad vs. Precisión

La elección entre estos dos modelos a menudo se reduce a una compensación entre la velocidad de inferencia bruta y la precisión de la detección. La siguiente tabla destaca las diferencias de rendimiento en varias escalas de modelos.

Análisis:

  • Latencia: YOLOv10 supera consistentemente a YOLOv9 en latencia, particularmente en los tamaños de modelo más pequeños (N y S). Por ejemplo, YOLOv10n alcanza una velocidad de inferencia de 1.56 ms en TensorRT, significativamente más rápido que los modelos comparables.
  • Precisión: YOLOv9 sobresale en precisión en el extremo superior del espectro. El modelo YOLOv9e alcanza un notable 55.6% de mAP, lo que lo convierte en la opción superior para aplicaciones donde la precisión es primordial.
  • Eficiencia: YOLOv10 ofrece una excelente precisión por parámetro. YOLOv10b alcanza un 52.7% de mAP con menor latencia que YOLOv9c, lo que demuestra la eficacia de su diseño holístico.
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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Casos de Uso Ideales

Comprender los puntos fuertes de cada modelo ayuda a seleccionar la herramienta adecuada para sus objetivos de proyecto específicos.

Cuándo elegir YOLOv10

  • Implementación de Edge AI: Las aplicaciones que se ejecutan en dispositivos como NVIDIA Jetson o Raspberry Pi se benefician del diseño sin NMS, que reduce la sobrecarga de la CPU.
  • Análisis de video de alta frecuencia: Escenarios que requieren el procesamiento de flujos de video de alta velocidad de fotogramas (FPS), como el monitoreo del tráfico o el análisis deportivo.
  • Robótica en tiempo real: Sistemas autónomos que dependen de bucles de retroalimentación de baja latencia para la navegación y la evitación de obstáculos.

Cuándo elegir YOLOv9

  • Inspección de alta precisión: Control de calidad industrial donde pasar por alto un defecto (falso negativo) es costoso.
  • Detección de objetos pequeños: Aplicaciones que involucran análisis de imágenes de satélite o imágenes médicas donde los objetos son pequeños y con pocas características.
  • Escenas complejas: Entornos con alta oclusión o desorden donde es necesaria la máxima retención de información para distinguir objetos.

Uso con Ultralytics

Una de las ventajas significativas de utilizar estos modelos es su integración en el ecosistema de Ultralytics. Tanto YOLOv10 como YOLOv9 pueden utilizarse a través de la misma API unificada de python y la interfaz de línea de comandos (CLI), lo que simplifica el flujo de trabajo desde el entrenamiento hasta la implementación.

Ejemplo de python

El siguiente código demuestra cómo cargar y ejecutar la inferencia con ambos modelos utilizando el ultralytics paquete.

from ultralytics import YOLO

# Load a YOLOv10 model (NMS-free, high speed)
model_v10 = YOLO("yolov10n.pt")

# Load a YOLOv9 model (High accuracy)
model_v9 = YOLO("yolov9c.pt")

# Run inference on an image
# The API remains consistent regardless of the underlying architecture
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v9 = model_v9("https://ultralytics.com/images/bus.jpg")

# Print results
for r in results_v10:
    print(f"YOLOv10 Detections: {r.boxes.shape[0]}")

for r in results_v9:
    print(f"YOLOv9 Detections: {r.boxes.shape[0]}")

La ventaja de Ultralytics

Elegir Ultralytics para sus proyectos de visión artificial ofrece varios beneficios más allá de la simple arquitectura del modelo:

  • Facilidad de uso: La API, fácil de usar, le permite cambiar entre YOLOv9, YOLOv10 y otros modelos como YOLO11 simplemente cambiando el nombre del archivo de pesos.
  • Equilibrio de rendimiento: Las implementaciones de Ultralytics están optimizadas para el rendimiento en el mundo real, equilibrando velocidad y precisión.
  • Eficiencia en el entrenamiento: El framework admite características como la precisión mixta automática (AMP) y el entrenamiento multi-GPU, lo que facilita el entrenamiento de modelos personalizados en sus propios conjuntos de datos.
  • Requisitos de memoria: Los modelos de Ultralytics suelen mostrar un menor uso de memoria en comparación con las alternativas basadas en transformadores, lo que facilita el entrenamiento en las GPU de nivel de consumidor.

Conclusión

Tanto YOLOv10 como YOLOv9 representan hitos importantes en la detección de objetos. YOLOv10 es la clara ganadora para las aplicaciones que priorizan la velocidad y la eficiencia, gracias a su innovadora arquitectura sin NMS. Por el contrario, YOLOv9 sigue siendo una opción robusta para los escenarios que exigen la máxima precisión y retención de información posible.

Para los desarrolladores que buscan la solución más reciente y versátil, también recomendamos explorar YOLO11. YOLO11 se basa en los puntos fuertes de sus predecesores, ofreciendo un equilibrio refinado de velocidad, precisión y características para tareas de detect, segment y estimación de pose.

Explorar Otros Modelos

  • Ultralytics YOLO11: el modelo de última generación más reciente.
  • Ultralytics YOLOv8: un modelo versátil y maduro para diversas tareas de visión.
  • RT-DETR - Un detector basado en transformadores para aplicaciones de alta precisión.

Comentarios