Ir al contenido

YOLO-NAS

Visión general

Desarrollado por Deci AI, YOLO-NAS es un innovador modelo fundacional de detección de objetos. Es el producto de una avanzada tecnología de búsqueda de arquitectura neuronal, meticulosamente diseñada para abordar las limitaciones de los modelos anteriores de YOLO . Con mejoras significativas en el soporte de la cuantización y la compensación entre precisión y latencia, YOLO-NAS representa un salto importante en la detección de objetos.

Modelo de imagen de ejemplo Visión general 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 cuantificada INT8, experimenta una caída de precisión mínima, una mejora significativa respecto a otros modelos. Estos avances culminan en una arquitectura superior con una capacidad de detección de objetos sin precedentes y un rendimiento sobresaliente.

Características principales

  • Bloque básico fácil de cuantificar: YOLO-NAS introduce un nuevo bloque básico fácil de cuantificar, que aborda una de las limitaciones significativas de los modelos anteriores de YOLO .
  • Formación y cuantificación sofisticadas: YOLO-NAS aprovecha los esquemas de formación avanzados y la cuantificación posterior a la formación 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 posteriores de detección de objetos en entornos de producción.

Modelos preentrenados

Experimente la potencia de la detección de objetos de última generación con los modelos preentrenados YOLO-NAS proporcionados por Ultralytics. Estos modelos están diseñados para ofrecer un rendimiento de primera categoría tanto en términos de velocidad como de precisión. Elija entre una variedad de opciones adaptadas a sus necesidades específicas:

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 del modelo está diseñada para ofrecer un equilibrio entre la precisión media (mAP) y la latencia, ayudándole a optimizar sus tareas de detección de objetos tanto en rendimiento como en velocidad.

Ejemplos de uso

Ultralytics ha hecho que los modelos YOLO-NAS sean fáciles de integrar en sus aplicaciones Python a través de nuestro ultralytics python paquete. El paquete proporciona una API Python fácil de usar para agilizar el proceso.

Los siguientes ejemplos muestran cómo utilizar YOLO-NAS con los modelos ultralytics para la inferencia y la 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 conocer los resultados de la inferencia, véase Predecir modo. Para utilizar YOLO-NAS con modos adicionales, consulte Val y Exportar. YOLO-NAS en el ultralytics no admite formación.

PyTorch preentrenado *.pt pueden pasarse a la función NAS() 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")

CLI 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 compatibles

Ofrecemos tres variantes de los modelos YOLO-NAS: Pequeño (s), Mediano (m) y Grande (l). Cada variante está diseñada para satisfacer distintas necesidades informáticas y de rendimiento:

  • YOLO-NAS-s: Optimizado para entornos en los que 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 uso general con mayor precisión.
  • YOLO-NAS-l: Diseñado para situaciones que requieren la máxima precisión y en las que los recursos informáticos son menos limitados.

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

Tipo de modelo Pesas preentrenadas Tareas admitidas Inferencia Validación Formación 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 utiliza YOLO-NAS en su trabajo de investigación o desarrollo, cite a SuperGradients:

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/record/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 mantenimiento de este valioso recurso para la comunidad de visión por ordenador. Creemos que YOLO-NAS, con su innovadora arquitectura y sus superiores capacidades de detección de objetos, se convertirá en una herramienta fundamental tanto para desarrolladores como para investigadores.

PREGUNTAS FRECUENTES

¿Qué es YOLO-NAS y en qué mejora a los modelos anteriores YOLO ?

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 búsqueda de arquitectura neuronal (NAS). Aborda las limitaciones de los modelos anteriores de YOLO introduciendo características como bloques básicos fáciles de cuantificar y sofisticados esquemas de entrenamiento. El resultado es una mejora significativa del rendimiento, especialmente en entornos con recursos informáticos limitados. YOLO-NAS también admite la cuantización, manteniendo una gran precisión incluso cuando se convierte a su versión INT8, lo que mejora su idoneidad para entornos de producción. Para más información, consulte la sección Descripción general.

¿Cómo puedo integrar los modelos YOLO-NAS en mi aplicación Python ?

Puede integrar fácilmente los modelos YOLO-NAS en su aplicación Python utilizando la aplicación ultralytics paquete. He aquí 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 más información, consulte 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 de cuantificación fácil: Arquitectura mejorada que mejora el rendimiento del modelo con una caída mínima de la precisión 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 gran precisión, rendimiento eficaz e idoneidad para su implantación en entornos de producción. Más información en la sección Características principales.

¿Qué tareas y modos admiten los modelos YOLO-NAS?

YOLO-Los modelos NAS admiten varias tareas y modos de detección de objetos, como la inferencia, la validación y la exportación. No admiten la formación. Los modelos soportados incluyen YOLO-NAS-s, YOLO-NAS-m, y YOLO-NAS-l, cada uno adaptado a diferentes capacidades computacionales y necesidades de rendimiento. Para una descripción detallada, consulte la sección Tareas y modos compatibles.

¿Existen modelos preentrenados de YOLO-NAS y cómo puedo acceder a ellos?

Sí, Ultralytics proporciona modelos YOLO-NAS preentrenados a los que puede acceder directamente. Estos modelos están preentrenados en conjuntos de datos como COCO, lo que garantiza un alto rendimiento tanto en términos de velocidad como de precisión. Puede descargar estos modelos utilizando los enlaces que encontrará en la sección Modelos preentrenados. He aquí algunos ejemplos:

Creado hace 1 año ✏️ Actualizado hace 16 días

Comentarios