Vai al contenuto principale

Vedere come una macchina: guida per principianti all’analisi delle immagini nel machine learning

Scopri come i computer "vedono" e interpretano le immagini, le tecniche usate per manipolarle e come il machine learning ha cambiato le regole del gioco.
Aggiornato 29 set 2026  · 15 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Immagini e video sono ovunque. Come esseri umani, facciamo affidamento sulla vista per molte attività, come guidare, riconoscere gli amici e fare diagnosi. Man mano che i computer entrano sempre più nelle attività quotidiane, è sempre più importante che possano usare le immagini anche loro. L’analisi delle immagini è il mezzo con cui i computer possono “vedere” e comprendere un’immagine. Quando l’analisi delle immagini è alimentata dal machine learning, la chiamiamo computer vision.

Questo tutorial ti guiderà su come i computer “vedono” le immagini, tratterà le basi della manipolazione delle immagini e, infine, discuterà come il machine learning e l’IA generativa possano essere applicati alle immagini. Iniziamo!

Se vuoi saperne di più sulla classificazione delle immagini, dai un’occhiata al nostro code-along su Image Classification with Hugging Face. 

Che cos’è la Computer Vision?

La Computer Vision è un campo dell’intelligenza artificiale che permette a computer e sistemi di ricavare informazioni significative da immagini digitali, video e altri input visivi. È la scienza e la tecnologia delle macchine che possono vedere. Come disciplina scientifica, la computer vision cerca di applicare le sue teorie e i suoi modelli alla costruzione di sistemi di visione artificiale.

Alla base, la computer vision riguarda l’interpretazione dei dati visivi. Comprende l’acquisizione, l’elaborazione, l’analisi e la comprensione di immagini digitali per estrarre dati ad alta dimensionalità dal mondo reale, così da produrre informazioni numeriche o simboliche utilizzabili da una macchina. Impiega vari metodi e tecniche da un’ampia gamma di discipline, come fisica, matematica, ingegneria elettrica e informatica.

Introduzione all’analisi delle immagini

Al livello più basso, i computer operano con 1 e 0. Non è diverso quando lavorano con le immagini. I computer possono rappresentare un’immagine come una matrice di 1 e 0. Quando un computer mostra un’immagine, visualizza una griglia di pixel, ciascuno riempito con un colore. Considera una forma molto semplice, come il triangolo nero qui sotto.

Figura 2: Triangolo nero con ogni pixel contornato.

Figura 1: Un semplice triangolo a bassa risoluzione composto da 28 pixel.

Questa forma è composta da 28 pixel: 16 pixel neri e 12 pixel bianchi. Puoi vedere ciascuno dei pixel contornati nell’immagine qui sotto.

Figura 2: Triangolo nero con ogni pixel contornato.

Ma questa immagine è solo una rappresentazione della matrice di numeri memorizzata dal computer.

Figura 3: Una dimostrazione degli 1 e 0 nella matrice che compone l’immagine del triangolo.

Figura 3: Una dimostrazione degli 1 e 0 nella matrice che compone l’immagine del triangolo.

Questo è piuttosto semplice per immagini con solo due colori: nero e bianco. Se la tua immagine è in scala di grigi, serve più sfumatura. Potresti ritrovarti con numeri come 0,015 nelle caselle. Questo numero indica essenzialmente al computer quale luminanza dare a ciascun pixel sullo schermo. Definisce un valore tra nero (1) e bianco (0).

Analizzare le immagini a colori

Ma le immagini sono raramente così spente. Che cosa fanno i computer con le immagini a colori? Rendiamo questo triangolo verde!

Figura 4: Lo stesso triangolo da 28 pixel di prima, ma con un tocco di colore!

Figura 4: Lo stesso triangolo da 28 pixel di prima, ma con un tocco di colore!

In questo caso, non puoi usare un numero tra zero e uno per descrivere questo colore. I colori disponibili sono troppi per assegnare praticamente a ciascuno un singolo numero che sia intuitivo.

Per questo, sono stati sviluppati alcuni sistemi che scompongono le componenti di un colore e assegnano numeri a ciascuna componente.

