Ir al contenido

YOLOv7 frente a EfficientDet: Comparación técnica de arquitecturas de detección de objetos en tiempo real

La detección de objetos sigue siendo la piedra angular de la visión por ordenador, impulsando innovaciones en campos que van desde la conducción autónoma a la obtención de imágenes médicas. Elegir la arquitectura adecuada es fundamental para equilibrar precisión, velocidad y recursos informáticos. Este análisis profundiza en YOLOv7 y EfficientDet, dos modelos influyentes que han dado forma al panorama de la detección en tiempo real.

Diseño arquitectónico y filosofía

La diferencia fundamental entre estas dos arquitecturas radica en sus objetivos de optimización. EfficientDet, desarrollada por el equipo de Google Brain, prioriza la eficiencia de los parámetros y las operaciones en coma flotante (FLOPs). Aprovecha una arquitectura escalable que permite a los usuarios intercambiar recursos por precisión de forma lineal. En cambio YOLOv7creado por los autores de YOLOv4 (Chien-Yao Wang et al.), se centra en maximizar la velocidad de inferencia en el hardware de GPU manteniendo la precisión más avanzada.

EfficientDet: Escalado compuesto y BiFPN

EfficientDet se basa en la red troncal EfficientNet, que utiliza un método de escalado compuesto para escalar uniformemente la resolución, profundidad y anchura de la red. Una innovación clave de EfficientDet es la red piramidal bidireccional de características (BiFPN). A diferencia de las FPN tradicionales, la BiFPN permite una fusión de características multiescala fácil y rápida mediante la introducción de pesos aprendibles para aprender la importancia de las diferentes características de entrada. Este diseño hace que EfficientDet resulte muy eficaz para aplicaciones de computación de borde en las que la memoria y los FLOPs están estrictamente limitados.

Más información sobre EfficientDet

YOLOv7: E-ELAN y re-parametrización de modelos

YOLOv7 introduce la Red de Agregación de Capas Eficiente Ampliada (E-ELAN). Esta arquitectura controla las trayectorias de gradiente más corta y más larga para mejorar la capacidad de aprendizaje de la red sin destruir la trayectoria de gradiente original. Además, YOLOv7 emplea la re-parametrización del modelo, una técnica en la que una estructura de entrenamiento compleja se simplifica en una estructura de inferencia racionalizada. El resultado es un modelo robusto durante el entrenamiento pero extremadamente rápido durante la implantación en las GPU.

Más información sobre YOLOv7

Análisis del rendimiento: Métricas y puntos de referencia

A la hora de comparar el rendimiento, la elección suele depender del hardware utilizado. EfficientDet brilla en entornos de bajo consumo (CPU), mientras que YOLOv7 está diseñado para la inferencia de alto rendimiento GPU .

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

Puntos clave

  • Latencia frente a eficiencia: Mientras que EfficientDet-d0 utiliza muchos menos parámetros (3,9M), YOLOv7l ofrece un mAP mucho mayor (51,4%) con una latencia extremadamente baja en las GPU (6,84ms). Esto demuestra que YOLOv7 aprovecha mejor la capacidad de procesamiento paralelo.
  • Escalabilidad: EfficientDet proporciona una ruta de escalado granular de d0 a d7, lo que permite a los desarrolladores ajustar con precisión el tamaño del modelo a las limitaciones específicas de CPU .
  • Precisión en el extremo superior: En el extremo superior, EfficientDet-d7 logra una precisión excelente (53,7% de mAP), pero a costa de una latencia elevada (~128 ms). YOLOv7x logra una precisión comparable (53,1% mAP) con menos de una décima parte del tiempo de inferencia (11,57 ms) en una GPU T4.

Consideraciones sobre el hardware

Si tu objetivo de despliegue es una CPU genérica o un procesador móvil, los FLOPs más bajos de los modelos EfficientDet (concretamente d0-d2) suelen redundar en una mejor duración de la batería y gestión térmica. Para GPU de borde (como NVIDIA Jetson) o servidores de inferencia en la nube, YOLOv7 proporciona frecuencias de cuadro significativamente superiores para el análisis de vídeo en tiempo real.

Metodologías de formación y optimización

Las estrategias de entrenamiento de estos modelos reflejan sus objetivos arquitectónicos.

