Che cos'è la classificazione delle immagini?

Che cos'è la classificazione delle immagini?

La classificazione delle immagini è il processo di categorizzazione o classificazione delle immagini in categorie. Nel machine learning, i modelli imparano a riconoscere e classificare le immagini.

Gli esseri umani classificano le immagini a partire dalla giovane età. Quando un insegnante chiede ai bambini dell'asilo di dividere le immagini di piante e animali in gruppi, essi utilizzano le caratteristiche che hanno imparato su ciascuna categoria per completare il compito. Ognuna di queste categorie possiede caratteristiche diverse che differenziano le piante dagli animali. Gli adulti potrebbero non ricordare di aver appreso le caratteristiche distinte che separano le due categorie, poiché gran parte del modo in cui sappiamo classificare viene naturale.

Insegnare a un modello di intelligenza artificiale (AI) a svolgere lo stesso compito può essere molto più difficile. La principale differenza, in questo caso, è che i modelli AI devono essere addestrati a "vedere", mentre gli esseri umani nascono con questa capacità. Quindi, gli umani possono distinguere tra una scarpa e un essere vivente sin dall'inizio. La classificazione delle immagini basata su regole dipende da etichette o annotazioni per creare queste distinzioni. La classificazione statistica delle immagini svolge lo stesso compito addestrando i modelli a riconoscere gli schemi incorporati nelle immagini, eliminando gran parte del lavoro di etichettatura manuale.

Cos'è la computer vision?

La computer vision si riferisce al ramo più generale dell'AI in cui rientra la classificazione delle immagini. Utilizza il machine learning e spesso le reti neurali per consentire ai computer di interpretare dati visivi come immagini e video. Anche se alcuni esperimenti con la computer vision potrebbero essere iniziati già negli anni '50, la maggior parte degli esperti concorderebbe che fu solo nel 1970 che iniziò l'uso commerciale di questa tecnica.

La computer vision consente ai computer di estrarre dati utili da ciò che vedono. Questo processo consente loro anche di rispondere formulando raccomandazioni o addirittura intervenendo quando rilevano problemi o anomalie nei dati visivi. Anche nell'ambito della computer vision esiste il campo del riconoscimento delle immagini. Questo termine ampio viene utilizzato per descrivere la capacità di un computer di interpretare un'immagine o delle immagini. Per riassumere, la computer vision è la categoria più ampia e i compiti del riconoscimento delle immagini e, ancora più specificamente, la classificazione delle immagini si annidano al suo interno.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Tipi di classificazione delle immagini

Classificazione delle immagini basata su regole

Questo metodo si basa su un processo rigorosamente sviluppato di raccolta e etichettatura delle immagini, in modo da adattarsi allo specifico compito o obiettivo di classificazione. Questo processo viene completato manualmente da esperti che selezionano le caratteristiche principali dell'immagine che forniscono le maggiori informazioni visive. La classificazione delle immagini basata su regole raggruppa cluster di pixel simili in classi applicando queste regole, che sono costruite sulla base di conoscenze specialistiche. Consente inoltre una classificazione interpretabile e personalizzabile senza fare affidamento su complessi modelli di machine learning.

Immagina una scatola piena di fotografie che ti viene assegnato il compito di organizzare. La collezione contiene fotografie di laghi, cani e automobili. Poiché non hai a disposizione strumenti high-tech con questo metodo, devi creare un elenco. 

L'elenco può essere simile al seguente:

  • Per le "automobili", cerchi pneumatici, portiere e specchietti laterali.

  • Per i "cani", verifichi la presenza di orecchie flosce, code scodinzolanti e nasi lunghi.

  • Per i "laghi", cerchi foto con molta acqua e una riva.

Questo esempio dimostra che la classificazione basata su regole si basa su regole e strumenti preimpostati creati dall'uomo. Questo metodo è in contrasto con il lasciare che un computer "apprenda" autonomamente nuove regole. Questa forma di classificazione delle immagini può includere tecniche come la corrispondenza dei modelli e la definizione delle soglie.

La corrispondenza dei modelli implica lo scorrimento di un'immagine del modello su un'immagine di input più grande e il calcolo delle metriche di somiglianza in ogni posizione per trovare le regioni che corrispondono all'immagine del modello.

