Ir al contenido

YOLO-NAS

Actualización importante

Tenga 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 brindando soporte para el uso de estos modelos, pero no se esperan más actualizaciones del equipo original.

Visión general

Desarrollado por Deci AI, YOLO-NAS es un modelo fundacional de detección de objetos innovador. Es el producto de la tecnología avanzada de Búsqueda de Arquitectura Neuronal, meticulosamente diseñado para abordar las limitaciones de los modelos YOLO anteriores. Con mejoras significativas en el soporte de cuantificación y las compensaciones de precisión-latencia, YOLO-NAS representa un gran avance en la detección de objetos.

Imagen de ejemplo del modelo Descripción general de YOLO-NAS. YOLO-NAS emplea bloques con reconocimiento de cuantización y cuantización selectiva para un rendimiento óptimo. El modelo, cuando se convierte a su versión cuantificada INT8, experimenta una mínima pérdida de precisión, una mejora significativa con respecto a 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 compatible con la cuantización: YOLO-NAS introduce un nuevo bloque básico que es compatible con la cuantización, abordando una de las limitaciones importantes de los modelos YOLO anteriores.
  • Entrenamiento y cuantificación sofisticados: YOLO-NAS aprovecha esquemas de entrenamiento avanzados y cuantificació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 pre-entrenados

Experimente el poder de la detección de objetos de última generación con los modelos YOLO-NAS pre-entrenados proporcionados por Ultralytics. Estos modelos están diseñados para ofrecer un rendimiento de primer nivel tanto en velocidad como en precisión. Elija entre una variedad de opciones adaptadas a sus necesidades específicas:

Rendimiento

Modelo mAP Latencia (ms)
YOLO-NAS S 47.5 3.21
YOLO-NAS M 51.55 5.85
YOLO-NAS L 52.22 7.87
YOLO-NAS S INT-8 47.03 2.36
YOLO-NAS M INT-8 51.0 3.78
YOLO-NAS L INT-8 52.1 4.78

Cada variante de modelo está diseñada para ofrecer un equilibrio entre la Precisión Media Promedio (mAP) y la latencia, lo que le ayuda a optimizar sus tareas de detección de objetos tanto para el rendimiento como para la velocidad.

Ejemplos de uso

Ultralytics ha facilitado la integración de los modelos YOLO-NAS en sus aplicaciones Python a través de nuestro ultralytics paquete de python. 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 ultralytics paquete 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 un código sencillo de inferencia y validación para YOLO-NAS. Para gestionar los resultados de la inferencia, consulta Predecir mode. Para usar YOLO-NAS con modos adicionales, consulta Val y Exportar. YOLO-NAS en la ultralytics el paquete no admite el entrenamiento.

PyTorch preentrenados *.pt los archivos de modelos se pueden pasar al NAS() clase para crear una instancia del 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")

Hay comandos de la CLI disponibles para ejecutar directamente los modelos:

# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml

# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg

Tareas y modos admitidos

Ofrecemos tres variantes de los modelos YOLO-NAS: Small (s), Medium (m) y Large (l). Cada variante está diseñada para satisfacer 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 detección de objetos de propósito general con mayor precisión.
  • YOLO-NAS-l: Diseñado para escenarios que requieren la máxima precisión, donde los recursos computacionales son menos limitantes.

A continuación, se muestra una descripción detallada de cada modelo, incluyendo enlaces a sus pesos pre-entrenados, las tareas que soportan y su compatibilidad con diferentes modos de operación.

Tipo de Modelo Pesos Pre-entrenados Tareas admitidas Inferencia Validación Entrenamiento Exportar
YOLO-NAS-s yolo_nas_s.pt Detección de objetos
YOLO-NAS-m yolo_nas_m.pt Detección de objetos
YOLO-NAS-l yolo_nas_l.pt Detección de objetos

Citas y agradecimientos

Si emplea YOLO-NAS en su trabajo de investigación o desarrollo, cite SuperGradients:

@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 nuestra gratitud 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 visión artificial. Creemos que YOLO-NAS, con su innovadora arquitectura y sus capacidades superiores de detección de objetos, se convertirá en una herramienta fundamental tanto para desarrolladores como para investigadores.

Preguntas frecuentes

¿Qué es YOLO-NAS y cómo mejora con respecto a los modelos YOLO anteriores?

YOLO-NAS, desarrollado por Deci AI, es un modelo de detección de objetos de última generación que aprovecha la tecnología avanzada de Búsqueda de Arquitectura Neuronal (NAS). Aborda las limitaciones de los modelos YOLO anteriores mediante la introducción de características como bloques básicos amigables con la cuantización y esquemas de entrenamiento sofisticados. Esto resulta en 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 obtener más detalles, consulte la sección Descripción General.

¿Cómo puedo integrar modelos YOLO-NAS en mi aplicación de python?

Puede integrar fácilmente los modelos YOLO-NAS en su aplicación Python utilizando el ultralytics paquete. Aquí tienes un ejemplo sencillo de cómo cargar un modelo YOLO-NAS pre-entrenado 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 más información, consulta los Ejemplos de Inferencia y Validación.

¿Cuáles son las principales características de YOLO-NAS y por qué debería considerar su uso?

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 compatible con la cuantización: Arquitectura mejorada que optimiza el rendimiento del modelo con una caída de precisión mínima tras la cuantización.
  • Entrenamiento y cuantificación sofisticados: Emplea esquemas de entrenamiento avanzados y técnicas de cuantificació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 e idoneidad para la implementación en entornos de producción. Obtenga más información en la sección de Características Clave.

¿Qué tareas y modos son compatibles con los modelos YOLO-NAS?

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 descripción detallada, consulte la sección Tareas y Modos Compatibles.

¿Hay modelos YOLO-NAS pre-entrenados disponibles y cómo puedo acceder a ellos?

Sí, Ultralytics proporciona modelos YOLO-NAS pre-entrenados a los que puede acceder directamente. Estos modelos están pre-entrenados en conjuntos de datos como COCO, lo que garantiza un alto rendimiento tanto en velocidad como en precisión. Puede descargar estos modelos utilizando los enlaces proporcionados en la sección Modelos Pre-entrenados. Aquí hay algunos ejemplos:



📅 Creado hace 1 año ✏️ Actualizado hace 5 meses

Comentarios