Pruning e quantizzazione nella computer vision: una guida rapida
Scopri perché il pruning e la quantizzazione sono essenziali per ottimizzare i modelli di computer vision e consentire prestazioni più veloci sui dispositivi edge.

I dispositivi edge stanno diventando sempre più comuni con l'avanzamento della tecnologia. Dagli smartwatch che monitorano la frequenza cardiaca ai droni aerei che sorvegliano le strade, i sistemi edge possono elaborare i dati in tempo reale localmente, direttamente sul dispositivo stesso.
Questo metodo è spesso più rapido e sicuro rispetto all'invio dei dati nel cloud, specialmente per applicazioni che coinvolgono dati personali, come il rilevamento delle targhe o il tracciamento dei gesti. Questi sono esempi di computer vision, un ramo dell'intelligenza artificiale (AI) che consente alle macchine di interpretare e comprendere le informazioni visive.

Fig 1. Un esempio di rilevamento targhe. (Fonte)
Tuttavia, una considerazione importante è che tali applicazioni richiedono modelli di visione AI in grado di gestire calcoli pesanti, utilizzando risorse minime e operando in modo indipendente. La maggior parte dei computer vision models è sviluppata per sistemi ad alte prestazioni, il che li rende meno adatti a una distribuzione diretta su dispositivi edge.
Per colmare questa lacuna, gli sviluppatori applicano spesso ottimizzazioni mirate che adattano il modello per l'esecuzione efficiente su hardware più piccoli. Questi aggiustamenti sono fondamentali per le distribuzioni edge nel mondo reale, dove la memoria e la potenza di calcolo sono limitate.
È interessante notare che i modelli di visione artificiale come Ultralytics YOLO11 sono già progettati pensando all'efficienza edge, il che li rende ottimi per le attività in tempo reale. Tuttavia, le loro prestazioni possono essere ulteriormente migliorate utilizzando tecniche di ottimizzazione del modello come la potatura (pruning) e la quantizzazione, consentendo un'inferenza ancora più rapida e un minore utilizzo di risorse su dispositivi con vincoli hardware.
In questo articolo, esamineremo più da vicino cosa sono la potatura e la quantizzazione, come funzionano e come possono aiutare i modelli YOLO a operare nelle distribuzioni edge del mondo reale. Cominciamo!
Link to this sectionPotatura e quantizzazione: tecniche fondamentali nell'ottimizzazione del modello#
Quando prepari i modelli di Vision AI per la distribuzione su dispositivi edge, uno degli obiettivi chiave è rendere il modello leggero e affidabile senza sacrificare le prestazioni. Ciò comporta spesso la riduzione delle dimensioni e della richiesta di calcolo del modello, in modo che possa operare in modo efficiente su hardware con memoria, alimentazione o capacità di elaborazione limitate. Due modi comuni per farlo sono la potatura e la quantizzazione.
La potatura (pruning) è una tecnica di model optimization AI che aiuta a rendere le reti neurali più piccole ed efficienti. In molti casi, parti di un modello, come determinate connessioni o nodi, non contribuiscono molto alle sue previsioni finali. La potatura funziona identificando e rimuovendo queste parti meno importanti, riducendo così le dimensioni del modello e accelerandone le prestazioni.
D'altra parte, la quantizzazione è una tecnica di ottimizzazione che riduce la precisione dei numeri utilizzati da un modello. Invece di affidarsi a numeri in virgola mobile a 32 bit ad alta precisione, il modello passa a formati più piccoli ed efficienti, come i numeri interi a 8 bit. Questo cambiamento aiuta a ridurre l'utilizzo della memoria e ad accelerare l'inferenza, il processo in cui il modello effettua le previsioni.

Fig 2. Uno sguardo alla potatura e alla quantizzazione. (Fonte)
Link to this sectionCome funzionano la potatura e la quantizzazione#
Ora che abbiamo una comprensione migliore di cosa sono pruning e quantizzazione, vediamo come funzionano entrambe.
La potatura viene eseguita utilizzando un processo noto come analisi di sensibilità. Identifica quali parti dei modelli di rete neurale, come determinati pesi, neuroni o canali, contribuiscono meno alla previsione di output finale. Queste parti possono essere rimosse con un effetto minimo sull'accuratezza. Dopo la potatura, il modello viene solitamente riaddestrato per affinarne le prestazioni. Questo ciclo può essere ripetuto per trovare il giusto equilibrio tra dimensioni e accuratezza.
Nel frattempo, la model quantization si concentra su come il modello gestisce i dati. Inizia con la calibrazione, in cui il modello viene eseguito su dati di esempio per apprendere l'intervallo di valori che deve elaborare. Tali valori vengono poi convertiti dalla virgola mobile a 32 bit a formati a precisione inferiore come gli interi a 8 bit.

