Ir al contenido

YOLOv5 frente a YOLOv5: arquitectura y rendimiento en profundidad

En el panorama en rápida evolución de la visión por ordenador, elegir el modelo de detección de objetos adecuado es fundamental para el éxito del proyecto. Esta comparativa explora las diferencias técnicas entre YOLOv10una reciente versión académica centrada en la formación NMS, y YOLOv5el legendario modelo de Ultralytics , conocido por su solidez y su adopción en todo el sector. Aunque ambos modelos proceden del linaje de You Only Look Once, responden a diferentes prioridades de ingeniería y entornos de despliegue.

Modelos

YOLOv10: El especialista en eficiencia

Lanzado en mayo de 2024 por investigadores de la Universidad de Tsinghua, YOLOv10 introduce mecanismos arquitectónicos diseñados para eliminar la necesidad de Supresión No Máxima (NMS ) durante la inferencia. Al utilizar asignaciones duales coherentes durante el entrenamiento, YOLOv10 pretende reducir la latencia de extremo a extremo, lo que lo convierte en un firme candidato para aplicaciones de borde en las que cada milisegundo de latencia de inferencia importa.

Más información sobre YOLOv10

Ultralytics YOLOv5: el estándar del sector

Desde su lanzamiento en 2020 por UltralyticsYOLOv5 ha definido la facilidad de uso en la comunidad de la IA. Da prioridad a un equilibrio entre velocidad, precisión y utilidad de ingeniería. Más allá de las métricas en bruto, YOLOv5 ofrece un ecosistema maduro, que se integra a la perfección con herramientas de despliegue móvil, plataformas de seguimiento de experimentos y flujos de trabajo de gestión de conjuntos de datos. Su versatilidad va más allá de la detección e incluye la clasificación de imágenes y la segmentación de instancias.

  • Autor: Glenn Jocher
  • Organización: Ultralytics
  • Fecha: 2020-06-26
  • GitHub:yolov5

Más información sobre YOLOv5

Diferencias arquitectónicas

La principal divergencia radica en la forma de procesar las predicciones. YOLOv5 utiliza una arquitectura basada en anclajes altamente optimizada que se basa en NMS para filtrar los cuadros delimitadores superpuestos. Este método ha demostrado su eficacia y robustez en diversos conjuntos de datos.

En cambio, YOLOv10 emplea una estrategia de asignación dual consistente. Esto permite al modelo predecir una única mejor caja para cada objeto durante la inferencia, eliminando teóricamente por completo el paso NMS . Esta reducción de la sobrecarga de postprocesamiento es el principal reclamo de YOLOv10, ya que ofrece una latencia más baja en dispositivos de borde como el NVIDIA Jetson Orin Nano. Además, YOLOv10 incorpora diseños de eficiencia holística en su columna vertebral y cabezal para minimizar los parámetros (params) y las operaciones en coma flotante (FLOPs).

Eficiencia de la memoria

Una característica distintiva de los modelos Ultralytics como YOLOv5 (y el más reciente YOLO11) es su huella de memoria optimizada. A diferencia de algunos detectores basados en transformadores que consumen grandes cantidades de memoria CUDA , los modelos de Ultralytics están diseñados para entrenarse eficientemente en hardware de consumo, democratizando el acceso a la IA más avanzada.

Métricas de rendimiento

La tabla siguiente muestra las compensaciones de rendimiento. En general, YOLOv10 consigue una mayor precisión media (Mean Average Precision,mAP) con menos parámetros en comparación con la antigua arquitectura YOLOv5 . Sin embargo, YOLOv5 sigue siendo competitivo en velocidad de inferencia bruta en determinadas configuraciones de hardware, especialmente cuando se utilizan formatos de exportación optimizados como TensorRT o ONNX.

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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Fortalezas y Debilidades

Análisis YOLOv10

Ventajas:

  • NMS: La eliminación del paso de supresión no máxima simplifica el proceso de despliegue y estabiliza la latencia de la inferencia.
  • Eficiencia de los parámetros: Consigue una gran precisión con pesos de modelo más pequeños, lo que resulta beneficioso para dispositivos con limitaciones de almacenamiento.
  • Precisión de vanguardia: Supera a las versiones anteriores de YOLO en métricas mAP puras en la prueba COCO .

