Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Scopri perché le inferenze in tempo reale nella computer vision sono importanti per una vasta gamma di applicazioni ed esplora il loro ruolo nel consentire un processo decisionale istantaneo.
Abbiamo tutti avuto a che fare con le frustrazioni che una connessione internet lenta può causare a un certo punto. Tuttavia, immagina quel ritardo in una situazione ad alto rischio, come un'auto a guida autonoma che reagisce a un ostacolo o un medico che analizza una scansione critica. Pochi secondi in più possono 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 istantaneamente ai dati visivi. Queste decisioni in una frazione di secondo possono aumentare la sicurezza, l'efficienza e la comodità quotidiana.
Ad esempio, considera un chirurgo che esegue una procedura delicata 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 cruciali: non c'è spazio per il ritardo.
Le inferenze dell'IA in applicazioni reali dipendono da tre concetti chiave: motori di inferenza (il software o hardware che esegue in modo efficiente i modelli di IA), latenza di inferenza (il ritardo tra input e output) e inferenza in tempo reale (la capacità del sistema di IA di elaborare e reagire con il minimo ritardo).
In questo articolo, esploreremo questi concetti fondamentali e come i modelli di computer vision come Ultralytics YOLO11 consentono applicazioni che si basano su previsioni istantanee.
Cos'è un'inferenza AI?
L'esecuzione di un'inferenza è il processo di analisi di nuovi dati utilizzando un modello di IA addestrato per fare una previsione o risolvere un compito. A differenza dell'addestramento, che comporta l'insegnamento a un modello elaborando grandi quantità di dati etichettati, l'inferenza si concentra sulla produzione di risultati in modo rapido e accurato utilizzando un modello già addestrato.
Ad esempio, nella conservazione della fauna selvatica, le trappole fotografiche con AI utilizzano modelli di computer vision per identificare e classificare gli animali in tempo reale. Quando una telecamera rileva un movimento, il modello AI riconosce immediatamente se si tratta di un cervo, un predatore o persino un bracconiere, aiutando i ricercatori a monitorare le popolazioni animali e a proteggere le specie in via di estinzione senza intervento umano. Questa rapida identificazione rende fattibili il monitoraggio in tempo reale e risposte più rapide a potenziali minacce.
Comprendere i motori di inferenza
Un modello di machine learning addestrato non è sempre pronto per essere implementato nella sua forma grezza. Un motore di inferenza è uno strumento software o hardware specializzato, progettato per eseguire in modo efficiente modelli di machine learning e ottimizzarli per l'implementazione 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 implementabile in vari ambienti.
Fondamentalmente, un inference engine si concentra sulla riduzione del sovraccarico computazionale, minimizzando la latenza e migliorando l'efficienza per consentire previsioni rapide e accurate. Una volta ottimizzato, l'engine esegue il modello su nuovi dati, permettendogli di generare inferenze in tempo reale in modo efficiente. Questa ottimizzazione assicura che i modelli di IA possano funzionare senza problemi sia su server cloud ad alte prestazioni sia su dispositivi edge con risorse limitate come smartphone, dispositivi IoT e sistemi embedded.
Problemi causati dalla latenza di inferenza
La latenza di inferenza è il ritardo 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ò influire significativamente sulle prestazioni e sull'usabilità delle applicazioni di IA in tempo reale.
La latenza di inferenza si verifica in tre fasi chiave:
Tempo di pre-elaborazione: Il tempo necessario per preparare i dati di input prima che vengano inseriti nel modello. Questo include il ridimensionamento delle immagini per adattarle alle dimensioni di input del modello, la normalizzazione dei valori dei pixel per una migliore accuratezza 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 impiegato dal modello per eseguire l'inferenza. Ciò comporta operazioni come calcoli layer-wise in reti profonde, moltiplicazioni di matrici, convoluzioni e trasferimento di dati tra memoria e unità di elaborazione.
Tempo di post-elaborazione: Il tempo necessario per convertire gli output grezzi del modello in risultati significativi. Questo può includere il disegno di bounding box nel rilevamento oggetti, il filtraggio di falsi positivi nel riconoscimento delle immagini o l'applicazione di soglie nel rilevamento di anomalie.
La latenza di inferenza è fondamentale nelle applicazioni in tempo reale. Ad esempio, nel rilevamento automatico dei difetti su una catena di montaggio, la computer vision può essere utilizzata per ispezionare i prodotti mentre si spostano 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 raggiungono i clienti. Riducendo la latenza, i produttori possono migliorare il controllo 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. È possibile utilizzare varie tecniche per raggiungere questo obiettivo. Discutiamo alcune delle tecniche più comuni utilizzate per ridurre la latenza di inferenza.
Potatura del modello
La potatura del modello semplifica una rete neurale rimuovendo le connessioni non necessarie (pesi), rendendola più piccola e veloce. Questo processo riduce il carico computazionale del modello, migliorando la velocità senza influire troppo sulla precisione.
Mantenendo solo le connessioni più importanti, la pruning assicura un'inferenza efficiente e prestazioni migliori, specialmente su dispositivi con potenza di elaborazione limitata. È ampiamente utilizzata in applicazioni in tempo reale come l'AI mobile, la robotica e l'edge computing per migliorare l'efficienza mantenendo l'affidabilità.
Fig. 2. Eliminazione delle connessioni meno efficaci tramite la pruning del modello.
Quantizzazione del modello
La quantizzazione del modello è una tecnica che consente ai modelli di IA di funzionare più velocemente e di utilizzare meno memoria semplificando i numeri utilizzati per i calcoli. Normalmente, questi modelli funzionano con numeri in virgola mobile a 32 bit, che sono molto precisi ma richiedono molta potenza di elaborazione. La quantizzazione riduce questi numeri a interi a 8 bit, che sono più facili da elaborare e occupano meno spazio.
Fig 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 IA ha un impatto significativo sulla velocità con cui può fare previsioni. Modelli come YOLO11, costruiti per un'inferenza efficiente, sono ideali per applicazioni in cui la velocità di elaborazione è fondamentale.
Quando si crea una soluzione di IA, è importante scegliere il modello giusto in base alle risorse disponibili e alle esigenze di prestazioni. Se inizi con un modello troppo pesante, è più probabile che tu incorra in problemi come tempi di elaborazione lenti, maggiore consumo di energia e difficoltà di implementazione su dispositivi con risorse limitate. Un modello leggero garantisce prestazioni fluide, soprattutto per le applicazioni in tempo reale e edge.
Velocità vs. accuratezza: ottimizzazione delle inferenze in tempo reale
Sebbene esistano diverse tecniche per ridurre la latenza, un elemento chiave delle inferenze in tempo reale è bilanciare velocità e accuratezza. Non è sufficiente rendere i modelli più veloci: la velocità di inferenza deve essere ottimizzata senza compromettere l'accuratezza. Un sistema che produce previsioni rapide ma errate è inefficace. Ecco perché test approfonditi sono fondamentali per assicurarsi che i modelli funzionino bene in situazioni reali. Un sistema che sembra veloce durante i test ma fallisce in condizioni reali non è veramente ottimizzato.
Applicazioni di Vision AI che sfruttano inferenze in tempo reale
Successivamente, esaminiamo alcune applicazioni reali in cui l'inferenza in tempo reale sta trasformando i settori, consentendo risposte immediate all'input visivo.
Sistemi di self-checkout nei negozi al dettaglio
Modelli di computer vision come YOLO11 possono contribuire a migliorare i sistemi di self-checkout rendendo il riconoscimento degli articoli più veloce e preciso. Il supporto di YOLO11 per varie attività di computer vision come il rilevamento di oggetti e la segmentazione di istanze consente di identificare i prodotti anche se i codici a barre sono mancanti o danneggiati. La Vision AI può ridurre la necessità di input manuale e accelerare il processo di checkout.
Oltre all'identificazione dei prodotti, la computer vision può anche essere integrata nei sistemi di self-checkout per verificare i prezzi, prevenire le frodi e migliorare la comodità per i clienti. Le telecamere basate sull'intelligenza artificiale possono distinguere automaticamente tra prodotti simili e rilevare comportamenti sospetti alla cassa. Ciò include l'identificazione di "mancate scansioni", in cui un cliente o un cassiere dimentica involontariamente un articolo, e tentativi di frode più deliberati, come lo "scambio di prodotti", in cui un codice a barre più economico viene posizionato sopra un articolo più costoso.
Un ottimo esempio di questo è Kroger, un importante rivenditore statunitense, che ha integrato la computer vision e l'IA nei suoi sistemi di self-checkout. Utilizzando l'analisi video in tempo reale, Kroger è stata in grado di correggere automaticamente oltre il 75% degli errori di checkout, migliorando sia l'esperienza del cliente che le operazioni del negozio.
Ispezione di qualità tramite visione artificiale
L'ispezione manuale dei prodotti per il controllo qualità può essere lenta e non sempre accurata. Per questo motivo, sempre più produttori stanno passando a flussi di lavoro di ispezione visiva che utilizzano la computer vision per individuare i difetti nelle prime fasi del processo di produzione.
Telecamere ad alta risoluzione e Vision AI possono individuare minuscoli difetti che gli umani potrebbero perdere, 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, ridurre i costi e gli sprechi, rendendo la produzione più fluida ed efficiente.
Fig. 5. Un esempio di utilizzo di YOLO11 per contare i prodotti su una catena di montaggio.
Punti chiave
L'inferenza in tempo reale aiuta i modelli di IA a prendere decisioni istantanee, il che è fondamentale in molti settori. Che si tratti di un'auto a guida autonoma che evita un incidente, di un medico che analizza rapidamente scansioni mediche o di una fabbrica che rileva difetti di prodotto, risposte di IA rapide e accurate fanno una grande differenza.
Migliorando la velocità e l'efficienza dei modelli di intelligenza artificiale, possiamo creare sistemi più intelligenti e affidabili che funzionano senza problemi in situazioni reali. Con l'avanzare della tecnologia, le soluzioni di intelligenza artificiale in tempo reale continueranno a plasmare il futuro, rendendo i processi quotidiani più veloci, sicuri ed efficienti.