YOLO-NAS
Panoramica
Sviluppato da Deci AI, YOLO-NAS è un modello fondamentale per il rilevamento degli oggetti. È il prodotto di un'avanzata tecnologia di ricerca ad architettura neurale, meticolosamente progettata per risolvere i limiti dei precedenti modelli YOLO . Con miglioramenti significativi nel supporto della quantizzazione e nel compromesso accuratezza-latenza, YOLO-NAS rappresenta un importante salto di qualità nel rilevamento degli oggetti.
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, presenta 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 alle attività di rilevamento degli oggetti in ambienti di produzione. Questo pre-addestramento lo rende estremamente adatto a compiti di rilevamento di oggetti a valle in ambienti di produzione.
Modelli pre-addestrati
Provate 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 in termini di velocità e precisione. Scegliete tra una serie di opzioni personalizzate in base alle vostre 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 di modello è progettata per offrire un equilibrio tra precisione media (mAP) e latenza, aiutandovi a ottimizzare le vostre 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 applicazioni Python attraverso il nostro ultralytics
python pacchetto. Il pacchetto fornisce un'API Python di facile utilizzo per semplificare il processo.
Gli esempi seguenti 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 viene validato 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, vedere Prevedere modalità. Per l'utilizzo di YOLO-NAS con modalità aggiuntive, vedere Val e Esportazione. YOLO-NAS sul 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 per eseguire direttamente i modelli:
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 equilibrato, adatto al rilevamento di oggetti di uso generale con una maggiore precisione.
- YOLO-NAS-l: Studiato su misura per gli scenari che richiedono la massima precisione, dove le risorse computazionali sono meno vincolanti.
Di seguito è riportata una panoramica dettagliata di ciascun modello, con link ai pesi pre-addestrati, ai compiti supportati e alla 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 utilizzate YOLO-NAS nel vostro lavoro di ricerca o sviluppo, citate 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.
FAQ
Che cos'è YOLO-NAS e come migliora 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 addestramento 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, consultare la sezione Panoramica.
Come posso integrare i modelli YOLO-NAS nella mia applicazione Python ?
È possibile integrare facilmente i modelli di YOLO-NAS nell'applicazione Python utilizzando il programma di gestione dei dati. ultralytics
pacchetto. Ecco un semplice esempio di come caricare un modello preaddestrato 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 ulteriori informazioni, consultare gli Esempi di inferenza e convalida.
Quali sono le caratteristiche principali di YOLO-NAS e perché dovrei considerarne l'utilizzo?
YOLO-Il NAS introduce diverse caratteristiche chiave che lo rendono una scelta superiore per le attività di rilevamento degli oggetti:
- Blocco di 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-training 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. Queste caratteristiche contribuiscono all'elevata precisione, alle prestazioni efficienti e all'idoneità all'impiego in ambienti di produzione. Per saperne di più, consultate 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 l'addestramento. I modelli supportati comprendono YOLO-NAS-s, YOLO-NAS-m e YOLO-NAS-l, ognuno dei quali si adatta a diverse capacità di calcolo ed esigenze di prestazioni. Per una panoramica dettagliata, consultare 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 è possibile accedere direttamente. Questi modelli sono pre-addestrati su insiemi di dati come COCO, garantendo prestazioni elevate in termini di velocità e precisione. È possibile scaricare questi modelli utilizzando i link forniti nella sezione Modelli pre-addestrati. Ecco alcuni esempi: