YOLOv10 YOLOv9: avances en la detección de objetos en tiempo real
El año 2024 marcó un periodo de rápida innovación en el panorama de la detección de objetos, con el lanzamiento de dos arquitecturas significativas: YOLOv10 y YOLOv9. Aunque ambos modelos tienen como objetivo superar los límites de velocidad y precisión, lo consiguen mediante filosofías arquitectónicas fundamentalmente diferentes.
YOLOv10 en eliminar la latencia de inferencia causada por el posprocesamiento mediante un diseño NMS, mientras que YOLOv9 la retención de información en redes profundas utilizando información de gradiente programable (PGI).
Comparación de rendimiento
La siguiente tabla ofrece una visión detallada de cómo se comparan estos modelos en los puntos de referencia estándar. Los datos ponen de relieve las compensaciones entre la eficiencia de los parámetros, la velocidad de inferencia y la precisión de la detección (mAP).
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
YOLOv10: El Pionero de Extremo a Extremo
YOLOv10, desarrollado por investigadores de la Universidad de Tsinghua, representa un cambio hacia el procesamiento integral. Lanzado el 23 de mayo de 2024 por Ao Wang, Hui Chen y sus colegas, aborda el cuello de botella de la supresión no máxima (NMS).
Características arquitectónicas clave
- FormaciónNMS: al emplear asignaciones duales coherentes, YOLOv10 la necesidad de NMS la inferencia. Esto reduce la latencia y simplifica los procesos de implementación, especialmente para aplicaciones de computación periférica.
- Diseño de eficiencia holística: la arquitectura optimiza diversos componentes para reducir la sobrecarga computacional (FLOP) y mantener al mismo tiempo una alta capacidad.
- Mejora de la latencia: como se muestra en la tabla, YOLOv10 suelen ofrecer tiempos de inferencia más bajos en comparación con sus YOLOv9 para niveles de precisión similares.
Para obtener más detalles técnicos, puede consultar el artículoYOLOv10 .
YOLOv9: Dominando el flujo de información
YOLOv9, publicado el 21 de febrero de 2024 por Chien-Yao Wang y Hong-Yuan Mark Liao, de la Academia Sinica, se centra en la cuestión teórica de la pérdida de información en las redes neuronales profundas.
Características arquitectónicas clave
- Arquitectura GELAN: La red de agregación de capas eficiente generalizada combina las ventajas de CSPNet y ELAN para maximizar la utilización de los parámetros.
- Información de gradiente programable (PGI): este mecanismo de supervisión auxiliar garantiza que las capas profundas conserven la información crítica para una detección precisa, lo que hace que el modelo sea muy eficaz para tareas que requieren una alta precisión.
- Alta precisión: el modelo YOLOv9e alcanza un impresionantemAPval del 55,6 %, superando a muchos de sus contemporáneos en cuanto a precisión de detección pura.
Para profundizar más, lea el artículoYOLOv9 .
Entrenamiento y facilidad de uso
Ambos modelos están totalmente integrados en el Ultralytics , lo que proporciona una experiencia unificada y fluida para los desarrolladores. Tanto si utiliza YOLOv10 YOLOv9, la Python Ultralytics elimina la complejidad de los procesos de entrenamiento, el aumento de datos y el registro.
Ejemplo de código
Entrenar un modelo con un conjunto de datos personalizado o un benchmark estándar como COCO8 muy sencillo. El marco gestiona automáticamente las diferencias en la arquitectura.
from ultralytics import YOLO
# Load a model (Choose YOLOv10 or YOLOv9)
model = YOLO("yolov10n.pt") # or "yolov9c.pt"
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model
model.val()
Eficiencia de Memoria
YOLO Ultralytics están diseñados para un uso óptimo GPU . En comparación con las arquitecturas basadas en transformadores o los modelos de detección más antiguos, permiten tamaños de lote más grandes en hardware de consumo, lo que hace que la IA de última generación sea accesible a un público más amplio.
Casos de Uso Ideales
La elección entre YOLOv10 YOLOv9 depender de las limitaciones específicas de su entorno de implementación.
Cuándo elegir YOLOv10
- Restricciones de baja latencia: si su aplicación se ejecuta en dispositivos móviles o sistemas integrados en los que cada milisegundo cuenta, el diseño NMS de YOLOv10 una ventaja significativa.
- Implementación sencilla: la eliminación de los pasos de posprocesamiento simplifica la exportación a formatos como ONNX o TensorRT, lo que reduce el riesgo de incompatibilidad entre operadores.
- Vídeo en tiempo real: ideal para la gestión del tráfico o líneas de fabricación de alta velocidad donde el rendimiento es fundamental.
Cuándo elegir YOLOv9
- Máxima precisión: para aplicaciones de investigación o escenarios en los que la precisión es fundamental (por ejemplo, el análisis de imágenes médicas), la arquitectura mejorada con PGI de YOLOv9e ofrece resultados superiores.
- Detección de objetos pequeños: La rica preservación de características de GELAN hace que YOLOv9 sea YOLOv9 robusto para detectar objetos pequeños u ocultos en imágenes aéreas.
- Escenas complejas: en entornos con gran cantidad de elementos visuales, la información de gradiente programable ayuda al modelo a distinguir las características relevantes de forma más eficaz.
El futuro ya está aquí: YOLO26
Aunque YOLOv9 YOLOv10 herramientas muy potentes, el campo de la visión artificial evoluciona rápidamente. Ultralytics ha lanzado Ultralytics YOLO26, un modelo que sintetiza las mejores características de las generaciones anteriores e introduce optimizaciones revolucionarias.
YOLO26 es la opción recomendada para nuevos proyectos, ya que ofrece un equilibrio superior entre velocidad, precisión y versatilidad.
¿Por qué actualizar a YOLO26?
- NMS de extremo a extremo: al igual que YOLOv10, YOLO26 es nativamente de extremo a extremo. Elimina NMS , lo que garantiza una inferencia más rápida y simplifica los procesos de implementación.
- Optimizador MuSGD: Inspirado en las innovaciones en el entrenamiento de modelos de lenguaje grandes (LLM, por sus siglas en inglés) (concretamente, Kimi K2 de Moonshot AI), YOLO26 utiliza una combinación híbrida de SGD el optimizador Muon. Esto da como resultado un entrenamiento significativamente más estable y una convergencia más rápida.
- Eliminación de DFL: al eliminar la pérdida focal de distribución, YOLO26 optimiza la arquitectura del modelo, lo que lo hace más fácil de exportar y compatible con una gama más amplia de dispositivos periféricos/de bajo consumo.
- Salto en el rendimiento: las optimizaciones específicas para CPU ofrecen velocidades hasta un 43 % más rápidas que las generaciones anteriores, lo que lo convierte en una potencia para la IA de vanguardia.
- Versatilidad de tareas: A diferencia de las versiones v9 y v10, centradas en la detección, YOLO26 incluye mejoras especializadas para todas las tareas:
- Segmentación: nueva pérdida de segmentación semántica y proto multiescala.
- Pose: Estimación de la verosimilitud logarítmica residual (RLE) para puntos clave de alta precisión.
- OBB: Pérdida de ángulo especializada para gestionar problemas de límites en tareas de Oriented Bounding Box.
Flujo de trabajo optimizado con Ultralytics
Los desarrolladores pueden aprovechar la Ultralytics (antes HUB) para gestionar todo el ciclo de vida de sus modelos YOLO26. Desde la anotación de conjuntos de datos hasta el entrenamiento en la nube y la implementación en dispositivos periféricos, la plataforma proporciona una interfaz unificada que acelera el tiempo de comercialización.
Conclusión
Ambos YOLOv10 y YOLOv9 representan hitos importantes en la historia de la detección de objetos. YOLOv10 que las arquitecturas NMS podían alcanzar un rendimiento de vanguardia, mientras que YOLOv9 la importancia del flujo de información de gradientes en las redes profundas.
Sin embargo, para los desarrolladores que buscan la solución más robusta, versátil y preparada para el futuro, YOLO26 destaca como la mejor opción. Al combinar un diseño NMS con el revolucionario optimizador MuSGD y una amplia compatibilidad con tareas, YOLO26 ofrece el mejor equilibrio de rendimiento para las aplicaciones modernas de visión artificial.
Modelos relacionados
- YOLO11 : el robusto predecesor de YOLO26, conocido por su estabilidad.
- YOLOv8 : un clásico versátil muy utilizado en la industria.
- RT-DETR : detector en tiempo real basado en transformadores.