Per esempio, potresti aver sentito parlare di RGB. È un modello di colore che scompone ogni colore nella quantità di rosso, verde e blu, rispettivamente, che si combinano per creare il colore desiderato.

Il modello RGB deriva dall’uso di schermi con pixel rossi, verdi e blu, come i televisori. Questo modello consente il tipo di sintesi additiva del colore usata dalla luce in questi dispositivi.

In questo sistema, rosso, blu e verde sono chiamati “canali”. Per un’immagine a 8 bit, a ciascun canale viene assegnato un valore tra 0 e 255 (che è il valore massimo rappresentabile con un numero binario a 8 cifre).

Vediamo cosa significa per il nostro semplice triangolo verde.

I valori RGB per questa tonalità di verde sono, rispettivamente, 154, 205 e 50. Nota che, se fosse un verde puro, i canali rosso e blu sarebbero 0. Questa rappresentazione RGB mostra che c’è molto rosso e un po’ di blu mescolati al verde per creare questa tonalità. Ogni pixel ha tre canali di valori che lo descrivono. Ogni pixel verde è rappresentato da 154, 205, 50 e ogni pixel bianco è rappresentato da 0, 0, 0.

Ciò significa che questo semplice triangolo verde da 28 pixel è rappresentato da tre matrici 7x4.

Puoi immaginare queste tre matrici impilate una sull’altra per creare l’immagine.

Figura 5

Figura 5: Per questo semplice triangolo verde, ogni canale di colore nel sistema RGB contiene una matrice di valori di pixel che rappresenta l’immagine. Una volta combinati, queste tre matrici si impilano per creare un’unica immagine!

È evidente come le immagini possano rapidamente occupare molto spazio in un computer se ogni pixel richiede tre numeri per essere definito. Prenditi un momento per considerare quanti numeri compongono un’immagine ad alta risoluzione, ad esempio un’immagine 4K (che ha 4.000 pixel).

RGB non è l’unico sistema usato per assegnare i colori alle immagini. Potresti aver sentito parlare di CYMK, che usa quattro numeri per descrivere ogni colore. Questo modello usa quattro colori: ciano, magenta, giallo e nero. È utile in situazioni in cui serve un modello sottrattivo del colore, per esempio in stampa.

Ogni sistema di colore ha vantaggi e svantaggi, e può valere la pena esplorarne alcuni se incontri problemi di memoria durante l’analisi delle immagini. Per gli scopi di questo tutorial, resteremo su RGB.

Dunque, cosa puoi fare con queste matrici di valori di pixel?

Tecniche manuali di analisi delle immagini

Isolare oggetti con il thresholding

Come fa un computer a determinare quali pixel rappresentano un volto o un altro oggetto? Oggi, molto di quel lavoro di identificazione viene svolto da modelli di machine learning. Ma per capirli, è utile prima capire come isolare manualmente una figura in un’immagine.

Immagina di avere un video di due lucertole su uno sfondo chiaro. Per semplicità, rendi il video in scala di grigi, così c’è solo un canale da considerare. Ti interessa tracciare il movimento delle lucertole durante il video.

Un video è solo una serie di foto (o frame) impilate. Quindi la prima cosa da fare è separare quella pila e prendere ogni foto una alla volta. Ora che hai una foto in scala di grigi, devi mostrare al computer quale parte della foto è una lucertola e quale no.

Teoricamente, potresti usare il mouse per indicare ogni singolo pixel che compone la lucertola ed etichettarlo “lucertola”. Ma data la risoluzione della maggior parte delle foto e il fatto che hai molte foto che compongono il video, sarebbe una proposta irragionevole.

Invece, puoi elaborare una regola che dica al computer cosa fa parte della lucertola e cosa no. Il modo più semplice per farlo è con il thresholding.

Figura 6: Per semplificare, lavoreremo con questa foto in scala di grigi.

Figura 6: Per semplificare, lavoreremo con questa foto in scala di grigi.

Che cos’è il thresholding?

Il thresholding è il processo di segmentazione di un’immagine in base al valore numerico assegnato a ciascun pixel. Guarda di nuovo l’immagine in scala di grigi delle lucertole. Nota come le lucertole appaiano più scure dello sfondo. In molte immagini, c’è una differenza di luminanza tra l’oggetto che vogliamo isolare e lo sfondo.