La soglia segmenta le immagini convertendo i valori dei pixel in binari in base a un valore limite impostato. Questo metodo differenzia le caratteristiche dallo sfondo in base all'intensità.

Combinate con l'apprendimento per rinforzo basato su regole, queste tecniche contribuiscono a sistemi di classificazione delle immagini solidi e interpretabili. La classificazione basata su regole può essere completata implementando algoritmi k-nearest neighbor o random forest.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Classificazione statistica delle immagini 

Questo metodo di classificazione è un po' più complesso del metodo di classificazione delle immagini basato su regole. La classificazione statistica delle immagini è progettata per apprendere e riconoscere automaticamente i modelli nelle immagini. Per classificare in modo efficiente le immagini, questo metodo si basa in larga misura su grandi set di dati etichettati e su architetture potenti, solitamente reti neurali convoluzionali (CNN). Queste CNN utilizzano tre tipi di livelli, ognuno dei quali aumenta di complessità per identificare parti dell'immagine. Man mano che i dati si spostano attraverso i vari livelli della CNN, un numero maggiore di componenti viene riconosciuto fino a quando l'immagine non può essere classificata.

Un diagramma dettagliato che illustra una rete neurale convoluzionale (CNN) che elabora l'immagine di una zebra.
Diagramma di una rete neurale convoluzionale (CNN)

Metodi basati sulla distribuzione

Le tecniche tradizionali basate sulla distribuzione si basano su ipotesi chiare sulle proprietà statistiche dei dati dell'immagine. Metodi come la stima di massima verosimiglianza (MLE) e i classificatori bayesiani analizzano le distribuzioni di probabilità delle intensità o delle caratteristiche dei pixel per assegnare classi. Nella classificazione delle immagini, l'MLE assegna ogni pixel dell'immagine alla classe il cui modello statistico spiega meglio i dati raccolti. La classificazione bayesiana utilizza il teorema di Bayes per calcolare la probabilità che un'immagine appartenga a una determinata classe in base alle conoscenze precedenti e ai dati raccolti. Il teorema consente di "invertire" le probabilità condizionali. Combina le probabilità precedenti delle classi con la probabilità delle caratteristiche osservate per prevedere la classe più probabile per uno specifico segmento di immagine. Questi algoritmi richiedono una modellazione statistica di ogni classe ed eseguono la classificazione stimando la probabilità che un pixel o un segmento specifico appartenga a ciascuna classe in base a questi modelli.

Formula per la probabilità condizionata
Formula per la probabilità condizionata

La stima di massima verosimiglianza (MLE) è un metodo statistico utilizzato per stimare i parametri di un modello trovando i valori che rendono più probabili i dati osservati. Nella classificazione delle immagini, l'MLE assegna ogni pixel o segmento alla classe il cui modello statistico massimizza la probabilità di generare i dati osservati.

Metodi senza distribuzione

Le reti neurali convoluzionali (CNN) rappresentano un approccio più moderno e privo di distribuzione che apprende le caratteristiche direttamente dai dati senza fare affidamento su regole statistiche chiaramente definite. Le CNN sono costituite da più livelli che rilevano progressivamente le caratteristiche dell'immagine, passando dalla più semplice alla più complessa. Usano operazioni come le convoluzioni e il pooling. Una convoluzione è l'operazione matematica utilizzata dalla CNN per estrarre caratteristiche dai dati e dalle immagini di input in questo caso. Questa operazione utilizza un filtro o un kernel che scorre sull'input. Il pooling applica anche un filtro all'intero input, ma a differenza della convoluzione, questo filtro manca di parametri ponderati. La formazione delle CNN richiede set di dati e risorse computazionali di grandi dimensioni ed etichettati, ma spesso offre una precisione notevolmente migliorata grazie alla loro capacità di estrarre automaticamente caratteristiche gerarchiche dai dati grezzi delle immagini.

Una grafica triangolare divisa in tre sezioni, ognuna delle quali presenta icone stilizzate di biciclette. La piramide è ombreggiata in diverse tonalità di blu, creando un effetto sfumato. Il design enfatizza la semplicità e le forme geometriche, senza testo visibile o valori numerici.
Diagramma della gerarchia
Rappresentazione visiva del filtro matrici applicato a una griglia numerica. L'immagine di input mostra una griglia 3x3 con numeri, mentre il filtro e l'array di output mostrano il processo di trasformazione.
Diagramma di un array di reti neurali convoluzionali (CNN)

