YOLO-NAS è l'apice dei modelli di rilevamento degli oggetti della serie YOLO. Ma perché è considerato il migliore?
Dopo YOLOv8, c'è ancora un nuovo e migliore modello di rilevamento degli oggetti all'avanguardia, YOLO-NAS. È un algoritmo di rilevamento degli oggetti sviluppato da Deci AI per affrontare i limiti dei precedenti modelli YOLO (You Only Look Once).
Il modello è costruito da AutoNAC, un motore di ricerca di architettura neurale. Supera la velocità e le prestazioni dei modelli SOTA, il che rappresenta un grande passo avanti nel rilevamento degli oggetti migliorando i compromessi tra accuratezza, latenza e supporto della quantizzazione.
Questo articolo discuterà i punti di forza e le caratteristiche di YOLO-NAS, esplorando perché è il miglior modello di rilevamento di oggetti della serie YOLO.
Capire come funziona YOLO-NAS
AutoNAC (Automated Neural Architecture Construction) di Deci genera l'architettura di YOLO-NAS. AutoNAC è un processo continuo che fornisce un aumento delle prestazioni alle reti neurali profonde esistenti.
La pipeline AutoNAC utilizza una rete neurale profonda addestrata dall'utente come input, set di dati e accesso a un sistema di inferenza. La rete neurale profonda addestrata dall'utente viene quindi riprogettata utilizzando la pipeline. Si ottiene quindi un'architettura ottimizzata con latenza inferiore senza compromettere la precisione.
YOLO-NAS utilizza RepVGG. RepVGG lo rende disponibile per l'ottimizzazione post-training tramite riparametrizzazione o quantizzazione post-training. È un tipo di architettura di rete neurale basata su VGG. Utilizza tecniche di regolarizzazione progettate per migliorare la capacità di generalizzazione dei modelli di deep learning.
Il design dell'architettura è più efficiente in termini di velocità e memoria. RepVGG viene addestrato utilizzando un'architettura multi-ramo per ottenere un'inferenza più rapida. Viene quindi convertito in un singolo ramo utilizzando la riparametrizzazione.
Questa caratteristica rende YOLO-NAS molto utile per la distribuzione in produzione. Questo perché è possibile addestrare e ottimizzare il modello con la massima precisione per la velocità di inferenza e l'utilizzo della memoria.
Caratteristiche principali di YOLO-NAS
Le caratteristiche principali di YOLO-NAS includono quanto segue:
- Addestramento consapevole della quantizzazione: Il modello utilizza QSP e QCI (moduli sensibili alla quantizzazione) per ridurre la perdita di precisione durante la quantizzazione post-addestramento combinando la riparametrizzazione della quantizzazione a 8 bit.
- Progettazione di architetture automatiche: AutoNAC, la tecnologia NAS proprietaria di Deci cerca un'architettura del modello ottimale che integri le architetture fondamentali dei modelli YOLO per creare un modello ottimizzato.
- Tecnica di quantizzazione ibrida: Il metodo di quantizzazione standard influisce sull'intero modello. Al contrario, la tecnica di quantizzazione ibrida quantizza una sezione di un modello per bilanciare la latenza e l'accuratezza del modello.
- Utilizza approcci univoci per preparare il modello per l'addestramento utilizzando dati etichettati automaticamente. Il modello quindi apprende dalle sue previsioni e accede a grandi quantità di dati.
Analisi comparativa: YOLO-NAS vs altri modelli YOLO
Di seguito è riportato un confronto tra vari modelli della serie YOLO.
YOLO-NAS è migliore dei modelli di rilevamento di oggetti preesistenti, ma ha i suoi svantaggi. Ecco un elenco dei vantaggi e dei demeriti di YOLO-NAS:
Professionisti
- È open source.
- È del 10-20% più veloce rispetto ai modelli YOLO preesistenti.
- È più preciso rispetto ai modelli YOLO preesistenti.
- Utilizza un'architettura migliore, AutoNAC. Ciò stabilisce un nuovo record nel rilevamento di oggetti, fornendo le migliori prestazioni di compromesso tra accuratezza e latenza.
- Supporto continuo per motori di inferenza come NVIDIA. Questa caratteristica lo rende un modello pronto per la produzione.
- Ha una migliore efficienza della memoria e una maggiore velocità di inferenza.
Contro
- Non è ancora stabile poiché la tecnologia è ancora nuova e non è stata ampiamente utilizzata nella produzione.
Implementazione di YOLO-NAS
Userai Google Colab per scrivere ed eseguire i codici in questa implementazione. Un'alternativa per Google Colab sarebbe quella di creare un ambiente virtuale E usa un IDE sul tuo computer locale.
Il modello richiede molte risorse. Assicurati di avere almeno 8 GB di RAM prima di eseguirlo sul tuo computer. Maggiore è la dimensione del video, maggiore è la memoria utilizzata.
Installazione delle dipendenze
Installa la dipendenza YOLO-NAS, super-gradienti utilizzando il comando seguente:
pip install super-gradienti==3.1.2
Dopo un'installazione riuscita, sarai ora in grado di addestrare il modello YOLO-NAS.
Formazione del modello
Per addestrare il modello, eseguire il blocco di codice seguente:
da super_gradienti.training importare Modelli
yolo_nas_l = modelli.get("yolo_nas_l", pesi_preaddestrati="cocco")
Stai importando il modello di addestramento dalla libreria SuperGradients installata in questo codice. Stai quindi utilizzando i pesi del modello pre-addestrati dal set di dati COCO.
Inferenza del modello
L'inferenza del modello ha potenziali applicazioni per le attività di rilevamento, classificazione e segmentazione delle immagini.
In questo caso, ti concentrerai sul attività di rilevamento degli oggetti per video e immagini. Per rilevare un oggetto in un'immagine, eseguire il blocco di codice seguente:
URL = "percorso_img"
yolo_nas_l.predict (url, conf=0.25).spettacolo()
Assicurati di utilizzare il percorso accurato per la tua immagine. In questo caso, carica l'immagine sull'ambiente Google Colab, quindi copia il percorso dell'immagine.
Uscita prevista:
Per rilevare oggetti in un video, eseguire il blocco di codice seguente:
importare torcia
input_video_path = "percorso_verso_video"
output_video_path = "rilevato.mp4"
dispositivo = 'cuda'Se torcia.cuda.is_available() altro"processore"
yolo_nas_l.to (dispositivo).predict (input_video_path).save (output_video_path)
Come i dati dell'immagine, carica il video di cui vuoi che i suoi oggetti vengano rilevati nell'ambiente Google Colab e copia il percorso della variabile video. Il video previsto sarà accessibile dall'ambiente Google Colab utilizzando il nome rilevato.mp4. Scarica il video sul tuo computer locale prima di terminare la sessione.
Uscita prevista:
YOLO-NAS supporta anche la messa a punto del modello e l'addestramento su dati personalizzati. La documentazione è disponibile su Di Deci taccuino di avviamento per la messa a punto.
Applicazioni nel mondo reale di YOLO-NAS
Il codice sorgente di YOLO-NAS è accessibile con licenza Apache 2.0, che è accessibile per uso non commerciale. Per uso commerciale, il modello dovrebbe essere sottoposto a riqualificazione da zero per ottenere pesi personalizzati.
È un modello versatile la cui applicazione è possibile in diversi campi, come:
Veicoli autonomi e robotica
YOLO-NAS può migliorare le capacità di percezione dei veicoli autonomi, consentendo loro di rilevare e tracciare gli oggetti in modo più rapido e accurato in tempo reale. Questa capacità aiuta a garantire la sicurezza stradale e un'esperienza di guida fluida.
Sistemi di sorveglianza e sicurezza
Il modello può fornire un rilevamento di oggetti rapido, accurato e in tempo reale per la sorveglianza e la sicurezza sistemi, che aiuta a identificare potenziali minacce o attività sospette, con conseguente maggiore sicurezza sistemi
Vendita al dettaglio e gestione dell'inventario
Il modello può fornire funzionalità di rilevamento degli oggetti rapide e accurate che consentono una gestione dell'inventario automatizzata efficiente e in tempo reale, il monitoraggio delle scorte e l'ottimizzazione degli scaffali. Questo modello aiuta a ridurre i costi operativi e ad aumentare i profitti.
Sanità e imaging medico
Nel settore sanitario, YOLO-NAS è in grado di aiutare nel rilevamento e nell'analisi efficienti di anomalie della malattia o aree di interesse specifiche. Il modello può aiutare i medici a diagnosticare con precisione le malattie e monitorare i pazienti, migliorando così il settore sanitario.
YOLO-NAS da asporto
YOLO-NAS è un nuovo modello di rilevamento degli oggetti che apre la strada a un nuovo modo di eseguire il rilevamento degli oggetti. È meglio dei modelli SOTA. Le sue prestazioni sul rilevamento di oggetti rappresentano un grande passo avanti per i progetti di visione artificiale.