Il thresholding è il processo di trovare il bordo dell’oggetto, in questo caso le lucertole, usando questa differenza di luminanza. Questa tecnica mira a definire una soglia di luminanza che separi i pixel chiari da quelli scuri.

Creare un’immagine binaria

Immagina la matrice di numeri che definisce questa immagine in scala di grigi. Ogni pixel è definito da un numero tra 0 e 255.

Con il thresholding, puoi definire una regola per cui tutto ciò che è sufficientemente scuro è una lucertola. Per esempio, potresti dire che qualsiasi pixel con un valore pari o superiore a 130 è una lucertola, e qualsiasi valore inferiore a 130 non lo è.

Tecnicamente, imposteresti qualsiasi valore pari o sopra la nostra soglia a 255 e tutto il resto a 0. Questo crea un’immagine binaria con pixel bianchi e neri. Se hai scelto una buona soglia, le lucertole saranno nere su uno sfondo bianco.

Figura 7: Immagine binaria generata impostando una soglia di 130.

Figura 7: Immagine binaria generata impostando una soglia di 130.

In questo esempio, abbiamo scelto un numero arbitrario come soglia: 130. Tuttavia, per isolare accuratamente le nostre lucertole, vorresti scegliere un numero che catturi la grande maggioranza delle lucertole minimizzando i pixel che non ne fanno parte.

Questo processo di scelta di un unico valore di soglia per l’intera immagine si chiama thresholding globale. È un modo grossolano per isolare il tuo target ed è spesso molto imperfetto. Se hai una lucertola perfettamente in controluce su uno sfondo perfettamente bianco, il thresholding globale funzionerà alla grande. Ma come vedi in questo esempio, le immagini reali sono raramente così facili. Probabilmente avrai bisogno di un metodo di thresholding più complesso.

Uno di questi metodi si chiama thresholding locale. In questa tecnica, scegli valori di soglia diversi per parti diverse dell’immagine. È particolarmente utile quando hai un gradiente di illuminazione nello sfondo. Esistono molti altri metodi di ottimizzazione, di complessità variabile, e la scelta dipende dalle circostanze.

È anche possibile applicare il thresholding a immagini a colori. Farlo è molto più complicato ed è fuori dall’ambito di questo tutorial.

Analisi morfologica

Sebbene il thresholding possa portarti abbastanza avanti nell’isolamento di queste lucertole, non è perfetto. Potresti ritrovarti con parti dello sfondo definite come lucertola o con parti della lucertola mancanti. Ti serve un altro strumento per isolare ulteriormente gli animali. Con il thresholding hai definito una regola basata sul colore o sulla luminanza. Ora definirai una regola basata sulla forma, usando le operazioni morfologiche.

Definire una forma con elementi strutturanti

Le operazioni morfologiche usano elementi strutturanti per determinare i bordi delle forme. Un elemento strutturante è una piccola matrice con una forma specifica, di solito un quadrato, un cerchio o una croce. Puoi anche cambiare la dimensione dell’elemento strutturante per ottenere effetti diversi.

Durante un’operazione morfologica, ogni pixel viene confrontato con i suoi vicini all’interno di quella forma. Ci sono due operazioni morfologiche di base che puoi usare per definire la forma dell’oggetto di interesse: dilatazione ed erosione.

Dilatazione

Nella dilatazione, se uno qualsiasi dei pixel vicini entro i limiti dell’elemento strutturante è scuro (in questo caso, 1), allora il pixel bersaglio viene trasformato in 1 per adeguarsi.

Immagina di passare su una griglia di numeri con una lente d’ingrandimento quadrata. Metti uno dei numeri al centro del quadrato e poi osservi gli altri numeri all’interno di quel quadrato. Se uno di loro è 1, allora etichetti come 1 il numero al centro, indipendentemente da cosa fosse all’inizio.

In questo modo, la dilatazione può espandere i bordi degli oggetti o riempire i buchi.

Erosione

