Ir al contenido

EfficientDet vs. PP-YOLOE+: Una comparación técnica

En la evolución de la visión por computador, pocas comparaciones ponen de manifiesto el cambio en la filosofía de diseño con tanta claridad como el contraste entre EfficientDet de Google y PP-YOLOE+ de Baidu. Mientras que EfficientDet marcó un hito en la eficiencia de los parámetros mediante el escalado compuesto, PP-YOLOE+ representa la era moderna de la detección de alta velocidad y sin anclajes optimizada para la inferencia GPU .

Este análisis profundiza en sus arquitecturas, métricas de rendimiento y aplicaciones prácticas para ayudar a los desarrolladores a elegir la herramienta adecuada para sus necesidades específicas de detección de objetos.

Análisis comparativo del rendimiento

El panorama del rendimiento ha cambiado significativamente entre el lanzamiento de estos dos modelos. EfficientDet se centra en minimizar las FLOP (operaciones en coma flotante) y el número de parámetros, lo que lo hace teóricamente eficiente. Sin embargo, PP-YOLOE+ está diseñado para obtener una velocidad de inferencia práctica en aceleradores de hardware como las GPU, aprovechando las optimizaciones TensorRT .

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
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
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

Los datos revelan un dato crítico: mientras que EfficientDet-d0 es ligero, las variantes más grandes (d5-d7) sufren una latencia significativa. Por el contrario, PP-YOLOE+l alcanza una precisión media comparable a mAP de EfficientDet-d6 (52,9 frente a 52,6), pero se ejecuta 10 veces más rápido en una GPU T4 (8,36 ms frente a 89,29 ms).

EfficientDet: Eficiencia escalable

EfficientDet fue introducido por el equipo AutoML de Google Brain con el objetivo de romper las limitaciones de eficiencia de los detectores anteriores. Se basa en la columna vertebral de EfficientNet y aplica un método de escalado compuesto que escala uniformemente la resolución, la profundidad y la anchura.

Autores: Mingxing Tan, Ruoming Pang y Quoc V. Le
Organización:Google
Fecha: 2019-11-20
Arxiv:1911.09070
GitHub:google
Docs:README

Principales características arquitectónicas

  1. BiFPN (red piramidal bidireccional de características): A diferencia de las FPN tradicionales, la BiFPN permite fusionar fácilmente características multiescala. Introduce pesos aprendibles para conocer la importancia de las distintas características de entrada, aplicando repetidamente la fusión de características multiescala descendente y ascendente.
  2. Escala compuesta: Un único coeficiente compuesto $\phi$ controla la anchura, profundidad y resolución de la red, lo que permite una familia de modelos (D0 a D7) orientados a diferentes limitaciones de recursos.

Fortalezas y Debilidades

  • Puntos fuertes: excelente eficiencia de los parámetros; eficaz para CPU de bajo consumo en las que los FLOP son el principal cuello de botella; enfoque de escalado muy estructurado.
  • Puntos débiles: Las complejas conexiones de BiFPN y las convoluciones separables en profundidad suelen estar limitadas por la memoria de las GPU, lo que provoca una latencia de inferencia más lenta en el mundo real a pesar del bajo recuento de FLOP.

¿Sabías que...?

El uso intensivo de convoluciones separables en profundidad en EfficientDet reduce considerablemente el número de parámetros, pero puede provocar una menor utilización de GPU en comparación con las convoluciones estándar utilizadas en modelos como YOLO.

Más información sobre EfficientDet

PP-YOLOE+: El Challenger sin anclajes

Lanzado por Baidu como parte del ecosistema PaddlePaddle , PP-YOLOE+ es una evolución de PP-YOLOv2. Su objetivo es superar el rendimiento de YOLOv5 y YOLOX adoptando un mecanismo totalmente libre de anclajes y estrategias de entrenamiento avanzadas.

Autores:PaddlePaddle Autores
Organización:Baidu
Fecha: 2022-04-02
Arxiv:2203.16250
GitHub:PaddlePaddle
Docs:PP-YOLOE+ Configs

