YOLOv7 frente a YOLOv5#
Al crear flujos de visión artificial modernos, elegir la arquitectura de detección de objetos adecuada es fundamental para equilibrar la precisión, la velocidad de inferencia y el uso de recursos. Esta completa comparación examina dos modelos de gran influencia en el ámbito de la visión artificial: YOLOv7 y Ultralytics YOLOv5.
Al analizar sus diferencias arquitectónicas, métricas de rendimiento y escenarios de implementación ideales, queremos ayudar a desarrolladores e investigadores a elegir el mejor modelo para sus necesidades concretas.
Contexto y orígenes de los modelos#
Conocer los orígenes de estos modelos permite entender sus filosofías de diseño y los casos de uso a los que se dirigen.
YOLOv5#
Lanzado por Glenn Jocher y el equipo de Ultralytics el 26 de junio de 2020, YOLOv5 revolucionó el sector al ofrecer una implementación nativa de PyTorch que priorizaba la facilidad de uso sin sacrificar el rendimiento. Se convirtió rápidamente en un estándar del sector gracias a su ecosistema excepcionalmente optimizado y a una dinámica de entrenamiento fiable. Puedes explorar el código fuente en el repositorio de YOLOv5 en GitHub o acceder directamente al modelo a través de la plataforma de Ultralytics.
YOLOv7#
Presentado por Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao, del Institute of Information Science de Academia Sinica, Taiwán, el 6 de julio de 2022, YOLOv7 se centró especialmente en innovaciones arquitectónicas como las redes de agregación de capas eficientes extendidas (E-ELAN) y un «bag-of-freebies» entrenable para impulsar el estado del arte en precisión. Encontrarás más información en su artículo oficial de Arxiv y en el repositorio de YOLOv7 en GitHub. Para integrarlo fácilmente, consulta la documentación de Ultralytics YOLOv7.
YOLOv5 está totalmente integrado en el paquete Python de Ultralytics. YOLOv7 no es compatible de forma nativa con el entrenamiento ni la inferencia en PyTorch, pero Ultralytics puede ejecutar los checkpoints de YOLOv7 originales exportados a ONNX o TensorRT, tal como se explica en la documentación de YOLOv7.
Innovaciones arquitectónicas#
Diseño de Ultralytics YOLOv5#
YOLOv5 utiliza una red troncal CSPDarknet53 modificada junto con una red de agregación de rutas (PANet). Este diseño está muy optimizado para la extracción de características rápida y la eficiencia de memoria. A diferencia de las arquitecturas anteriores o de los pesados modelos Transformer, YOLOv5 necesita mucha menos memoria CUDA durante el entrenamiento, lo que permite usar tamaños de lote mayores en GPU convencionales. Además, el framework de Ultralytics admite de forma nativa una amplia variedad de tareas, más allá de los cuadros delimitadores estándar, como la segmentación de imágenes y la clasificación de imágenes.
Diseño de YOLOv7#
YOLOv7 introdujo varias reparametrizaciones estructurales y la arquitectura E-ELAN, que permite a la red aprender características más diversas sin destruir la ruta de gradiente original. También incorpora una cabeza auxiliar para la supervisión intermedia durante el entrenamiento. Aunque estos avances ofrecen una precisión media promedio (mAP) elevada, suelen introducir estructuras tensoriales complejas que pueden dificultar ligeramente la exportación a formatos para dispositivos periféricos como ONNX o TensorRT, en comparación con las exportaciones optimizadas nativas de los modelos de Ultralytics.
Análisis del rendimiento#
Al comparar estos modelos, los desarrolladores deben equilibrar mAPval, la velocidad de inferencia y la complejidad computacional (FLOPs). La tabla siguiente muestra el rendimiento de ambas arquitecturas evaluadas con el conjunto de datos COCO.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Conclusiones clave#
- Límite máximo de precisión: YOLOv7x alcanza la mayor precisión global, con un impresionante 53,1 mAPval, por lo que resulta muy competitivo en situaciones donde el objetivo principal es maximizar el rendimiento de detección.
- Velocidad y eficiencia: Ultralytics YOLOv5n es un prodigio de la eficiencia, con una latencia de inferencia rapidísima (1,12 ms en T4 TensorRT) y una huella de memoria minúscula, con solo 1,9 millones de parámetros. Esto lo convierte en una opción inigualable para implementaciones en dispositivos periféricos con grandes limitaciones.
- Equilibrio de rendimiento: La serie YOLOv5 ofrece una excepcional gama progresiva de modelos. YOLOv5l es una magnífica opción intermedia: queda ligeramente por detrás de YOLOv7l en precisión, pero ofrece un flujo de implementación muy maduro.
La ventaja del ecosistema Ultralytics#
La arquitectura de un modelo es solo la mitad de la ecuación; el ecosistema que lo rodea determina su viabilidad en el mundo real. Aquí es donde los modelos de Ultralytics destacan de verdad.
Facilidad de uso: Ultralytics ofrece una API Python unificada y muy intuitiva. Puedes entrenar, validar e implementar modelos con un mínimo de código repetitivo, gracias a una amplia documentación oficial. Ecosistema con mantenimiento activo: El desarrollo continuo garantiza actualizaciones constantes, correcciones de errores e integración sencilla con herramientas modernas de seguimiento como Weights & Biases. Eficiencia del entrenamiento: Gracias al uso de cargadores de datos optimizados y al almacenamiento en caché inteligente, YOLOv5 reduce drásticamente los tiempos de entrenamiento. Además, los pesos preentrenados listos para usar aceleran el aprendizaje por transferencia en distintos ámbitos.
Ejemplo de código: entrenamiento simplificado#
Con el paquete de Ultralytics, iniciar un entrenamiento es prácticamente igual, independientemente de la arquitectura que elijas.
from ultralytics import YOLO
# Carga un modelo YOLOv5 preentrenado
model = YOLO("yolov5su.pt") # YOLOv5u: pesos de YOLOv5 sin anclajes para el paquete ultralytics
# Entrena el modelo con el conjunto de datos de ejemplo COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exporta el modelo entrenado al formato ONNX para implementarlo
success = model.export(format="onnx")Casos de uso ideales#
Cuándo elegir YOLOv7#
- Evaluación comparativa académica: Perfecto para investigadores que necesitan comparar técnicas novedosas con una referencia de 2022 bien documentada.
- Procesamiento en la nube con GPU de gama alta: Para implementaciones en servidores potentes donde lograr el mAP más alto posible en escenas densas prima sobre la sencillez de exportación.
Cuándo elegir YOLOv5#
- Implementaciones en producción: Ideal para aplicaciones comerciales que requieren gran estabilidad, opciones sencillas de implementación de modelos y amplia compatibilidad multiplataforma.
- Dispositivos periféricos: Las variantes más pequeñas (YOLOv5n y YOLOv5s) funcionan excepcionalmente bien en móviles y sistemas integrados.
- Requisitos multitarea: Si tu proyecto necesita pasar de la detección sencilla a la segmentación de instancias o la clasificación mediante un framework unificado.
¿Buscas versiones más recientes? Explora Ultralytics YOLOv8 o Ultralytics YOLO11 para descubrir más avances en detección sin anclajes y capacidades de aprendizaje multitarea.
La próxima generación: Ultralytics YOLO26#
Aunque YOLOv5 y YOLOv7 ocupan un lugar importante en la historia de la IA visual, el panorama evoluciona constantemente. Lanzado en enero de 2026, Ultralytics YOLO26 representa la tecnología de detección de objetos más avanzada y supera a las generaciones anteriores en todas las métricas.
YOLO26 incorpora varias características que cambian las reglas del juego:
- Diseño integral sin NMS: A partir de conceptos pioneros de versiones anteriores, YOLO26 ofrece una cabeza nativa de extremo a extremo (
nms=False) que elimina el posprocesamiento de supresión no máxima (NMS), reduce drásticamente los cuellos de botella de latencia y simplifica notablemente la lógica de implementación. - Optimizador MuSGD: Inspirado en Kimi K2 de Moonshot AI, este revolucionario optimizador combina la estabilidad del SGD estándar con el impulso acelerado de Muon, e incorpora directamente a la visión artificial innovaciones avanzadas del entrenamiento de LLM.
- Mayor velocidad en CPU: Al eliminar estratégicamente la pérdida focal de distribución (DFL), YOLO26 logra una inferencia en CPU hasta un 43 % más rápida, lo que lo convierte en el mejor modelo para implementaciones en dispositivos periféricos y dispositivos IoT de bajo consumo.
- ProgLoss + STAL: Estas funciones de pérdida avanzadas mejoran enormemente el reconocimiento de objetos pequeños, algo fundamental para las imágenes aéreas y la robótica de precisión.
- Mejoras específicas por tarea: Incluye pérdida de segmentación semántica para generar máscaras, estimación residual de máxima verosimilitud (RLE) para estimar poses y una pérdida de ángulo especializada que resuelve problemas complejos con los límites de las cajas delimitadoras orientadas (OBB).
Conclusión#
Tanto YOLOv5 como YOLOv7 ofrecen soluciones sólidas para la detección de objetos en tiempo real. YOLOv7 sigue siendo una opción excelente para lograr una precisión bruta en hardware de alto rendimiento, mientras que YOLOv5 destaca como la herramienta ideal para desarrolladores, pues ofrece un equilibrio excepcional entre velocidad, eficiencia y un ecosistema de primer nivel.
Sin embargo, si quieres preparar tus flujos para el futuro y lograr la combinación definitiva de velocidad, sencillez y precisión de vanguardia, te recomendamos encarecidamente migrar a Ultralytics YOLO26. Reúne la legendaria facilidad de uso de la plataforma de Ultralytics con innovaciones arquitectónicas revolucionarias.