L’erosione funziona allo stesso modo della dilatazione, ma con effetto opposto. Con l’erosione, se uno qualsiasi dei vicini di un pixel è 0, quel pixel verrà ridefinito come 0. Questo può servire a separare oggetti, ridurre il rumore e affinare i contorni.

Figura 8

Figura 8: Esempio visivo di dilatazione ed erosione usando un elemento strutturante a forma di croce. In questo esempio, abbiamo applicato l’operazione morfologica solo alla seconda riga della matrice. In un’immagine reale, verrebbe applicata a ogni pixel. Ma anche con questo semplice esempio, puoi vedere come l’erosione abbia separato i bordi della linea mentre la dilatazione l’ha ispessita.

Puoi vedere come dilatazione ed erosione modificano l’immagine binaria delle lucertole.

Figura 9: Esempio di erosione e dilatazione applicate alla foto delle lucertole. L’elemento strutturante usato qui era un quadrato 6x6.

Combinare dilatazione ed erosione

Dilatazione ed erosione possono essere usate in modo iterativo o sequenziale per modificare il risultato finale. È prassi comune usare entrambe per definire ulteriormente l’immagine isolata.

Quando l’erosione è seguita dalla dilatazione, piccole sporgenze e rumore vengono rimossi e il contorno rimanente è rafforzato. Questa tecnica si chiama opening.

Quando la dilatazione è seguita dall’erosione, piccoli buchi e gap vengono riempiti e i bordi ripuliti. Questa tecnica si chiama closing.

Figura 10: Dimostrazione delle tecniche di opening e closing usando un elemento strutturante quadrato 6x6 sulla foto delle lucertole.

Figura 10: Dimostrazione delle tecniche di opening e closing usando un elemento strutturante quadrato 6x6 sulla foto delle lucertole.

Puoi vedere che nessuna di queste immagini isola del tutto le nostre lucertole dallo sfondo. Ma con ogni modifica e iterazione, puoi avvicinarti sempre di più.

Con la prossima iterazione, potresti dire al computer di ignorare tutto ciò che è fuori da un certo intervallo di dimensioni. Questo rimuoverebbe gran parte dei puntini lasciando intatte le lucertole. Impara a farlo da solo nel corso Image Processing in Python su DataCamp!

Per ogni immagine o serie di immagini, puoi impostare una serie di regole come queste per dire al computer com’è fatto il tuo target. Poi il computer può usare queste informazioni per prendere decisioni.

Queste decisioni influenzano tutto, dall’identificazione delle galassie alla ricerca di tessuti malati. Ma creare una serie di regole per ogni immagine singolarmente è lungo e noioso. Ed è qui che entra in gioco il machine learning.

Machine learning supervisionato per l’analisi delle immagini

Addestrare un modello ML supervisionato

Come hai visto, analizzare le immagini a mano può essere impegnativo, perché entrano in gioco un enorme numero di variabili. Fortunatamente, il machine learning (ML) può aiutare ad automatizzare questo processo. Per un approfondimento sul machine learning, puoi dare un’occhiata a Machine Learning Scientist with Python o a Supervised Machine Learning. Questo tutorial tratterà solo brevemente gli aspetti di ML utili a comprendere l’elaborazione delle immagini.

Esistono due grandi categorie di ML: ML supervisionato e ML non supervisionato.

Con l’ML supervisionato, in sostanza fornisci al computer un gran numero di immagini ed etichetti tutto in anticipo. È un po’ come insegnare a un bambino com’è fatto un animale indicandolo e dicendo: “Questo è un elefante”. Sta al bambino individuare un modello tra le cose che chiamiamo elefanti e quelle che chiamiamo pesci.

Nel ML supervisionato, il computer fa un lavoro simile a quel bambino.

Figura 11

Figura 11: Immagine generata con DALLE-E di una madre che indica animali giocattolo per insegnare al bambino come sono fatti. L’apprendimento supervisionato funziona in modo analogo, dove vengono forniti esempi con la risposta corretta.

Annotazione ed estrazione delle feature

Supponiamo che tu voglia addestrare un modello di machine learning per identificare oggetti in un’immagine che non ha mai incontrato. Il primo passo nell’addestramento di questo modello supervisionato è annotare ed etichettare una raccolta di immagini, chiamata dataset di training. L’annotazione consiste nell’identificare e segnare manualmente le regioni di interesse in un’immagine.