Come funziona la classificazione statistica delle immagini

Raccolta e pre-elaborazione dei dati: la raccolta di un numero elevato e diversificato di immagini per ogni gruppo è il primo passo. I dati devono essere etichettati, quindi normalizzati. La normalizzazione e altre tecniche di aumento dei dati includono il ridimensionamento delle immagini a dimensioni fisse, la normalizzazione del valore dei pixel e altro ancora.

Selezione del modello: il prossimo passo nel workflow è la selezione del modello. L'architettura selezionata è molto probabilmente una CNN. Come discusso in precedenza, la CNN inizia a rilevare caratteristiche più complesse man mano che i dati si spostano attraverso i suoi livelli.

Addestramento del modello e convalida: dopo la selezione, le immagini etichettate vengono divise in set di dati di addestramento, set di dati di convalida e set di dati di test. La rete utilizza questi set per ottimizzare e regolare ripetutamente i pesi, riducendo al minimo gli errori tra le etichette previste e le etichette effettive. La prevenzione dell'overfitting è assistita dai dati di convalida e questo processo di addestramento può continuare fino a quando i risultati non soddisfano uno standard predeterminato.

Durante questo passaggio, potrebbe essere applicato un set di dati di immagini con annotazioni umane come ImageNet. ImageNet è un'enorme raccolta di oltre 14 milioni di immagini. Queste immagini sono tutte organizzate ed etichettate per insegnare ai computer a riconoscere gli oggetti nelle immagini. Ogni immagine nel database è contrassegnata con categorie specifiche chiamate "synset". Questi synset includono cose come "cane", "macchina" o "mela" e utilizzano un framework chiamato WordNet.

Estrazione delle caratteristiche: in questa fase, contrariamente alla classificazione delle immagini basata su regole, i modelli di deep learning apprendono le proprie caratteristiche dai dati delle immagini grezze estratti. Questo approccio consente alla rete di stabilire rappresentazioni interne per distinguere tra gruppi o classi.

Valutazione e distribuzione: successivamente, il modello viene valutato in base ai dati di test e messo a punto se necessario. Il modello viene quindi distribuito per fare previsioni su nuove immagini in un ambiente reale se le metriche vengono soddisfatte.

Modelli e algoritmi di classificazione delle immagini

Sono stati sviluppati vari modelli e algoritmi per la classificazione delle immagini. Si va da approcci come K-nearest neighbor (KNN), random forest e macchine a vettori di supporto (SVM), ad architetture come AlexNet, GoogleNet e ResNet. Ogni metodo offre diversi punti di forza in termini di precisione, scalabilità e complessità. Queste opzioni consentono agli utenti di scegliere tra classificatori più semplici o reti neurali convoluzionali altamente sofisticate in grado di apprendere caratteristiche gerarchiche profonde dalle immagini. Esamineremo questi algoritmi e modelli in modo più approfondito.

  • K-nearest neighbor (KNN): questo algoritmo è un classificatore di apprendimento supervisionato ampiamente utilizzato per le attività di classificazione delle immagini. Funziona utilizzando la distanza euclidea per misurare la somiglianza nei nuovi punti dati con tutti gli altri punti dati esistenti in ciascun set di dati. Nella classificazione delle immagini, ogni immagine viene prima rappresentata come un vettore di caratteristiche. Un vettore di caratteristiche può includere valori di pixel grezzi, istogrammi a colori o qualsiasi descrittore numerico che catturi importanti caratteristiche visive dell'immagine. L'immagine viene classificata confrontandola con le "k" immagini più simili del set di addestramento etichettato e assegnando l'etichetta più comune tra quelle vicine. Poi utilizza la distanza euclidea, citata in precedenza, per misurare la somiglianza.

  • Random forest: un altro classificatore di immagini supervisionato noto per la sua flessibilità e facilità d'uso. L'algoritmo di classificazione è composto da più alberi decisionali. Ogni output di questi alberi decisionali viene calcolato in media e poi combinato per darci l'output finale. Random forest classifica le immagini costruendo un insieme di molti alberi decisionali, ciascuno addestrato su immagini campione casuali diverse e sottoinsiemi di caratteristiche tratti dai dati. Per una nuova immagine, ogni albero prevede un'etichetta di classe e la classe con il maggior numero di voti tra tutti gli alberi diventa la classificazione finale per quell'immagine.

  • Macchina a vettori di supporto (SVM): comunemente usato per problemi di classificazione, questo algoritmo di machine learning funziona identificando il confine ideale per massimizzare il margine tra i punti dati più vicini di classi opposte.

  • AlexNet: precursore nel mondo delle CNN di deep learning, questo modello ha guadagnato popolarità grazie al suo design semplice ma profondo. Questo modello utilizza ReLU come funzione di attivazione anziché la funzione sigmoidea.

  • GoogLeNet/Inception: creato da Google, questo modello impiega i moduli di inception. Ogni modulo di inception contiene 4 percorsi con filtri di diverse dimensioni e GoogLeNet ha 4 moduli di avvio che corrono paralleli l'uno all'altro. I risultati di ciascun modulo di inception vengono poi combinati per ottenere un output unico. I ricercatori hanno scoperto che la messa a punto di un modello pre-addestrato, come Inception, fornisce risultati più accurati.

  • ResNet: questo modello introduce connessioni residue, o scorciatoie, che consentono ai dati di prendere un altro percorso e saltare alcuni livelli della rete. ResNet ha permesso di addestrare reti più profonde con prestazioni di modello di successo su reti fino a 152 livelli.

  • Modello personalizzato TensorFlow: un'altra opzione è creare modelli da zero utilizzando TensorFlow e Keras. Questo approccio prevede la creazione di livelli come Conv2D, MaxPooling2D e Dense. Inoltre, la creazione delle funzioni di attivazione per costruire una pipeline di deep learning in grado di classificare le immagini dopo l'addestramento su esempi etichettati è completa.
