Controllo verde
Link copiato negli appunti

Le inferenze in tempo reale nelle soluzioni Vision AI stanno avendo un grande impatto

Scopri perché le inferenze in tempo reale nella computer vision sono importanti per una serie di applicazioni ed esplora il loro ruolo nel consentire un processo decisionale immediato.

Tutti abbiamo avuto a che fare con le frustrazioni che una connessione internet lenta può causare. Tuttavia, immagina quel ritardo in una situazione ad alto rischio, come la reazione di un'auto a guida autonoma a un ostacolo o l'analisi di un esame critico da parte di un medico. Qualche secondo in più può avere gravi conseguenze. 

È qui che l'inferenza AI in tempo reale può fare la differenza. L'elaborazione rapida e le previsioni in tempo reale consentono alle soluzioni di computer vision di elaborare e reagire ai dati visivi in modo istantaneo. Queste decisioni in una frazione di secondo possono aumentare la sicurezza, l'efficienza e la comodità quotidiana. 

Ad esempio, consideriamo un chirurgo che esegue un intervento delicato utilizzando un assistente robotico. Ogni movimento è controllato attraverso una connessione ad alta velocità e il sistema di visione del robot elabora il campo chirurgico in tempo reale, fornendo al chirurgo un feedback visivo istantaneo. Anche il minimo ritardo in questo ciclo di feedback potrebbe portare a gravi errori, mettendo a rischio il paziente. Questo è un esempio perfetto del perché le inferenze in tempo reale sono fondamentali: non c'è spazio per i ritardi. 

Le inferenze dell'intelligenza artificiale nelle applicazioni reali dipendono da tre concetti chiave: i motori di inferenza (il software o l'hardware che esegue in modo efficiente i modelli di intelligenza artificiale), la latenza dell'inferenza (il ritardo tra l'input e l'output) e l'inferenza in tempo reale (la capacità del sistema di intelligenza artificiale di elaborare e reagire con un ritardo minimo).

In questo articolo esploreremo questi concetti fondamentali e come i modelli di computer vision come Ultralytics YOLO11 permettono di realizzare applicazioni che si basano su previsioni istantanee.

Che cos'è un'inferenza AI?

Eseguire un'inferenza è il processo di analisi di nuovi dati utilizzando un modello di intelligenza artificiale addestrato per fare una previsione o risolvere un compito. A differenza dell'addestramento, che prevede l'apprendimento di un modello attraverso l'elaborazione di grandi quantità di dati etichettati, l'inferenza si concentra sulla produzione di risultati rapidi e precisi utilizzando un modello già addestrato.

Figura 1. Capire cosa sono le inferenze.

Ad esempio, nel campo della conservazione della fauna selvatica, le trappole con telecamera AI utilizzano modelli di visione computerizzata per identificare e classificare gli animali in tempo reale. Quando una telecamera rileva un movimento, il modello di intelligenza artificiale riconosce immediatamente se si tratta di un cervo, di un predatore o addirittura di un bracconiere, aiutando i ricercatori a seguire le popolazioni di animali e a proteggere le specie in pericolo senza l'intervento umano. Questa identificazione rapida rende possibile il monitoraggio in tempo reale e risposte più rapide a potenziali minacce.

Comprendere i motori di inferenza

Un modello di apprendimento automatico addestrato non è sempre pronto per essere distribuito nella sua forma grezza. Un motore di inferenza è uno strumento software o hardware specializzato progettato per eseguire in modo efficiente i modelli di apprendimento automatico e ottimizzarli per la distribuzione nel mondo reale. Utilizza tecniche di ottimizzazione come la compressione del modello, la quantizzazione e le trasformazioni dei grafi per migliorare le prestazioni e ridurre il consumo di risorse, rendendo il modello distribuibile in vari ambienti. 

Nel suo nucleo, un motore di inferenza si concentra sulla riduzione dell'overhead computazionale, sulla minimizzazione della latenza e sul miglioramento dell'efficienza per consentire previsioni rapide e accurate. Una volta ottimizzato, il motore esegue il modello su nuovi dati, consentendogli di generare inferenze in tempo reale in modo efficiente. Questa ottimizzazione garantisce che i modelli di intelligenza artificiale possano funzionare senza problemi sia su server cloud ad alte prestazioni che su dispositivi edge con risorse limitate come smartphone, dispositivi IoT e sistemi embedded.

Problemi causati dalla latenza dell'inferenza