Per esempio, se vogliamo addestrare un modello a classificare diversi tipi di animali, annoteremmo ogni immagine contornando gli animali presenti e assegnando loro l’etichetta di classe corrispondente, “mucca”, “gatto”, ecc. Questo dataset annotato diventa la base per l’addestramento del modello. Esistono anche molti dataset già etichettati pubblicamente disponibili su cui lavorare.

Una volta ottenuto il dataset di training etichettato, devi estrarre le caratteristiche rilevanti dalle immagini. L’estrazione delle feature consiste nell’identificare e catturare caratteristiche o pattern importanti che distinguono una classe dall’altra.

Nel nostro esempio sugli animali, potresti definire una caratteristica importante delle mucche come l’avere quattro zampe e le macchie.

Reti neurali convoluzionali

Esistono varie tecniche per l’estrazione delle feature nell’elaborazione delle immagini, che vanno da metodi semplici come gli istogrammi di colore e i descrittori di texture ad approcci più avanzati come le convolutional neural network (CNN).

Le CNN sono un popolare algoritmo di apprendimento supervisionato che impara automaticamente caratteristiche e pattern importanti dalle immagini etichettate durante l’addestramento. Sono composte da strati, ognuno dei quali esegue specifiche operazioni sui dati dell’immagine.

Gli strati di convoluzione applicano filtri per catturare pattern locali, mentre gli strati di pooling riducono le dimensioni spaziali. Gli strati completamente connessi combinano le informazioni provenienti dagli strati precedenti. Attraverso queste operazioni sequenziali, la rete estrae e combina le feature per fare previsioni accurate su ciò che è presente nell’immagine.

Scegliere un’architettura

Il processo di addestramento di un modello ML supervisionato, come una CNN, prevede diversi passaggi. Innanzitutto, i dati devono essere preprocessati per garantire coerenza e qualità. Questo può comportare il ridimensionamento delle immagini, la normalizzazione dei valori dei pixel e l’aumento del dataset applicando trasformazioni come rotazioni o ribaltamenti per aumentarne la diversità.

Successivamente, progetterai l’architettura del modello CNN. In sostanza, l’architettura è semplicemente il numero e il tipo di strati che usi e le loro configurazioni. L’architettura dovrebbe essere scelta con attenzione per bilanciare complessità e semplicità, permettendo al modello di catturare le caratteristiche essenziali evitando l’overfitting. Può essere utile partire da un’architettura consolidata e adattarla alle tue esigenze. Puoi trovare un elenco utile di architetture in una risorsa esterna.

Figura 12: Semplici esempi di architetture CNN.

Figura 12: Semplici esempi di architetture CNN.

Overfitting

L’overfitting si verifica quando il computer diventa molto bravo a etichettare le immagini nel dataset di training ma poi non riesce a identificare accuratamente immagini che non fanno parte del set di training.

Questo overfitting di solito avviene perché il computer ha rilevato qualche bias che noi umani abbiamo introdotto accidentalmente nel set di training e che non rappresenta la realtà (per esempio, la maggior parte delle foto di gatti con uno sfondo blu). Esistono molte tecniche per evitare che il modello memorizzi i dati di training e incoraggiarlo invece a imparare pattern più generalizzabili.

Addestrare un modello ML supervisionato

Una volta definita l’architettura del modello, devi inizializzare i parametri del modello e avviare il processo di training.

Durante l’addestramento, il modello regola iterativamente i suoi parametri usando tecniche di ottimizzazione come la discesa del gradiente per minimizzare la differenza tra le sue previsioni e le etichette di verità a terra che hai definito in precedenza.

Questo processo comporta il calcolo della funzione di perdita, che quantifica l’errore di previsione del modello, e l’aggiornamento dei parametri di conseguenza.

Addestrare un modello ML supervisionato per l’analisi delle immagini è un processo iterativo. Alleni il modello usando il dataset etichettato, valuti le sue prestazioni su un set di validazione e apporti regolazioni per migliorarne l’accuratezza. Questo ciclo iterativo continua finché il modello non raggiunge risultati soddisfacenti.