Fig 3. La quantizzazione aiuta a ridurre le dimensioni e la complessità del modello. (Fonte)
Sono disponibili diversi strumenti che rendono più semplice l'utilizzo della potatura e della quantizzazione nei progetti di AI reali. La maggior parte dei framework AI, come PyTorch e TensorFlow, include un supporto integrato per queste tecniche di ottimizzazione, consentendo agli sviluppatori di integrarle direttamente nel processo di distribuzione del modello.
Una volta ottimizzato un modello, strumenti come ONNX Runtime possono aiutare a eseguirlo in modo efficiente su varie piattaforme hardware come server, desktop e dispositivi edge. Inoltre, Ultralytics offre integrazioni che consentono di esportare i modelli YOLO in formati adatti alla quantizzazione, facilitando la riduzione delle dimensioni del modello e il miglioramento delle prestazioni.
Link to this sectionUna panoramica sull'ottimizzazione del modello Ultralytics YOLO#
I modelli Ultralytics YOLO come YOLO11 sono ampiamente riconosciuti per il loro rilevamento di oggetti rapido in un unico passaggio, rendendoli ideali per vision AI tasks in tempo reale. Sono già progettati per essere leggeri ed efficienti per la distribuzione edge. Tuttavia, i livelli responsabili dell'elaborazione delle caratteristiche visive, chiamati livelli convoluzionali, possono ancora richiedere una notevole potenza di calcolo durante l'inferenza.
Potresti chiederti: se YOLO11 è già ottimizzato per l'uso edge, perché necessita di ulteriori ottimizzazioni? In parole povere, non tutti i dispositivi edge sono uguali. Alcuni funzionano con hardware molto minimale, come minuscoli processori integrati che consumano meno energia di una normale lampadina LED.
In questi casi, anche un modello semplificato come YOLO11 necessita di un'ottimizzazione aggiuntiva per garantire prestazioni fluide e affidabili. Tecniche come la potatura e la quantizzazione aiutano a ridurre le dimensioni del modello e ad accelerare l'inferenza senza influire significativamente sull'accuratezza, rendendole ideali per tali ambienti limitati.
Per semplificare l'applicazione di queste tecniche di ottimizzazione, Ultralytics supporta varie integrations che possono essere utilizzate per esportare i modelli YOLO in molteplici formati come ONNX, TensorRT, OpenVINO, CoreML e PaddlePaddle. Ogni formato è progettato per funzionare bene con tipi specifici di hardware e ambienti di distribuzione.
Ad esempio, ONNX viene spesso utilizzato nei flussi di lavoro di quantizzazione grazie alla sua compatibilità con una vasta gamma di strumenti e piattaforme. TensorRT, d'altra parte, è altamente ottimizzato per i dispositivi NVIDIA e supporta l'inferenza a bassa precisione utilizzando INT8, rendendolo ideale per la distribuzione ad alta velocità su GPU edge.
Link to this sectionCasi d'uso di grande impatto dell'ottimizzazione del modello Ultralytics YOLO#
Mentre la visione artificiale continua a espandersi in varie applicazioni del mondo reale, i modelli YOLO ottimizzati rendono possibile eseguire attività come il rilevamento di oggetti, la segmentazione di istanze e il tracciamento di oggetti su hardware più piccoli e veloci. Successivamente, discuteremo un paio di casi d'uso in cui la potatura e la quantizzazione rendono queste attività di visione artificiale più efficienti e pratiche.
Link to this sectionSorveglianza intelligente basata su YOLO11#
Molti spazi industriali, così come le aree pubbliche, dipendono dal monitoraggio in tempo reale per rimanere sicuri e protetti. Luoghi come stazioni di transito, siti di produzione e grandi strutture all'aperto necessitano di sistemi di Vision AI in grado di rilevare persone o veicoli in modo rapido e accurato. Spesso, queste posizioni operano con connettività limitata e vincoli hardware, il che rende difficile distribuire modelli di grandi dimensioni.
In tali casi, un modello di Vision AI ottimizzato come YOLO11 è un'ottima soluzione. Le sue dimensioni compatte e le prestazioni rapide lo rendono perfetto per l'esecuzione su dispositivi edge a basso consumo, come embedded cameras o sensori intelligenti. Questi modelli possono elaborare i dati visivi direttamente sul dispositivo, consentendo il rilevamento in tempo reale di violazioni della sicurezza, accessi non autorizzati o attività anomale, senza fare affidamento su un costante accesso al cloud.

