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é i modelli di visione artificiale falliscono in fase di produzione, dalla mancata corrispondenza dei dati alla latenza, e come i team possono migliorare le prestazioni dei modelli nei sistemi di IA per la visione applicati nel mondo reale.
Scala i tuoi progetti di visione artificiale con Ultralytics
La visione artificiale è oggi una tecnologia fondamentale dell'intelligenza artificiale, adottata nella maggior parte dei settori industriali, che consente alle macchine di interpretare e analizzare i dati visivi per svolgere una vasta gamma di compiti. Questi sistemi sono alla base di numerose applicazioni concrete, dall'imaging medico e dalla robotica all'automazione nella produzione e nel commercio al dettaglio.
Tuttavia, la realizzazione di un sistema di visione artificiale non è sempre semplice. Di solito comporta lo sviluppo di un modello di intelligenza artificiale per la visione, addestrato a identificare schemi ricorrenti in immagini e video per supportare attività quali il rilevamento e il tracciamento di oggetti.
Fig. 1. Un esempio di rilevamento e tracciamento di oggetti (Fonte)
Sebbene siano diventati più avanzati nel corso degli anni, i modelli di visione artificiale possono comunque comportarsi in modo diverso durante la fase di sviluppo rispetto a dopo la loro implementazione in ambienti reali. Ciò è dovuto al fatto che l'implementazione dei modelli al di fuori di contesti di sviluppo controllati comporta nuove sfide, spesso inaspettate.
Fattori quali la mancanza di diversità nei set di dati, un monitoraggio inadeguato dei modelli e i limiti infrastrutturali possono far sì che lo stesso modello si comporti in modo diverso nel mondo reale dopo la sua implementazione.
In questo articolo vedremo cinque motivi comuni per cui i modelli di visione artificiale potrebbero non funzionare correttamente in ambiente di produzione. Cominciamo!
Il divario tra l'addestramento del modello e la produzione
L'addestramento dei modelli avviene solitamente in un ambiente controllato. In questa fase, gli sviluppatori di IA lavorano con set di dati di addestramento preparati con cura.
Queste vaste raccolte di dati visivi includono annotazioni ben strutturate, ovvero etichette che descrivono il contenuto di ciascuna immagine. L'addestramento avviene inoltre in condizioni costanti, consentendo ai modelli di IA visiva di apprendere efficacemente i modelli visivi.
Per garantire che questi modelli vengano appresi correttamente, è possibile valutarli sistematicamente durante lo sviluppo utilizzando metriche di valutazione standard e set di dati di riferimento. Analogamente ai set di dati di addestramento, anche questi set di dati di riferimento vengono preparati con cura.
Tuttavia, i dati con cui si confrontano i sistemi di visione artificiale nel mondo reale possono essere molto diversi da quelli utilizzati durante l'addestramento e la valutazione. Una volta implementati, questi modelli operano raramente in condizioni controllate.
Possono trovarsi a elaborare immagini e video provenienti da ambienti imprevedibili, in cui l'illuminazione cambia continuamente, le angolazioni delle riprese variano e gli sfondi cambiano nel tempo. Ad esempio, un modello di IA visiva addestrato per il rilevamento del traffico potrebbe avere difficoltà a detect di notte se è stato addestrato e valutato principalmente su immagini diurne.
Fig. 2. Anche dopo il miglioramento, le immagini notturne risultano difficili da interpretare per i modelli addestrati su immagini diurne. (Fonte)
Questa differenza tra lo sviluppo e l'implementazione nel mondo reale è il cosiddetto divario tra ambiente di addestramento e ambiente di produzione. A causa di questo divario, molti errori dei modelli diventano evidenti solo dopo l'implementazione, rendendo fondamentale individuarli tempestivamente per realizzare sistemi di visione artificiale più affidabili e robusti.
5 motivi comuni per cui i modelli di visione artificiale falliscono in fase di produzione
Vediamo ora più da vicino cinque motivi comuni per cui i modelli di visione artificiale falliscono in fase di produzione.
1. Set di dati di addestramento di scarsa qualità
I set di dati svolgono un ruolo fondamentale nell'addestramento dei modelli di visione artificiale, poiché determinano ciò che il modello apprende durante l'addestramento e il modo in cui reagisce agli input del mondo reale una volta implementato. Ciò è particolarmente importante nell'apprendimento supervisionato, in cui i modelli apprendono da esempi etichettati che indicano cosa rappresenta ciascuna immagine.
Molti modelli di deep learning, comprese le reti neurali convoluzionali (CNN), si basano su questi esempi etichettati per riconoscere schemi ricorrenti nei dati visivi. Tuttavia, quando il set di dati di addestramento non rispecchia le condizioni del mondo reale, il modello può apprendere schemi che non rappresentano appieno l'aspetto degli oggetti al di fuori dei dati di addestramento.
Ad esempio, un modello addestrato su un set di dati contenente difetti con crepe di grandi dimensioni potrebbe non detect tipo raro di crepa minore nei flussi di lavoro produttivi reali. Allo stesso modo, anche la qualità delle annotazioni può influire sul comportamento del modello. Etichette incoerenti o dettagli mancanti nei dati etichettati possono indurre il modello ad apprendere informazioni errate durante l'addestramento.
Fig. 3. Una panoramica delle annotazioni delle immagini (Fonte)
Nel complesso, la qualità e la diversità dei dati di addestramento sono fondamentali e possono determinare le prestazioni di un modello nelle applicazioni pratiche. Quando i set di dati sono rappresentativi e etichettati con precisione, un modello tenderà generalmente a funzionare in modo più affidabile una volta implementato.
2. Sovradattamento e generalizzazione
I modelli di apprendimento automatico, come quelli di visione artificiale, apprendono gli schemi dai set di dati di addestramento. Tuttavia, a volte un modello può fare troppo affidamento su pochi schemi.
Anziché apprendere relazioni visive più ampie, può finire per memorizzare gli schemi limitati presenti nei dati di addestramento. Questo comportamento è noto come overfitting.
L'overfitting si verifica solitamente quando i set di dati di addestramento sono di piccole dimensioni o non presentano una diversità di dati sufficiente. In questi casi, il modello diventa bravo a riconoscere le immagini che ha già visto, ma ha difficoltà a interpretare nuovi dati o input sconosciuti.
Per questo motivo, un modello potrebbe dare buoni risultati con gli input di test (poiché sono simili ai dati di addestramento), ma comportarsi in modo diverso in condizioni nuove dopo la sua implementazione. Ecco perché il concetto di generalizzazione è fondamentale. In parole povere, si tratta della capacità dei modelli di applicare ciò che hanno appreso durante l'addestramento a nuovi scenari.
Per ridurre il rischio di overfitting, gli appassionati di IA spesso addestrano i modelli su set di dati più eterogenei e ricorrono all'aumento dei dati, un metodo che modifica leggermente le immagini di addestramento per creare una maggiore varietà nei dati. Senza queste precauzioni, le prestazioni del modello possono calare rapidamente non appena il sistema inizia a funzionare in contesti reali.
Fig. 4. L'aumento dei dati può aiutare a creare variazioni della stessa immagine all'interno di un set di dati. (Fonte)
3. Casi limite nascosti in contesti reali
Anche quando i modelli di visione artificiale riescono a generalizzare bene su nuovi dati, gli ambienti reali possono comunque presentare casi limite imprevisti. Si tratta di situazioni insolite che si discostano dai modelli tipici appresi dal modello durante l'addestramento.
Molti di questi scenari sono difficili da rilevare durante lo sviluppo perché si verificano raramente, sono difficili da ricreare o possono risultare costosi da raccogliere come dati di addestramento. Ad esempio, gli oggetti possono assumere forme insolite, muoversi in modo imprevedibile o rimanere parzialmente nascosti dietro altri oggetti.
Anche variazioni nell'illuminazione, nelle angolazioni della telecamera o nelle condizioni dello sfondo possono creare situazioni che rendono più difficile il riconoscimento. Questi casi limite spesso diventano evidenti solo dopo che il sistema è stato implementato in applicazioni reali.
Nella robotica e nell'automazione industriale, ad esempio, gli oggetti possono essere collocati o posizionati in modo diverso dal previsto, creando situazioni che il modello non è stato progettato per gestire. In definitiva, le previsioni che sembravano affidabili durante la fase di test possono rivelarsi meno attendibili una volta che il sistema opera in contesti reali.
4. Mancanza di monitoraggio e correzione dei bug dopo l'implementazione
Oltre a sviluppare un modello di visione artificiale, è fondamentale monitorarne e migliorarne le prestazioni. Tuttavia, una volta che il sistema è in funzione, l'attenzione spesso si concentra semplicemente sul mantenerlo operativo, piuttosto che sul monitorarne attentamente l'andamento nel tempo. Di conseguenza, i cambiamenti nel comportamento del modello possono passare inosservati.
Allo stesso tempo, fattori quali variazioni nei dati in ingresso, nelle impostazioni delle telecamere o negli ambienti operativi possono influire gradualmente sull'accuratezza con cui il modello rileva o classifica gli oggetti. Questi cambiamenti non sono sempre evidenti e possono passare inosservati durante il funzionamento quotidiano.
Il monitoraggio dei risultati dei modelli e del comportamento complessivo del sistema può aiutare i team a individuare questi problemi in una fase precoce. Controlli regolari, procedure di convalida e flussi di lavoro di debug consentono ai team di analizzare i risultati anomali e comprenderne le possibili cause.
Se si considerano settori come quello manifatturiero, può capitare che un modello inizi improvvisamente a identificare erroneamente gli oggetti su una linea di assemblaggio a seguito di una modifica nella configurazione della telecamera. Tenere track comportamento track un sistema di visione basato sull'intelligenza artificiale già implementato rende più semplice reagire a questi cambiamenti e garantire prestazioni stabili in contesti reali.
5. Limiti infrastrutturali e latenza
Molti sistemi di visione artificiale devono funzionare in tempo reale, il che può comportare un carico notevole per l'hardware, le reti e le pipeline di elaborazione. Quando le risorse sono limitate, possono verificarsi ritardi di calcolo o latenza di rete, con il risultato che le previsioni arrivano troppo lentamente e le prestazioni complessive del sistema ne risentono.
In alcuni casi, i modelli avanzati di deep learning possono anche comportare difficoltà a livello di infrastruttura. Ad esempio, le architetture basate sui transformer sono progettate per elaborare grandi quantità di dati visivi e apprendere relazioni complesse all'interno delle immagini, ma spesso richiedono notevoli risorse computazionali. L'esecuzione di questi modelli può richiedere hardware più potente o costoso.
Senza un'adeguata ottimizzazione, anche i modelli che funzionano rapidamente durante la fase di test possono rallentare o comportarsi in modo incostante dopo l'implementazione. Per ovviare a questo problema, i team spesso ottimizzano le pipeline, riducono la complessità dei modelli ove possibile e cercano di trovare un equilibrio tra precisione e velocità.
Ciò può comportare la compressione di modelli di grandi dimensioni in versioni più leggere, l'utilizzo di architetture più efficienti o l'elaborazione delle immagini a risoluzioni inferiori, in modo che il sistema funzioni senza intoppi sull'hardware disponibile. In molti casi, i team scelgono anche modelli leggeri e più veloci come Ultralytics per riuscire a rispettare i vincoli di implementazione.
Migliori pratiche per prevenire i malfunzionamenti dei modelli di visione artificiale
Ecco alcune buone pratiche che possono aiutare a ridurre i guasti durante l'implementazione dei modelli di visione artificiale in produzione:
Adottare strategie di implementazione graduale: introdurre i modelli in produzione in modo progressivo, in modo che i team possano osservarne il comportamento e apportare modifiche quando necessario.
Incorporare cicli di feedback: raccogliere nuove immagini e analizzare le previsioni errate per addestrare nuovamente i modelli con set di dati aggiornati e migliorare le prestazioni nel tempo.
Limiti del modello: documentare chiaramente le situazioni in cui il modello potrebbe incontrare difficoltà, in modo che i team possano prevedere eventuali problemi durante l'implementazione.
Progettare tenendo conto delle variazioni reali: pianificare in anticipo le variazioni relative all'illuminazione, alle angolazioni della telecamera, alla disposizione degli oggetti o alle condizioni dello sfondo può aiutare a garantire la stabilità dei modelli in diversi scenari operativi.
Punti chiave
I modelli di visione artificiale raramente falliscono a causa della scarsa efficacia degli algoritmi stessi. Nella maggior parte dei casi, la vera sfida deriva dagli ambienti in cui questi sistemi operano. I modelli che funzionano bene durante l'addestramento spesso si trovano ad affrontare condizioni imprevedibili nel mondo reale che possono influenzarne il comportamento.
Ecco perché la creazione di sistemi di intelligenza artificiale per la visione affidabili non si limita al semplice addestramento di un modello. Implica anche una preparazione accurata dei set di dati, il monitoraggio delle prestazioni del modello dopo l'implementazione e l'adattamento continuo dei sistemi alle condizioni reali.