Applicazioni dei modelli ML supervisionati nell’analisi delle immagini

Una volta che il modello ML supervisionato è stato addestrato su dati di immagini etichettati, può essere applicato a varie attività di analisi delle immagini. Di seguito sono riportate alcune applicazioni comuni che evidenziano l’efficacia dei modelli supervisionati nei compiti di image processing.

Classificazione delle immagini

La classificazione delle immagini è un compito fondamentale in cui l’obiettivo è assegnare un’etichetta o una classe a un’immagine in input.

Per esempio, un modello ML supervisionato può essere addestrato a classificare immagini di animali in diverse categorie, come “pesce”, “lucertola” o “coleottero”.

Figura 13: Un esempio di classificazione delle immagini. Questa immagine è stata classificata come “Cena”.

Figura 13: Un esempio di classificazione delle immagini. Questa immagine è stata classificata come “Cena”.

Imparando da un dataset diversificato con esempi etichettati, il modello può generalizzare e classificare accuratamente le immagini con un alto livello di precisione. Questa tecnica può essere usata per compiti come identificare malattie in immagini mediche, riconoscere oggetti nelle immagini satellitari e persino classificare emozioni dalle espressioni facciali. Dai un’occhiata a questo webinar di DataCamp sull’argomento per maggiori dettagli.

Rilevamento degli oggetti

Il rilevamento degli oggetti è un’altra importante applicazione dei modelli ML supervisionati nell’analisi delle immagini. A differenza della classificazione, il rilevamento degli oggetti non solo identifica gli oggetti presenti in un’immagine, ma li localizza anche disegnando riquadri di delimitazione attorno ad essi.

Questo processo consente al modello di identificare più oggetti di interesse all’interno di un’immagine.

Figura 14: Un esempio di rilevamento degli oggetti. Vari oggetti all’interno di questa immagine sono stati identificati.

Figura 14: Un esempio di rilevamento degli oggetti. Vari oggetti all’interno di questa immagine sono stati identificati.

Le applicazioni del rilevamento oggetti includono la guida autonoma, dove i modelli possono rilevare e tracciare pedoni, veicoli e segnali stradali, nonché sistemi di sorveglianza per identificare e tracciare individui o oggetti di interesse. Facebook e Instagram utilizzano anche questo metodo quando trovano il tuo volto nelle foto.

Sfide dei modelli ML supervisionati

Sebbene le capacità dei modelli ML supervisionati nell’analisi delle immagini siano notevoli, ci sono limiti e sfide di cui essere consapevoli.

Una grande sfida è la necessità di grandi quantità di dati di training etichettati. Il processo di annotazione ed etichettatura delle immagini può essere dispendioso in termini di tempo e risorse.

I modelli supervisionati sono anche sensibili ai bias presenti nei dati di training, che possono portare a previsioni distorte o a risultati ingiusti. Adattare i modelli a nuovi domini o a categorie di immagini inedite può richiedere ulteriore training o fine-tuning.

E interpretare le rappresentazioni apprese e i processi decisionali di modelli complessi come le CNN può essere difficile, rendendo più arduo capire perché un modello abbia formulato una certa previsione.

Nonostante queste sfide, i modelli supervisionati continuano a spingere i confini dell’analisi delle immagini, consentendo progressi notevoli in settori come l’assistenza sanitaria, l’agricoltura e la sicurezza.

Con l’avanzare della ricerca e dello sviluppo nel campo, affrontare queste sfide e affinare i modelli aprirà la strada a soluzioni di image processing ancora più accurate e affidabili.

Machine learning non supervisionato per l’analisi delle immagini

Usare l’apprendimento non supervisionato

Un’alternativa all’apprendimento supervisionato è il machine learning non supervisionato. A differenza di quello supervisionato, l’apprendimento non supervisionato non si basa su dati etichettati ma mira a scoprire pattern, strutture o relazioni nascosti all’interno dei dati stessi.

Lo scopo dell’apprendimento non supervisionato nell’analisi delle immagini è far emergere strutture e insight significativi dai dati di immagini non etichettati. Usando tecniche di apprendimento non supervisionato, puoi estrarre informazioni preziose e ottenere una comprensione più profonda delle caratteristiche sottostanti delle immagini.

