Ir al contenido

EfficientDet vs YOLOv7: 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 proporciona una comparación técnica detallada entre EfficientDet y YOLOv7, dos arquitecturas influyentes en la visión artificial. EfficientDet es reconocido por su excepcional eficiencia de parámetros y escalabilidad, mientras que YOLOv7 es celebrado por superar los límites de la velocidad y la precisión de la detección en tiempo real.

Exploraremos sus principales diferencias arquitectónicas, puntos de referencia de rendimiento y casos de uso ideales. Si bien ambos modelos tienen sus puntos fuertes, para muchas aplicaciones modernas, los desarrolladores pueden encontrar alternativas superiores como Ultralytics YOLOv8 y YOLO11 que ofrecen una solución más completa y fácil de usar.

EfficientDet: Arquitectura Escalable y Eficiente

EfficientDet, presentado por el equipo de Google Brain, es una familia de modelos de detección de objetos diseñados para una alta eficiencia y precisión. Su innovación clave radica en un enfoque sistemático para el escalamiento de modelos y una novedosa red de fusión de características.

Arquitectura y Características Clave

La arquitectura de EfficientDet se basa en tres componentes principales:

  • EfficientNet Backbone: Utiliza el EfficientNet, de gran eficiencia, como su backbone para la extracción de características, que está optimizado para un equilibrio superior entre precisión y coste computacional.
  • BiFPN (Red Piramidal de Características Bidireccional): A diferencia de las FPN tradicionales que suman características unidireccionalmente, BiFPN permite la fusión de características multiescala con conexiones ponderadas, lo que permite representaciones de características más ricas con menos parámetros.
  • Escalado Compuesto: EfficientDet introduce un método de escalado compuesto que escala uniformemente la profundidad, el ancho y la resolución de la red troncal, la red de características y el encabezado de predicción. Esto permite que el modelo se escale desde el pequeño EfficientDet-D0 hasta el grande D7, atendiendo a diferentes restricciones de recursos.

Fortalezas

  • Alta eficiencia de parámetros: Los modelos EfficientDet logran una precisión competitiva con significativamente menos parámetros y FLOP en comparación con otros modelos de su tiempo.
  • Escalabilidad: El método de escalado compuesto proporciona una ruta clara para escalar el modelo hacia arriba o hacia abajo, haciéndolo adaptable para varios hardware, desde dispositivos en el borde hasta potentes servidores en la nube.
  • Sólido Rendimiento en CPU: Las variantes más pequeñas de EfficientDet funcionan bien en CPUs, lo que las hace adecuadas para aplicaciones donde el hardware GPU no está disponible.

Debilidades

  • Inferencia de GPU Más Lenta: A pesar de su eficiencia FLOP, EfficientDet puede ser más lento que modelos como YOLOv7 en GPUs, ya que su arquitectura está menos optimizada para el procesamiento paralelo.
  • Específico de la tarea: EfficientDet está diseñado principalmente para la detección de objetos y carece de la versatilidad nativa multi-tarea que se encuentra en frameworks más modernos.
  • Complejidad: Los conceptos de BiFPN y escalado compuesto, aunque potentes, pueden añadir complejidad a la comprensión y personalización del modelo.

Más información sobre EfficientDet

YOLOv7: Un nuevo punto de referencia en la detección en tiempo real

YOLOv7 surgió como un importante paso adelante en la serie YOLO, estableciendo un nuevo estado del arte para los detectores de objetos en tiempo real. Introdujo varias optimizaciones arquitectónicas y de entrenamiento para aumentar la precisión sin comprometer la velocidad de inferencia.

Arquitectura y Características Clave

Las mejoras de rendimiento de YOLOv7 provienen de varias innovaciones clave:

  • Red de Agregación de Capas Eficiente Extendida (E-ELAN): Este módulo, utilizado en el *backbone* del modelo, mejora la capacidad de la red para aprender y converger eficazmente controlando las rutas de gradiente.
  • Re-parametrización del modelo: YOLOv7 emplea la convolución re-parametrizada planificada, una técnica que fusiona múltiples módulos en uno durante la inferencia para reducir la sobrecarga computacional y aumentar la velocidad.
  • Bag-of-Freebies entrenable: Introduce técnicas de entrenamiento avanzadas, como cabezales auxiliares que profundizan la supervisión y el entrenamiento guiado de lo grueso a lo fino, que mejoran la precisión sin aumentar el coste final de la inferencia.

Fortalezas

  • Compensación excepcional entre velocidad y precisión: YOLOv7 ofrece velocidades de inferencia en tiempo real sobresalientes en GPUs, manteniendo una precisión muy alta, superando a muchos otros modelos.
  • Optimizaciones Avanzadas del Entrenamiento: El enfoque de "bag-of-freebies" le permite alcanzar puntuaciones de mAP más altas sin aumentar el peso del modelo implementado.
  • Rendimiento Comprobado: Ha sido ampliamente evaluado en conjuntos de datos estándar como MS COCO, lo que demuestra sus capacidades.

