Vai al contenuto

YOLO-NAS

Panoramica

Sviluppato da Deci AI, YOLO-NAS è un modello rivoluzionario di rilevamento degli oggetti. È il prodotto di un'avanzata tecnologia di ricerca ad architettura neurale, meticolosamente progettata per risolvere i limiti dei precedenti modelli di YOLO . Con miglioramenti significativi nel supporto della quantizzazione e nel compromesso accuratezza-latenza, YOLO-NAS rappresenta un salto di qualità nel rilevamento degli oggetti.

Modello immagine di esempio Panoramica di YOLO-NAS. YOLO-Il modello NAS impiega blocchi con quantizzazione consapevole e quantizzazione selettiva per ottenere prestazioni ottimali. Il modello, quando viene convertito nella sua versione quantizzata INT8, registra un calo di precisione minimo, un miglioramento significativo rispetto ad altri modelli. Questi progressi culminano in un'architettura superiore con capacità di rilevamento degli oggetti senza precedenti e prestazioni eccezionali.

Caratteristiche principali

  • Blocco di base facile da quantizzare: YOLO-NAS introduce un nuovo blocco di base facile da quantizzare, che affronta una delle limitazioni più significative dei precedenti modelli di YOLO .
  • Addestramento e quantizzazione sofisticati: YOLO-NAS sfrutta schemi di addestramento avanzati e quantizzazione post-addestramento per migliorare le prestazioni.
  • Ottimizzazione AutoNAC e pre-addestramento: YOLO-NAS utilizza l'ottimizzazione AutoNAC ed è pre-addestrato su importanti set di dati come COCO, Objects365 e Roboflow 100. Questo pre-addestramento lo rende estremamente adatto a compiti di rilevamento di oggetti in ambienti di produzione.

Modelli pre-addestrati

Prova la potenza del rilevamento di oggetti di nuova generazione con i modelli preaddestrati di YOLO-NAS forniti da Ultralytics. Questi modelli sono progettati per offrire prestazioni di altissimo livello sia in termini di velocità che di precisione. Scegli tra una serie di opzioni adatte alle tue esigenze specifiche:

Modello mAP Latenza (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

Ogni variante del modello è stata progettata per offrire un equilibrio tra precisione media (mAP) e latenza, aiutandoti a ottimizzare le tue attività di rilevamento degli oggetti in termini di prestazioni e velocità.

Esempi di utilizzo

Ultralytics ha reso i modelli YOLO-NAS facili da integrare nelle tue applicazioni Python grazie al nostro ultralytics python pacchetto. Il pacchetto fornisce un'API Python di facile utilizzo per semplificare il processo.

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

Esempi di inferenza e convalida

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

Esempio

Questo esempio fornisce un semplice codice di inferenza e validazione per YOLO-NAS. Per la gestione dei risultati dell'inferenza vedi Prevedere modalità. Per utilizzare YOLO-NAS con altre modalità vedi Val e Esportazione. YOLO-NAS sul sito ultralytics Il pacchetto non supporta la formazione.

PyTorch preaddestrato *.pt I file dei modelli possono essere passati al metodo NAS() per creare un'istanza del 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")

CLI sono disponibili comandi per eseguire direttamente i modelli:

# 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

Attività e modalità supportate

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

  • YOLO-NAS-s: Ottimizzato per ambienti in cui le risorse di calcolo sono limitate ma l'efficienza è fondamentale.
  • YOLO-NAS-m: Offre un approccio bilanciato, adatto al rilevamento di oggetti di uso generale con una maggiore precisione.
  • YOLO-NAS-l: Pensato per gli scenari che richiedono la massima precisione, dove le risorse di calcolo sono meno vincolanti.

Di seguito troverai una panoramica dettagliata di ogni modello, con i link ai pesi pre-addestrati, alle attività che supportano e alla loro compatibilità con le diverse modalità operative.

Tipo di modello Pesi pre-addestrati Attività supportate Inferenza Convalida Formazione Esportazione
YOLO-NAS-s yolo_nas_s.pt Rilevamento degli oggetti
YOLO-NAS-m yolo_nas_m.pt Rilevamento degli oggetti
YOLO-NAS-l yolo_nas_l.pt Rilevamento degli oggetti

Citazioni e ringraziamenti

Se utilizzi YOLO-NAS nel tuo lavoro di ricerca o sviluppo, cita 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},
}