L’apprendimento non supervisionato può aiutare a identificare cluster di immagini simili, scoprire pattern o texture caratteristiche di certe classi di immagini e rilevare anomalie o outlier all’interno dei dati.

In cosa è diverso l’apprendimento non supervisionato

Se l’apprendimento supervisionato è come dire a un bambino cos’è una mucca e cos’è un pesce, allora l’apprendimento non supervisionato è come dare a un bambino un mucchio di animali e lasciarlo ordinarli come preferisce. Potrebbe ordinarli per dimensione, numero di zampe, texture o colore.

Il risultato finale potrebbe assomigliare a ciò che otterresti separandoli per specie, oppure essere molto diverso! Ma esaminare le caratteristiche delle categorie risultanti può comunque darti informazioni utili.

Figura 15: Immagine generata da DALL-E di un bambino che ordina animali giocattolo in un contesto di apprendimento non supervisionato.

Figura 15: Immagine generata da DALL-E di un bambino che ordina animali giocattolo in un contesto di apprendimento non supervisionato.

Analisi delle immagini con modelli ML non supervisionati

I modelli di machine learning non supervisionato offrono possibilità interessanti per l’analisi delle immagini permettendo di raggrupparle in insiemi o categorie senza bisogno di dati etichettati.

Immagina di avere una vasta collezione di immagini e volerle organizzare in gruppi significativi. I modelli non supervisionati possono analizzare le caratteristiche visive delle immagini e raggrupparle in base a caratteristiche condivise, come colore o forma. Questo fornisce insight preziosi e semplifica i compiti di analisi.

Algoritmi di clustering

Gli algoritmi di clustering raggruppano insieme immagini simili in base alle loro caratteristiche condivise. Un algoritmo di clustering ampiamente usato è il k-means clustering, che partiziona i dati in un numero predeterminato di cluster minimizzando iterativamente la distanza matematica tra ciascuna immagine in un insieme.

Il clustering gerarchico è un altro approccio che crea una struttura gerarchica di insiemi di immagini unendo o dividendo ricorsivamente gli insiemi in base alla loro somiglianza. Questi algoritmi permettono di scoprire raggruppamenti naturali all’interno di dataset di immagini non etichettati, fornendo insight sulla similarità e la diversità delle immagini.

Segmentazione delle immagini

L’apprendimento non supervisionato è particolarmente utile per la segmentazione, che consiste nel suddividere un’immagine in regioni o oggetti significativi.

Applicando tecniche di clustering o altri metodi non supervisionati, puoi separare un’immagine in regioni distinte basate su colore, texture o altre caratteristiche.

Questa tecnica può essere utile nell’imaging medico per individuare tumori, nelle immagini satellitari per la classificazione della copertura del suolo o nella computer grafica per estrarre elementi di primo piano e sfondo.

Riconoscimento di pattern

Il riconoscimento di pattern è un altro ambito in cui l’apprendimento non supervisionato eccelle.

Gli algoritmi non supervisionati possono apprendere rappresentazioni o feature che catturano i pattern o le strutture sottostanti presenti nei dati. Estraendo queste feature apprese, le immagini possono essere classificate o raggruppate in base ai pattern condivisi o alle somiglianze visive. Questo rende possibili compiti come il recupero di immagini o la sintesi di immagini.

Rilevamento di anomalie

L’apprendimento non supervisionato è usato anche per il rilevamento di anomalie. Imparando i pattern o le caratteristiche normali di un dataset, gli algoritmi non supervisionati possono identificare immagini o regioni che differiscono dal resto. Ciò è particolarmente utile in ambiti come la sorveglianza, dove rilevare attività insolite o sospette può aiutare nel monitoraggio della sicurezza.

Sfide dei modelli ML non supervisionati

L’apprendimento non supervisionato presenta le sue sfide. Una grande difficoltà è comprendere i risultati, dato che non ci sono verità a terra o dati etichettati con cui confrontarsi.

