YOLO Vision 2026:

YOLO-NAS#

Aggiornamento importante

Nota che Deci, i creatori originali di YOLO-NAS, sono stati acquisiti da NVIDIA. Di conseguenza, questi modelli non sono più attivamente mantenuti da Deci. Ultralytics continua a supportare l'uso di questi modelli, ma non sono previsti ulteriori aggiornamenti da parte del team originale.

Panoramica#

Sviluppato da Deci AI, YOLO-NAS è un modello fondamentale e innovativo per il rilevamento di oggetti. È il prodotto di una tecnologia avanzata di Neural Architecture Search, progettata meticolosamente per affrontare i limiti dei precedenti modelli YOLO. Con miglioramenti significativi nel supporto alla quantizzazione e nei compromessi tra accuracy e latenza, YOLO-NAS rappresenta un grande salto in avanti nel rilevamento di oggetti.

YOLO-NAS model accuracy comparison on COCO benchmark Panoramica di YOLO-NAS. YOLO-NAS impiega blocchi consapevoli della quantizzazione e quantizzazione selettiva per prestazioni ottimali. Quando convertito nella sua versione quantizzata INT8, il modello sperimenta un calo di precisione minimo, un miglioramento significativo rispetto ad altri modelli. Questi progressi culminano in un'architettura superiore con capacità di rilevamento di oggetti senza precedenti e prestazioni eccezionali.

Caratteristiche principali#

  • Blocco base ottimizzato per la quantizzazione: YOLO-NAS introduce un nuovo blocco base che è ottimizzato per la quantizzazione, affrontando una delle limitazioni significative dei precedenti modelli YOLO.
  • Addestramento e quantizzazione sofisticati: YOLO-NAS sfrutta schemi di addestramento avanzati e la quantizzazione post-addestramento per migliorare le prestazioni.
  • Ottimizzazione AutoNAC e pre-addestramento: YOLO-NAS utilizza l'ottimizzazione AutoNAC ed è pre-addestrato su dataset di rilievo come COCO, Objects365 e Roboflow 100. Questo pre-addestramento lo rende estremamente adatto per attività di rilevamento di oggetti a valle in ambienti di produzione.

Modelli pre-addestrati#

Prova la potenza del rilevamento di oggetti di prossima generazione con i modelli YOLO-NAS pre-addestrati forniti da Ultralytics. Questi modelli sono progettati per offrire prestazioni di alto livello in termini di velocità e accuratezza. Scegli tra una varietà di opzioni su misura per le tue esigenze specifiche:

Performance
ModellomAPLatenza (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

Ciascuna variante del modello è progettata per offrire un bilanciamento tra Mean Average Precision (mAP) e latenza, aiutandoti a ottimizzare le tue attività di rilevamento di oggetti sia per le prestazioni che per la velocità.

Esempi di Utilizzo#

Ultralytics ha reso i modelli YOLO-NAS facili da integrare nelle tue applicazioni Python tramite il nostro pacchetto python ultralytics. Il pacchetto fornisce una API Python intuitiva per semplificare il processo.

I seguenti esempi mostrano come utilizzare i modelli YOLO-NAS con il pacchetto ultralytics per l'inferenza e la validazione:

Esempi di inferenza e validazione#

In questo esempio validiamo YOLO-NAS-s sul dataset COCO8.

Esempio

Questo esempio fornisce un codice semplice di inferenza e validazione per YOLO-NAS. Per gestire i risultati dell'inferenza, vedi la modalità Predict. Per usare YOLO-NAS con modalità aggiuntive, vedi Val e Export. YOLO-NAS sul pacchetto ultralytics non supporta il training.

I file dei modelli preaddestrati PyTorch *.pt possono essere passati alla classe NAS() per creare un'istanza di modello in 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")

Compiti e modalità supportati#

Offriamo tre varianti dei modelli YOLO-NAS: Small (s), Medium (m) e Large (l). Ogni variante è progettata per soddisfare diverse esigenze computazionali e di prestazione:

  • YOLO-NAS-s: Ottimizzato per ambienti in cui le risorse computazionali sono limitate ma l'efficienza è fondamentale.
  • YOLO-NAS-m: Offre un approccio bilanciato, adatto al object detection generico con maggiore accuratezza.
  • YOLO-NAS-l: Adatto a scenari che richiedono la massima accuratezza, dove le risorse computazionali sono meno vincolanti.

Di seguito trovi una panoramica dettagliata di ogni modello, inclusi i link ai pesi pre-addestrati, le attività supportate e la compatibilità con diverse modalità operative.

Tipo di modelloPesi pre-addestratiAttività supportateAddestramentoValidazioneInferenzaEsportazione
YOLO-NAS-syolo_nas_s.ptRilevamento di oggetti
YOLO-NAS-myolo_nas_m.ptRilevamento di oggetti
YOLO-NAS-lyolo_nas_l.ptRilevamento di oggetti

Citazioni e riconoscimenti#

Se utilizzi YOLO-NAS nel tuo lavoro di ricerca o sviluppo, ti preghiamo di citare SuperGradients:

Citazione
@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},
}

