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 risolve uno dei limiti significativi dei precedenti modelli 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.

Parole chiave: YOLO-NAS, Deci AI, rilevamento di oggetti, deep learning, ricerca di architetture neurali, Ultralytics Python API, modello YOLO , SuperGradienti, modelli pre-addestrati, blocco di base facile da quantizzare, schemi di addestramento avanzati, quantizzazione post-addestramento, ottimizzazione AutoNAC, COCO, Objects365, Roboflow 100



Creato 2023-11-12, Aggiornato 2024-01-14
Autori: glenn-jocher (7)

Commenti