ML tradizionale e deep learning
ML tradizionale e deep learning

Casi d'uso della classificazione delle immagini

Settore automobilistico: sia la classificazione delle immagini che il rilevamento degli oggetti stanno diventando sempre più diffusi nei veicoli. Il rilevamento degli oggetti viene utilizzato per fornire agli autisti informazioni in tempo reale sull'ambiente circostante. Questa capacità può essere utile in aree sconosciute o ad alto traffico. Un rilevamento efficace degli oggetti dipende in larga misura dall'efficacia della classificazione delle immagini di quella CNN.

Classificazione delle malattie delle piante tramite immagini fogliari: i ricercatori hanno sviluppato un modello in grado di rilevare 13 malattie delle foglie sane. Il modello è anche in grado di distinguere una o più foglie dall'ambiente circostante. Un modello come questo potrebbe essere fondamentale per determinare se un ambiente è stato infettato da qualcosa come la malattia delle foglie di faggio (BLD), ad esempio.

Imaging sanitario e medico: la classificazione delle immagini con deep learning con le CNN può fornire immagini radiografiche di polmoni infetti da polmonite. I medici e i tecnici sanitari potrebbero essere in grado di identificare i casi di polmonite in modo più rapido e accurato, pur facendolo in modo economico.

Conclusione:

La classificazione delle immagini è un componente chiave della computer vision. Consente alle macchine di dare un senso al mondo visivo come fanno gli esseri umani. Dai metodi di classificazione delle immagini basati su regole che si basano sulla selezione manuale delle caratteristiche alla classificazione statistica avanzata delle immagini con CNN in grado di riconoscere modelli sottili con elevata precisione, questo campo continua a evolversi rapidamente. Il suo impatto si sta già facendo sentire nei settori sanitario, automobilistico e ambientale. Questo strumento offre agli utenti un processo decisionale più rapido che può portare a una maggiore sicurezza generale. Man mano che i modelli di classificazione delle immagini diventano più sofisticati, non solo miglioreranno le applicazioni esistenti, ma apriranno anche la porta a possibilità completamente nuove.

Soluzioni correlate
IBM Maximo Visual Inspection

Libera la potenza della computer vision no-code per l'automazione delle ispezioni visive.

Esplora Maximo visual inspection
Consulenza e servizi per l'intelligenza artificiale (AI)

I servizi AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

Esplora i servizi di intelligenza artificiale
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Prossimi passi

IBM Maximo Visual Inspection mette la potenza delle funzionalità AI di computer vision nelle mani dei tuoi team di ispezione e controllo qualità. Libera la potenza della computer vision no-code per l'automazione delle ispezioni visive.

Esplora Maximo visual inspection Fai un tour del prodotto