YOLOv10 frente a YOLOv10: evolución arquitectónica y análisis de rendimiento
La evolución de la familia YOLO (You Only Look Once) representa una fascinante línea temporal de avances en visión por ordenador, que equilibra el eterno compromiso entre velocidad de inferencia y precisión de detección. Esta comparación profundiza en dos hitos significativos: YOLOv7un modelo robusto que marcó nuevos hitos en 2022, y YOLOv10una versión de 2024 que introduce un cambio de paradigma con el entrenamiento NMS.
Aunque ambos modelos son excelentes opciones para la detección de objetos, responden a filosofías arquitectónicas diferentes. YOLOv10 va más allá de los límites de los "bag-of-freebies" entrenables y de la optimización de la ruta de gradiente, mientras que YOLOv10 se centra en eliminar los cuellos de botella del posprocesamiento para lograr una eficiencia integral en tiempo real.
YOLOv7: optimización de la Trayectoria Gradiente
Lanzado en julio de 2022, YOLOv7 introdujo importantes cambios arquitectónicos centrados en optimizar el proceso de entrenamiento sin aumentar los costes de inferencia. Rápidamente se convirtió en uno de los favoritos para tareas de visión por ordenador de uso general gracias a su gran precisión en el conjunto de datosCOCO .
Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
Organización: Institute of Information Science, Academia Sinica, Taiwan
Fecha: 2022-07-06
ArXiv:YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors
GitHub:WongKinYiu/yolov7
Principales características arquitectónicas
YOLOv7 introdujo la Red de Agregación de Capas Eficiente Ampliada (E-ELAN). Esta arquitectura permite que el modelo aprenda características más diversas controlando las rutas de gradiente más corta y más larga, lo que garantiza que la red converja eficazmente durante el entrenamiento.
Además, YOLOv7 utiliza en gran medida métodos "Bag-of-Freebies" que mejoran la precisión durante el entrenamiento sin aumentar el coste de la inferencia. Entre ellos se incluye la re-parametrización del modelo, donde una estructura de entrenamiento compleja se simplifica en una estructura de inferencia racionalizada, reduciendo la latencia y manteniendo el rendimiento aprendido.
YOLOv10: El fin de NMS
YOLOv10, lanzado en mayo de 2024 por investigadores de la Universidad de Tsinghua, aborda un antiguo cuello de botella en la detección de objetos: La supresión no máximaNMS). Los modelos YOLO tradicionales predicen múltiples cuadros delimitadores para un único objeto y dependen de la NMS para filtrar los duplicados. Este paso de posprocesamiento añade una latencia que varía en función del número de objetos de la escena.
Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
Organización: Universidad Tsinghua
Fecha: 2024-05-23
ArXiv:YOLOv10: Real-Time End-to-End Object Detection
GitHub:THU-MIG/yolov10
Principales características arquitectónicas
YOLOv10 introduce una estrategia de Asignación Dual Consistente. Durante el entrenamiento, el modelo utiliza tanto una cabeza de uno a muchos (para una supervisión rica) como una cabeza de uno a uno (para la predicción de extremo a extremo). Durante la inferencia, sólo se utiliza la cabeza uno a uno, eliminando por completo la necesidad de NMS . Esto da como resultado una inferencia predecible y de baja latencia, lo que la hace muy adecuada para aplicaciones de IA de borde en las que el tiempo de procesamiento debe ser constante.
Comparación técnica: Arquitectura y rendimiento
La principal diferencia entre estos modelos radica en su enfoque de la eficacia de la inferencia. YOLOv7 se basa en una columna vertebral altamente optimizada (E-ELAN) para extraer características de forma eficiente, pero sigue necesitando el postprocesamiento tradicional. YOLOv10 modifica el cabezal de detección fundamental para eliminar los pasos de posprocesamiento, con lo que se consigue una latencia menor para niveles de precisión similares.
Métricas de rendimiento
Como se ilustra en la tabla siguiente, YOLOv10 demuestra una eficiencia superior. Por ejemplo, YOLOv10b consigue un mAP (52,7%) mayor que el de YOLOv7l (51,4%) al tiempo que utiliza muchos menos parámetros (24,4M frente a 36,9M) y operaciones en coma flotante (FLOPs).
Comprender la latencia
Las métricas de "Velocidad" destacan el impacto del diseño NMS de YOLOv10. Al eliminar el paso NMS , YOLOv10 reduce la sobrecarga computacional durante la inferencia, lo que resulta especialmente beneficioso en aceleradores de hardware como TensorRT , donde el posprocesamiento puede convertirse en un cuello de botella.
| 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 |
| 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 |
Fortalezas y Debilidades
Puntos fuertes YOLOv7 :
- Robustez probada: Probado exhaustivamente en diversos entornos académicos e industriales desde 2022.
- Soporte de alta resolución: Excelente rendimiento en entradas de mayor resolución (por ejemplo, 1280 píxeles) a través de variantes W6/E6 específicas.
- Recursos comunitarios: Debido a su antigüedad, existe un gran volumen de tutoriales e implementaciones de terceros.
Debilidades de YOLOv7 :
- Complejidad: La re-parametrización y la estructura de cabezas auxiliares pueden complicar el pipeline de entrenamiento en comparación con los modelos modernos Ultralytics .
- DependenciaNMS NMS: La velocidad de inferencia depende parcialmente de la densidad de la escena debido al NMS.
Puntos fuertes de YOLOv10 :
- Latencia mínima: La arquitectura NMS permite una inferencia extremadamente rápida, ideal para la inferencia en tiempo real.
- Eficacia: Consigue la máxima precisión con menos parámetros y menor uso de memoria.
- Facilidad de despliegue: La eliminación del paso NMS simplifica el proceso de exportación a formatos como ONNX y TensorRT.
Debilidades de YOLOv10 :
- Especificidad de la tarea: se centra principalmente en la detección de objetos, mientras que otros modelos del ecosistema Ultralytics (como YOLO11) admiten de forma nativa la segmentación, la estimación de la pose y el OBB en un marco unificado.
Casos de Uso Ideales
La elección entre YOLOv7 y YOLOv10 depende a menudo de las limitaciones específicas del entorno de implantación.
- Utilice YOLOv7 si: Está trabajando en un proyecto heredado que ya integra la arquitectura v7, o si necesita variantes específicas de alta resolución (como YOLOv7) para la detección de objetos pequeños en imágenes grandes en las que la velocidad de inferencia es secundaria a la precisión bruta.
- Utilice YOLOv10 si: Está desplegando en dispositivos de borde con recursos limitados (Raspberry Pi, Jetson Nano, teléfonos móviles) o requiere una latencia mínima absoluta para aplicaciones como la conducción autónoma o la robótica de alta velocidad. La menor huella de memoria también hace que sea más barato de ejecutar en entornos de nube.
La ventaja Ultralytics
Tanto si se opta por YOLOv7 como por YOLOv10, su utilización a través de la APIPython Ultralytics Ultralytics proporciona ventajas significativas sobre el uso de código de repositorio sin procesar. Ultralytics ha integrado estos modelos en un ecosistema unificado que prioriza la facilidad de uso, la eficiencia de la formación y la versatilidad.
Experiencia de usuario optimizada
Históricamente, el entrenamiento de modelos complejos de aprendizaje profundo requería gestionar intrincados archivos de configuración y dependencias. El marco Ultralytics estandariza este proceso. Los desarrolladores pueden cambiar entre arquitecturas (por ejemplo, de YOLOv10n a YOLOv10s o incluso a YOLO11) cambiando un único argumento de cadena, sin necesidad de reescribir los cargadores de datos o los scripts de validación.
Ejemplo de código
El siguiente ejemplo demuestra cómo cargar y predecir con estos modelos utilizando el paquete Ultralytics . Observe cómo la API sigue siendo coherente independientemente de la arquitectura del modelo subyacente.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (NMS-free)
model_v10 = YOLO("yolov10n.pt")
# Load a pre-trained YOLOv7 model
model_v7 = YOLO("yolov7.pt")
# Run inference on an image
# The API handles underlying differences automatically
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v7 = model_v7("https://ultralytics.com/images/bus.jpg")
# Print results
for result in results_v10:
result.show() # Display predictions
Ecosistema y garantía de futuro
Aunque YOLOv7 y YOLOv10 son potentes, el ecosistema Ultralytics está en continua evolución. El último YOLO11 se basa en las lecciones aprendidas tanto de la v7 (agregación de características) como de la v10 (eficiencia).
- Bien mantenido: Las actualizaciones frecuentes garantizan la compatibilidad con las últimas versiones de PyTorch, CUDA y formatos de exportaciónCoreML, ONNX, TensorRT).
- Eficiencia de memoria: Los modelos Ultralytics están diseñados para minimizar el uso de VRAM de GPU durante el entrenamiento, lo que permite tamaños de lote más grandes en hardware de consumo en comparación con muchas alternativas basadas en Transformer (como RT-DETR).
- Eficiencia del entrenamiento: Con hiperparámetros preajustados y exploración "inteligente" del conjunto de datos, la convergencia del entrenamiento suele ser más rápida, lo que ahorra costes de computación.
Para los desarrolladores que empiezan hoy nuevos proyectos, explorar YOLO11 ya que ofrece un equilibrio refinado entre la velocidad de YOLOv10 y la sólida extracción de características de sus predecesores, junto con soporte nativo para tareas que van más allá de la simple detección, como la segmentación de instancias y la estimación de poses.
Explorar Otros Modelos
Si le interesan otras comparaciones o diferentes arquitecturas, considere estos recursos:
- YOLO11 vs YOLOv8 - Compara los últimos modelos de última generación.
- RT-DETR frente a YOLOv10 - Detección basada en transformadores frente a eficacia basada en CNN.
- YOLOv9 frente a YOLOv10 - Examen de la información de gradiente programable (PGI) frente a los diseños NMS.