Ultralytics YOLO27:
Get Started

YOLO-NAS#

Aggiornamento importante

Tieni presente che Deci, i creatori originali di YOLO-NAS, è stata acquisita da NVIDIA. Di conseguenza, Deci non mantiene più attivamente questi modelli. Ultralytics continua a supportare l'uso di questi modelli, ma non sono previsti ulteriori aggiornamenti dal team originale.

Panoramica#

Sviluppato da Deci AI, YOLO-NAS è un modello fondamentale rivoluzionario per il rilevamento degli oggetti. È il risultato di una tecnologia avanzata di ricerca dell'architettura neurale, progettata meticolosamente per superare i limiti dei precedenti modelli YOLO. Grazie a miglioramenti significativi nel supporto alla quantizzazione e nei compromessi tra accuratezza e latenza, YOLO-NAS rappresenta un importante passo avanti nel rilevamento degli oggetti.

Confronto dell'accuratezza del modello YOLO-NAS sul benchmark COCO Panoramica di YOLO-NAS. YOLO-NAS utilizza blocchi compatibili con la quantizzazione e una quantizzazione selettiva per ottenere prestazioni ottimali. Quando viene convertito nella versione quantizzata INT8, il modello subisce una perdita minima di precisione, un miglioramento significativo rispetto agli altri modelli. Questi progressi danno vita a un'architettura superiore, con capacità di rilevamento degli oggetti senza precedenti e prestazioni eccezionali.

Funzionalità principali#

  • Blocco di base compatibile con la quantizzazione: YOLO-NAS introduce un nuovo blocco di base compatibile con la quantizzazione, che affronta uno dei limiti significativi 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 e pre-addestramento AutoNAC: YOLO-NAS sfrutta l'ottimizzazione AutoNAC ed è pre-addestrato su dataset importanti come COCO, Objects365 e Roboflow 100. Questo pre-addestramento lo rende estremamente adatto alle attività di rilevamento degli oggetti a valle negli ambienti di produzione.

Modelli preaddestrati#

Sperimenta la potenza del rilevamento degli oggetti di nuova generazione con i modelli YOLO-NAS preaddestrati forniti da Ultralytics. Questi modelli sono progettati per offrire prestazioni eccellenti sia in termini di velocità sia di accuratezza. Scegli tra diverse opzioni, pensate per le tue esigenze specifiche:

Prestazioni
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

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

Esempi d'uso#

Ultralytics ha reso semplice integrare i modelli YOLO-NAS nelle tue applicazioni Python tramite il nostro pacchetto Python ultralytics. Il pacchetto offre un'API Python intuitiva per semplificare il processo.

Gli esempi seguenti mostrano come usare i modelli YOLO-NAS con il pacchetto ultralytics per l'inferenza e la convalida:

Esempi di inferenza e convalida#

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

Esempio

Questo esempio presenta codice semplice per l'inferenza e la convalida con YOLO-NAS. Per gestire i risultati dell'inferenza, consulta la modalità Predict. Per usare YOLO-NAS con altre modalità, consulta Val ed Export. YOLO-NAS nel pacchetto ultralytics non supporta l'addestramento.

I file di modello *.pt preaddestrati con PyTorch possono essere passati alla classe NAS() per creare un'istanza del modello in Python:

from ultralytics import NAS

# Carica un modello YOLO-NAS-s preaddestrato su COCO
model = NAS("yolo_nas_s.pt")

# Visualizza le informazioni sul modello (facoltativo)
model.info()

# Convalida il modello sul dataset di esempio COCO8
results = model.val(data="coco8.yaml")

# Esegui l'inferenza con il modello YOLO-NAS-s sull'immagine 'bus.jpg'
results = model("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 rispondere a esigenze computazionali e prestazionali diverse:

  • YOLO-NAS-s: ottimizzato per gli ambienti in cui le risorse computazionali sono limitate, ma l'efficienza è fondamentale.
  • YOLO-NAS-m: offre un approccio equilibrato, adatto al rilevamento degli oggetti generico con maggiore accuratezza.
  • YOLO-NAS-l: pensato per gli scenari che richiedono la massima accuratezza, in cui le risorse computazionali non sono un vincolo importante.

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

Tipo di modelloPesi preaddestratiAttività supportateAddestramentoValidazioneInferenzaEsporta
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 ringraziamenti#

Se usi YOLO-NAS nelle tue attività di ricerca o sviluppo, cita 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},
}

Ringraziamo il team SuperGradients di Deci AI per il lavoro svolto nella creazione e nella manutenzione di questa preziosa risorsa per la comunità della visione artificiale. 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#

  • YOLO-NAS, sviluppato da Deci AI, è un modello all'avanguardia per il rilevamento degli oggetti che sfrutta la tecnologia avanzata di ricerca dell'architettura neurale (NAS). Supera i limiti dei precedenti modelli YOLO introducendo funzionalità come blocchi di base compatibili con la quantizzazione e schemi di addestramento sofisticati. Ne derivano miglioramenti significativi delle prestazioni, soprattutto negli ambienti con risorse computazionali limitate. YOLO-NAS supporta anche la quantizzazione e mantiene un'elevata accuratezza anche quando viene convertito alla versione INT8, risultando così più adatto agli ambienti di produzione. Per maggiori dettagli, consulta la sezione Panoramica.

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

    from ultralytics import NAS
    
    # Carica un modello YOLO-NAS-s preaddestrato su COCO
    model = NAS("yolo_nas_s.pt")
    
    # Convalida il modello sul dataset di esempio COCO8
    results = model.val(data="coco8.yaml")
    
    # Esegui l'inferenza con il modello YOLO-NAS-s sull'immagine 'bus.jpg'
    results = model("path/to/bus.jpg")

    Per ulteriori informazioni, consulta Esempi di inferenza e convalida.

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

    • Blocco di base compatibile con la quantizzazione: architettura migliorata che aumenta le prestazioni del modello con una perdita minima di precisione dopo la quantizzazione.
    • Addestramento e quantizzazione sofisticati: utilizza schemi di addestramento avanzati e tecniche di quantizzazione post-addestramento.
    • Ottimizzazione e pre-addestramento AutoNAC: sfrutta l'ottimizzazione AutoNAC ed è preaddestrato su dataset importanti come COCO, Objects365 e Roboflow 100.

    Queste caratteristiche contribuiscono alla sua elevata accuratezza, alle prestazioni efficienti e all'idoneità alla distribuzione negli ambienti di produzione. Scopri di più nella sezione Caratteristiche principali.

  • I modelli YOLO-NAS supportano diverse attività e modalità di rilevamento degli oggetti, come inferenza, validazione ed esportazione. Non supportano l'addestramento. I modelli supportati includono YOLO-NAS-s, YOLO-NAS-m e YOLO-NAS-l, ciascuno pensato per diverse capacità computazionali ed esigenze di prestazioni. Per una panoramica dettagliata, consulta la sezione Attività e modalità supportate.

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

Commenti