YOLO Vision 2026:

YOLO-NAS#

Actualización importante

Ten en cuenta que Deci, los creadores originales de YOLO-NAS, han sido adquiridos por NVIDIA. Como resultado, estos modelos ya no reciben mantenimiento activo por parte de Deci. Ultralytics continúa dando soporte al uso de estos modelos, pero no se esperan más actualizaciones por parte del equipo original.

Descripción general#

Desarrollado por Deci AI, YOLO-NAS es un modelo fundamental de detección de objetos innovador. Es el producto de la avanzada tecnología de Neural Architecture Search, meticulosamente diseñada para abordar las limitaciones de los modelos YOLO anteriores. Con mejoras significativas en el soporte de cuantización y en las compensaciones entre accuracy y latencia, YOLO-NAS representa un gran salto en la detección de objetos.

YOLO-NAS model accuracy comparison on COCO benchmark Resumen de YOLO-NAS. YOLO-NAS emplea bloques conscientes de la cuantización y cuantización selectiva para un rendimiento óptimo. El modelo, cuando se convierte a su versión cuantizada INT8, experimenta una caída de precisión mínima, una mejora significativa en comparación con otros modelos. Estos avances culminan en una arquitectura superior con capacidades de detección de objetos sin precedentes y un rendimiento sobresaliente.

Características clave#

  • Bloque básico apto para cuantización: YOLO-NAS introduce un nuevo bloque básico que es compatible con la cuantización, abordando una de las limitaciones importantes de modelos YOLO anteriores.
  • Entrenamiento y cuantización sofisticados: YOLO-NAS aprovecha esquemas de entrenamiento avanzados y cuantización post-entrenamiento para mejorar el rendimiento.
  • Optimización AutoNAC y preentrenamiento: YOLO-NAS utiliza la optimización AutoNAC y está preentrenado en conjuntos de datos destacados como COCO, Objects365 y Roboflow 100. Este preentrenamiento lo hace extremadamente adecuado para tareas de detección de objetos posteriores en entornos de producción.

Modelos preentrenados#

Experimenta la potencia de la detección de objetos de próxima generación con los modelos YOLO-NAS preentrenados proporcionados por Ultralytics. Estos modelos están diseñados para ofrecer un rendimiento de primer nivel tanto en velocidad como en precisión. Elige entre una variedad de opciones adaptadas a tus necesidades específicas:

Rendimiento
ModelomAPLatencia (ms)
YOLO-NAS S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

Cada variante de modelo está diseñada para ofrecer un equilibrio entre Mean Average Precision (mAP) y latencia, lo que te ayuda a optimizar tus tareas de detección de objetos tanto en rendimiento como en velocidad.

Ejemplos de uso#

Ultralytics ha facilitado la integración de los modelos YOLO-NAS en tus aplicaciones de Python a través de nuestro paquete de Python ultralytics. El paquete proporciona una API de Python fácil de usar para agilizar el proceso.

Los siguientes ejemplos muestran cómo utilizar los modelos YOLO-NAS con el paquete ultralytics para inferencia y validación:

Ejemplos de inferencia y validación#

En este ejemplo validamos YOLO-NAS-s en el conjunto de datos COCO8.

Ejemplo

Este ejemplo proporciona código simple de inferencia y validación para YOLO-NAS. Para gestionar los resultados de la inferencia, consulta el modo Predict. Para utilizar YOLO-NAS con modos adicionales, consulta Val y Export. YOLO-NAS en el paquete ultralytics no admite entrenamiento.

Los archivos de modelos *.pt preentrenados de PyTorch se pueden pasar a la clase NAS() para crear una instancia de modelo en Python:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Display model information (optional)
model.info()

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Tareas y modos soportados#

Ofrecemos tres variantes de los modelos YOLO-NAS: Small (s), Medium (m) y Large (l). Cada variante está diseñada para cubrir diferentes necesidades computacionales y de rendimiento:

  • YOLO-NAS-s: Optimizado para entornos donde los recursos computacionales son limitados pero la eficiencia es clave.
  • YOLO-NAS-m: Ofrece un enfoque equilibrado, adecuado para la object detection de propósito general con mayor precisión.
  • YOLO-NAS-l: Adaptado para escenarios que requieren la mayor precisión, donde los recursos computacionales suponen menos limitación.