La latenza di inferenza è il tempo che intercorre tra il momento in cui un sistema di intelligenza artificiale riceve i dati di input (come un'immagine da una fotocamera) e il momento in cui produce un output (come il rilevamento di oggetti nell'immagine). Anche un piccolo ritardo può avere un impatto significativo sulle prestazioni e sull'usabilità delle applicazioni di IA in tempo reale.

La latenza dell'inferenza si verifica in tre fasi fondamentali:

  • Tempo di pre-elaborazione: Il tempo necessario per preparare i dati di input prima che vengano inseriti nel modello. Ciò include il ridimensionamento delle immagini per adattarle alle dimensioni di ingresso del modello, la normalizzazione dei valori dei pixel per una maggiore precisione e la conversione dei formati (ad esempio, da RGB a scala di grigi o da video a sequenze di fotogrammi).
  • Tempo di calcolo: Il tempo effettivo che il modello impiega per eseguire l'inferenza. Si tratta di operazioni come i calcoli di livello nelle reti profonde, le moltiplicazioni matriciali, le convoluzioni e il trasferimento di dati tra memoria e unità di elaborazione.
  • Tempo di post-elaborazione: Il tempo necessario per convertire i risultati grezzi del modello in risultati significativi. Questo può includere il disegno di caselle di delimitazione nel rilevamento degli oggetti, il filtraggio dei falsi positivi nel riconoscimento delle immagini o l'applicazione di soglie nel rilevamento delle anomalie.

La latenza dell'inferenza è fondamentale nelle applicazioni in tempo reale. Ad esempio, nel rilevamento automatico dei difetti in una catena di montaggio, la computer vision può essere utilizzata per ispezionare i prodotti mentre si muovono lungo il nastro trasportatore. 

Il sistema deve identificare e segnalare rapidamente i difetti prima che i prodotti passino alla fase successiva. Se il modello impiega troppo tempo per elaborare le immagini, gli articoli difettosi potrebbero non essere individuati in tempo, con conseguente spreco di materiali, costose rilavorazioni o prodotti difettosi che arrivano ai clienti. Riducendo la latenza, i produttori possono migliorare il controllo della qualità, aumentare l'efficienza e ridurre le perdite.

Come ridurre la latenza dell'inferenza

Mantenere la latenza di inferenza al minimo è essenziale in molte applicazioni di computer vision. Per raggiungere questo obiettivo si possono utilizzare diverse tecniche. Vediamo alcune delle tecniche più comuni utilizzate per ridurre la latenza di inferenza.

Modello di potatura

La potatura del modello semplifica una rete neurale rimuovendo le connessioni non necessarie (pesi), rendendola più piccola e più veloce. Questo processo riduce il carico computazionale del modello, migliorando la velocità senza influire troppo sulla precisione. 

Mantenendo solo le connessioni più importanti, il pruning garantisce un'inferenza efficiente e prestazioni migliori, soprattutto sui dispositivi con potenza di elaborazione limitata. È ampiamente utilizzato in applicazioni in tempo reale come l'AI mobile, la robotica e l'edge computing per migliorare l'efficienza e mantenere l'affidabilità.

Figura 2. Eliminazione delle connessioni meno efficaci con il model pruning.

Quantizzazione del modello

La quantizzazione del modello è una tecnica che consente ai modelli di intelligenza artificiale di funzionare più velocemente e di utilizzare meno memoria semplificando i numeri che utilizzano per i calcoli. Normalmente, questi modelli lavorano con numeri a virgola mobile a 32 bit, che sono molto precisi ma richiedono molta potenza di elaborazione. La quantizzazione riduce questi numeri a numeri interi a 8 bit, che sono più facili da elaborare e occupano meno spazio. 

Figura 3. Utilizzo della quantizzazione del modello per convertire i valori in virgola mobile in rappresentazioni intere.

Utilizzo di modelli efficienti

La progettazione di un modello di intelligenza artificiale ha un impatto notevole sulla velocità con cui è in grado di fare previsioni. Modelli come YOLO11, costruiti per un'inferenza efficiente, sono ideali per le applicazioni in cui la velocità di elaborazione è fondamentale.

Quando costruisci una soluzione di intelligenza artificiale, è importante scegliere il modello giusto in base alle risorse disponibili e alle prestazioni richieste. Se inizi con un modello troppo pesante, è più probabile che tu incorra in problemi come tempi di elaborazione lenti, consumi energetici più elevati e difficoltà di implementazione su dispositivi con risorse limitate. Un modello leggero garantisce prestazioni fluide, soprattutto per le applicazioni in tempo reale e per le applicazioni edge.

