Ultralytics YOLO27:
Get Started

YOLO-NAS#

Actualización importante

Ten en cuenta que Deci, los creadores originales de YOLO-NAS, ha sido adquirida por NVIDIA. Por este motivo, Deci ya no mantiene activamente estos modelos. Ultralytics sigue ofreciendo asistencia para usar estos modelos, pero no se esperan más actualizaciones del equipo original.

Descripción general#

Desarrollado por Deci AI, YOLO-NAS es un modelo fundacional revolucionario para la detección de objetos. Es el resultado de una tecnología avanzada de búsqueda de arquitecturas neuronales, diseñada meticulosamente para superar las limitaciones de los modelos YOLO anteriores. Gracias a las importantes mejoras en la compatibilidad con la cuantización y en el equilibrio entre precisión y latencia, YOLO-NAS supone un gran avance en la detección de objetos.

Comparativa de la precisión de los modelos YOLO-NAS en la evaluación COCO Descripción general de YOLO-NAS. YOLO-NAS emplea bloques preparados para la cuantización y cuantización selectiva para ofrecer un rendimiento óptimo. Al convertir el modelo a su versión cuantizada INT8, la pérdida de precisión es mínima, 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 excepcional.

Características principales#

  • Bloque básico compatible con la cuantización: YOLO-NAS incorpora un nuevo bloque básico compatible con la cuantización, que resuelve una de las limitaciones importantes de los modelos YOLO anteriores.
  • Entrenamiento y cuantización avanzados: YOLO-NAS aprovecha esquemas de entrenamiento avanzados y la cuantización posterior al entrenamiento para mejorar el rendimiento.
  • Optimización y preentrenamiento AutoNAC: YOLO-NAS utiliza la optimización AutoNAC y se preentrena con conjuntos de datos destacados, como COCO, Objects365 y Roboflow 100. Este preentrenamiento lo hace especialmente adecuado para tareas posteriores de detección de objetos en entornos de producción.

Modelos preentrenados#

Descubre la potencia de la detección de objetos de nueva generación con los modelos YOLO-NAS preentrenados de Ultralytics. Estos modelos están diseñados para ofrecer un rendimiento excepcional tanto en velocidad como en precisión. Elige entre varias opciones adaptadas a tus necesidades concretas:

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

Ejemplos de uso#

Ultralytics facilita la integración de los modelos YOLO-NAS en tus aplicaciones Python mediante 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 usar los modelos YOLO-NAS con el paquete ultralytics para realizar inferencias y validaciones:

Ejemplos de inferencia y validación#

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

Ejemplo

Este ejemplo ofrece código sencillo de inferencia y validación para YOLO-NAS. Para gestionar los resultados de inferencia, consulta el modo Predict. Para usar YOLO-NAS con modos adicionales, consulta Val y Export. El paquete ultralytics no admite el entrenamiento de YOLO-NAS.

Puedes pasar archivos de modelo *.pt preentrenados con PyTorch a la clase NAS() para crear una instancia del modelo en Python:

from ultralytics import NAS

# Carga un modelo YOLO-NAS-s preentrenado con COCO
model = NAS("yolo_nas_s.pt")

# Mostrar información del modelo (opcional)
model.info()

# Valida el modelo con el conjunto de datos de ejemplo COCO8
results = model.val(data="coco8.yaml")

# Ejecuta inferencias con el modelo YOLO-NAS-s en la imagen 'bus.jpg'
results = model("path/to/bus.jpg")

Tareas y modos compatibles#

Ofrecemos tres variantes de los modelos YOLO-NAS: pequeña (s), mediana (m) y grande (l). Cada variante está diseñada para satisfacer distintas necesidades de cálculo y rendimiento:

  • YOLO-NAS-s: optimizado para entornos con recursos de cálculo limitados, donde la eficiencia es fundamental.
  • 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 de cálculo no son una limitación importante.

A continuación encontrarás una descripción detallada de cada modelo, con enlaces a sus pesos preentrenados, las tareas que admite y su compatibilidad con distintos 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 tus trabajos 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},
}

Agradecemos al equipo de SuperGradients de Deci AI sus esfuerzos para crear y mantener este valioso recurso para la comunidad de visión artificial. Creemos que YOLO-NAS, con su arquitectura innovadora y sus capacidades superiores de detección de objetos, se convertirá en una herramienta esencial tanto para desarrolladores como para investigadores.

Preguntas frecuentes#

  • 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 arquitecturas neuronales (NAS). Resuelve las limitaciones de los modelos YOLO anteriores mediante funciones como bloques básicos compatibles con la cuantización y esquemas de entrenamiento avanzados. Esto mejora significativamente el rendimiento, especialmente en entornos con recursos de cálculo limitados. YOLO-NAS también admite la cuantización y mantiene una gran precisión incluso al convertirse a la versión INT8, lo que aumenta su idoneidad para entornos de producción. Para obtener más información, consulta la sección Descripción general.

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

    from ultralytics import NAS
    
    # Carga un modelo YOLO-NAS-s preentrenado con COCO
    model = NAS("yolo_nas_s.pt")
    
    # Valida el modelo con el conjunto de datos de ejemplo COCO8
    results = model.val(data="coco8.yaml")
    
    # Ejecuta inferencias con el modelo YOLO-NAS-s en la imagen 'bus.jpg'
    results = model("path/to/bus.jpg")

    Para obtener más información, consulta Ejemplos de inferencia y validación.

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

    • Bloque básico compatible con la cuantización: arquitectura mejorada que aumenta el rendimiento del modelo con una pérdida mínima de precisión tras la cuantización.
    • Entrenamiento y cuantización avanzados: emplea esquemas de entrenamiento avanzados y técnicas de cuantización posterior al entrenamiento.
    • Optimización y preentrenamiento AutoNAC: utiliza la optimización AutoNAC y se preentrena con conjuntos de datos destacados, como COCO, Objects365 y Roboflow 100.

    Estas características contribuyen a su gran precisión, rendimiento eficiente e idoneidad para el despliegue en entornos de producción. Descubre más en la sección Características principales.

  • Los modelos YOLO-NAS admiten varias tareas y modos de detección de objetos, como la inferencia, la validación y la exportación. No admiten el entrenamiento. Entre los modelos compatibles se incluyen YOLO-NAS-s, YOLO-NAS-m y YOLO-NAS-l, cada uno adaptado a distintas capacidades computacionales y necesidades de rendimiento. Para ver una descripción detallada, consulta la sección Tareas y modos compatibles.

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

Comentarios