Fig 4. YOLO11 può essere utilizzato per monitorare luoghi pubblici come le stazioni della metropolitana.
Link to this sectionMigliorare la sicurezza nei cantieri edili con YOLO11#
I cantieri edili sono ambienti frenetici e imprevedibili, pieni di macchinari pesanti, lavoratori in movimento e attività costante. Le condizioni possono cambiare rapidamente a causa di programmi mutevoli, movimenti di attrezzature o persino improvvisi cambiamenti meteorologici. In un contesto così dinamico, la sicurezza dei lavoratori può sembrare una sfida continua.
Il monitoraggio in tempo reale svolge un ruolo cruciale, ma i sistemi tradizionali spesso si affidano all'accesso al cloud o a hardware costoso che potrebbe non essere pratico in loco. È qui che modelli come YOLO11 possono avere un impatto. YOLO11 può essere ottimizzato per l'esecuzione su dispositivi edge piccoli ed efficienti che lavorano direttamente in loco senza bisogno di una connessione internet.
Ad esempio, considera un grande cantiere edile come un ampliamento autostradale che si estende per diversi acri. In questo tipo di contesto, tracciare manualmente ogni veicolo o attrezzatura può essere difficile e richiedere molto tempo. Un drone dotato di una telecamera e un modello YOLO11 ottimizzato può essere d'aiuto rilevando e seguendo automaticamente i veicoli, monitorando il flusso del traffico e identificando problemi di sicurezza come accessi non autorizzati o comportamenti di guida pericolosi.

Fig 5. Analisi delle immagini dei droni da un cantiere edile. (Fonte)
Link to this sectionPro e contro della potatura e della quantizzazione nella visione artificiale#
Ecco alcuni vantaggi chiave offerti dai metodi di ottimizzazione dei modelli di visione artificiale come la potatura e la quantizzazione:
- Distribuzione conveniente: modelli più piccoli ed efficienti possono ridurre la necessità di hardware costoso e di fascia alta, rendendo l'AI più accessibile e scalabile in diversi casi d'uso.
- Minore latenza: semplificando l'architettura del modello e riducendo il sovraccarico computazionale, queste tecniche possono aiutare a ottenere tempi di risposta più rapidi nelle applicazioni in tempo reale.
- Efficienza energetica: la riduzione del carico computazionale diminuisce anche il consumo energetico, il che è particolarmente utile per i sistemi alimentati a batteria o mobili.
Sebbene la potatura e la quantizzazione offrano molti vantaggi, comportano anche alcuni compromessi che gli sviluppatori dovrebbero considerare durante l'ottimizzazione dei modelli. Ecco alcune limitazioni da tenere a mente:
- Compromessi sull'accuratezza: se la potatura è troppo aggressiva o se viene utilizzata una quantizzazione a bit molto bassi, l'accuratezza del modello, misurata da metriche come mAP, può diminuire.
- Vincoli hardware: non tutti i dispositivi supportano allo stesso modo i formati a precisione inferiore come INT8. Ciò può limitare dove e come un modello ottimizzato può essere distribuito.
- Complessità di implementazione: ottenere buoni risultati richiede spesso un'attenta regolazione specifica per il modello. Gli sviluppatori potrebbero dover riaddestrare il modello ed eseguire test approfonditi per mantenere le prestazioni migliorando al contempo l'efficienza.
Link to this sectionPunti chiave#
La potatura e la quantizzazione sono tecniche utili che aiutano i modelli YOLO a funzionare meglio sui dispositivi edge. Riducono le dimensioni del modello, abbassano le sue esigenze di calcolo e accelerano le previsioni, il tutto senza una perdita percepibile di accuratezza.
Questi metodi di ottimizzazione offrono inoltre agli sviluppatori la flessibilità di adattare i modelli a diversi tipi di hardware senza doverli ricostruire completamente. Con un po' di messa a punto e di test, diventa più facile applicare la Vision AI in situazioni del mondo reale.
Unisciti alla nostra community in crescita! Esplora il nostro repository GitHub per saperne di più sull'AI. Sei pronto a iniziare i tuoi progetti di computer vision? Dai un'occhiata alle nostre opzioni di licenza. Scopri l'AI nell'agricoltura e la Vision AI nell'assistenza sanitaria visitando le nostre pagine dedicate alle soluzioni!






