Ricerca nel sito web

Perché YOLO-NAS è il miglior modello di rilevamento oggetti della serie YOLO?


YOLO-NAS è l'apice dei modelli di rilevamento oggetti della serie YOLO. Ma perché è considerato il migliore?

Dopo YOLOv8, c'è ancora un nuovo e migliore modello di rilevamento di oggetti all'avanguardia, YOLO-NAS. Si tratta di 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 con 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 precisione e 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 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 incremento delle prestazioni alle reti neurali profonde esistenti.

La pipeline AutoNAC utilizza una rete neurale profonda addestrata dall'utente come input, un 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 una latenza inferiore senza compromettere la precisione.

YOLO-NAS utilizza RepVGG. RepVGG lo rende disponibile per l'ottimizzazione post-allenamento mediante riparametrizzazione o quantizzazione post-allenamento. È 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 sottoposto a formazione utilizzando un'architettura multi-ramo per ottenere un'inferenza più rapida. Viene quindi convertito in un singolo ramo utilizzando la riparametrizzazione.

Questa funzionalità rende YOLO-NAS molto utile per la distribuzione in produzione. Questo perché è possibile addestrare e ottimizzare il modello con assoluta precisione per quanto riguarda la velocità di inferenza e l'utilizzo della memoria.

Caratteristiche principali di YOLO-NAS

Le caratteristiche principali di YOLO-NAS includono quanto segue:

  • Formazione sensibile alla 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 automatica dell'architettura: AutoNAC, la tecnologia NAS proprietaria di Deci, ricerca 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 rispetto ad altri modelli YOLO

Di seguito un confronto tra i vari modelli della serie YOLO.

YOLO-NAS è migliore dei modelli di rilevamento oggetti preesistenti, ma presenta i suoi svantaggi. Ecco un elenco dei vantaggi e dei demeriti di YOLO-NAS:

Pro

  • È 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 in termini di precisione e latenza.
  • Supporto perfetto 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

Utilizzerai Google Colab per scrivere ed eseguire i codici in questa implementazione. Un'alternativa per Google Colab sarebbe creare un ambiente virtuale e utilizzare 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 sarà la memoria utilizzata.

Installazione delle dipendenze

Installa la dipendenza YOLO-NAS, super-gradient utilizzando il comando seguente:

pip install super-gradients==3.1.2

Dopo un'installazione riuscita, sarai ora in grado di addestrare il modello YOLO-NAS.

Formazione del modello

Per addestrare il modello, esegui il blocco di codice seguente:

from super_gradients.training import models
yolo_nas_l = models.get("yolo_nas_l", pretrained_weights="coco")

Stai importando il modello di training 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 attività di rilevamento, classificazione e segmentazione delle immagini.

In questo caso ti concentrerai sull'attività di rilevamento degli oggetti per video e immagini. Per rilevare un oggetto in un'immagine, esegui il blocco di codice seguente:

url = "img_path"
yolo_nas_l.predict(url, conf=0.25).show()

Assicurati di utilizzare il percorso accurato per la tua immagine. In questo caso, carica l'immagine nell'ambiente Google Colab, quindi copia il percorso dell'immagine.

Risultato previsto:

Per rilevare oggetti in un video, esegui il blocco di codice seguente:

import torch
input_video_path = "path_to_video"
output_video_path = "detected.mp4"
device = 'cuda' if torch.cuda.is_available() else "cpu"
yolo_nas_l.to(device).predict(input_video_path).save(output_video_path)

Come i dati dell'immagine, carica il video di cui desideri che i suoi oggetti vengano rilevati nell'ambiente Google Colab e copia il percorso nella variabile video. Il video previsto sarà accessibile dall'ambiente Google Colab utilizzando il nome detected.mp4. Scarica il video sul tuo computer locale prima di terminare la sessione.

Risultato previsto:

YOLO-NAS supporta anche la messa a punto del modello e l'addestramento su dati personalizzati. La documentazione è disponibile sul quaderno iniziale di messa a punto di Deci.

Applicazioni nel mondo reale di YOLO-NAS

Il codice sorgente di YOLO-NAS è accessibile con la licenza Apache 2.0, accessibile per uso non commerciale. Per uso commerciale, il modello dovrebbe essere riqualificato da zero per ottenere pesi personalizzati.

Si tratta di un modello versatile la cui applicazione è possibile in diversi ambiti, quali:

Veicoli autonomi e robotica

YOLO-NAS può migliorare le capacità di percezione dei veicoli autonomi, consentendo loro di rilevare e tracciare oggetti più velocemente e con maggiore precisione 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 degli oggetti rapido, accurato e in tempo reale per i sistemi di sorveglianza e sicurezza, che aiuta a identificare potenziali minacce o attività sospette, con conseguente miglioramento dei sistemi di sicurezza

Vendita al dettaglio e gestione delle scorte

Il modello può fornire funzionalità di rilevamento degli oggetti rapide e precise che consentono una gestione automatizzata e efficiente dell'inventario, 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 patologiche o aree di interesse specifiche. Il modello può aiutare i medici a diagnosticare con precisione le malattie e a monitorare i pazienti, migliorando così il settore sanitario.

YOLO-NAS da asporto

YOLO-NAS è un nuovo modello di rilevamento di oggetti che apre la strada a un nuovo modo di eseguire il rilevamento di oggetti. È migliore dei modelli SOTA. Le sue prestazioni nel rilevamento degli oggetti rappresentano un grande passo avanti per i progetti di visione artificiale.

Articoli correlati: