Ir al contenido

EfficientDet vs. RTDETRv2: Una comparación técnica para la detección de objetos

El panorama de la detección de objetos ha evolucionado significativamente, pasando de las Redes Neuronales Convolucionales (CNN) tradicionales a las arquitecturas modernas basadas en Transformers. Dos hitos notables en esta evolución son EfficientDet, una arquitectura CNN escalable de Google, y RTDETRv2, un detector transformer en tiempo real de Baidu.

Esta guía proporciona una comparación técnica en profundidad de estos dos modelos, analizando sus innovaciones arquitectónicas, métricas de rendimiento y escenarios de implementación ideales. También exploramos cómo Ultralytics YOLO11 sirve como una alternativa potente, que ofrece un ecosistema unificado para diversas aplicaciones de visión artificial.

Descripción general del modelo

Antes de profundizar en los matices arquitectónicos, es esencial comprender los orígenes y los objetivos principales de cada modelo.

Detalles de EfficientDet: Autores: Mingxing Tan, Ruoming Pang y Quoc V. Le
Organización: Google Research
Fecha: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
Docs: https://github.com/google/automl/tree/master/efficientdet#readme

Detalles de RTDETRv2: Autores: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
Organización: Baidu
Fecha: 2023-04-17
Arxiv: https://arxiv.org/abs/2304.08069
GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Docs: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme

Más información sobre RTDETRv2

Análisis Arquitectónico

La diferencia fundamental entre EfficientDet y RTDETRv2 radica en su enfoque básico para la extracción de características y la predicción de cuadros delimitadores.

EfficientDet: Eficiencia a través del Escalado Compuesto

EfficientDet fue diseñado para romper la tendencia de simplemente hacer modelos más grandes para lograr una mejor precisión. Utiliza el backbone EfficientNet e introduce una Red Piramidal de Características Bidireccional ponderada (BiFPN).

  • BiFPN: A diferencia de las FPN tradicionales, BiFPN permite una fácil fusión de características multiescala mediante la introducción de pesos aprendibles. Esto permite que la red aprenda la importancia de las diferentes características de entrada.
  • Escalado Compuesto: EfficientDet escala simultáneamente la resolución, la profundidad y el ancho de la red utilizando un único coeficiente compuesto. Esto asegura que el modelo (variantes D0 a través de D7) siga siendo eficiente en un amplio espectro de limitaciones de recursos.

RTDETRv2: Transformer de detección en tiempo real

RTDETRv2 se basa en el éxito de DETR (Detection Transformer), pero aborda su alto coste computacional y su lenta convergencia. Es un modelo sin anclaje que aprovecha los mecanismos de autoatención para modelar el contexto global.

  • Codificador Híbrido: Procesa características multiescala desacoplando la interacción intraescala y la fusión entre escalas, mejorando significativamente la velocidad de inferencia en comparación con los Transformers estándar.
  • Selección de consultas basada en IoU: Este mecanismo selecciona consultas de objetos iniciales de alta calidad, lo que acelera la convergencia del entrenamiento y mejora la precisión de la detección.
  • Flexibilidad dinámica: RTDETRv2 permite ajustar la velocidad de inferencia variando el número de capas del decodificador sin necesidad de volver a entrenar, ofreciendo una flexibilidad única para la inferencia en tiempo real.

Uso de la memoria del transformador frente a la CNN

Si bien los transformadores como RTDETRv2 sobresalen en la captura del contexto global, normalmente requieren mucha más memoria CUDA durante el entrenamiento en comparación con las arquitecturas basadas en CNN como EfficientDet o YOLO debido a la complejidad cuadrática de los mecanismos de atención.

Métricas de rendimiento

Al seleccionar un modelo para la implementación, los desarrolladores deben sopesar las ventajas y desventajas entre la precisión (mAP), la velocidad (latencia) y el tamaño del modelo (parámetros). La siguiente tabla compara el rendimiento de las variantes de EfficientDet con RTDETRv2.

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
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Análisis:

  • Precisión: RTDETRv2 generalmente alcanza un mAP más altoval puntuaciones en comparación con los modelos EfficientDet de latencia similar en GPUs. Por ejemplo, RTDETRv2-x supera EfficientDet-d7 en precisión, a la vez que es significativamente más rápido en TensorRT.
  • Velocidad: EfficientDet se optimizó para FLOPs, lo que se correlaciona bien con el rendimiento de la CPU, pero no siempre con la latencia de la GPU. RTDETRv2 está diseñado específicamente para maximizar la utilización de la GPU, lo que lo hace superior para aplicaciones de alto rendimiento del lado del servidor.
  • Eficiencia de parámetros: EfficientDet-d0 sigue siendo extremadamente ligero (3.9M de parámetros), lo que lo convierte en un candidato viable para dispositivos antiguos de muy baja potencia donde los aceleradores modernos no están disponibles.