Principales características arquitectónicas

  1. Diseño sin anclajes: Al eliminar las cajas de anclaje predefinidas, PP-YOLOE+ simplifica el cabezal de detección y reduce la carga de ajuste de hiperparámetros.
  2. CSPRepResNet: La columna vertebral utiliza RepResBlock, que combina las ventajas de las conexiones residuales durante el entrenamiento y las re-parametriza en una estructura racionalizada para la inferencia.
  3. TAL (Aprendizaje por alineación de tareas): Una estrategia avanzada de asignación de etiquetas que alinea dinámicamente la puntuación de clasificación y la calidad de localización.

Fortalezas y Debilidades

  • Puntos fuertes: precisión de vanguardia en el conjunto de datosCOCO ; extremadamente rápido en hardware TensorRT; diseño innovador del cabezal.
  • Puntos débiles: Muy ligado al framework PaddlePaddle , lo que puede plantear problemas de integración para equipos estandarizados en PyTorch; recuento de parámetros ligeramente superior para modelos pequeños en comparación con EfficientDet-d0.

La ventaja de Ultralytics : Una solución unificada

Aunque EfficientDet ofrece eficiencia teórica y PP-YOLOE+ velocidad bruta, los desarrolladores suelen necesitar una solución que equilibre el rendimiento con la facilidad de uso y la compatibilidad con el ecosistema. Aquí es donde Ultralytics YOLO11 destaca.

A diferencia de la naturaleza especializada de los modelos de comparación, los modelos de Ultralytics están diseñados para el flujo de trabajo moderno de MLOps, ofreciendo una experiencia PyTorch nativa que se entrena y despliega sin esfuerzo.

¿Por qué elegir Ultralytics YOLO11?

  • Facilidad de uso: Con un enfoque en la experiencia del desarrollador, Ultralytics le permite pasar de la instalación a la inferencia en tres líneas de código Python . No es necesario compilar manualmente complejas bibliotecas de operadores ni convertir formatos propietarios.
  • Versatilidad: Un único marco admite la detección de objetos, la segmentación de instancias, la estimación de poses, la clasificación y las cajas delimitadoras orientadas (OBB).
  • Equilibrio de rendimiento: YOLO11 optimiza el equilibrio entre velocidad y precisión, proporcionando capacidades de inferencia en tiempo real tanto en dispositivos Edge (como Jetson) como en GPUs en la nube.
  • Requisitos de memoria: Los modelosYOLO Ultralytics emplean arquitecturas optimizadas que suelen requerir menos memoria CUDA durante el entrenamiento en comparación con las alternativas basadas en transformadores o las redes de características multiescala más antiguas.
  • Ecosistema bien mantenido: Respaldado por una vibrante comunidad de código abierto, el repositorio recibe actualizaciones frecuentes, lo que garantiza la compatibilidad con las últimas versiones de PyTorch, CUDA y Python.
  • Eficiencia del entrenamiento: Los usuarios pueden aprovechar los pesos preentrenados fácilmente disponibles para ajustar rápidamente los modelos en conjuntos de datos personalizados, lo que reduce significativamente los requisitos de datos de entrenamiento y los costes de computación.

Ejemplo de código: Primeros pasos con YOLO11

Ejecutar un modelo de vanguardia no debería ser complicado. A continuación le mostramos lo fácil que resulta implementar la detección de objetos mediante Ultralytics:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

Más información sobre YOLO11

Conclusión

La elección entre EfficientDet y PP-YOLOE+ depende en gran medida de sus limitaciones de hardware y requisitos heredados.

  • EfficientDet sigue siendo una referencia válida para la investigación del escalado eficiente de parámetros y es adecuado para escenarios específicos CPU en los que el ancho de banda de la memoria es escaso.
  • PP-YOLOE+ es una opción superior para la implantación de GPU de alto rendimiento, ya que ofrece una relación latencia-precisión significativamente mejor si te sientes cómodo navegando por el ecosistema PaddlePaddle .

Sin embargo, para la gran mayoría de las aplicaciones del mundo real -que van desde el análisis de ciudades inteligentes a la supervisión agrícola-Ultralytics YOLO11 destaca como la opción más pragmática. Combina las innovaciones arquitectónicas de los detectores modernos sin anclaje con una experiencia de usuario inigualable, lo que le permite centrarse en resolver problemas empresariales en lugar de depurar complejidades del marco.

Descubra otros modelos

Para profundizar más, considere la posibilidad de revisar estas comparaciones relacionadas:


Comentarios