Esprimiamo la nostra gratitudine al team SuperGradients di Deci AI per l'impegno profuso nel creare e mantenere questa preziosa risorsa per la comunità della computer vision. Crediamo che YOLO-NAS, con la sua architettura innovativa e le sue capacità superiori di rilevamento degli oggetti, diventerà uno strumento fondamentale per sviluppatori e ricercatori.

DOMANDE FREQUENTI

Cos'è YOLO-NAS e quali sono i suoi miglioramenti rispetto ai precedenti modelli YOLO ?

YOLO-NAS, sviluppato da Deci AI, è un modello di rilevamento degli oggetti all'avanguardia che sfrutta la tecnologia avanzata Neural Architecture Search (NAS). Risolve i limiti dei precedenti modelli di YOLO introducendo caratteristiche come blocchi di base facili da quantizzare e schemi di formazione sofisticati. Ciò si traduce in un significativo miglioramento delle prestazioni, soprattutto in ambienti con risorse computazionali limitate. YOLO-NAS supporta anche la quantizzazione, mantenendo un'elevata precisione anche quando viene convertito nella versione INT8, migliorando la sua idoneità per gli ambienti di produzione. Per maggiori dettagli, consulta la sezione Panoramica.

Come posso integrare i modelli YOLO-NAS nella mia applicazione Python ?

Puoi integrare facilmente i modelli di YOLO-NAS nella tua applicazione Python utilizzando il programma ultralytics pacchetto. Ecco un semplice esempio di come caricare un modello pre-addestrato di YOLO-NAS 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, consulta gli Esempi di inferenza e convalida.

Quali sono le caratteristiche principali di YOLO-NAS e perché dovrei considerarlo?

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

  • Blocco base facile da quantizzare: Architettura potenziata che migliora le prestazioni del modello con un calo minimo della precisione dopo la quantizzazione.
  • Formazione e quantizzazione sofisticate: Impiega schemi di formazione avanzati e tecniche di quantizzazione post-formazione.
  • Ottimizzazione e pre-addestramento AutoNAC: Utilizza l'ottimizzazione AutoNAC ed è pre-addestrato su importanti set di dati come COCO, Objects365 e Roboflow 100. Queste caratteristiche contribuiscono all'elevata precisione, alle prestazioni efficienti e all'idoneità all'implementazione in ambienti di produzione. Per saperne di più, consulta la sezione Caratteristiche principali.

Quali attività e modalità sono supportate dai modelli YOLO-NAS?

YOLO-I modelli NAS supportano diverse attività e modalità di rilevamento degli oggetti, come l'inferenza, la convalida e l'esportazione. Non supportano la formazione. I modelli supportati comprendono YOLO-NAS-s, YOLO-NAS-m e YOLO-NAS-l, ognuno dei quali si adatta a diverse capacità computazionali ed esigenze di prestazioni. Per una panoramica dettagliata, consulta la sezione Attività e modalità supportate.

Sono disponibili modelli preaddestrati di YOLO-NAS e come posso accedervi?

Sì, Ultralytics fornisce modelli preaddestrati di YOLO-NAS a cui puoi accedere direttamente. Questi modelli sono pre-addestrati su set di dati come COCO, garantendo prestazioni elevate in termini di velocità e precisione. Puoi scaricare questi modelli utilizzando i link forniti nella sezione Modelli pre-addestrati. Ecco alcuni esempi:



Creato 2023-11-12, Aggiornato 2024-07-04
Autori: glenn-jocher (13)

Commenti