YOLOv9 vs. YOLOv10: Una comparación técnica para la detección de objetos
Seleccionar el modelo de object detection adecuado es una decisión crítica para desarrolladores e investigadores, que equilibra la necesidad de alta precisión con las limitaciones de la inferencia en tiempo real y los recursos computacionales. Esta guía proporciona una comparación técnica en profundidad entre YOLOv9 y YOLOv10, dos arquitecturas de última generación que han superado los límites del rendimiento de la visión artificial en 2024.
Mientras que YOLOv9 se centra en innovaciones arquitectónicas para resolver los cuellos de botella de información del aprendizaje profundo, YOLOv10 introduce un cambio de paradigma con un diseño sin NMS para una latencia mínima. Ambos modelos están totalmente integrados en el paquete de python de Ultralytics, lo que permite a los usuarios entrenarlos, validarlos e implementarlos fácilmente dentro de un ecosistema unificado.
Métricas de rendimiento y puntos de referencia
Las compensaciones de rendimiento entre estos dos modelos son distintas. YOLOv9 generalmente supera los límites de la precisión media promedio (mAP), particularmente con sus variantes más grandes, lo que lo hace adecuado para escenarios donde la precisión es primordial. Por el contrario, YOLOv10 está diseñado para la eficiencia, reduciendo significativamente la latencia de inferencia y el recuento de parámetros, lo que es ideal para la implementación en el borde.
La siguiente tabla ilustra estas diferencias utilizando el conjunto de datos COCO. En particular, YOLOv10n alcanza velocidades increíbles en las GPU T4, mientras que YOLOv9e domina en precisión de detección.
| 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 |
YOLOv9: Solucionando el Cuello de Botella de la Información
Lanzado en febrero de 2024, YOLOv9 se dirige a un desafío teórico fundamental en las redes neuronales profundas: la pérdida de información a medida que los datos se propagan a través de las capas profundas. Este modelo está diseñado para garantizar que la red conserve las características esenciales necesarias para una detección de objetos precisa.
Detalles técnicos:
- Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
- Organización:Institute of Information Science, Academia Sinica
- Fecha: 2024-02-21
- Arxiv:arXiv:2402.13616
- GitHub:WongKinYiu/yolov9
Arquitectura: PGI y GELAN
YOLOv9 introduce dos conceptos innovadores:
- Información de gradiente programable (PGI): Un marco de supervisión auxiliar que evita la pérdida de información durante el entrenamiento. Garantiza que se generen gradientes fiables para actualizar los pesos de la red, resolviendo los problemas de supervisión profunda que se encuentran en arquitecturas anteriores.
- Red de Agregación de Capas Eficiente Generalizada (GELAN): Una arquitectura novedosa que maximiza la eficiencia de los parámetros. GELAN permite que el modelo alcance una mayor precisión con menos parámetros en comparación con los diseños convencionales al optimizar cómo se agregan las características a través de las capas.
Fortalezas y Debilidades
YOLOv9 destaca en aplicaciones críticas para la precisión. Su capacidad para preservar información detallada de las características la hace superior para la detección de objetos pequeños o la navegación en escenas complejas. Sin embargo, esta sofisticación conlleva una contrapartida en complejidad. Las adiciones arquitectónicas como PGI son principalmente para el entrenamiento, lo que significa que se pueden eliminar durante la inferencia, pero los recursos de entrenamiento podrían ser mayores. Además, aunque es eficiente, su latencia es generalmente mayor que los diseños eficientes especializados de YOLOv10.
YOLOv10: La era de la detección sin NMS
YOLOv10, desarrollado por investigadores de la Universidad de Tsinghua y lanzado en mayo de 2024, prioriza la velocidad en tiempo real y la capacidad de despliegue de extremo a extremo. Su característica principal es la eliminación de la Supresión No Máxima (NMS), un paso de post-procesamiento que tradicionalmente ha sido un cuello de botella para la latencia de inferencia.
Detalles técnicos:
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organización:Universidad de Tsinghua
- Fecha: 2024-05-23
- Arxiv:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
Arquitectura: Asignaciones duales consistentes
La innovación principal de YOLOv10 es la Asignación Dual Consistente durante el entrenamiento. El modelo emplea una estrategia de asignación de uno a muchos para una supervisión enriquecida durante el entrenamiento, pero cambia a una asignación de uno a uno para la inferencia. Esta arquitectura permite que el modelo prediga directamente el cuadro delimitador óptimo para cada objeto, lo que hace que el post-procesamiento de NMS sea obsoleto. Junto con un Diseño de Bloque Guiado por Rango, YOLOv10 reduce la redundancia y la sobrecarga computacional (FLOPs).
Fortalezas y Debilidades
La principal ventaja de YOLOv10 es la baja latencia. Al eliminar NMS, la latencia de inferencia se vuelve determinista y significativamente menor, lo cual es fundamental para el procesamiento de video en tiempo real. También cuenta con una excelente eficiencia de parámetros, como se ve en la tabla de comparación donde los modelos YOLOv10 logran una precisión competitiva con menos FLOPs. Una posible debilidad es su introducción relativamente reciente en comparación con los ecosistemas establecidos, aunque la integración en Ultralytics mitiga esto. También está altamente especializado para la detección, mientras que otros modelos en el ecosistema ofrecen un soporte multitarea más amplio.
Exportación integral (End-to-End)
Dado que YOLOv10 está diseñado para no usar NMS, exportarlo a formatos como ONNX o TensorRT suele ser más sencillo y produce modelos "puros" de extremo a extremo sin necesidad de plugins de post-procesamiento complejos.
Análisis comparativo para desarrolladores
Al integrar estos modelos en la producción, entran en juego varios factores prácticos más allá de las métricas brutas.
Facilidad de uso y ecosistema
Ambos modelos se benefician enormemente de formar parte del ecosistema Ultralytics. Esto significa que los desarrolladores pueden cambiar entre YOLOv9 y YOLOv10 simplemente cambiando una cadena de modelo, utilizando las mismas canalizaciones de entrenamiento, herramientas de validación y formatos de implementación.
- Eficiencia en el entrenamiento: Los modelos de Ultralytics normalmente requieren menos memoria que los detectores basados en transformadores, lo que permite el entrenamiento en GPU de consumo estándar.
- Versatilidad: Si bien YOLOv9 y YOLOv10 se centran en la detección, la API de Ultralytics admite otras tareas como la segmentación de instancias y la estimación de poses a través de modelos como YOLO11 y YOLOv8, ofreciendo un conjunto de herramientas completo para diversos proyectos de IA de visión.
Casos de Uso Ideales
Elija YOLOv9 cuando:
- Tu aplicación exige la mayor precisión posible (p. ej., imágenes médicas, detección de defectos en la fabricación).
- Está trabajando con objetos difíciles de detectar donde la retención de información es crucial.
- La latencia es una preocupación secundaria en comparación con la precisión.
Elija YOLOv10 cuando:
- La velocidad es crucial. Aplicaciones como la conducción autónoma, la navegación robótica o el análisis de video de alta velocidad de fotogramas (FPS) se benefician del diseño sin NMS.
- Implementación en dispositivos edge (como NVIDIA Jetson o Raspberry Pi) donde los recursos de CPU/GPU son limitados.
- Necesitas un tiempo de inferencia determinista sin la variabilidad introducida por el procesamiento NMS.
Ejemplo de código: Ejecución de ambos modelos
Gracias a la API unificada de Ultralytics, comparar estos modelos en tus propios datos es sencillo. El siguiente código de python demuestra cómo cargar y ejecutar la inferencia con ambas arquitecturas.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model_v9 = YOLO("yolov9c.pt")
# Load a pre-trained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
# Run inference on an image
results_v9 = model_v9("path/to/image.jpg")
results_v10 = model_v10("path/to/image.jpg")
# Print results
print(f"YOLOv9 Detection: {len(results_v9[0].boxes)}")
print(f"YOLOv10 Detection: {len(results_v10[0].boxes)}")
Conclusión
Tanto YOLOv9 como YOLOv10 representan hitos importantes en la visión artificial. YOLOv9 supera los límites teóricos de la retención de características y la precisión, lo que lo convierte en una potencia para la investigación y las tareas de gran precisión. YOLOv10 redefine la eficiencia al eliminar el cuello de botella de NMS, ofreciendo una solución optimizada para aplicaciones en tiempo real.
Para los usuarios que buscan el mejor equilibrio absoluto entre precisión, velocidad y riqueza de funciones en múltiples tareas (incluyendo la segmentación y la clasificación), también recomendamos explorar YOLO11. Como la última iteración de Ultralytics, YOLO11 refina los mejores atributos de sus predecesores en un paquete robusto y listo para la empresa, adecuado para prácticamente cualquier aplicación de visión AI.
Explorar Otros Modelos
El ecosistema de Ultralytics es vasto. Si los requisitos de su proyecto difieren, considere estas alternativas:
- YOLO11: El último modelo de última generación que ofrece un rendimiento y una versatilidad superiores en Detección, Segmentación, Pose, OBB y Clasificación.
- YOLOv8: Un modelo muy popular y estable conocido por su amplia compatibilidad y soporte multi-tarea.
- RT-DETR: Un detector basado en transformadores que ofrece alta precisión sin necesidad de NMS, que sirve como alternativa a las arquitecturas YOLO para casos de uso específicos.
Al aprovechar la plataforma Ultralytics, obtiene acceso a toda esta suite de modelos, asegurándose de tener siempre la herramienta adecuada para el trabajo.