Saltar 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 cuantización y en la compensación entre precisión y latencia, YOLO-NAS representa un gran salto 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 extraordinario.

Características principales

  • Bloque básico amigable con la cuantización: YOLO-NAS introduce un nuevo bloque básico amigable con la cuantización, que aborda una de las limitaciones significativas de los modelos anteriores de YOLO .
  • Entrenamiento y cuantificación sofisticados: YOLO-NAS aprovecha los esquemas de entrenamiento avanzados y la 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 muy adecuado para tareas posteriores de detección de objetos en entornos de producción.

Modelos preentrenados

Experimenta la potencia de la detección de objetos de nueva generación con los modelos YOLO-NAS preentrenados que proporciona Ultralytics. Estos modelos están diseñados para ofrecer un rendimiento de primera categoría, tanto en velocidad como en precisión. Elige entre una variedad de opciones adaptadas a tus 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 Media (mAP) y la latencia, ayudándote a optimizar tus 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 tus 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 manejar los resultados de la inferencia, consulta Predecir modo. Para utilizar YOLO-NAS con modos adicionales, consulta Val y Exportar. YOLO-NAS en el ultralytics El paquete no admite formación.

PyTorch preentrenado *.pt Los archivos de los modelos pueden pasarse a 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 admitidos

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

  • YOLO-NAS-s: Optimizado para entornos en los que los recursos informáticos 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: Adaptado para escenarios que requieren la máxima precisión, en los que los recursos informáticos son menos limitantes.

A continuación encontrarás un resumen detallado de cada modelo, incluyendo enlaces a sus pesos preentrenados, las tareas que admiten y su compatibilidad con diferentes modos de funcionamiento.

Tipo de modelo Pesos preentrenados 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 empleas YOLO-NAS en tu trabajo de investigación o desarrollo, cita los SuperGradientes:

@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 SuperGradientes 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 arquitectura innovadora y sus capacidades superiores de detección de objetos, se convertirá en una herramienta fundamental tanto para desarrolladores como para investigadores.

Palabras clave: YOLO-NAS, Deci AI, detección de objetos, aprendizaje profundo, búsqueda de arquitectura neuronal, Ultralytics Python API, YOLO modelo, SuperGradientes, modelos preentrenados, bloque básico de cuantificación fácil, esquemas de entrenamiento avanzados, cuantificación post-entrenamiento, optimización AutoNAC, COCO, Objects365, Roboflow 100



Creado 2023-11-12, Actualizado 2024-04-17
Autores: glenn-jocher (8)

Comentarios