Debilidades:

  • Versatilidad limitada: Centrada principalmente en la detección de objetos, carece de soporte nativo para tareas complejas como la estimación de la pose o la detección de cajas delimitadoras orientadas (OBB ) que se encuentran en los modelos Ultralytics más recientes.
  • Ecosistema en desarrollo: Como modelo centrado en la investigación, puede carecer de los extensos plugins de la comunidad, las integraciones probadas en batalla y el soporte empresarial disponible para los modelos Ultralytics.

Análisis YOLOv5

Ventajas:

  • Versatilidad inigualable: Admite detección, segmentación y clasificación desde el primer momento.
  • Ecosistema robusto: Respaldado por Ultralyticsse integra sin esfuerzo con herramientas como Ultralytics HUB, Roboflow y Comet ML.
  • Preparado para el despliegue: Existe una amplia documentación para exportar a CoreML, TFLite, TensorRT y OpenVINO, lo que garantiza un despliegue de producción sin problemas.
  • Eficacia de entrenamiento: Conocida por su dinámica de entrenamiento estable y su bajo uso de memoria, lo que la hace accesible a desarrolladores con configuraciones de una GPU GPU.

Debilidades:

  • Arquitectura anticuada: Aunque sigue siendo potente, su ratio mAP puro ha sido superado por nuevas iteraciones como YOLOv8 y YOLO11.
  • Dependencia del anclaje: Depende de los cuadros de anclaje, lo que puede requerir un ajuste manual para conjuntos de datos con relaciones de aspecto de objetos extremas.

Casos de Uso Ideales

La elección entre estas dos opciones suele depender de las limitaciones específicas de su entorno de implantación.

  • Elija YOLOv10 si: Está construyendo un sistema de detección de objetos dedicado para un dispositivo integrado en el que la eliminación de la sobrecarga computacional NMS proporciona una ventaja de velocidad crítica, o si necesita el mAP más alto absoluto a partir de una huella de modelo pequeña.
  • Elija YOLOv5 si: Necesita un modelo multitarea fiable para una línea de producción. Su capacidad para gestionar la segmentación y clasificación de instancias lo convierte en una "navaja suiza" para la IA de visión. Además, si su equipo depende de flujos de trabajo MLOps estándar, la perfecta integración de YOLOv5 en el ecosistema Ultralytics reduce significativamente el tiempo de desarrollo.

Experiencia de usuario y ecosistema

Una de las características que definen los modelos de Ultralytics es el enfoque en la experiencia del desarrollador. YOLOv5 estableció el estándar de "simplemente funciona", y esta filosofía continúa. Los usuarios pueden entrenar un modelo YOLOv5 en datos personalizados con solo unas líneas de código, aprovechando los pesos preentrenados para acelerar la convergencia.

Por el contrario, aunque YOLOv10 ofrece excelentes resultados académicos, su integración en procesos de producción complejos puede requerir una ingeniería más personalizada. Ultralytics mantiene una vibrante comunidad de código abierto, lo que garantiza la rápida eliminación de errores y la incorporación de funciones basadas en los comentarios de los usuarios reales.

Comparación de códigos

Ejecutar estos modelos es sencillo. A continuación se muestran ejemplos de cómo cargar y predecir con cada uno de ellos utilizando Python.

Usando YOLOv10:

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Perform inference on an image
results = model("path/to/image.jpg")
results[0].show()

Usando YOLOv5 (vía PyTorch Hub):

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference
results = model("path/to/image.jpg")
results.show()

Conclusión

Ambos modelos representan importantes logros en visión por ordenador. YOLOv10 supera los límites de la optimización de la latencia con su diseño NMS, lo que la convierte en una opción interesante para tareas de detección especializadas y de alta velocidad.

Sin embargo, para la mayoría de los desarrolladores y empresas, el ecosistemaUltralytics -representadoaquí por la fiabilidad duradera de YOLOv5 y el rendimiento de vanguardia de YOLO11-ofrece una solución más completa. La combinación de facilidad de uso, amplia documentación y capacidades multitarea garantiza que usted pase menos tiempo depurando y más tiempo desplegando valor.

Para aquellos que deseen actualizarse desde YOLOv5 conservando las ventajas del ecosistema, recomendamos encarecidamente explorar YOLO11que ofrece un rendimiento de vanguardia, detección sin anclajes y compatibilidad con todo el espectro de tareas de visión, incluidos OBB y la estimación de poses.

Lecturas adicionales


Comentarios