La ventaja de Ultralytics: Una alternativa superior

Si bien EfficientDet y RTDETRv2 son modelos formidables, los desarrolladores que buscan una solución holística que equilibre rendimiento, usabilidad y versatilidad deberían considerar la serie Ultralytics YOLO. Modelos como el último YOLO11 ofrecen una opción atractiva para una amplia gama de aplicaciones, desde la investigación hasta la implementación en producción.

¿Por qué elegir Ultralytics YOLO11?

  • Facilidad de uso: Los modelos de Ultralytics son famosos por su experiencia de usuario optimizada. Con una simple API de python, los usuarios pueden entrenar, validar e implementar modelos con tan solo unas pocas líneas de código. Esto contrasta con los archivos de configuración a menudo complejos requeridos para EfficientDet o los bucles de entrenamiento que consumen mucha memoria de RTDETR.
  • Versatilidad: A diferencia del enfoque de tarea única de muchos competidores, YOLO11 admite la detección de objetos, la segmentación de instancias, la clasificación, la estimación de pose y la detección de objetos orientados (OBB) dentro de un único framework.
  • Ecosistema bien mantenido: Ultralytics proporciona un ecosistema robusto que incluye Ultralytics HUB para la gestión de conjuntos de datos y el entrenamiento de modelos, junto con una documentación extensa y soporte de la comunidad.
  • Equilibrio de rendimiento: Los modelos de Ultralytics están meticulosamente diseñados para proporcionar una excelente compensación entre velocidad y precisión. Están diseñados para ser eficientes en el uso de la memoria, lo que permite el entrenamiento en GPUs de consumo estándar donde los modelos Transformer podrían tener dificultades.

Más información sobre YOLO11

Ejemplo de código: Introducción a YOLO11

El siguiente ejemplo demuestra lo fácil que es ejecutar la inferencia utilizando Ultralytics YOLO11, mostrando la simplicidad de la API en comparación con los marcos más antiguos.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")  # 'n' for nano, or try 's', 'm', 'l', 'x'

# Run inference on an image
results = model("path/to/image.jpg")

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

Casos de Uso Ideales

La elección del modelo correcto depende en gran medida de las limitaciones de hardware específicas y de los requisitos del proyecto.

Cuándo usar EfficientDet

  • Dispositivos Edge Heredados: Si se está implementando en CPUs o hardware más antiguos donde las convoluciones separables en profundidad son la única operación eficiente.
  • Restricciones de parámetros: Para aplicaciones en las que el tamaño absoluto de almacenamiento del archivo del modelo es el principal cuello de botella (por ejemplo, EfficientDet-d0 is < 4MB).

Cuándo usar RTDETRv2

  • Implementación de GPU de gama alta: Cuando tiene acceso a potentes GPU NVIDIA (por ejemplo, T4, A100) y puede aprovechar la optimización de TensorRT.
  • Comprensión compleja de la escena: Para escenarios que requieren las capacidades de contexto global de Transformers, como la detección de objetos en escenas concurridas u ocluidas.

Cuándo usar Ultralytics YOLO11

  • Desarrollo Rápido: Cuando necesita pasar rápidamente del conjunto de datos al modelo implementado utilizando herramientas estándar como Google Colab o entornos locales.
  • IA en el borde en tiempo real: YOLO11 está altamente optimizado para dispositivos de borde como NVIDIA Jetson y Raspberry Pi, ofreciendo compensaciones FPS/mAP superiores.
  • Requisitos Multi-Tarea: Si su proyecto requiere máscaras de segmentación o puntos clave de pose además de bounding boxes.
  • Eficiencia de recursos: Cuando los recursos de entrenamiento son limitados (por ejemplo, VRAM limitada), los modelos YOLO son significativamente más eficientes de entrenar que las alternativas basadas en Transformer.

Conclusión

Tanto EfficientDet como RTDETRv2 representan logros significativos en la visión artificial. EfficientDet superó los límites de la eficiencia a través del escalado, mientras que RTDETRv2 demostró que los Transformers podían ser lo suficientemente rápidos para aplicaciones en tiempo real.

Sin embargo, para la gran mayoría de los desarrolladores y empresas, los modelos Ultralytics YOLO representan la solución más práctica. Al combinar un rendimiento de última generación con una experiencia de desarrollador inigualable y un rico ecosistema, Ultralytics le permite crear soluciones de IA robustas de forma más rápida y fiable.

Explore más comparaciones

Para ayudarte aún más a tomar una decisión, explora estas otras comparaciones:


Comentarios