Velocità vs. accuratezza: ottimizzare le inferenze in tempo reale

Sebbene esistano diverse tecniche per ridurre la latenza, una parte fondamentale delle inferenze in tempo reale è il bilanciamento tra velocità e accuratezza. Rendere i modelli più veloci non è sufficiente: la velocità di inferenza deve essere ottimizzata senza compromettere l'accuratezza. Un sistema che produce previsioni rapide ma non corrette è inefficace. Ecco perché i test approfonditi sono fondamentali per assicurarsi che i modelli funzionino bene nelle situazioni del mondo reale. Un sistema che sembra veloce durante i test ma che fallisce nelle condizioni reali non è veramente ottimizzato.

Applicazioni AI di visione che sfruttano le inferenze in tempo reale

Vediamo quindi alcune applicazioni del mondo reale in cui l'inferenza in tempo reale sta trasformando i settori industriali consentendo risposte istantanee agli input visivi.

Sistemi di self-checkout nei negozi al dettaglio

I modelli di computer vision come YOLO11 possono aiutare a migliorare i sistemi di self-checkout rendendo il riconoscimento degli articoli più veloce e preciso. Il supporto di YOLO11 per diverse attività di computer vision, come il rilevamento degli oggetti e la segmentazione delle istanze, rende possibile l'identificazione dei prodotti anche se i codici a barre sono mancanti o danneggiati. La Vision AI può ridurre la necessità di inserimento manuale e velocizzare il processo di checkout.

Oltre all'identificazione dei prodotti, la computer vision può essere integrata nei sistemi di self-checkout per verificare i prezzi, prevenire le frodi e migliorare la comodità dei clienti. Le telecamere dotate di intelligenza artificiale possono distinguere automaticamente tra prodotti simili e rilevare comportamenti sospetti alla cassa. Ciò include l'identificazione delle "mancate scansioni", in cui un cliente o un cassiere non si accorge involontariamente di un articolo, e dei tentativi di frode più deliberati, come il "cambio di prodotto", in cui un codice a barre più economico viene posizionato sopra un articolo più costoso.

Figura 4. L'intelligenza artificiale può migliorare i banchi di self-checkout.

Un ottimo esempio è rappresentato da Kroger, un importante rivenditore statunitense, che ha integrato la computer vision e l'intelligenza artificiale nei suoi sistemi di self-checkout. Grazie all'analisi video in tempo reale, Kroger è riuscita a correggere automaticamente oltre il 75% degli errori alla cassa, migliorando sia l'esperienza del cliente che le operazioni del negozio.

Ispezione della qualità con la visione artificiale

Ispezionare manualmente i prodotti per il controllo qualità può essere lento e non sempre accurato. Ecco perché un numero sempre maggiore di produttori sta passando a flussi di lavoro di ispezione visiva che utilizzano la computer vision per individuare i difetti nelle prime fasi del processo produttivo.

Telecamere ad alta risoluzione e Vision AI possono individuare piccoli difetti che potrebbero sfuggire all'uomo, e modelli come YOLO11 possono aiutare a controllare la qualità in tempo reale, a selezionare e a contare per assicurarsi che solo i prodotti perfetti arrivino ai clienti. L'automazione di questo processo consente di risparmiare tempo, tagliare i costi e ridurre gli sprechi, rendendo la produzione più fluida ed efficiente.

Figura 5. Un esempio di utilizzo di YOLO11 per contare i prodotti in una catena di montaggio.

Punti di forza

L'inferenza in tempo reale aiuta i modelli di IA a prendere decisioni immediate, un aspetto cruciale in molti settori. Che si tratti di un'auto a guida autonoma che evita un incidente, di un medico che analizza rapidamente le scansioni mediche o di una fabbrica che rileva i difetti di un prodotto, le risposte rapide e accurate dell'IA fanno una grande differenza.

Migliorando la velocità e l'efficienza dei modelli di IA, possiamo creare sistemi più intelligenti e affidabili che funzionano senza problemi nelle situazioni del mondo reale. Con il progredire della tecnologia, le soluzioni di IA in tempo reale continueranno a plasmare il futuro, rendendo i processi quotidiani più veloci, sicuri ed efficienti.

Per saperne di più, visita il nostro repository GitHub e partecipa alla nostra comunità. Esplora le innovazioni in settori come l'IA nelle auto a guida autonoma e la computer vision in agricoltura sulle nostre pagine dedicate alle soluzioni. Scopri le nostre opzioni di licenza e dai vita ai tuoi progetti di Vision AI.

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico