YOLOv10 frente a EfficientDet: Comparación técnica
El panorama de la detección de objetos ha evolucionado rápidamente en los últimos años, pasando de complejas canalizaciones de varias etapas a arquitecturas racionalizadas en tiempo real. Esta comparación explora las diferencias técnicas entre YOLOv10un modelo de vanguardia lanzado en 2024 por investigadores de la Universidad de Tsinghua, y EfficientDet, una arquitectura pionera introducida por Google en 2019.
Mientras que EfficientDet estableció puntos de referencia para la eficiencia de los parámetros durante su época, YOLOv10 supera los límites de la latencia y la precisión, introduciendo un paradigma de formación NMS que aumenta significativamente la velocidad de inferencia. Esta guía analiza sus arquitecturas, métricas de rendimiento y casos de uso ideales para ayudarle a elegir el modelo adecuado para sus proyectos de visión por ordenador.
YOLOv10: Detección de objetos de extremo a extremo en tiempo real
YOLOv10 representa un salto significativo en la serie YOLO (You Only Look Once), ya que se centra en la eliminación del paso de postprocesamiento de supresión no máximaNMS) que a menudo supone un cuello de botella en la velocidad de inferencia. Al emplear asignaciones duales coherentes para un entrenamiento NMS, consigue un rendimiento competitivo con una latencia menor en comparación con las iteraciones anteriores.
Detalles técnicos:
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización:Universidad de Tsinghua
- Fecha: 2024-05-23
- Arxiv:YOLOv10: Detección de objetos de extremo a extremo en tiempo real
- GitHub:THU-MIG/yolov10
Principales características arquitectónicas
YOLOv10 introduce un diseño de modelo holístico basado en la eficiencia y la precisión. La principal innovación reside en su doble estrategia de asignación. Durante el entrenamiento, el modelo utiliza asignaciones de uno a muchos (habituales en YOLOv8) para una supervisión exhaustiva y asignaciones de uno a uno para garantizar el despliegue de extremo a extremo sin NMS.
- EntrenamientoNMS: Los detectores tradicionales requieren NMS para filtrar los cuadros delimitadores duplicados, lo que introduce latencia en la inferencia. La arquitectura de YOLOv10 permite al modelo predecir exactamente un cuadro por objeto durante la inferencia, lo que elimina esta sobrecarga.
- Diseño orientado a la eficiencia: El modelo utiliza cabezales de clasificación ligeros y muestreo descendente desacoplado de canales espaciales para reducir el coste computacional (FLOPs) y el número de parámetros.
- Convoluciones de núcleo grande: Mediante el uso selectivo de convoluciones en profundidad de núcleo grande, YOLOv10 mejora su campo receptivo y su capacidad para detect objetos pequeños sin un aumento masivo del cálculo.
Por qué es importante NMS
La eliminación de la supresión no máximaNMS) crea una canalización verdaderamente integral. Esto es fundamental para las aplicaciones de inteligencia artificial en las que cada milisegundo cuenta, como en los dispositivos NVIDIA Jetson, ya que garantiza una latencia estable y predecible.
Fortalezas
- Velocidad superior: Optimizado para la inferencia en tiempo real, supera significativamente los modelos anteriores en hardware de GPU .
- Integración conUltralytics : Como parte del ecosistema Ultralytics , YOLOv10 se beneficia de una sencilla APIPython , lo que facilita increíblemente su formación, validación y despliegue.
- Menor uso de memoria: La arquitectura eficiente requiere menos memoria CUDA durante el entrenamiento en comparación con detectores basados en transformadores como RT-DETR.
EfficientDet: Arquitectura Escalable y Eficiente
EfficientDet, desarrollado por el equipo de Google Brain, se diseñó para optimizar tanto la precisión como la eficiencia. Introdujo una familia de modelos (D0-D7) escalados mediante un método de escalado compuesto que ajusta uniformemente la resolución, la profundidad y la anchura.
Detalles técnicos:
- Autores: Mingxing Tan, Ruoming Pang, y Quoc V. Le
- Organización:Google
- Fecha: 2019-11-20
- Arxiv:EfficientDet: Detección de objetos escalable y eficiente
- GitHub:google
Más información sobre EfficientDet
Principales características arquitectónicas
EfficientDet se basa en la columna vertebral de EfficientNet e introduce la BiFPN (Bi-directional Feature Pyramid Network).
- BiFPN: A diferencia de las FPN estándar, BiFPN permite el flujo bidireccional de información y utiliza pesos aprendibles para fusionar características de diferentes escalas. El resultado es una mejor representación de características multiescala con menos parámetros.
- Escalado compuesto: Este método garantiza que la red troncal, la red de características y las redes de predicción de cajas/clases escalen juntas de forma eficiente. Un modelo D0 es pequeño y rápido para móviles, mientras que un modelo D7 ofrece la precisión más avanzada para entornos con muchos recursos.
Fortalezas y Debilidades
- Eficiencia de los parámetros: EfficientDet es conocido por alcanzar altos mAP con relativamente pocos parámetros y FLOPs.
- Escalabilidad: La gama D0-D7 ofrece flexibilidad para diferentes presupuestos computacionales.
- Latencia elevada: A pesar del bajo número de FLOP, las complejas conexiones de BiFPN y las convoluciones separables en profundidad pueden provocar una mayor latencia en las GPU en comparación con las arquitecturas CNN simplificadas de los modelos YOLO .
- Complejidad: La arquitectura es más difícil de personalizar o ajustar en comparación con el diseño sencillo de Ultralytics YOLOv8 o YOLOv10.
Análisis del rendimiento: Velocidad frente a eficacia
Al comparar estos dos modelos, queda clara la distinción entre eficiencia teórica (FLOPs) y velocidad práctica (Latencia). EfficientDet destaca en la minimización de FLOPs, pero YOLOv10 domina en velocidad de inferencia en el mundo real en hardware moderno como las GPU.
La tabla siguiente demuestra que, si bien los modelos EfficientDet son compactos, YOLOv10 ofrece una compensación mucho mejor para las aplicaciones en tiempo real. Por ejemplo, YOLOv10 ofrece un competitivo 46,7% de mAP con una latencia de sólo 2,66 ms en una GPU T4, mientras que EfficientDet-d3 (47,5% de mAP) es casi 7 veces más lento, con 19,59 ms.
| 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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Interpretación
- Dominio deGPU : YOLOv10 utiliza opciones de diseño adaptadas al hardware que se adaptan bien a las arquitecturas de GPU , lo que se traduce en un rendimiento muy superior.
- Paridad de precisión: Las nuevas estrategias de entrenamiento permiten a YOLOv10 igualar o superar la precisión de las variantes mucho más lentas de EfficientDet.
- Implantación: La naturaleza NMS de YOLOv10 simplifica el proceso de exportación a formatos como TensorRT y ONNX, reduciendo la complejidad del proceso de despliegue.
Facilidad de uso y ecosistema
Uno de los factores más críticos para los desarrolladores es el ecosistema que rodea a un modelo. En este sentido, Ultralytics ofrece una ventaja sustancial.
La ventaja Ultralytics
YOLOv10 está integrado en el paquetePython Ultralytics , lo que proporciona una experiencia fluida desde la anotación de datos hasta su despliegue.
- API sencilla: Puede cargar, entrenar y predecir con sólo unas pocas líneas de código.
- Bien mantenido: Las actualizaciones frecuentes, el soporte de la comunidad y la extensa documentación garantizan que no te quedes depurando errores oscuros.
- Eficacia de la formación: Los modelos Ultralytics están optimizados para una convergencia rápida. Los pesos preentrenados están fácilmente disponibles, lo que permite un aprendizaje por transferencia eficaz en conjuntos de datos personalizados.
Entrenamiento de YOLOv10 con Ultralytics
Entrenar un modelo YOLOv10 en el conjunto de datos COCO8 es sencillo utilizando la API de Ultralytics .
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
En cambio, EfficientDet se basa en repositorios de TensorFlow más antiguos o en implementaciones de PyTorch de terceros que pueden carecer de soporte unificado, lo que dificulta la integración en los procesos MLOps modernos.
Casos de Uso Ideales
Elegir entre YOLOv10 y EfficientDet depende de sus limitaciones específicas.
Cuándo elegir YOLOv10
YOLOv10 es la opción superior para la mayoría de las aplicaciones modernas de visión por ordenador, en particular:
- Sistemas autónomos: Los coches autónomos y los drones requieren una detección de baja latencia por seguridad. La velocidad de YOLOv10 garantiza tiempos de reacción rápidos.
- Análisis de vídeo: Procesamiento de secuencias de vídeo de alta velocidad para la vigilancia de la seguridad o la supervisión del tráfico.
- Despliegue Edge: Despliegue en dispositivos integrados como Raspberry Pi o NVIDIA Jetson, donde los recursos son limitados pero el rendimiento en tiempo real no es negociable.
Cuándo elegir EfficientDet
EfficientDet sigue siendo relevante en nichos específicos:
- Investigación académica: Si el objetivo es estudiar leyes de escalado de compuestos o principios de diseño de redes neuronales eficientes.
- Restricciones estrictas de FLOPs: En entornos de hardware extremadamente específicos donde los FLOPs teóricos son el cuello de botella duro en lugar de la latencia o el ancho de banda de la memoria.
Conclusión
EfficientDet marcó un hito en el diseño de modelos eficientes, YOLOv10 representa el nuevo estándar para la detección de objetos de alto rendimiento. Su innovadora arquitectura NMS ofrece una ventaja decisiva en velocidad de inferencia sin comprometer la precisión, lo que la hace mucho más práctica para su despliegue en el mundo real.
Además, el sólido ecosistema de Ultralytics garantiza que trabajar con YOLOv10 sea eficiente y fácil para los desarrolladores. Desde opciones de exportación sencillas hasta guías completas sobre la gestión de conjuntos de datos, Ultralytics le permite dar vida a sus proyectos de IA de visión con mayor rapidez.
Para aquellos que buscan lo último en versatilidad y rendimiento, también recomendamos explorar Ultralytics YOLO11que se basa en estos avances para ofrecer capacidades de vanguardia en tareas de detección, segmentación y estimación de la pose.