YOLOv10 vs YOLOv7: La evolución de la detección de objetos en tiempo real
El rápido progreso de la visión artificial en los últimos años ha dado lugar a arquitecturas cada vez más eficientes para aplicaciones en tiempo real. Comparar YOLOv10 y YOLOv7 destaca un periodo de transición crucial en esta evolución. Mientras que YOLOv7 introdujo estrategias de entrenamiento y escalado arquitectónico altamente eficaces, YOLOv10 revolucionó el despliegue al eliminar la dependencia histórica de la Supresión de No Máximos (NMS).
Ambos modelos superaron los límites de la detección de objetos en el momento de sus respectivos lanzamientos; sin embargo, el ecosistema Ultralytics moderno y la introducción de modelos de próxima generación como YOLO26 ofrecen flujos de trabajo muy superiores para los profesionales de la IA actuales.
Perfiles y orígenes de los modelos
Comprender los orígenes de estos modelos proporciona un contexto valioso respecto a sus decisiones de diseño arquitectónico y la investigación académica que los sustenta.
Detalles de YOLOv10
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización: Universidad de Tsinghua
- Fecha: 2024-05-23
- Arxiv: YOLOv10: Detección de objetos de extremo a extremo en tiempo real
- GitHub: THU-MIG/yolov10
- Documentación: Documentación de Ultralytics YOLOv10
Detalles de YOLOv7
- Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
- Organización: Instituto de Ciencias de la Información, Academia Sinica, Taiwán
- Fecha: 06-07-2022
- Arxiv: YOLOv7: La bolsa de obsequios entrenables establece un nuevo estándar
- GitHub: WongKinYiu/yolov7
- Documentación: Documentación de Ultralytics YOLOv7
Innovaciones arquitectónicas
El enfoque de YOLOv7
Lanzado en 2022, YOLOv7 se centró intensamente en la optimización de las rutas de gradiente. Introdujo la Red de Agregación de Capas Eficiente Extendida (E-ELAN), que permitió al modelo aprender características más diversas sin destruir la ruta de gradiente original. Además, los autores implementaron una metodología de "bolsa de obsequios entrenables" (trainable bag-of-freebies), utilizando técnicas de reparametrización durante el entrenamiento que podían fusionarse durante la inferencia para mantener velocidades de ejecución rápidas. A pesar de estas impresionantes optimizaciones, YOLOv7 todavía dependía en gran medida de NMS para el posprocesamiento, creando una latencia variable durante el análisis de escenas densas.
El avance de YOLOv10
YOLOv10 abordó directamente el cuello de botella de NMS. Al introducir asignaciones duales consistentes durante el entrenamiento, el equipo de la Universidad de Tsinghua permitió la detección de extremo a extremo sin NMS. Este enfoque de doble cabezal utiliza una rama con asignaciones de uno a muchos para obtener señales de supervisión ricas durante el entrenamiento, y otra rama con asignaciones de uno a uno para una inferencia sin NMS. Este cambio arquitectónico garantiza una latencia de inferencia ultra baja y consistente, adecuada para el análisis de vídeo de alta velocidad. Además, YOLOv10 emplea un diseño de modelo integral impulsado por la eficiencia y la precisión, eliminando la redundancia computacional que se encontraba en generaciones anteriores.
Eliminar el posprocesamiento NMS no solo acelera la inferencia, sino que simplifica significativamente el despliegue en hardware de IA de borde, como aceleradores de IA y NPUs, donde las operaciones NMS personalizadas son notoriamente difíciles de compilar.
Comparación de rendimiento
Al comparar las métricas brutas en el conjunto de datos MS COCO, la brecha generacional se vuelve evidente. YOLOv10 logra un equilibrio mucho más favorable entre parámetros, requisitos computacionales y precisión.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Como se muestra arriba, YOLOv10x ofrece una mAP superior del 54,4 % frente al 53,1 % de YOLOv7x, mientras utiliza aproximadamente un 20 % menos de parámetros. Además, los modelos ligeros de YOLOv10 (Nano y Small) ofrecen velocidades de despliegue en TensorRT excepcionales, lo que los hace muy atractivos para el despliegue en dispositivos móviles.
La ventaja del ecosistema de Ultralytics
Aunque estudiar artículos sobre arquitectura es revelador, el desarrollo moderno de la visión artificial depende de marcos robustos y bien mantenidos. Seleccionar un modelo compatible con Ultralytics ofrece una ventaja masiva para los desarrolladores que buscan pasar rápidamente del prototipo a la producción.
Desarrollo simplificado
Tanto YOLOv10 como YOLOv7 pueden obtenerse a través del paquete estándar de Python de Ultralytics. Esto proporciona una facilidad de uso inigualable, reemplazando miles de líneas de código repetitivo por una API sencilla e intuitiva. Además, los modelos YOLO de Ultralytics requieren mucha menos memoria CUDA durante el entrenamiento en comparación con las pesadas arquitecturas Transformer, lo que permite utilizar tamaños de lote mayores en hardware de consumo.
Versatilidad inigualable
Aunque los repositorios antiguos suelen centrarse estrictamente en la detección de cajas delimitadoras, el marco de trabajo integrado de Ultralytics admite sin problemas una enorme variedad de tareas. Ya sea que realices segmentación de instancias, estimación de poses o detección de cajas delimitadoras orientadas (OBB), el flujo de trabajo sigue siendo idéntico.
Ejemplo de código: Flujos de trabajo de entrenamiento consistentes
El siguiente fragmento de código demuestra el proceso de entrenamiento fluido, que gestiona automáticamente la aumentación de datos y la programación de la tasa de aprendizaje:
from ultralytics import YOLO
# Load the desired model (YOLOv10, YOLOv7, or the recommended YOLO26)
model = YOLO("yolo26n.pt")
# Train the model effortlessly on your dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export to ONNX format for rapid deployment
model.export(format="onnx")Casos de uso y recomendaciones
Elegir entre YOLOv10 y YOLOv7 depende de los requisitos específicos de tu proyecto, las limitaciones de despliegue y tus preferencias de ecosistema.
Cuándo elegir YOLOv10
YOLOv10 es una opción sólida para:
- Detección en tiempo real sin NMS: Aplicaciones que se benefician de la detección de extremo a extremo sin supresión de no máximos, reduciendo la complejidad del despliegue.
- Compensaciones equilibradas entre velocidad y precisión: Proyectos que requieren un sólido equilibrio entre la velocidad de inferencia y la precisión de detección a través de varias escalas de modelo.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Cuándo elegir YOLOv7
YOLOv7 se recomienda para:
- Evaluación comparativa académica: Reproducir resultados de vanguardia de la era de 2022 o estudiar los efectos de la E-ELAN y las técnicas de bolsa de obsequios entrenables.
- Investigación en reparametrización: Investigar convoluciones reparametrizadas planificadas y estrategias de escalado de modelos compuestos.
- Canalizaciones personalizadas existentes: Proyectos con canalizaciones muy personalizadas construidas en torno a la arquitectura específica de YOLOv7 que no se pueden refactorizar fácilmente.
Cuándo elegir Ultralytics (YOLO26)
Para la mayoría de los proyectos nuevos, Ultralytics YOLO26 ofrece la mejor combinación de rendimiento y experiencia para el desarrollador:
- Despliegue en borde sin NMS: Aplicaciones que requieren una inferencia consistente y de baja latencia sin la complejidad del posprocesamiento de la supresión de no máximos.
- Entornos solo de CPU: Dispositivos sin aceleración de GPU dedicada, donde la inferencia en CPU hasta un 43% más rápida de YOLO26 proporciona una ventaja decisiva.
- Detección de objetos pequeños: Escenarios desafiantes como imágenes de drones aéreos o análisis de sensores IoT donde ProgLoss y STAL aumentan significativamente la precisión en objetos diminutos.
El nuevo estándar: Presentamos YOLO26
Aunque YOLOv10 supuso un gran salto adelante en 2024, el panorama de la visión artificial avanza increíblemente rápido. Para todo desarrollo nuevo, recomendamos encarecidamente el modelo de última generación: Ultralytics YOLO26. Lanzado en enero de 2026, representa el pináculo absoluto de la IA de visión en tiempo real, superando en gran medida tanto a YOLOv7 como a YOLOv10.
YOLO26 trae innovaciones sin precedentes diseñadas específicamente para entornos de despliegue modernos:
- Diseño de extremo a extremo sin NMS: Construido sobre la base sentada por YOLOv10, YOLO26 elimina de forma nativa el posprocesamiento NMS para canalizaciones de despliegue más simples y una inferencia de alta velocidad consistente.
- Inferencia en CPU hasta un 43 % más rápida: Altamente optimizada para la informática de borde y dispositivos que carecen de GPUs dedicadas, lo que proporciona enormes ahorros en costes de hardware.
- Eliminación de DFL: Se ha eliminado por completo la pérdida focal de distribución (Distribution Focal Loss), lo que simplifica radicalmente la lógica de exportación y mejora enormemente la compatibilidad con dispositivos de borde de baja potencia y microcontroladores.
- Optimizador MuSGD: Inspirado en Kimi K2 de Moonshot AI, este híbrido de SGD y Muon traslada las innovaciones de entrenamiento de los grandes modelos de lenguaje (LLM) directamente a la visión artificial, lo que resulta en una dinámica de entrenamiento increíblemente estable y una convergencia más rápida.
- ProgLoss + STAL: Estas funciones de pérdida avanzadas ofrecen mejoras notables en el reconocimiento de objetos pequeños, un área históricamente desafiante que es crítica para drones, robótica y monitorización de ciudades inteligentes.
- Mejoras específicas por tarea: YOLO26 no es solo un detector. Incluye pérdida de segmentación semántica especializada, estimación de log-verosimilitud residual (RLE) para un seguimiento de poses ultrapreciso y algoritmos de pérdida angular especializados para eliminar problemas de límites en OBB.
Para obtener la mejor experiencia absoluta en la gestión de tus conjuntos de datos, el entrenamiento de YOLO26 y el despliegue de modelos en la nube, explora la Plataforma Ultralytics. Ofrece una interfaz sin código que complementa perfectamente el SDK de Python.
Casos de uso en el mundo real
Seleccionar la arquitectura adecuada depende en gran medida de tu hardware y de las limitaciones de tu aplicación.
Cuándo usar YOLOv7
YOLOv7 sigue siendo una opción fiable para mantener canalizaciones heredadas que ya están profundamente integradas con sus estructuras de tensores específicas o al replicar evaluaciones comparativas académicas de 2022 y 2023. Funciona admirablemente en GPUs de servidor de gama alta.
Cuándo usar YOLOv10
YOLOv10 destaca en escenarios que requieren una latencia estricta e inmutable. Como no utiliza NMS, es excelente para el conteo de multitudes de alta densidad o la detección de defectos de fabricación, donde el número de objetos fluctúa drásticamente pero el tiempo de procesamiento por fotograma debe permanecer constante.
Cuándo usar YOLO26
YOLO26 es la opción definitiva para cualquier proyecto nuevo. Desde el despliegue de sistemas sofisticados de alarmas de seguridad en una Raspberry Pi básica hasta la ejecución de análisis de vídeo masivos basados en la nube, sus velocidades superiores de CPU y su avanzada detección de objetos pequeños lo hacen inmensamente superior a las generaciones anteriores.
Para los desarrolladores interesados en explorar arquitecturas modernas alternativas, también ofrecemos un amplio soporte para detectores basados en Transformer como RT-DETR y elementos básicos generacionales anteriores como Ultralytics YOLO11.