A continuación, se muestra una descripción detallada de cada modelo, incluidos enlaces a sus pesos preentrenados, las tareas que admiten y su compatibilidad con diferentes modos de funcionamiento.

Tipo de modeloPesos preentrenadosTareas compatiblesEntrenamientoValidaciónInferenciaExportar
YOLO-NAS-syolo_nas_s.ptDetección de objetos
YOLO-NAS-myolo_nas_m.ptDetección de objetos
YOLO-NAS-lyolo_nas_l.ptDetección de objetos

Citas y agradecimientos#

Si utilizas YOLO-NAS en tu trabajo de investigación o desarrollo, cita SuperGradients:

Cita
@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/records/7789328},
      author = {Aharon,  Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova,  Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya,  Eugene and Rubin,  Ran and Bagrov,  Natan and Tymchenko,  Borys and Keren,  Tomer and Zhilko,  Alexander and {Eran-Deci}},
      title = {Super-Gradients},
      publisher = {GitHub},
      journal = {GitHub repository},
      year = {2021},
}

Expresamos nuestro agradecimiento al equipo de SuperGradients de Deci AI por sus esfuerzos en la creación y el mantenimiento de este valioso recurso para la comunidad de computer vision. Creemos que YOLO-NAS, con su arquitectura innovadora y sus superiores capacidades de detección de objetos, se convertirá en una herramienta fundamental tanto para desarrolladores como para investigadores.

FAQ#

  • YOLO-NAS, desarrollado por Deci AI, es un modelo de detección de objetos de última generación que aprovecha la avanzada tecnología de Neural Architecture Search (NAS). Aborda las limitaciones de los modelos YOLO anteriores al introducir características como bloques básicos aptos para la cuantización y esquemas de entrenamiento sofisticados. Esto da como resultado mejoras significativas en el rendimiento, particularmente en entornos con recursos computacionales limitados. YOLO-NAS también admite la cuantización, manteniendo una alta precisión incluso cuando se convierte a su versión INT8, lo que mejora su idoneidad para entornos de producción. Para más detalles, consulta la sección Overview.

  • Puedes integrar fácilmente los modelos YOLO-NAS en tu aplicación de Python utilizando el paquete ultralytics. Aquí tienes un ejemplo sencillo de cómo cargar un modelo YOLO-NAS preentrenado y realizar la inferencia:

    from ultralytics import NAS
    
    # Load a COCO-pretrained YOLO-NAS-s model
    model = NAS("yolo_nas_s.pt")
    
    # Validate the model on the COCO8 example dataset
    results = model.val(data="coco8.yaml")
    
    # Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
    results = model("path/to/bus.jpg")

    Para obtener más información, consulta la sección Inference and Validation Examples.

  • YOLO-NAS introduce varias características clave que lo convierten en una opción superior para tareas de detección de objetos:

    • Bloque básico apto para cuantización: Arquitectura mejorada que mejora el rendimiento del modelo con una caída de precision mínima tras la cuantización.
    • Entrenamiento y cuantización sofisticados: Emplea esquemas de entrenamiento avanzados y técnicas de cuantización post-entrenamiento.
    • Optimización AutoNAC y preentrenamiento: Utiliza la optimización AutoNAC y está preentrenado en conjuntos de datos destacados como COCO, Objects365 y Roboflow 100.

    Estas características contribuyen a su alta precisión, rendimiento eficiente y adecuación para el despliegue en entornos de producción. Obtén más información en la sección Key Features.

  • Los modelos YOLO-NAS admiten varias tareas y modos de detección de objetos como inferencia, validación y exportación. No admiten el entrenamiento. Los modelos compatibles incluyen YOLO-NAS-s, YOLO-NAS-m y YOLO-NAS-l, cada uno adaptado a diferentes capacidades computacionales y necesidades de rendimiento. Para obtener una visión detallada, consulta la sección Supported Tasks and Modes.

  • Sí, Ultralytics ofrece modelos YOLO-NAS preentrenados a los que puedes acceder directamente. Estos modelos están preentrenados en conjuntos de datos como COCO, lo que garantiza un alto rendimiento tanto en velocidad como en precisión. Puedes descargar estos modelos utilizando los enlaces proporcionados en la sección Pretrained Models. Aquí tienes algunos ejemplos:

Comentarios