EfficientDet frente a YOLOv10: la evolución de la detección de objetos en tiempo real
El panorama de la visión artificial ha cambiado drásticamente entre el lanzamiento de EfficientDet Google en 2019 y YOLOv10 de la Universidad de Tsinghua YOLOv10 2024. Para los desarrolladores e investigadores, comprender la trayectoria desde el complejo escalado compuesto hasta las arquitecturas optimizadas de extremo a extremo es fundamental para seleccionar la herramienta adecuada para cada tarea. Este análisis compara la precisión heredada de EfficientDet con la innovación de baja latencia de YOLOv10, al tiempo que destaca cómo las soluciones modernas, como Ultralytics , están estableciendo nuevos estándares para los entornos de producción.
EfficientDet: El legado del escalado compuesto
Lanzado por el equipo Google , EfficientDet representó un hito importante en la optimización de la eficiencia de las redes neuronales. Introdujo el concepto de escalado compuesto, que escala uniformemente la resolución, la profundidad y la anchura de la columna vertebral de la red, en lugar de ajustar solo una dimensión.
Detalles técnicos de EfficientDet:
- Autores: Mingxing Tan, Ruoming Pang, y Quoc V. Le
- Organización:Google Research
- Fecha: 2019-11-20
- Arxiv:EfficientDet: Scalable and Efficient Object Detection
- GitHub:google/automl
En el corazón de EfficientDet se encuentra la red piramidal de características bidireccionales (BiFPN). A diferencia de las FPN tradicionales, que suman características de diferentes escalas, la BiFPN permite una fusión compleja y ponderada de características, lo que permite al modelo aprender la importancia de las diferentes características de entrada. Si bien esta arquitectura alcanzó la precisión media (mAP) más avanzada en el COCO en ese momento, las complejas interconexiones de las capas de la BiFPN dan lugar a una sobrecarga computacional significativa, lo que hace que la inferencia, especialmente en dispositivos periféricos, sea más lenta en comparación con las arquitecturas modernas.
YOLOv10: La Revolución End-to-End
YOLOv10, desarrollado por investigadores de la Universidad de Tsinghua, aborda el principal cuello de botella de YOLO anteriores YOLO : la supresión no máxima (NMS). Mediante el empleo de una estrategia de asignación dual coherente durante el entrenamiento, YOLOv10 a predecir un único cuadro delimitador óptimo para cada objeto, convirtiéndose efectivamente en un detector integral NMS.
Detalles YOLOv10 :
- 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
Este cambio arquitectónico permite reducir significativamente la latencia de inferencia. El modelo también introduce un diseño holístico basado en la eficiencia y la precisión, que utiliza convoluciones de kernel grande y autoatención parcial para mejorar el rendimiento sin la sobrecarga de parámetros que se observa en los modelos anteriores.
Comparación de rendimiento: Velocidad vs. Precisión
La diferencia de rendimiento entre estas dos generaciones de modelos es notable, especialmente en lo que respecta a la velocidad de inferencia. Si bien EfficientDet-d7 ofrece una alta precisión, lo hace a costa de una latencia considerable (más de 100 ms), mientras que YOLOv10 logran una precisión similar o superior en milisegundos de un solo dígito.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Análisis Arquitectónico
- Postprocesamiento: EfficientDet depende en gran medida del NMS filtrar los recuadros superpuestos. En escenas densas, este paso de postprocesamiento se convierte en un CPU , lo que aumenta la latencia total independientemente de GPU . El diseñoNMS YOLOv10 elimina este paso por completo.
- Uso de memoria: EfficientDet, especialmente en escalas más altas como d7, consume una cantidad significativa de VRAM debido a la estructura BiFPN. YOLOv10 optimizado para un menor consumo de memoria, lo que lo hace más adecuado para aplicaciones de IA de vanguardia.
- Optimización: EfficientDet se basa en TensorFlow puede resultar complejo exportarlo a formatos como ONNX TensorRT en comparación con la PyTorch nativa PyTorch de los YOLO modernos.
La ventaja del ecosistema de Ultralytics
Si bien YOLOv10 impresionantes avances arquitectónicos, su uso dentro del Ultralytics amplía su utilidad. Los desarrolladores suelen tener dificultades con la fragmentación de los repositorios académicos. Ultralytics este problema unificando los modelos en un único Python bien mantenido.
¿Por qué elegir el Ultralytics ?
- Facilidad de uso: Cambia entre YOLOv8, YOLOv10, YOLO11 y YOLO26 con una sola línea de código.
- Eficiencia del entrenamiento: los hiperparámetros preajustados y el manejo automático del tamaño de los lotes garantizan un uso óptimo de los recursos.
- Listo para implementar: exportación con un solo clic a TFLite, CoreML, OpenVINO y ONNX.
- Ultralytics : gestione conjuntos de datos, entrene en la nube e implemente modelos a través de la Ultralytics .
Ejemplo de código
La ejecución de inferencias con Ultralytics diseñada para ser sencilla y compatible con Python. A continuación se muestra cómo se puede cargar un YOLOv10 y ejecutar una predicción:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image from the internet
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
Recomendación de producción: Actualizar a YOLO26
Mientras que EfficientDet sirve como un importante punto de referencia histórico y YOLOv10 el paradigma NMS, el Ultralytics representa la cúspide de esta evolución para su uso en producción.
Lanzado en enero de 2026, YOLO26 se basa en el avance NMS de YOLOv10 lo perfecciona para lograr una mayor solidez en el mundo real. Cuenta con la eliminación de la pérdida focal de distribución (DFL), que simplifica el gráfico del modelo para facilitar la exportación y mejorar la compatibilidad con dispositivos periféricos de baja potencia.
Además, YOLO26 incorpora el optimizador MuSGD, un híbrido de SGD Muon (inspirado en las innovaciones de entrenamiento LLM), que garantiza una convergencia más rápida y un entrenamiento estable. Con optimizaciones como ProgLoss y STAL (Shape-aware Task Alignment Loss), YOLO26 ofrece una detección superior de objetos pequeños y es hasta un 43 % más rápido en CPU que las generaciones anteriores.
Casos de uso en el mundo real
La elección del modelo adecuado depende de sus limitaciones específicas:
- EfficientDet: Ideal para la investigación académica en la que es necesario estudiar el escalado de compuestos o las arquitecturas BiFPN. También se encuentra en sistemas heredados en los que el coste de la migración supera las ventajas de rendimiento de los modelos más nuevos.
- YOLOv10 YOLO26: La opción ideal para aplicaciones en tiempo real.
- Robótica: El diseño NMS reduce la fluctuación de latencia, lo cual es fundamental para la navegación y la evitación de obstáculos.
- Supervisión del tráfico: el alto rendimiento permite procesar múltiples flujos de vídeo en una sola GPU el seguimiento de objetos.
- Aplicaciones móviles: el menor número de parámetros y el menor uso de memoria hacen que estos modelos sean perfectos para su implementación en Android iOS Android .
Para los desarrolladores que buscan el mejor equilibrio entre velocidad, precisión y facilidad de implementación, la transición a Ultralytics o YOLO11 es el camino recomendado a seguir.