Esprimiamo la nostra gratitudine al team SuperGradients di Deci AI per il loro impegno nella creazione e nel mantenimento di questa preziosa risorsa per la community della computer vision. Crediamo che YOLO-NAS, con la sua architettura innovativa e le sue superiori capacità di rilevamento di oggetti, diventerà uno strumento fondamentale sia per gli sviluppatori che per i ricercatori.

FAQ#

  • YOLO-NAS, sviluppato da Deci AI, è un modello di rilevamento di oggetti all'avanguardia che sfrutta la tecnologia avanzata Neural Architecture Search (NAS). Risolve i limiti dei precedenti modelli YOLO introducendo funzionalità come blocchi base compatibili con la quantizzazione e schemi di addestramento sofisticati. Ciò si traduce in miglioramenti significativi delle prestazioni, in particolare in ambienti con risorse di calcolo limitate. YOLO-NAS supporta anche la quantizzazione, mantenendo un'elevata accuratezza anche quando viene convertito nella sua versione INT8, migliorando la sua idoneità per gli ambienti di produzione. Per maggiori dettagli, consulta la sezione Overview.

  • Puoi integrare facilmente i modelli YOLO-NAS nella tua applicazione Python usando il pacchetto ultralytics. Ecco un semplice esempio di come caricare un modello YOLO-NAS preaddestrato ed eseguire l'inferenza:

    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")

    Per maggiori informazioni, fai riferimento a Inference and Validation Examples.

  • YOLO-NAS introduce diverse caratteristiche chiave che lo rendono una scelta superiore per le attività di rilevamento di oggetti:

    • Blocco base compatibile con la quantizzazione: Architettura avanzata che migliora le prestazioni del modello con un calo minimo di precision dopo la quantizzazione.
    • Addestramento e quantizzazione sofisticati: Impiega schemi di addestramento avanzati e tecniche di quantizzazione post-addestramento.
    • Ottimizzazione AutoNAC e pre-addestramento: Utilizza l'ottimizzazione AutoNAC ed è pre-addestrato su dataset di rilievo come COCO, Objects365 e Roboflow 100.

    Queste funzionalità contribuiscono alla sua elevata accuratezza, alle prestazioni efficienti e all'idoneità per il deployment in ambienti di produzione. Scopri di più nella sezione Key Features.

  • I modelli YOLO-NAS supportano varie attività e modalità di rilevamento di oggetti come inferenza, validazione ed esportazione. Non supportano il training. I modelli supportati includono YOLO-NAS-s, YOLO-NAS-m e YOLO-NAS-l, ciascuno adattato a diverse capacità di calo e esigenze di prestazioni. Per una panoramica dettagliata, fai riferimento alla sezione Supported Tasks and Modes.

  • Sì, Ultralytics fornisce modelli YOLO-NAS preaddestrati a cui puoi accedere direttamente. Questi modelli sono preaddestrati su dataset come COCO, garantendo elevate prestazioni sia in termini di velocità che di accuratezza. Puoi scaricare questi modelli usando i link forniti nella sezione Pretrained Models. Ecco alcuni esempi:

Commenti