YOLOv7 utiliza un enfoque "Bag-of-Freebies", incorporando métodos que aumentan el coste de formación pero mejoran la precisión sin afectar a la velocidad de inferencia. Las técnicas clave son:

  • Supervisión profunda de gruesa a fina: Se utiliza una cabeza auxiliar para supervisar las capas intermedias de la red, con estrategias de asignación de etiquetas que guían a la cabeza auxiliar de forma diferente a la cabeza principal.
  • Asignación dinámica de etiquetas: El modelo adapta la asignación de objetos reales a los anclajes durante el entrenamiento, lo que mejora la convergencia.

EfficientDet se basa en gran medida en AutoML para encontrar la arquitectura óptima de la red troncal y de características. Su entrenamiento suele consistir en:

  • Profundidad estocástica: Eliminación aleatoria de capas durante el entrenamiento para mejorar la generalización.
  • Activación Swish: Una función suave y no monotónica que supera sistemáticamente a ReLU en redes más profundas.

La ventaja Ultralytics

Aunque tanto YOLOv7 como EfficientDet son potentes, el panorama de la visión por ordenador evoluciona rápidamente. El ecosistemaUltralytics ofrece alternativas modernas como YOLO11 que sintetizan los mejores rasgos de las arquitecturas anteriores al tiempo que mejoran la experiencia del desarrollador.

Facilidad de uso y ecosistema

Uno de los principales retos de los repositorios orientados a la investigación (como la base de código original de EfficientDet) es la complejidad de la integración. Ultralytics resuelve este problema con un paquete Python unificado. Los desarrolladores pueden entrenar, validar y desplegar modelos con unas pocas líneas de código, con el apoyo de una documentación completa y el soporte activo de la comunidad.

Equilibrio entre versatilidad y rendimiento

Los modelos Ultralytics no se limitan a los cuadros delimitadores. Admiten de forma nativa la segmentación de instancias, la estimación de poses, la clasificación y la detección de objetos orientados (OBB). En términos de rendimiento, las versiones modernas YOLO (como YOLOv8 y YOLO11) a menudo logran una mayor precisión por parámetro que EfficientDet y una inferencia más rápida que YOLOv7, logrando un equilibrio ideal para el despliegue en el mundo real.

Memoria y eficacia del entrenamiento

Los modelosYOLO Ultralytics son famosos por su eficiencia de memoria. Normalmente requieren menos memoria CUDA durante el entrenamiento en comparación con los detectores basados en Transformer o arquitecturas escalables más antiguas. Esto permite a los investigadores entrenar modelos de última generación en hardware de consumo. Además, el aprendizaje por transferencia se agiliza con pesos preentrenados de alta calidad disponibles para su descarga inmediata.

from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with high speed
predictions = model("https://ultralytics.com/images/bus.jpg")

Especificaciones del modelo

YOLOv7

EfficientDet

Casos de uso en el mundo real

Cuándo elegir EfficientDet

EfficientDet sigue siendo un firme candidato para los sistemas embebidos en los que no se dispone de aceleración GPU .

  • Aplicaciones móviles: Aplicaciones iOS que realizan la detección de objetos en la CPU.
  • Sensores IoT remotos: Dispositivos alimentados por batería que supervisan los cambios ambientales en los que cada milivatio de computación cuenta.

Cuándo elegir YOLOv7

YOLOv7 destaca en entornos industriales de alto rendimiento.

  • Conducción autónoma: Detección de peatones y vehículos a altas frecuencias de cuadro para garantizar la seguridad.
  • Ciudades inteligentes: Análisis simultáneo de varios flujos de vídeo para la gestión del tráfico en servidores periféricos.

Conclusión

Ambas arquitecturas representan hitos significativos en la visión por ordenador. EfficientDet demostró el poder del escalado compuesto para la eficiencia de los parámetros, mientras que YOLOv7 superó los límites de lo que es posible con la optimización de la latencia de GPU .

Sin embargo, para los desarrolladores que buscan la solución más moderna, fácil de mantener y versátil, la solución Ultralytics YOLO11 de Ultralytics. Ofrece una mayor precisión y una mejor relación calidad-precio, un flujo de trabajo más sencillo y un sólido ecosistema que simplifica el proceso desde la creación del conjunto de datos hasta su despliegue.

Explorar Otros Modelos

Si le interesa comparar otras arquitecturas de detección de objetos, tenga en cuenta estos recursos:


Comentarios