Il riconoscimento delle immagini è un'applicazione di apprendimento automatico (ML) (o tecnologia di machine learning) che consente a software e dispositivi di identificare oggetti, luoghi, persone, scritture e azioni in immagini o video digitali.
Questa tecnologia consente ai computer di identificare i difetti dei prodotti, aiuta i professionisti medici a individuare le anomalie ed è parte integrante dello sviluppo di veicoli autonomi.
Il riconoscimento delle immagini è un compito fondamentale della computer vision, il campo più ampio della tecnologia di AI che consente a software e macchine di comprendere e reagire ai dati visivi.
I tecnici utilizzano modelli tradizionali di apprendimento automatico e deep learning per il riconoscimento delle immagini. Questi approcci sono in genere separati e il fatto che vengano combinati o utilizzati in modo indipendente dipende dal problema specifico e dai requisiti delle risorse.
L'apprendimento automatico utilizza algoritmi che classificano le immagini sulla base di caratteristiche estratte manualmente da tecnici umani. I tecnici pre-elaborano le immagini e le analizzano in base all'obiettivo o al problema specifico che stanno tentando di risolvere attraverso il riconoscimento delle immagini.
Forse si tratta di identificare volti, rilevare oggetti o classificare texture. In ogni caso, il tecnico utilizza le proprie conoscenze di dominio per pre-elaborare le immagini e addestrare l'algoritmo.
I tecnici preparano le immagini per l'analisi normalizzando l'immagine, il che significa scalare i valori dei pixel in un intervallo standard, in genere compreso tra 0–1 o -1–1, in modo che i dati siano coerenti e più gestibili da elaborare per i modelli di apprendimento automatico.
La pre-elaborazione include anche il ridimensionamento delle immagini, la conversione in scala di grigi per ridurre la complessità computazionale o la rimozione del rumore utilizzando tecniche di filtraggio gaussiane. Il "rumore" nel riconoscimento delle immagini si riferisce a qualsiasi variazione indesiderata o casuale dei pixel, ad esempio un'immagine maculata, granulosa, sfocata o distorta.
Successivamente, i tecnici devono selezionare le caratteristiche che forniscono le informazioni più significative. Potrebbero essere i bordi quando si rilevano le forme o l'intensità del colore se il risultato è distinguere gli oggetti in base alla tonalità. Dal momento che i modelli di apprendimento automatico si basano su caratteristiche estratte manualmente, l'annotazione dei dati contrassegna le informazioni essenziali.
Annotando gli oggetti di interesse all'interno delle immagini, i modelli possono riconoscere e classificare più facilmente oggetti specifici come "gatto" o "cane". I dati annotati con precisione consentono agli algoritmi di apprendimento automatico di apprendere con precisione le caratteristiche visive di ciascuna categoria.
I tecnici estraggono queste caratteristiche e le formattano in vettori numerici, facilitando l'elaborazione e il confronto delle immagini da parte dei modelli di apprendimento automatico. I tecnici traducono ogni immagine in un vettore di caratteristiche a lunghezza fissa, un elenco di numeri che ne riassumono l'importanza.
Al contrario, i modelli di deep learning possono apprendere direttamente dall'immagine. Deep learning, un sottoinsieme dell'apprendimento automatico, utilizza reti neurali a strati per eseguire complesse attività di pre-elaborazione e riconoscimento delle immagini, ma al costo di requisiti computazionali e di dati più elevati.
Le reti neurali convoluzionali (CNN) sono architetture di deep learning con livelli convoluzionali che analizzano e apprendono la natura strutturata dei dati delle immagini.
La rete neurale profonda della CNN rileva automaticamente il valore dei pixel grezzi dell'immagine. La CNN trasmette tali informazioni attraverso i livelli della rete profonda per estrarre schemi e infine fare previsioni sull'immagine.
I livelli della rete iniziano con il livello di input. Il livello di input elabora i valori grezzi dei pixel dell'immagine, trattandoli come una griglia di intensità numeriche e li trasmette ai livelli successivi per l'estrazione del pattern.
Successivamente, il livello convoluzionale applica piccoli filtri o kernel sull'immagine per rilevare pattern locali come bordi o texture. La convoluzione riduce la necessità di estrarre manualmente le caratteristiche in quanto la rete può apprendere i modelli direttamente dai dati.
Dopo ogni convoluzione, una funzione di attivazione introduce una non linearità nel modello, consentendo alla rete di apprendere pattern, forme e oggetti complessi impilando più livelli.
I livelli di pooling sottocampionano l'immagine per ridurne le dimensioni, pur mantenendo le caratteristiche importanti, per garantire che il modello sia computazionalmente efficiente nel gestire variazioni come lievi rotazioni o spostamenti nell'immagine.
Dopo che la rete ha estratto le caratteristiche, appiattisce i dati in un vettore unidimensionale e li fa passare attraverso livelli completamente connessi. Questi livelli integrano i pattern appresi dalle fasi precedenti per identificare relazioni complesse e perfezionare il processo di classificazione.
Infine, i dati raggiungono il livello di output, che consolida le caratteristiche estratte e produce una previsione finale. Questa previsione viene confrontata con il set di dati di addestramento annotato per calcolare gli errori e regolare i pesi della rete per una maggiore precisione.
Ad esempio, per addestrare un modello a riconoscere immagini di gatti, i tecnici potrebbero utilizzare l'apprendimento supervisionato, contrassegnando migliaia di immagini con tag come "gatto" o "non gatto" in modo che il modello possa apprendere caratteristiche principale come la consistenza del pelo, i baffi e la forma delle orecchie.
In alternativa, nell'apprendimento non supervisionato, il modello funziona con dati non etichettati per scoprire pattern in modo indipendente. Il modello identifica le relazioni senza categorie predefinite raggruppando le immagini in base a caratteristiche condivise (ad esempio, forme o texture simili).
Questo approccio è utile per attività come il rilevamento delle frodi, il controllo della qualità e l'analisi dei pattern quando i dati etichettati non sono disponibili. Nell'apprendimento non supervisionato, il modello raggrupperebbe in modo indipendente le immagini in base a pattern condivisi, raggruppando tutte le immagini dei gatti senza sapere esplicitamente che sono gatti.
Un terzo approccio, l'apprendimento autosupervisionato, combina aspetti dell'apprendimento non supervisionato partendo da dati non etichettati ma generando pseudo etichette dalla struttura intrinseca dei dati, consentendo ai modelli di apprendere rappresentazioni significative senza etichette tradizionali, rendendoli potenti per attività con set di dati etichettati limitati.
Con l'apprendimento autosupervisionato, il modello potrebbe analizzare parti di un'immagine, come la ricostruzione di una faccia di gatto parzialmente oscurata, per identificare pattern e caratteristiche. In definitiva, il modello addestrato, che utilizzi l'apprendimento automatico o il deep learning, può identificare e classificare con precisione nuove immagini non visibili di gatti, distinguendole da altri animali oppure oggetti.
Sebbene le tecnologie di riconoscimento delle immagini siano avanzate, devono ancora affrontare sfide che influiscono sulla precisione e sull'affidabilità. I tecnici mitigano questi problemi combinando architetture di modelli migliorate, diversi set di dati di addestramento e tecniche di pre-elaborazione.
L'apprendimento supervisionato utilizza dati etichettati, con ogni immagine contrassegnata con la categoria corretta per guidare l'algoritmo attraverso esempi chiari. Ad esempio, addestrare un sistema per riconoscere le auto implica un set di dati etichettato "cat" e "non cat". Il modello impara quindi a differenziare in base ai pattern visivi all'interno di questi esempi etichettati.
Nell'apprendimento non supervisionato, l'algoritmo utilizza dati senza etichetta, scoprendo pattern in modo indipendente. È come dare a un bambino una scatola di giocattoli da ordinare per somiglianza; algoritmi non supervisionati raggruppano le immagini in base a caratteristiche condivise (ad esempio, baffi, mantello, quattro zampe e code) senza conoscere le categorie.
Le variazioni di illuminazione, come ombre, variazioni di luminosità o ambienti con scarsa illuminazione, possono influire sulle prestazioni dei sistemi di riconoscimento delle immagini. Le macchie luminose potrebbero sbiadire i dettagli, mentre le ombre potrebbero oscurare le caratteristiche critiche, facendo sì che il modello interpreti erroneamente la forma o il colore di un oggetto.
Metodi Advanced come l'equalizzazione adattiva dell'istogramma o l'integrazione dei dati di addestramento con condizioni di illuminazione variabili aiutano i modelli a ottenere prestazioni migliori in diversi scenari di illuminazione.
Le prestazioni di un modello di riconoscimento delle immagini dipendono dalla diversità e dalla qualità dei suoi dati di formazione. I modelli addestrati su set di dati che contengono principalmente immagini idealizzate ad alta risoluzione potrebbero avere difficoltà quando incontrano variazioni di qualità inferiore o reali.
Per ovviare a questo problema, gli ingegneri rendono accurati diversi set di dati che rappresentano le condizioni del mondo reale. Tecniche come il transfer learning consentono ai modelli di utilizzare conoscenze preaddestrate provenienti da set di dati ampi e robusti e di migliorare le prestazioni anche con dati limitati.
Le dimensioni di un oggetto in un'immagine, influenzate dalla sua vicinanza alla fotocamera, possono influire sulla capacità del modello di identificarlo con precisione. Gli oggetti di piccole dimensioni potrebbero non avere dettagli sufficienti per il riconoscimento, mentre gli oggetti troppo vicini potrebbero apparire distorti o troppo grandi per essere classificati correttamente dal modello.
Gli ingegneri addestrano i modelli su set di dati che includono oggetti di varie dimensioni e distanze per gestire questo problema. Vengono impiegate anche tecniche di elaborazione delle immagini in scala multipla e piramidi di caratteristiche, per garantire che il modello possa gestire gli oggetti in un'ampia gamma di dimensioni.
Il rilevamento degli oggetti amplia il riconoscimento delle immagini identificando gli oggetti e individuandone la posizione all'interno di un'immagine. Questa tecnica consente al sistema di rispondere a domande come: "Dov'è il gatto in questa foto?" oppure "Quanti gatti ci sono nella scena?" Il rilevamento degli oggetti offre più contesto, in quanto riconosce gli oggetti e le loro posizioni, dimensioni e orientamenti all'interno dell'inquadratura.
Ad esempio, invece di identificare "un gatto" in un'immagine, il rilevamento degli oggetti consente al computer di specificare: "C'è un gatto seduto sul divano nell'angolo sinistro dell'immagine", fornendo una comprensione spaziale della scena e delle relazioni tra gli oggetti.
Anche la complessità delle attività di riconoscimento delle immagini può variare. La categorizzazione o classificazione delle immagini assegna una singola etichetta a un'intera immagine in base al contenuto, rispondendo alla domanda: "Cosa c'è in quest'immagine?"
Ad esempio, un modello addestrato su set di dati etichettati di cani e gatti impara a distinguere tra i due identificando le loro caratteristiche uniche. Quando viene presentata una nuova immagine, il modello analizza queste caratteristiche per prevedere se mostra un gatto o un cane.
I modelli utilizzano i riquadri di delimitazione per delineare questi singoli oggetti, separandoli dallo sfondo e segnando il punto in cui ogni oggetto inizia e finisce. Questa precisione è fondamentale per applicazioni come la guida autonoma, in cui il rilevamento accurato di oggetti come veicoli, pedoni e segnali stradali è essenziale per la sicurezza.
Il riconoscimento delle immagini sta avanzando rapidamente, aprendo la strada ad applicazioni più sofisticate in numerosi settori e casi d'uso. Di seguito sono riportati alcuni dei principali campi di applicazione reali del riconoscimento delle immagini:
Numerosi smartphone sono dotati di tecnologia di riconoscimento facciale che consente agli utenti di sbloccare il dispositivo semplicemente guardando lo schermo. Questa applicazione del riconoscimento delle immagini è diventata comune, con sistemi che riconoscono i singoli tratti del viso per verificare l'identità.
Il riconoscimento facciale è ampiamente utilizzato anche nei settori della sicurezza e della sorveglianza per identificare gli individui dai feed video. Questa tecnologia aiuta le forze dell'ordine a rintracciare i sospettati nelle aree pubbliche, mentre le aziende la utilizzano nella sicurezza degli edifici per controllare gli accessi.
Le piattaforme di social utilizzano il riconoscimento delle immagini per suggerire tag nelle foto, identificando e riconoscendo i volti di amici e familiari. I social utilizzano anche filtri AR che rilevano i punti di riferimento facciali per posizionare elementi virtuali, come occhiali oppure orecchie di animali, in modo da allinearsi ai movimenti del viso.
Inoltre, queste piattaforme utilizzano il riconoscimento delle immagini per moderare i contenuti, filtrando le immagini inappropriate, mantenendo la sicurezza della piattaforma e migliorando l'esperienza degli utenti.
Basandosi sulle attuali applicazioni di realtà aumentata (AR) nei dispositivi mobili, gli occhiali intelligenti dotati di software di riconoscimento delle immagini possono offrire agli utenti viste aumentate dell'ambiente circostante, sovrapponendo informazioni in tempo reale su oggetti e luoghi.
La tecnologia della realtà aumentata fornisce dati contestuali su tutto quello che l'utente guarda, dall'identificazione dei punti di riferimento al recupero dei dettagli dei prodotti nei negozi memorizzati.
Il riconoscimento delle immagini negli elettrodomestici consente funzionalità come il monitoraggio dell'inventario nei frigoriferi intelligenti, il rilevamento degli ostacoli negli aspirapolvere robotici e il riconoscimento di persone od oggetti nelle telecamere di sicurezza.
Migliora inoltre le funzioni come il rilevamento del tipo di tessuto nelle lavatrici, il riconoscimento degli alimenti nei forni intelligenti e l'analisi facciale negli specchi intelligenti o nei monitor per bambini.
I robot adibiti alla consegna si affidano al riconoscimento delle immagini per navigare negli ambienti, rilevare gli ostacoli e identificare i luoghi di consegna per consegne autonome accurate ed efficienti.
Al contrario, i robot nei magazzini e negli ambienti industriali utilizzano la stessa tecnologia per scansionare e recuperare articoli, eseguire controlli di qualità, assemblare parti e smistare i materiali.
L'analisi delle immagini mediche assiste gli operatori sanitari nell'analisi di radiografie, risonanze magnetiche e scansioni TC. Questi sistemi sono in grado di rilevare anomalie che l'occhio umano potrebbe non rilevare, come i primi segni di cancro ai polmoni, ictus cerebrali o tumori, portando a diagnosi più tempestive.
Merative, ex IBM® Watson Health, applica il riconoscimento delle immagini per analizzare dati di imaging complessi, supportando i radiologi nell'identificazione dei risultati critici.
Il riconoscimento delle immagini mediche sta avanzando grazie alla diagnostica basata su AI, per cui i sistemi di riconoscimento delle immagini possono aiutare a rilevare le malattie in fase iniziale con maggiore precisione.
Già in grado di migliorare aree come il rilevamento dei tumori, la tecnologia supporta gli specialisti con un "secondo paio di occhi" altamente qualificato per diagnosi avanzate, in particolare in aree dove i dettagli più minuti sono critici.
La tecnologia OCR digitalizza il testo stampato attraverso la scansione di documenti, libri e ricevute. Le app utilizzano l'OCR per riconoscere e convertire il testo stampato in formati digitali che gli utenti possono modificare o ricercare. L'OCR è stato un primo caso d'uso critico per il riconoscimento delle immagini, che ha contribuito a spianare la strada alla digitalizzazione diffusa in ogni settore.
Le banche e gli istituti finanziari utilizzano il riconoscimento delle immagini per automatizzare i controlli di verifica, gli ID e altri documenti, ridurre le frodi e semplificare l'onboarding dei clienti. La tecnologia analizza le immagini dei documenti alla ricerca di dettagli cruciali, le autentica e contrassegna eventuali anomalie per la revisione.
Esplora la libreria IBM di foundation model sulla piattaforma watsonx per scalare con fiducia l'AI generativa per la tua azienda.
La ibm maximo ispezione visiva è una piattaforma di computer vision no-code progettata per automatizzare i processi di ispezione visiva. Esplora risorse, una demo autoguidata, tour dei prodotti e descrizioni dettagliate delle soluzioni.
IBM® Consulting sta lavorando con clienti e partner globali per creare insieme il futuro dell'AI. Il nostro team globale e diversificato, composto da oltre 20.000 esperti di AI, ti aiuterà a progettare e scalare in modo rapido e sicuro soluzioni AI all'avanguardia e l'automazione in tutta la tua azienda.