YOLOv9 YOLO10: un análisis técnico en profundidad de la evolución de la detección de objetos
El panorama de la detección de objetos en tiempo real ha evolucionado rápidamente, y en 2024 se lanzarán dos arquitecturas importantes: YOLOv9 y YOLOv10. Aunque ambos modelos tienen como objetivo ampliar los límites de la precisión y la eficiencia, lo consiguen mediante filosofías arquitectónicas fundamentalmente diferentes. YOLOv9 en maximizar la retención de información en las capas profundas de la red, mientras que YOLOv10 el proceso de implementación al eliminar la necesidad de la supresión no máxima (NMS).
Esta guía ofrece una comparación técnica exhaustiva para ayudar a los investigadores e ingenieros a elegir la herramienta adecuada para sus aplicaciones específicas de visión artificial.
YOLOv9: Información de Gradiente Programable
Lanzado en febrero de 2024 por Chien-Yao Wang y Hong-Yuan Mark Liao (el equipo detrás de YOLOv4 y YOLOv7), YOLOv9 el problema del «cuello de botella de la información» inherente a las redes neuronales profundas. A medida que los datos pasan por capas sucesivas, los datos de entrada a menudo se pierden, lo que degrada la capacidad del modelo para aprender características específicas.
Para combatir esto, YOLOv9 PGI (Información de gradiente programable) y la arquitectura GELAN (Red de agregación de capas eficiente generalizada). PGI proporciona una rama de supervisión auxiliar que garantiza que la rama principal conserve la información crítica durante el entrenamiento, mientras que GELAN optimiza la utilización de los parámetros para una mejor planificación de la ruta del gradiente.
- Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
- Organización: Instituto de Ciencias de la Información, Academia Sinica, Taiwán
- Fecha: 2024-02-21
- Arxiv:YOLOv9: Aprendiendo lo que quieres aprender usando información de gradiente programable
- GitHub:WongKinYiu/yolov9
YOLOv10: Detección de extremo a extremo en tiempo real
Lanzado poco después, en mayo de 2024, por investigadores de la Universidad de Tsinghua, YOLOv10 un cambio significativo en el YOLO . Históricamente, YOLO se basaban en NMS para filtrar los cuadros delimitadores superpuestos. YOLOv10 una estrategia de asignación dual coherente durante el entrenamiento, utilizando la asignación uno a muchos para una supervisión rica y la asignación uno a uno para la inferencia, lo que permite que el modelo sea nativamente NMS.
Este cambio arquitectónico reduce la latencia de inferencia y simplifica los procesos de implementación, lo que lo hace especialmente atractivo para la computación periférica, donde CPU son muy valiosos.
- 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
Comparación de rendimiento
Al comparar estas dos arquitecturas, analizamos las ventajas e inconvenientes entre la capacidad de detección bruta (mAP) y la eficiencia de inferencia (latencia y FLOP).
Análisis de métricas
La siguiente tabla destaca las métricas de rendimiento en el COCO . Mientras que YOLOv9e demuestra una precisión superior para tareas complejas, YOLOv10 suelen ofrecer una latencia menor debido a la eliminación de NMS .
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Puntos clave
- Latencia frente a precisión: YOLOv10n alcanza un mAP más alto mAP 39,5 %) que YOLOv9t (38,3 %) y funciona mucho más rápido en GPU (1,56 ms frente a 2,3 ms). Esto hace que la arquitectura v10 sea muy eficiente para implementaciones a pequeña escala.
- Precisión de primer nivel: para escenarios de investigación en los que cada punto porcentual de precisión es importante, YOLOv9e sigue siendo una potencia con mAP del 55,6 %, utilizando su información de gradiente programable para extraer características sutiles que otros modelos podrían pasar por alto.
- Eficiencia: YOLOv10 su eficiencia en FLOP. YOLOv10 solo requiere 21,6 G FLOP, frente a los 26,4 G de YOLOv9, lo que se traduce en un menor consumo de energía en dispositivos que funcionan con batería.
Consideraciones de hardware
Si está implementando en CPU (como procesadores Intel ) o hardware periférico especializado (Raspberry Pi, Jetson), el diseño NMS YOLOv10 suele dar como resultado un proceso más fluido, ya que elimina el tiempo de procesamiento no determinista de los pasos de posprocesamiento.
Entrenamiento y ecosistema
Una de las mayores ventajas de utilizar Ultralytics es el ecosistema unificado. Tanto si elige YOLOv9 YOLOv10, los flujos de trabajo de entrenamiento, validación y exportación siguen siendo idénticos. Esta coherencia reduce drásticamente la curva de aprendizaje para los desarrolladores.
La ventaja de Ultralytics
- Facilidad de uso: Una sencilla Python te permite intercambiar arquitecturas cambiando una sola cadena (por ejemplo, de
yolov9c.pta datosyolov10m.pt). - Ecosistema bien mantenido: Ultralytics actualizaciones frecuentes, lo que garantiza la compatibilidad con la última versión de PyTorch y CUDA .
- Requisitos de memoria: a diferencia de muchos modelos basados en transformadores que sufren de sobrecarga de memoria, Ultralytics están optimizadas para la eficienciaGPU . Esto permite tamaños de lotes más grandes en hardware de consumo.
Ejemplo de Entrenamiento
Entrenar cualquiera de los dos modelos con un conjunto de datos personalizado es muy sencillo. El marco gestiona automáticamente el aumento de datos, el almacenamiento en caché y el registro de métricas.
from ultralytics import YOLO
# Load a model (Swap "yolov10n.pt" for "yolov9c.pt" to switch architectures)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
model.val()
# Export to ONNX for deployment
model.export(format="onnx")
Casos de Uso Ideales
Cuándo elegir YOLOv9
YOLOv9 la opción preferida para escenarios que exigen una alta fidelidad de características. Su arquitectura GELAN es resistente a la pérdida de información, lo que la hace ideal para:
- Imágenes médicas: detección de tumores pequeños o anomalías en los que es fundamental detectar cualquier característica que pueda pasar desapercibida. Consulte nuestra guía sobre la IA en el ámbito sanitario.
- Detección de objetos pequeños: Escenarios que implican imágenes aéreas o vigilancia a distancia en los que los objetos ocupan muy pocos píxeles.
- Puntos de referencia de investigación: al comparar con arquitecturas de última generación de principios de 2024.
Cuándo elegir YOLOv10
YOLOv10 diseñado para ofrecer velocidad y facilidad de implementación. La eliminación de NMS lo NMS un fuerte competidor para:
- Computación periférica: Se ejecuta en dispositivos como Raspberry Pi o teléfonos móviles, donde CPU derivada del posprocesamiento provoca cuellos de botella.
- Robótica en tiempo real: aplicaciones que requieren bucles de retroalimentación consistentes y de baja latencia, como la navegación autónoma.
- Tuberías complejas: sistemas en los que la salida del detector se introduce en algoritmos de seguimiento; la salida NMS simplifica la lógica para las tareas posteriores.
Perspectivas Futuras: El Poder de YOLO26
Aunque YOLOv9 YOLOv10 modelos excelentes, el campo de la IA avanza rápidamente. Para los nuevos proyectos que se inicien en 2026, recomendamos encarecidamente evaluar YOLO26.
Lanzado en enero de 2026, YOLO26 se basa en el avance NMS de YOLOv10 introduce importantes mejoras arquitectónicas:
- NMS de extremo a extremo: al igual que la versión 10, YOLO26 es nativamente de extremo a extremo, pero con optimizaciones adicionales en el cabezal de detección para una precisión aún mayor.
- Optimizador MuSGD: híbrido entre SGD Muon (inspirado en el entrenamiento LLM), este optimizador aporta la estabilidad del entrenamiento de modelos de lenguaje grandes a la visión artificial, lo que garantiza una convergencia más rápida.
- Eliminación de DFL: al eliminar la pérdida focal de distribución, YOLO26 simplifica el gráfico de exportación, lo que facilita considerablemente su implementación en dispositivos con limitaciones de NPU.
- ProgLoss + STAL: Nuevas funciones de pérdida específicamente ajustadas para mejorar el reconocimiento de objetos pequeños, abordando una debilidad común en los detectores en tiempo real.
- Rendimiento: optimizado específicamente para la computación periférica, YOLO26 ofrece CPU hasta un 43 % más rápida en comparación con las generaciones anteriores.
Además, YOLO26 no es solo un detector, sino que incluye mejoras especializadas para la estimación de poses (mediante RLE), la segmentación de instancias y las tareas de Oriented Bounding Box (OBB), lo que lo convierte en la herramienta más versátil del Ultralytics .
Conclusión
Tanto YOLOv9 YOLOv10 importantes avances en el campo de la visión artificial. YOLOv9 que las redes profundas podían ser más eficientes sin perder información, mientras que YOLOv10 que NMS romper con la dependencia de décadas del NMS .
Para los desarrolladores actuales, la elección depende en gran medida de las limitaciones de implementación. Si se requiere la máxima precisión en datos difíciles, YOLOv9e es una buena opción. Si la latencia y la simplicidad de implementación son primordiales, YOLOv10 excelente. Sin embargo, para obtener el mejor equilibrio entre velocidad, precisión y características preparadas para el futuro, YOLO26 se erige como la recomendación más avanzada para los usuarios Ultralytics .