YOLOv10 frente a YOLOv7#
La rápida evolución 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 pone de relieve una etapa crucial de esta evolución. YOLOv7 introdujo estrategias de entrenamiento muy eficaces y escalado arquitectónico, mientras que YOLOv10 revolucionó el despliegue al eliminar la dependencia histórica de la supresión no máxima (NMS).
Ambos modelos ampliaron los límites de la detección de objetos cuando se publicaron, pero el moderno ecosistema Ultralytics y la llegada de modelos de nueva 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 el origen de estos modelos aporta un contexto valioso sobre las decisiones de diseño de su arquitectura y la investigación académica que las impulsa.
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 integral 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: Institute of Information Science, Academia Sinica, Taiwán
- Fecha: 2022-07-06
- Arxiv: YOLOv7: el conjunto de técnicas gratuitas entrenables establece un nuevo estado del arte
- GitHub: WongKinYiu/yolov7
- Documentación: Documentación de Ultralytics YOLOv7
Innovaciones arquitectónicas#
El enfoque de YOLOv7#
Lanzado en 2022, YOLOv7 se centró especialmente en optimizar las rutas del gradiente. Introdujo Extended Efficient Layer Aggregation Network (E-ELAN), que permitió al modelo aprender características más diversas sin destruir la ruta del gradiente original. Además, los autores implementaron una metodología de «conjunto de técnicas gratuitas entrenables» que utilizaba técnicas de reparametrización durante el entrenamiento; estas podían fusionarse y eliminarse durante la inferencia para mantener una ejecución rápida. A pesar de estas impresionantes optimizaciones, YOLOv7 seguía dependiendo en gran medida de NMS para el posprocesamiento, lo que generaba una latencia variable al analizar escenas densas.
El avance de YOLOv10#
YOLOv10 abordó directamente el cuello de botella de NMS. Al introducir asignaciones duales coherentes durante el entrenamiento, el equipo de la Universidad de Tsinghua hizo posible la detección integral sin NMS. Este enfoque de doble cabeza utiliza una rama con asignaciones de uno a muchos para obtener señales de supervisión abundantes durante el entrenamiento y otra con asignaciones de uno a uno para realizar inferencias sin NMS. Este cambio arquitectónico garantiza una latencia de inferencia uniformemente ultrabaja, adecuada para el análisis de vídeo de alta velocidad. Además, YOLOv10 emplea un diseño integral del modelo que prioriza la eficiencia y la precisión, y elimina la redundancia computacional de generaciones anteriores.
Eliminar el posprocesamiento NMS no solo acelera la inferencia, sino que también simplifica considerablemente el despliegue en hardware de IA periférico, como aceleradores de IA y NPU, donde las operaciones NMS personalizadas son notoriamente difíciles de compilar.
Comparativa de rendimiento#
Al comparar las métricas sin procesar en el conjunto de datos MS COCO, la diferencia generacional queda patente. YOLOv10 ofrece 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) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 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 alcanza un mAP superior del 54,4 % frente al 53,1 % de YOLOv7x, utilizando menos de la mitad de parámetros (29,5 M frente a 71,3 M). Además, los modelos ligeros de YOLOv10 (Nano y Small) ofrecen velocidades excepcionales de despliegue con TensorRT, lo que los hace muy atractivos para su despliegue en dispositivos móviles.
La ventaja del ecosistema Ultralytics#
Aunque estudiar artículos sobre arquitectura resulta instructivo, el desarrollo moderno de la visión artificial depende de marcos robustos y bien mantenidos. Elegir un modelo compatible con Ultralytics ofrece una gran ventaja a los desarrolladores que quieren pasar rápidamente del prototipo a producción.
Desarrollo simplificado#
El paquete estándar de Python de Ultralytics admite YOLOv10 de forma nativa, mientras que los puntos de control de YOLOv7 entrenados en el repositorio original solo se pueden ejecutar en Ultralytics después de exportarlos a ONNX o TensorRT. La compatibilidad nativa ofrece una facilidad de uso incomparable y sustituye miles de líneas de código repetitivo por una API sencilla e intuitiva. Además, los modelos YOLO de Ultralytics necesitan mucha menos memoria CUDA durante el entrenamiento que las arquitecturas Transformer de gran tamaño, lo que permite utilizar tamaños de lote mayores en hardware de consumo.
Versatilidad incomparable#
Mientras que los repositorios más antiguos suelen centrarse exclusivamente en la detección de cuadros delimitadores, el marco integrado de Ultralytics admite sin problemas una enorme variedad de tareas. Tanto si realizas segmentación de instancias, estimación de pose o detección con cuadros delimitadores orientados (OBB), el flujo de trabajo es el mismo.
Ejemplo de código: flujos de entrenamiento coherentes#
El siguiente fragmento de código muestra el proceso de entrenamiento sencillo, que gestiona automáticamente el aumento de datos y la programación de la tasa de aprendizaje:
from ultralytics import YOLO
# Carga el modelo que quieras (por ejemplo, YOLOv10 o el recomendado YOLO26)
model = YOLO("yolo26n.pt")
# Entrena fácilmente el modelo con tu conjunto de datos
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Exporta al formato ONNX para agilizar el despliegue
model.export(format="onnx")Casos de uso y recomendaciones#
La elección entre YOLOv10 y YOLOv7 depende de los requisitos concretos de tu proyecto, las limitaciones del despliegue y tus preferencias de ecosistema.
Cuándo elegir YOLOv10#
YOLOv10 es una buena opción para:
- Detección en tiempo real sin NMS: Aplicaciones que se benefician de la detección de extremo a extremo sin supresión no máxima, lo que reduce la complejidad de la implementación.
- Equilibrio entre velocidad y precisión: Proyectos que necesitan un buen equilibrio entre la velocidad de inferencia y la precisión de detección en distintas escalas de modelo.
- Aplicaciones con latencia constante: Escenarios de implementación en los que los tiempos de inferencia predecibles son fundamentales, como la robótica o los sistemas autónomos.
Cuándo elegir YOLOv7#
Se recomienda YOLOv7 para:
- Evaluación comparativa académica: reproducir resultados de vanguardia de 2022 o estudiar los efectos de E-ELAN y las técnicas de conjunto de técnicas gratuitas entrenables.
- Investigación sobre reparametrización: estudiar convoluciones reparametrizadas planificadas y estrategias de escalado compuesto de modelos.
- Flujos personalizados existentes: proyectos con flujos muy personalizados basados en la arquitectura específica de YOLOv7 que no se puedan 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 desarrolladores:
- Implementación edge sin NMS: Aplicaciones que necesitan inferencias uniformes y de baja latencia sin la complejidad del posprocesamiento con supresión no máxima.
- Entornos que solo usan CPU: Dispositivos sin aceleración GPU dedicada, en los que la inferencia con CPU hasta un 43 % más rápida de YOLO26 supone una ventaja decisiva.
- Detección de objetos pequeños: Casos exigentes, como las imágenes aéreas tomadas con drones o el análisis de sensores IoT, donde ProgLoss y STAL mejoran notablemente la precisión al detectar objetos diminutos.
El nuevo estándar: presentamos YOLO26#
Aunque YOLOv10 supuso un gran avance en 2024, el panorama de la visión artificial evoluciona a una velocidad extraordinaria. Para todo nuevo desarrollo, recomendamos encarecidamente el modelo de última generación: Ultralytics YOLO26. Lanzado en enero de 2026, representa la máxima expresión de la IA visual en tiempo real y supera ampliamente tanto a YOLOv7 como a YOLOv10.
YOLO26 incorpora innovaciones sin precedentes, diseñadas específicamente para los entornos de despliegue modernos:
- Diseño integral sin NMS: sobre la base establecida por YOLOv10, la cabeza opcional de uno a uno de YOLO26 (
nms=False) elimina el posprocesamiento NMS, lo que simplifica los flujos de despliegue y permite una inferencia rápida y uniforme. - Hasta un 43 % más rápido en inferencia en CPU: optimizado en gran medida para la computación periférica y los dispositivos sin GPU dedicada, con un importante ahorro en costes de hardware.
- Eliminación de DFL: Distribution Focal Loss se ha eliminado por completo, lo que simplifica radicalmente la lógica de exportación y mejora notablemente la compatibilidad con dispositivos periféricos de bajo consumo y microcontroladores.
- Optimizador MuSGD: inspirado en Kimi K2 de Moonshot AI, este método híbrido de SGD y Muon incorpora innovaciones de entrenamiento de modelos de lenguaje grandes (LLM) directamente a la visión artificial, lo que proporciona una dinámica de entrenamiento muy estable y una convergencia más rápida.
- ProgLoss + STAL: estas funciones de pérdida avanzadas mejoran notablemente el reconocimiento de objetos pequeños, un ámbito históricamente complejo y fundamental para drones, robótica y la monitorización de ciudades inteligentes.
- Mejoras específicas para cada tarea: YOLO26 no es solo un detector. Incluye una función de pérdida especializada para la segmentación semántica, Residual Log-Likelihood Estimation (RLE) para una estimación de pose de precisión ultraalta y algoritmos especializados de pérdida angular que eliminan los problemas de límites de OBB.
Para disfrutar de la mejor experiencia al gestionar tus conjuntos de datos, entrenar YOLO26 y desplegar modelos en la nube, explora la plataforma de Ultralytics. Ofrece una interfaz sin código que complementa a la perfección el SDK de Python.
Casos de uso reales#
La elección de la arquitectura adecuada depende en gran medida de las limitaciones de tu hardware y aplicación.
Cuándo usar YOLOv7#
YOLOv7 sigue siendo una opción fiable para mantener flujos heredados que ya estén muy integrados con sus estructuras de tensores específicas o para reproducir evaluaciones comparativas académicas de 2022 y 2023. Ofrece un rendimiento excelente en GPU de servidor de gama alta.
Cuándo usar YOLOv10#
YOLOv10 destaca en situaciones que exigen una latencia estricta y constante. Al no utilizar NMS, es excelente para el recuento de multitudes de alta densidad o la detección de defectos de fabricación, donde el número de objetos fluctúa enormemente, 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 desplegar sofisticados sistemas de alarma de seguridad en una Raspberry Pi básica hasta ejecutar análisis de vídeo masivos en la nube, sus velocidades superiores en CPU y su detección avanzada de objetos pequeños lo hacen muy superior a las generaciones anteriores.
Para los desarrolladores interesados en explorar arquitecturas modernas alternativas, también ofrecemos una amplia compatibilidad con detectores basados en Transformer como RT-DETR y modelos emblemáticos de generaciones anteriores como Ultralytics YOLO11.