Link to this sectionYOLOv5 vs. EfficientDet: Evaluando arquitecturas de detección de objetos en tiempo real#
Al embarcarte en un nuevo proyecto de visión artificial, elegir la arquitectura de red neuronal adecuada es una de las decisiones más trascendentales que tomarás. Esta guía ofrece una comparación técnica exhaustiva entre Ultralytics YOLOv5 y EfficientDet de Google. Al analizar sus arquitecturas, métricas de rendimiento y ecosistemas de entrenamiento, nuestro objetivo es ayudar a los desarrolladores e investigadores a identificar el mejor modelo de detección de objetos para sus entornos de despliegue específicos.
Aunque EfficientDet introdujo conceptos novedosos en escalado compuesto y fusión de características, YOLOv5 revolucionó la industria al democratizar el acceso a la IA de alto rendimiento mediante su implementación increíblemente intuitiva en PyTorch, una experiencia de usuario optimizada y un equilibrio inigualable entre velocidad y precisión.
Link to this sectionUltralytics YOLOv5: El estándar de la industria en accesibilidad#
Lanzado en el verano de 2020, YOLOv5 marcó un cambio fundamental en el linaje YOLO. Al pasar del framework Darknet basado en C a PyTorch nativo, se convirtió en la arquitectura de referencia para los desarrolladores que buscan construir, entrenar y desplegar modelos rápidamente.
- Autores: Glenn Jocher
- Organización: Ultralytics
- Fecha: 26-06-2020
- GitHub: https://github.com/ultralytics/yolov5
- Documentación: https://docs.ultralytics.com/models/yolov5
Link to this sectionInnovaciones arquitectónicas#
YOLOv5 es reconocido por su arquitectura altamente optimizada que prioriza un ciclo de vida de aprendizaje automático fluido. Utiliza un backbone CSPDarknet53 modificado junto con un cuello Path Aggregation Network (PANet), lo cual mejora drásticamente la propagación de características a través de múltiples escalas espaciales.
Los avances clave incluyen:
- Aumento de datos Mosaic: Esta técnica de entrenamiento combina cuatro imágenes de entrenamiento distintas en un solo mosaico. Esto obliga al modelo a aprender cómo identificar objetos en contextos espaciales complejos y potencia significativamente su capacidad para detectar objetivos pequeños.
- Auto-aprendizaje de Anchor Boxes: Antes de comenzar el entrenamiento, YOLOv5 analiza tus datos de entrenamiento personalizados y calcula automáticamente las dimensiones óptimas de los anchor box mediante clustering k-means.
- Eficiencia de memoria: En comparación con los modelos pesados basados en Transformer, YOLOv5 mantiene un consumo de memoria significativamente menor durante el entrenamiento y la inferencia, lo que permite que funcione sin problemas en hardware de consumo.
Link to this sectionEfficientDet: Detección de objetos escalable#
Presentado por Google Research en 2019, EfficientDet tenía como objetivo proporcionar una familia de detectores de objetos escalables. Se basa en el backbone de clasificación de imágenes EfficientNet e introduce un mecanismo novedoso de fusión de características.
- Autores: Mingxing Tan, Ruoming Pang y Quoc V. Le
- Organización: Google
- Fecha: 20-11-2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- Documentación: https://github.com/google/automl/tree/master/efficientdet#readme
Link to this sectionInnovaciones arquitectónicas#
La propuesta central de EfficientDet reside en su enfoque sistemático para el escalado y la agregación de características:
- BiFPN (Bi-directional Feature Pyramid Network): A diferencia de las FPN tradicionales que solo pasan información de arriba hacia abajo, BiFPN permite una fusión de características multiescala rápida y sencilla al introducir pesos entrenables para determinar la importancia de las diferentes características de entrada.
- Escalado compuesto: EfficientDet escala conjuntamente la resolución, profundidad y anchura de todas las redes de backbone, de características y de predicción de cajas/clases, dando lugar a modelos que van desde el ligero D0 hasta el masivo D7.
Más información sobre EfficientDet
Mientras que EfficientDet depende en gran medida del ecosistema de TensorFlow y las librerías de AutoML, YOLOv5 opera de forma nativa dentro de PyTorch, ofreciendo lo que muchos desarrolladores consideran un flujo de trabajo más intuitivo, eficiente y fácil de depurar.
Link to this sectionComparación de rendimiento y métricas#
Al comparar estos modelos, evaluar su rendimiento en benchmarks estándar como el dataset COCO es fundamental. La siguiente tabla destaca las compensaciones entre tamaño, demanda computacional (FLOPs) y velocidad de inferencia.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Link to this sectionAnálisis equilibrado#
YOLOv5 destaca por su flexibilidad de despliegue y compatibilidad con aceleración de hardware en bruto. Observa las velocidades increíblemente rápidas de TensorRT en la GPU T4. Esto hace que YOLOv5 sea increíblemente adecuado para análisis de vídeo de alto rendimiento y pipelines de inferencia en tiempo real. Además, el ecosistema de Ultralytics hace que exportar a formatos como ONNX, CoreML y TensorRT sea cuestión de una sola línea de comando.
EfficientDet ofrece una excelente eficiencia de parámetros. Para una cantidad de parámetros dada, a menudo extrae una mean Average Precision (mAP) alta. Sin embargo, esta eficiencia teórica no siempre se traduce en tiempos de inferencia reales más rápidos en GPUs de borde debido al complejo enrutamiento de la capa BiFPN, que puede estar limitada por el ancho de banda de memoria en lugar de por la computación.
Link to this sectionEcosistema y facilidad de uso#
La ventaja definitiva de elegir un modelo de Ultralytics radica en el ecosistema circundante. YOLOv5 es parte de un repositorio altamente mantenido y desarrollado activamente con un apoyo masivo de la comunidad.
Con la introducción de la Plataforma Ultralytics, los usuarios pueden pasar sin problemas de la recopilación de datos al despliegue. Esta plataforma admite auto-anotación, entrenamiento en la nube y supervisión de modelos desde el primer momento. Por el contrario, entrenar EfficientDet a menudo requiere navegar por las complejidades de las antiguas API de detección de objetos de TensorFlow, lo que puede presentar una curva de aprendizaje pronunciada para la creación de prototipos rápidos.
Además, la versatilidad de YOLOv5 se extiende más allá de los bounding boxes. A través de actualizaciones continuas, el framework de Ultralytics admite de forma nativa la segmentación de instancias y la clasificación de imágenes, proporcionando una API unificada para múltiples tareas de visión artificial.
Link to this sectionCasos de uso ideales#
- Elige YOLOv5 cuando: Necesites prototipado rápido, una experiencia de entrenamiento sin fricciones y un despliegue en borde altamente optimizado. Es ideal para drones, análisis de retail y aplicaciones móviles donde la baja latencia es crítica.
- Elige EfficientDet cuando: Operes estrictamente dentro de un entorno de Google Cloud/TensorFlow AutoML y requieras la máxima precisión por parámetro sin restricciones estrictas de latencia en tiempo real.
Link to this sectionLa próxima generación: Abrazando YOLO26#
Aunque YOLOv5 sigue siendo un caballo de batalla fiable, el panorama de la visión artificial ha avanzado. Para los desarrolladores que buscan lo último en tecnología en 2026, YOLO26 representa el nuevo pináculo de la línea de Ultralytics.
Construyendo sobre el legado de sus predecesores (como YOLOv8 y YOLO11), YOLO26 introduce innovaciones revolucionarias:
- Diseño de extremo a extremo sin NMS: YOLO26 elimina de forma nativa la necesidad de posprocesamiento de Non-Maximum Suppression. Esto reduce significativamente la varianza de latencia y simplifica la arquitectura de despliegue.
- Inferencia en CPU hasta un 43% más rápida: Altamente optimizado para IA en el borde, aporta velocidades sin precedentes a dispositivos de borde de baja potencia y CPUs estándar sin GPUs dedicadas.
- Optimizador MuSGD: Inspirado en las técnicas de entrenamiento de Large Language Models (LLM), este híbrido de SGD y Muon garantiza un entrenamiento altamente estable y una convergencia rápida.
- Funciones de pérdida avanzadas: La integración de ProgLoss y STAL mejora drásticamente el reconocimiento de objetivos pequeños, algo vital para imágenes de drones a gran altitud y robótica.
- Eliminación de DFL: Al eliminar Distribution Focal Loss, el proceso de exportación del modelo se agiliza, mejorando aún más la compatibilidad entre diversos aceleradores de hardware.
Los usuarios interesados en explorar otras arquitecturas recientes dentro del ecosistema de Ultralytics también podrían comparar modelos como YOLOv10 o RT-DETR.
La API de Python de Ultralytics está diseñada para la compatibilidad hacia adelante y hacia atrás. ¡Actualizar de YOLOv5 a YOLO26 es literalmente tan simple como cambiar la cadena de pesos del modelo en tu código!
Link to this sectionEjemplo de código: Entrenamiento e inferencia#
Para demostrar la inigualable facilidad de uso del ecosistema de Ultralytics, aquí tienes cómo puedes entrenar y ejecutar la inferencia utilizando un modelo YOLO moderno. Este código es 100% ejecutable y gestiona automáticamente la descarga del dataset, los bucles de entrenamiento y la validación.
from ultralytics import YOLO
# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")
# Display the image with bounding boxes
inference_results[0].show()Al priorizar la experiencia del usuario, mantener un ecosistema robusto y ampliar continuamente los límites de lo que es posible con actualizaciones como YOLO26, Ultralytics garantiza que los desarrolladores siempre dispongan de las mejores herramientas para resolver desafíos de inteligencia visual en el mundo real.