Tornando all’esempio dell’ordinamento degli animali, potresti ritrovarti con una categoria che contiene un cavallo, un coleottero e un polpo tutti marroni, mentre un’altra categoria contiene un cavallo bianco, un coniglio e un fiore. Poiché non hai specificato come ordinare gli animali, potresti ottenere gruppi non molto significativi.

Può essere difficile valutare la qualità e l’accuratezza dei cluster o dei pattern scoperti dal modello non supervisionato.

Vantaggi dei modelli ML non supervisionati

I modelli non supervisionati offrono diversi vantaggi nell’elaborazione delle immagini. Soprattutto, eliminano la necessità di un’estesa etichettatura manuale, rendendo più semplice ed economico lavorare con dataset di immagini su larga scala.

Immagina di dover scorrere e etichettare manualmente ogni immagine su Instagram. I modelli di machine learning non supervisionato eliminano la necessità di uno sforzo così lungo e laborioso.

I modelli non supervisionati possono anche rivelare pattern e strutture nascosti nei dati, consentendo di ottenere nuovi insight e scoprire relazioni visive che potrebbero non essere immediatamente evidenti.

Questa natura esplorativa dell’apprendimento non supervisionato apre nuove strade per l’analisi delle immagini e può portare a scoperte in vari domini, tra cui l’esplorazione spaziale, la robotica e la medicina.

 

ML supervisionato

ML non supervisionato

Compiti

  • Classificazione delle immagini
  • Rilevamento degli oggetti
  • Riconoscimento di pattern
  • Rilevamento di anomalie

Vantaggi

  • Risultati più prevedibili e significativi
  • Può essere usato con dataset più piccoli
  • Meno intensivo in termini di lavoro
  • Può rivelare pattern nascosti e insight inediti

Svantaggi

  • Più intensivo in termini di lavoro
  • Sensibile ai bias nei dati di training
  • I gruppi risultanti possono essere meno significativi
  • I risultati possono essere inattesi

Figura 16: Confronto tra machine learning supervisionato e non supervisionato nell’elaborazione delle immagini.

Generare nuove immagini con l’IA generativa

Una volta che un modello ha determinato quali caratteristiche definiscono oggetti diversi nelle immagini, può usare tali informazioni per creare nuove immagini.

DALL-E e Midjourney sono esempi significativi di modelli ML non supervisionati che sfruttano la potenza della modellazione generativa per generare nuove immagini. Addestrati su dataset enormi, questi modelli hanno imparato i componenti necessari per creare immagini con determinati classificatori.

Quindi, se chiedi a DALL-E di creare l’immagine di un panda robot, il modello si rifarà alla sua definizione interna di che cosa compone i robot e i panda e metterà insieme quei pezzi per creare l’immagine richiesta.

Per esempio, potrebbe determinare che i robot hanno metallo e ingranaggi, mentre i panda sono bianchi e neri. Userà queste informazioni per creare per te un panda robot metallico, bianco e nero, con ingranaggi.

Figura 17: Immagine generata da DALL-E usando il prompt 'Panda Robot'.

Figura 17: Immagine generata da DALL-E usando il prompt 'Panda Robot'.

Conclusione

Questo tutorial è un’esplorazione ad alto livello dell’analisi delle immagini con l’obiettivo di comprendere meglio il suo ruolo nel machine learning. Dovresti avere un’intuizione più solida su come i computer “vedono” e manipolano le immagini e una comprensione di base di concetti chiave di ML come preprocessing, estrazione delle feature e algoritmi di classificazione.

L’elaborazione delle immagini gioca un ruolo enorme nelle nostre vite, dai social media all’imaging medico, all’esplorazione spaziale e alla sorveglianza. Se vuoi approfondire questo affascinante argomento, dai un’occhiata a Image Processing with Python, a Image Processing with Keras in Python e a Deep Learning for Images with PyTorch su DataCamp.


Amberle McKee's photo
Author
Amberle McKee
LinkedIn

Sono un PhD con 13 anni di esperienza nel lavoro con i dati in un contesto di ricerca biologica. Creo software in diversi linguaggi di programmazione, tra cui Python, MATLAB e R. Sono appassionato di condividere con il mondo il mio amore per l’apprendimento.

Argomenti
Machine Learning
Correlato

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro