YOLOv10 YOLO: evolución de las arquitecturas de detección de objetos en tiempo real
En el panorama en rápida evolución de la visión artificial, la búsqueda del equilibrio óptimo entre latencia y precisión impulsa la innovación constante. Dos hitos importantes en este viaje son YOLOv10, conocido por su innovador entrenamiento NMS, y YOLO, que aprovechó la búsqueda de arquitectura neuronal (NAS) para superar los límites de eficiencia. Esta comparación explora sus diferencias arquitectónicas, métricas de rendimiento e idoneidad para las aplicaciones modernas de IA.
Análisis de las métricas de rendimiento
La siguiente tabla presenta una comparación detallada de los indicadores clave de rendimiento. YOLOv10 demuestra una eficiencia superior en la utilización de parámetros y la velocidad de inferencia en las GPU modernas, especialmente en las variantes de modelos más grandes.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
YOLOv10: El Pionero de Extremo a Extremo
Publicado en mayo de 2024 por investigadores de la Universidad de Tsinghua, YOLOv10 introdujo un cambio de paradigma al eliminar la necesidad de la supresión no máxima (NMS). Esta arquitectura aborda la variación de latencia que suelen causar los pasos de posprocesamiento en los detectores tradicionales.
Características arquitectónicas clave
- EntrenamientoNMS: utiliza asignaciones duales consistentes para el entrenamiento NMS, lo que permite al modelo predecir directamente un único cuadro delimitador por objeto. Esto es crucial para aplicaciones que requieren una latencia predecible, como los vehículos autónomos o la robótica industrial.
- Diseño holístico de eficiencia y precisión: Los autores, Ao Wang et al., optimizaron varios componentes, incluyendo la columna vertebral y la cabeza, para reducir la redundancia computacional.
- Cabezal de clasificación ligero: reduce la sobrecarga de la rama de clasificación, que a menudo es un cuello de botella en los detectores sin anclaje.
Puede ejecutar YOLOv10 a través de laPython Ultralytics , beneficiándose de la interfaz estandarizada.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
results[0].show()
YOLO: Búsqueda de arquitectura neuronal a gran escala
YOLO, desarrollado por Alibaba Group y lanzado en noviembre de 2022, se centra en el descubrimiento automatizado de arquitecturas eficientes. Mediante el uso de la búsqueda de arquitectura neuronal (NAS), el equipo se propuso encontrar la profundidad y anchura óptimas para las estructuras de detección con presupuestos computacionales estrictos.
Características arquitectónicas clave
- MAE-NAS Backbone: Utiliza una búsqueda evolutiva multiobjetivo para encontrar estructuras que equilibren la precisión de la detección y la velocidad de inferencia.
- RepGFPN eficiente: un diseño de cuello pesado que mejora la fusión de características, fundamental para detectar objetos a diversas escalas, como en el análisis de imágenes aéreas.
- ZeroHead: Un cabezal de detección simplificado que reduce la complejidad de las capas de predicción finales.
AunqueYOLO un gran rendimiento, su dependencia de complejos procesos NAS puede dificultar a los desarrolladores medios la reentrenamiento o modificación de la arquitectura para conjuntos de datos personalizados, en comparación con la configuración fácil de usar de Ultralytics .
La Ventaja de Ultralytics: Presentamos YOLO26
Aunque YOLOv10 YOLO avances significativos, el campo ha seguido progresando. Ultralytics se basa en el legado NMS de YOLOv10 lo integra en un ecosistema más robusto y listo para la producción.
¿Por qué elegir Ultralytics?
Ultralytics un ecosistema bien mantenido que garantiza que sus modelos no solo funcionen hoy, sino que sigan funcionando a medida que evolucionan las bibliotecas de hardware y software. A diferencia de muchos repositorios académicos, Ultralytics actualizaciones constantes, documentación exhaustiva y una integración perfecta con herramientas de implementación como TensorRT y OpenVINO.
Innovaciones de YOLO26
Para los desarrolladores que buscan lo mejor en velocidad y precisión, YOLO26 introduce varias mejoras críticas con respecto a sus predecesores:
- NMS de extremo a extremo: al igual que YOLOv10, YOLO26 es nativamente de extremo a extremo. Sin embargo, lo perfecciona aún más al eliminar la pérdida focal de distribución (DFL), lo que simplifica el gráfico del modelo para una mejor compatibilidad con dispositivos periféricos y chips de baja potencia.
- Optimizador MuSGD: Inspirado en las innovaciones en el entrenamiento de LLM (concretamente en Kimi K2 de Moonshot AI), YOLO26 utiliza el optimizador MuSGD. Este híbrido de SGD Muon aporta una estabilidad sin precedentes al entrenamiento, lo que permite una convergencia más rápida y una reducción GPU .
- CPU : YOLO26 está específicamente optimizado para la computación periférica, lo que proporciona una inferencia hasta un 43 % más rápida en las CPU. Esto lo convierte en la opción ideal para aplicaciones de IoT en las que no se dispone de GPU.
- Funciones de pérdida mejoradas: la introducción de ProgLoss y STAL (aprendizaje autónomo de anclajes) mejora significativamente el rendimiento en objetos pequeños y fondos difíciles.
Casos de uso comparativos
La selección del modelo adecuado depende en gran medida de las limitaciones específicas de su implementación y los requisitos de su flujo de trabajo.
Cuándo usar DAMO-YOLO
YOLO un candidato ideal para escenarios de investigación relacionados con la búsqueda de arquitectura neuronal (NAS). Si su proyecto requiere investigar cómo las estrategias de búsqueda automatizadas afectan a la extracción de características, o si está profundamente integrado en el ecosistema de Alibaba, este modelo le proporcionará información muy valiosa. Su módulo RepGFPN también es una excelente referencia para estudios de fusión de características.
Cuándo utilizar YOLOv10
YOLOv10 excelente para aplicaciones en las que es fundamental una baja variación de la latencia. Su diseño NMS garantiza que el tiempo de inferencia se mantenga estable independientemente del número de objetos detectados, lo cual es vital para los sistemas de seguridad en tiempo real.
- Vigilancia en tiempo real: velocidades de fotogramas constantes para escenas con mucha gente.
- Robótica: sincronización predecible para los bucles de control.
Por qué YOLO26 es la mejor opción
Para la mayoría de los desarrolladores y aplicaciones comerciales, Ultralytics ofrece el paquete más atractivo. Combina las ventajas NMS de YOLOv10 una eficiencia de entrenamiento superior y una amplia compatibilidad con el hardware.
- Facilidad de uso: Entrene, valide e implemente con una única Python .
- Versatilidad: a diferencia deYOLO, YOLO26 admite un conjunto completo de tareas, entre las que se incluyen la segmentación de instancias, la estimación de poses, la clasificación y los rectángulos delimitadores orientados (OBB).
- Eficiencia de memoria: YOLO26 requiere una cantidad significativamente menor CUDA durante el entrenamiento en comparación con los modelos híbridos de transformador, lo que permite el entrenamiento en GPU de consumo.
- Integración de plataformas: exportación fluida a ONNX, CoreML y TFLite la Ultralytics , lo que agiliza el proceso desde el prototipo hasta la producción.
Ejemplo de código: Flujo de trabajo YOLO26
Con Ultralytics, la transición a la última tecnología es muy sencilla. El siguiente fragmento de código muestra cómo cargar el modelo YOLO26 de última generación, ejecutar la inferencia y exportarlo para su implementación.
from ultralytics import YOLO
# Load the YOLO26s model (Small version)
model = YOLO("yolo26s.pt")
# Train on COCO8 dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for simplified deployment
model.export(format="onnx", opset=13)
Conclusión
Tanto YOLOv10 YOLO aportado valiosas innovaciones al campo de la visión artificial. YOLOv10 demostró la viabilidad de la detección NMS, mientras que YOLO puso de manifiesto el poder de NAS. Sin embargo, Ultralytics sintetiza estos avances en una herramienta completa, fácil de usar y de alto rendimiento. Con su velocidad superior, versatilidad de tareas y el respaldo de un ecosistema robusto, YOLO26 se erige como la solución recomendada para los desarrolladores que crean la próxima generación de aplicaciones de IA.
Para obtener más información, consulte la YOLO11 o el documento sobre el modelo RT-DETR basado en transformadores. RT-DETR basado en transformadores para conocer enfoques arquitectónicos alternativos.