EfficientDet vs. YOLOv8: Una comparación técnica
Elegir el modelo de detección de objetos adecuado es una decisión crítica que equilibra la precisión, la velocidad y el coste computacional. Esta página ofrece una comparación técnica detallada entre dos arquitecturas influyentes: EfficientDet, desarrollada por Google, y Ultralytics YOLOv8, un modelo de última generación de Ultralytics. Si bien EfficientDet es famoso por su eficiencia paramétrica y computacional, YOLOv8 destaca por ofrecer una combinación superior de velocidad en tiempo real, alta precisión y una versatilidad sin igual dentro de un ecosistema completo y fácil de usar.
EfficientDet: Arquitectura Escalable y Eficiente
Autores: Mingxing Tan, Ruoming Pang, Quoc V. Le
Organización: Google
Fecha: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
Documentación: https://github.com/google/automl/tree/master/efficientdet#readme
EfficientDet fue introducido por el equipo de Google Brain con un enfoque principal en la creación de una familia de detectores de objetos altamente eficiente y escalable. Sus principales innovaciones radican en su arquitectura y metodología de escalado.
Arquitectura y Características Clave
El diseño de EfficientDet se centra en dos componentes principales:
- BiFPN (Red Piramidal de Características Bidireccional): A diferencia de las FPN tradicionales de arriba hacia abajo, BiFPN permite una fusión de características multiescala fácil y rápida al introducir pesos aprendibles para comprender la importancia de las diferentes características de entrada y aplicar conexiones tanto de arriba hacia abajo como de abajo hacia arriba.
- Escalado Compuesto: EfficientDet utiliza un único coeficiente compuesto para escalar uniformemente la profundidad, el ancho y la resolución de la red troncal, la red de características y las redes de predicción de cuadros/clases. Esto garantiza una asignación equilibrada de recursos en todo el modelo.
La arquitectura utiliza EfficientNet como su backbone, que ya está optimizado para la precisión y la eficiencia de FLOP. Esta combinación da como resultado una familia de modelos (D0 a D7) que se pueden adaptar a varios presupuestos computacionales.
Fortalezas
- Alta eficiencia: Los modelos EfficientDet están diseñados para minimizar el número de parámetros y los FLOPs, lo que los hace muy eficientes en términos de recursos computacionales para un nivel de precisión dado.
- Escalabilidad: El método de escalado compuesto proporciona una ruta clara para escalar el modelo hacia arriba o hacia abajo, lo que permite a los desarrolladores elegir una variante que se ajuste a sus limitaciones de hardware específicas.
- Gran precisión: Logra puntuaciones mAP competitivas, especialmente cuando se evalúa con modelos con un número de parámetros similar.
Debilidades
- Velocidad de Inferencia: Si bien EfficientDet es eficiente en FLOP, a menudo tiene una latencia de inferencia más alta en comparación con modelos como YOLOv8, especialmente en hardware de GPU. Esto puede hacer que sea menos adecuado para aplicaciones que requieren una verdadera inferencia en tiempo real.
- Versatilidad limitada: EfficientDet está diseñado principalmente para la detección de objetos. Carece del soporte integrado para otras tareas de visión como la segmentación o la estimación de poses que son nativas del framework YOLOv8.
- Ecosistema y usabilidad: La implementación original está en TensorFlow, y aunque existen ports de PyTorch, no tiene el mismo nivel de herramientas integradas, documentación y soporte activo de la comunidad que el ecosistema de Ultralytics.
Más información sobre EfficientDet
Ultralytics YOLOv8: Lo último en velocidad y versatilidad
Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
Organización: Ultralytics
Fecha: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Documentación: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 es la última iteración de la exitosa serie YOLO, que se basa en años de investigación y desarrollo para ofrecer un modelo rápido, preciso e increíblemente fácil de usar. Representa un importante salto adelante tanto en el rendimiento como en el diseño del marco.
Arquitectura y Características Clave
YOLOv8 introduce varias mejoras arquitectónicas, incluyendo un nuevo encabezado de detección sin anclajes y una nueva backbone basada en CSP conocida como C2f. Estos cambios reducen el número de parámetros al tiempo que mantienen una alta precisión y permiten una inferencia más rápida. El modelo está diseñado desde cero para ser una plataforma integral para diversas tareas de visión artificial.
Fortalezas
- Balance Excepcional de Rendimiento: YOLOv8 logra un equilibrio sobresaliente entre velocidad y precisión, lo que lo convierte en una opción superior para aplicaciones en tiempo real que no pueden comprometer el rendimiento. Como se muestra en la tabla a continuación, los modelos YOLOv8 ofrecen consistentemente una latencia más baja en las GPU.
- Versatilidad incomparable: A diferencia de los modelos de una sola tarea, YOLOv8 es un framework multi-tarea que soporta de forma nativa la detección de objetos, la segmentación de instancias, la clasificación de imágenes, la estimación de poses y el seguimiento de objetos dentro de una única arquitectura unificada.
- Facilidad de uso: YOLOv8 está respaldado por el robusto ecosistema de Ultralytics, que incluye una API de Python y una CLI optimizadas, una extensa documentación y una experiencia de usuario sencilla.
- Ecosistema bien mantenido: Los usuarios se benefician de un desarrollo activo, una sólida comunidad de código abierto, actualizaciones frecuentes y una integración perfecta con herramientas como Ultralytics HUB para un entrenamiento e implementación sin código.
- Eficiencia en el entrenamiento: YOLOv8 presenta procesos de entrenamiento eficientes, pesos pre-entrenados disponibles en conjuntos de datos como COCO y, por lo general, requiere menos memoria CUDA que las arquitecturas más complejas.
- Deployment Flexibility: El framework está altamente optimizado para la exportación a varios formatos como ONNX y TensorRT, lo que simplifica la implementación en diversos hardwares, desde dispositivos edge hasta servidores en la nube.
Debilidades
- FLOPs frente a latencia: Aunque es increíblemente rápido en la práctica, YOLOv8 puede tener FLOPs más altos que un modelo EfficientDet en un nivel de mAP similar. Sin embargo, su arquitectura está mejor optimizada para el hardware de GPU moderno, lo que resulta en una latencia más baja en el mundo real.
Análisis de rendimiento: Precisión vs. Velocidad
La diferencia clave entre EfficientDet y YOLOv8 se hace evidente al analizar sus métricas de rendimiento. EfficientDet fue diseñado para optimizar la precisión por FLOP, mientras que YOLOv8 está optimizado para un alto rendimiento y baja latencia en hardware práctico.
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 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
De la tabla, podemos extraer varias conclusiones:
- Precisión: YOLOv8x alcanza el mAP más alto de 53.9, superando ligeramente al modelo EfficientDet-d7 más grande.
- Velocidad: Los modelos YOLOv8 son significativamente más rápidos en GPU (T4 TensorRT10), siendo YOLOv8n más de 2.5 veces más rápido que EfficientDet-d0. Esta ventaja de velocidad se mantiene en todos los tamaños de modelo, lo que convierte a YOLOv8 en el claro ganador para las aplicaciones en tiempo real.
- Eficiencia: EfficientDet destaca en FLOPs y velocidad de CPU para sus modelos más pequeños. Por ejemplo, EfficientDet-d0 tiene los FLOPs más bajos y el tiempo de inferencia de CPU más rápido. Sin embargo, YOLOv8n tiene menos parámetros, lo que lo hace muy ligero.
Conclusión: ¿Qué modelo debería elegir?
EfficientDet sigue siendo una arquitectura potente y relevante, especialmente para aplicaciones donde los recursos computacionales (FLOP) y el tamaño del modelo son las restricciones más críticas. Su diseño escalable ofrece una excelente manera de equilibrar la precisión y la eficiencia en dispositivos con potencia de procesamiento limitada.
Sin embargo, para la gran mayoría de las aplicaciones modernas de visión artificial, Ultralytics YOLOv8 es la opción superior. Ofrece un paquete global mejor: precisión de última generación, velocidades de inferencia ultrarrápidas y una versatilidad sin igual. La capacidad de manejar la detección, la segmentación, la pose y mucho más dentro de un único marco de trabajo fácil de usar simplifica drásticamente el desarrollo y la implementación. El ecosistema bien mantenido, la amplia documentación y la comunidad activa proporcionan un nivel de soporte que acelera cualquier proyecto desde el concepto hasta la producción.
Para los desarrolladores que buscan una solución robusta, de alto rendimiento y preparada para el futuro, YOLOv8 es la recomendación clara. Para aquellos que buscan lo último en rendimiento, los modelos Ultralytics más nuevos como YOLO11 superan aún más los límites.
Explorar Otros Modelos
Para continuar con tu investigación, considera explorar otras comparaciones de modelos que involucren a EfficientDet, YOLOv8 y otras arquitecturas líderes:
- EfficientDet vs. YOLOv7
- YOLOv8 vs. YOLOv7
- RT-DETR vs. YOLOv8
- EfficientDet vs. YOLOv5
- YOLOv8 vs. YOLOv9
- Explore los últimos modelos como YOLOv10 y YOLO11.