Debilidades

  • Entrenamiento con uso intensivo de recursos: Los modelos YOLOv7 más grandes pueden ser exigentes desde el punto de vista computacional y requieren una cantidad significativa de memoria de la GPU para el entrenamiento.
  • Versatilidad limitada: Si bien el repositorio oficial incluye extensiones para tareas como la estimación de pose y la segmentación, no es un framework multitarea integrado como los modelos Ultralytics más nuevos.
  • Complejidad: La arquitectura y el pipeline de entrenamiento son complejos, lo que puede ser una barrera para los desarrolladores que buscan personalizar o comprender profundamente el modelo.

Más información sobre YOLOv7

Análisis de rendimiento: Velocidad y precisión

Al comparar EfficientDet y YOLOv7, la diferencia clave radica en sus objetivos de optimización. EfficientDet prioriza la eficiencia de parámetros y FLOPs, mientras que YOLOv7 se centra en maximizar la velocidad de inferencia (FPS) en hardware de GPU para una precisión dada.

Modelo tamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9
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

De la tabla, podemos extraer varias conclusiones:

  • Precisión: El modelo EfficientDet más grande (d7) alcanza el mAP más alto, pero YOLOv7x está muy cerca.
  • Eficiencia: Los modelos EfficientDet son excepcionalmente ligeros en términos de parámetros y FLOPs, especialmente las variantes más pequeñas. EfficientDet-d0 es un claro ganador para entornos con recursos limitados.
  • Velocidad: Los modelos YOLOv7 son significativamente más rápidos en GPU (TensorRT). Por ejemplo, YOLOv7l alcanza un 51.4 mAP en solo 6.84 ms, mientras que el EfficientDet-d5 comparable alcanza un 51.5 mAP pero tarda mucho más, 67.86 ms. Esto hace que YOLOv7 sea mucho más adecuado para aplicaciones en tiempo real que requieren un alto rendimiento.

¿Por qué elegir los modelos YOLO de Ultralytics?

Si bien YOLOv7 ofrece un rendimiento excelente, los modelos Ultralytics YOLO más nuevos como YOLOv8 y YOLO11 ofrecen ventajas significativas:

  • Facilidad de uso: Los modelos de Ultralytics vienen con una API de Python optimizada, una extensa documentación y comandos CLI directos, lo que simplifica el entrenamiento, la validación y la implementación.
  • Ecosistema bien mantenido: Benefíciese del desarrollo activo, una sólida comunidad de código abierto, actualizaciones frecuentes e integración con herramientas como Ultralytics HUB para una MLOps perfecta.
  • Equilibrio de rendimiento: Los modelos de Ultralytics logran un excelente equilibrio entre velocidad y precisión, adecuado para diversos escenarios del mundo real, desde dispositivos edge hasta servidores en la nube.
  • Eficiencia de Memoria: Los modelos Ultralytics YOLO están diseñados para un uso eficiente de la memoria durante el entrenamiento y la inferencia, a menudo requiriendo menos memoria CUDA que los modelos basados en transformers o incluso algunas variantes de EfficientDet o YOLOv7.
  • Versatilidad: Modelos como YOLOv8 y YOLO11 admiten múltiples tareas más allá de la detección de objetos, incluyendo segmentación, clasificación, estimación de pose y detección de objetos orientados (OBB), ofreciendo una solución unificada.
  • Eficiencia del entrenamiento: Benefíciese de procesos de entrenamiento eficientes, pesos pre-entrenados disponibles en conjuntos de datos como COCO y tiempos de convergencia más rápidos.

Conclusión

EfficientDet destaca en escenarios donde la eficiencia de parámetros y FLOP es primordial, ofreciendo escalabilidad en diferentes presupuestos de recursos. YOLOv7 supera los límites de la detección de objetos en tiempo real, ofreciendo una velocidad y precisión excepcionales, particularmente en hardware GPU, aprovechando técnicas de entrenamiento avanzadas.

Sin embargo, para los desarrolladores que buscan un framework moderno, versátil y fácil de usar, con un alto rendimiento, excelente documentación y un ecosistema completo que admita múltiples tareas de visión, los modelos de Ultralytics como YOLOv8 y YOLO11 a menudo representan una opción más atractiva para una amplia gama de aplicaciones, desde la investigación hasta la implementación en producción.

Otras comparaciones de modelos

Para una mayor exploración, considera estas comparaciones que involucran a EfficientDet, YOLOv7 y otros modelos relevantes:



📅 Creado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios