Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Impostazioni dei cookie
Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Scoprite perché le inferenze in tempo reale nella computer vision sono importanti per una serie di applicazioni ed esplorate 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, immaginate 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.
Si pensi, ad esempio, a 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 immediato. Anche il più piccolo 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'IA 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 IA), la latenza dell'inferenza (il ritardo tra l'input e l'output) e l'inferenza in tempo reale (la capacità del sistema di IA di elaborare e reagire con un ritardo minimo).
In questo articolo esploreremo questi concetti fondamentali e come i modelli di visione computerizzata come Ultralytics YOLO11 permettono di realizzare applicazioni che si basano su previsioni istantanee.
Che cos'è un'inferenza AI?
L'esecuzione di 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.
Per esempio, nella 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 persino di un bracconiere, aiutando i ricercatori a tracciare le popolazioni 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 di inferenza
La latenza di inferenza è il tempo che intercorre tra il momento in cui un sistema di IA riceve i dati di input (come un'immagine da una telecamera) 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 migliore 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. Ciò 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 di 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 di 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 su dispositivi con potenza di elaborazione limitata. È ampiamente utilizzato in applicazioni in tempo reale come l'intelligenza artificiale mobile, la robotica e l'edge computing per migliorare l'efficienza mantenendo l'affidabilità.
Figura 2. Eliminazione delle connessioni meno efficaci mediante 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 utilizzati per i calcoli. Normalmente, questi modelli lavorano con numeri in 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 si costruisce una soluzione di intelligenza artificiale, è importante scegliere il modello giusto in base alle risorse disponibili e alle esigenze di prestazioni. Se si inizia con un modello troppo pesante, è più probabile incorrere in problemi come tempi di elaborazione lenti, consumi energetici più elevati e difficoltà di distribuzione su dispositivi con risorse limitate. Un modello leggero garantisce prestazioni fluide, soprattutto per le applicazioni in tempo reale e per quelle edge.
Velocità vs. accuratezza: ottimizzazione delle inferenze in tempo reale
Sebbene esistano varie 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. Per questo motivo è fondamentale effettuare test approfonditi per assicurarsi che i modelli funzionino bene nelle situazioni reali. 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
Passiamo poi ad alcune applicazioni reali 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 contribuire a migliorare i sistemi di self-checkout rendendo il riconoscimento degli articoli più rapido e accurato. Il supporto di YOLO11 per diverse attività di computer vision, come il rilevamento degli oggetti e la segmentazione delle istanze, consente di identificare i 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 di "mancate scansioni", quando un cliente o un cassiere non trova involontariamente un articolo, e di 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'IA nei suoi sistemi di self-checkout. Grazie all'analisi video in tempo reale, Kroger è stato in grado di correggere automaticamente oltre il 75% degli errori alla cassa, migliorando sia l'esperienza del cliente che l'operatività del punto vendita.
Ispezione della qualità con la visione artificiale
L'ispezione manuale dei prodotti per il controllo della qualità può essere lenta e non sempre accurata. Ecco perché un numero crescente di produttori sta passando a flussi di lavoro di ispezione visiva che utilizzano la visione computerizzata per individuare i difetti nelle prime fasi del processo di produzione.
Telecamere ad alta risoluzione e Vision AI sono in grado di individuare piccoli difetti che potrebbero sfuggire all'uomo, e modelli come YOLO11 possono aiutare con controlli di qualità in tempo reale, smistamento e conteggio 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 il conteggio dei 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 dei prodotti, le risposte dell'IA rapide e precise 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.