DAMO-YOLO vs. EfficientDet: Una comparación técnica
En el panorama de la visión artificial, que evoluciona rápidamente, seleccionar la arquitectura de detección de objetos adecuada es fundamental para el éxito de la aplicación. Este exhaustivo análisis contrasta DAMO-YOLO, un modelo de alto rendimiento de Alibaba, con EfficientDet, una arquitectura escalable y eficiente de Google. Ambos modelos introdujeron innovaciones significativas en el campo, abordando el eterno equilibrio entre velocidad, precisión y coste computacional.
Descripciones generales del modelo
Antes de profundizar en las métricas de rendimiento, es esencial comprender el pedigrí y la filosofía arquitectónica detrás de cada modelo.
DAMO-YOLO
Desarrollado por Alibaba Group, DAMO-YOLO (YOLO basado en la búsqueda de arquitectura neuronal mejorada por destilación) se centra en maximizar la velocidad de inferencia sin comprometer la precisión. Introduce tecnologías como la búsqueda de arquitectura neuronal (NAS) para backbones, una eficiente RepGFPN (Red Piramidal de Características Generalizada Reparametrizada) y un cabezal de detección ligero conocido como ZeroHead.
Detalles de DAMO-YOLO:
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, y Xiuyu Sun
- Organización:Alibaba Group
- Fecha: 2022-11-23
- Arxiv:DAMO-YOLO: A Report on Real-Time Object Detection Design
- GitHub:tinyvision/DAMO-YOLO
Más información sobre DAMO-YOLO
EfficientDet
EfficientDet, creado por el equipo de Google Brain, revolucionó la detección de objetos al proponer un método de escalado compuesto. Este enfoque escala uniformemente la resolución, la profundidad y el ancho del backbone, la red de características y las redes de predicción. Cuenta con la BiFPN (Red Piramidal de Características Bidireccional), que permite una fusión de características fácil y rápida.
Detalles de EfficientDet:
- Autores: Mingxing Tan, Ruoming Pang, y Quoc V. Le
- Organización:Google
- Fecha: 2019-11-20
- Arxiv:EfficientDet: Scalable and Efficient Object Detection
- GitHub:google/automl/efficientdet
Más información sobre EfficientDet
Análisis de rendimiento: Velocidad, precisión y eficiencia
El siguiente gráfico y tabla proporcionan una comparación cuantitativa de los modelos EfficientDet y DAMO-YOLO en el conjunto de datos COCO. Estos benchmarks destacan los distintos objetivos de optimización de cada arquitectura.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
Puntos clave
De los datos, podemos observar distintas fortalezas para cada familia de modelos:
- Latencia de la GPU: DAMO-YOLO domina en velocidad de inferencia en GPU. Por ejemplo,
DAMO-YOLOmalcanza un Precisión Media Promedio (mAP) de 49.2 con una latencia de solo 5.09 ms en una GPU T4. En contraste,EfficientDet-d4, con un mAP similar de 49.7, es significativamente más lento con 33.55 ms. - Eficiencia de los parámetros: EfficientDet es extremadamente ligero en términos de parámetros y operaciones de punto flotante (FLOPs).
EfficientDet-d0utiliza solo 3,9 millones de parámetros, lo que lo hace muy eficiente en cuanto a almacenamiento, aunque esto no siempre se traduce en una inferencia más rápida en las GPU modernas en comparación con los modelos optimizados para la arquitectura como DAMO-YOLO. - Rendimiento de la CPU: EfficientDet proporciona benchmarks de CPU fiables, lo que sugiere que sigue siendo una opción viable para hardware heredado donde la aceleración de la GPU no está disponible.
Nota sobre la arquitectura
La ventaja de velocidad de DAMO-YOLO proviene de su optimización específica para la latencia del hardware utilizando la Búsqueda de Arquitectura Neuronal (NAS), mientras que EfficientDet optimiza para los FLOP teóricos, lo que no siempre se correlaciona linealmente con la latencia del mundo real.
Análisis Arquitectónico en Profundidad
EfficientDet: El Poder del Escalado Compuesto
EfficientDet se basa en la estructura EfficientNet, que utiliza convoluciones de cuello de botella invertido móvil (MBConv). Su característica definitoria es la BiFPN, una red piramidal de características bidireccional ponderada. A diferencia de las FPN tradicionales que solo suman características de arriba hacia abajo, BiFPN permite que la información fluya tanto de arriba hacia abajo como de abajo hacia arriba, tratando cada capa de características con pesos que se pueden aprender. Esto permite que la red comprenda la importancia de las diferentes características de entrada.
El modelo escala utilizando un coeficiente compuesto, phi, que aumenta uniformemente el ancho, la profundidad y la resolución de la red, de modo que los modelos más grandes (como d7) se mantengan equilibradas entre precisión y eficiencia.
DAMO-YOLO: Innovación orientada a la velocidad
DAMO-YOLO adopta un enfoque diferente al centrarse en la latencia en tiempo real. Emplea MAE-NAS (Método de Automatización de la Búsqueda de Arquitectura) para encontrar la estructura de backbone óptima bajo restricciones de latencia específicas.
Las innovaciones clave incluyen:
- RepGFPN: Una mejora con respecto a la GFPN estándar, mejorada con la reparametrización para optimizar las rutas de fusión de características para la velocidad.
- ZeroHead: Un cabezal de detección simplificado que reduce la carga computacional que suele asociarse con las capas de predicción finales.
- AlignedOTA: Una estrategia de asignación de etiquetas que resuelve la desalineación entre las tareas de clasificación y regresión durante el entrenamiento.
Casos de uso y aplicaciones
Las diferencias arquitectónicas dictan dónde destaca cada modelo en escenarios del mundo real.
- EfficientDet es ideal para entornos con limitaciones de almacenamiento o aplicaciones que dependen de la inferencia de la CPU donde minimizar los FLOP es crucial. Se utiliza a menudo en aplicaciones móviles y sistemas integrados donde la duración de la batería (correlacionada con los FLOP) es una preocupación primordial.
- DAMO-YOLO destaca en la automatización industrial, la conducción autónoma y la vigilancia de seguridad, donde se requiere la inferencia en tiempo real en las GPU. Su baja latencia permite procesar flujos de vídeo de alta velocidad de fotogramas sin perderlos.
La ventaja de Ultralytics
Si bien DAMO-YOLO y EfficientDet son modelos capaces, el ecosistema de Ultralytics ofrece una solución más completa para el desarrollo moderno de la IA. Modelos como el YOLO11 de última generación y el versátil YOLOv8 proporcionan ventajas significativas en cuanto a usabilidad, rendimiento y conjunto de características.
¿Por qué elegir Ultralytics?
- Equilibrio de rendimiento: Los modelos de Ultralytics están diseñados para proporcionar la mejor compensación entre velocidad y precisión. YOLO11, por ejemplo, ofrece un mAP superior en comparación con las generaciones anteriores, manteniendo velocidades de inferencia excepcionales tanto en CPUs como en GPUs.
Facilidad de uso: Con una filosofía de "baterías incluidas", Ultralytics proporciona una API de python simple y una interfaz de línea de comandos (CLI) potente. Los desarrolladores pueden pasar de la instalación al entrenamiento en minutos.
from ultralytics import YOLO # Load a pre-trained YOLO11 model model = YOLO("yolo11n.pt") # Run inference on an image results = model("path/to/image.jpg")Ecosistema bien mantenido: A diferencia de muchos modelos de investigación que se abandonan después de su publicación, Ultralytics mantiene un repositorio activo con actualizaciones frecuentes, correcciones de errores y soporte de la comunidad a través de problemas y debates de GitHub.
- Versatilidad: Los modelos de Ultralytics no se limitan a bounding boxes. Admiten de forma nativa segmentación de instancias, estimación de pose, clasificación de imágenes y bounding boxes orientados (OBB), todo dentro de un único framework unificado.
- Eficiencia de memoria: Los modelos Ultralytics YOLO están diseñados para ser eficientes en cuanto a la memoria durante el entrenamiento. Esto contrasta con los modelos basados en transformadores o las arquitecturas más antiguas, que a menudo requieren una cantidad sustancial de memoria CUDA, lo que hace que los modelos Ultralytics sean accesibles en hardware de consumo.
- Eficiencia en el entrenamiento: El framework admite características como la precisión mixta automática (AMP), el entrenamiento multi-GPU y el almacenamiento en caché, lo que garantiza que el entrenamiento de conjuntos de datos personalizados sea rápido y rentable.
Conclusión
Tanto DAMO-YOLO como EfficientDet representan hitos importantes en la historia de la visión artificial. EfficientDet demostró el poder del escalado basado en principios y la fusión eficiente de características, mientras que DAMO-YOLO superó los límites de la búsqueda de arquitecturas con reconocimiento de latencia.
Sin embargo, para los desarrolladores que buscan una solución lista para la producción que combine un alto rendimiento con una experiencia de desarrollador excepcional, Ultralytics YOLO11 es la opción recomendada. Su integración en un ecosistema robusto, el soporte para múltiples tareas de visión artificial y las continuas mejoras la convierten en la herramienta más práctica para transformar los datos visuales en información procesable.
Explore otras comparaciones de modelos
Para ayudar aún más en su proceso de selección de modelos, explore estas comparaciones relacionadas dentro de la documentación de Ultralytics:
- YOLOv8 vs. DAMO-YOLO
- YOLO11 vs. DAMO-YOLO
- RT-DETR vs. EfficientDet
- YOLOv10 vs. DAMO-YOLO
- YOLOv9 vs. EfficientDet