Che cos'è la segmentazione semantica?
Esplora IBM® watsonx.data
Un uomo seduto alla scrivania di un computer con un'immagine tra la scrivania e i server e con frecce che li collegano

La segmentazione semantica è un'attività di computer vision che assegna un'etichetta di classe ai pixel grazie a un algoritmo di apprendimento profondo (DL).È una delle tre sotto categorie nel processo complessivo di segmentazione dell'immagine che aiuta i computer a comprendere le informazioni visive.La segmentazione semantica identifica le raccolte di pixel e le classifica in base a varie caratteristiche. Le altre due sottocategorie di segmentazione dell'immagine sono la segmentazione di istanza e la segmentazione panottica.

Segmentazione delle immagini

La segmentazione delle immagini è un processo di analisi dell'immagine end-to-end che divide un'immagine digitale in più segmenti e classifica le informazioni contenute in ciascuna regione. I tre tipi di attività di segmentazione delle immagini (semantica, di istanza e panottica) assegnano etichette ai singoli pixel dell'immagine per contrassegnare i contorni e le forme specifiche di diversi oggetti e regioni dell'immagine, classificandoli in base ad informazioni quali il colore, il contrasto, il posizionamento all'interno dell'immagine e altri attributi.

Mentre la segmentazione semantica etichetta ogni singolo pixel contenuto in un'immagine in base alla sua classe semantica, la segmentazione dell'istanza e la segmentazione panottica vengono utilizzate per attività di classificazione diverse.I modelli di segmentazione dell'istanza si concentrano solo sulle classi semantiche contenute in un'immagine che possono essere conteggiate: entità e oggetti come persone, animali, alberi, automobili o idranti antincendio.Tale segmentazione rileva ogni singolo oggetto o istanza, poi crea una maschera di segmentazione e uno specifico tag identificatore per ciascun oggetto o istanza.I modelli di segmentazione panottica coinvolgono entrambi i tipi di informazione: eseguono la segmentazione semantica e rilevano e segmentano le singole istanze di oggetti, fornendo un'analisi più completa dell'immagine attraverso l'assegnazione a ciascun pixel sia di un'etichetta semantica che (ove appropriato) di un identificatore di istanza univoco.

Esplora IBM® watsonx.data

Scopri come scalare i carichi di lavoro AI, per tutti i tuoi dati, ovunque.

Contenuti correlati

Iscriviti alla newsletter IBM

Perché la segmentazione semantica delle immagini è importante?

Le attività di segmentazione semantica aiutano le macchine a distinguere le diverse classi di oggetti e le regioni di sfondo in un'immagine.Con la diffusione dell'intelligenza artificiale (AI) e dell'apprendimento automatico (machine learning - ML), la segmentazione delle immagini e la creazione di mappe di segmentazione svolgono un ruolo importante nell'addestrare i computer a riconoscere un contesto significativo in immagini digitali come paesaggi, foto di persone, immagini mediche e molto altro.

I modelli di apprendimento nella segmentazione delle immagini consentono alle macchine di interpretare le informazioni visive in modo simile al cervello umano.Sebbene i modelli di segmentazione delle immagini condividano determinati utilizzi con i modelli di rilevamento degli oggetti, differiscono per un aspetto fondamentale: identificano le diverse entità contenute in un'immagine a livello di pixel, anziché approssimarle attraverso un riquadro di contorno.In sostanza, mentre un modello di classificazione delle immagini può determinare cosa è contenuto in un'immagine (ma non effettua nessuna localizzazione) e un modello di rilevamento degli oggetti può determinare dove si trova un oggetto nell'immagine, per determinare le forme e i confini specifici delle entità presenti nell'immagine è necessario un modello di segmentazione delle immagini.1

Con il crescente risultati degli algoritmi di deep learning nel consentire alle macchine di interpretare le immagini come dati, le macchine stanno diventando sempre più capaci di identificare gli oggetti. Il compito di classificazione delle immagini permette la macchina di comprendere quali informazioni sono contenute in un'immagine, mentre la segmentazione semantica consente alla macchina di identificare le posizioni precise dei diversi tipi di informazioni visive, nonché il punto in cui ciascuna di esse inizia e finisce.

Come funziona la segmentazione semantica? 

I modelli di segmentazione semantica creano una mappa di segmentazione da un'immagine di input. Una mappa di segmentazione è, essenzialmente, una ricostruzione dell'immagine originale in cui ogni pixel è codificato con i colori della classe semantica per creare maschere di segmentazione. Una maschera di segmentazione è semplicemente una porzione dell'immagine che è stata differenziata da altre regioni dell'immagine. Ad esempio, una mappa di segmentazione di un albero in un campo vuoto conterrà probabilmente tre maschere di segmentazione: una per l'albero, una per il suolo e una per il cielo sullo sfondo.

A tale scopo, i modelli di segmentazione semantica utilizzano complesse reti neurali per raggruppare con precisione i pixel correlati in maschere di segmentazione e riconoscere correttamente la classe semantica reale per ciascun gruppo di pixel (o segmento). Questi metodi di deep learning (DL) richiedono che un modello venga formato su grandi dataset di dati pre-etichettati da esperti umani, regolandone i pesi e le distorsioni attraverso tecniche di apprendimento automatico come la retropropagazione e la discesa del gradiente.

I metodi DL hanno sostituito altri algoritmi "tradizionali" di apprendimento automatico, come Support Vector Machines (SVM) e Random Forest. Sebbene richiedano più tempo e più dati e risorse computazionali per essere formate, le reti neurali profonde hanno superato gli altri metodi e sono diventate rapidamente l'approccio preferito fin dai risultati delle prime innovazioni.

 

Utilizzo dei dataset per la formazione

L'attività di classificazione accurata dei dati delle immagini richiede dataset costituiti da valori pixel che rappresentano maschere per i diversi oggetti o etichette di classe contenuti in un'immagine. In genere, a causa della complessità dei dati di formazione relativi alla segmentazione delle immagini, questi dataset sono più grandi e complessi rispetto ad altri dataset di apprendimento automatico.

Sono disponibili molti dataset di segmentazione dell'immagine open source, che comprendono un'ampia varietà di classi semantiche con migliaia di esempi e annotazioni dettagliate per ciascuno di essi. Ad esempio, basti pensare a un problema di segmentazione in cui la visione artificiale di un'auto senza conducente debba riconoscere tutti i vari oggetti davanti ai quali dovrà frenare, come pedoni, biciclette e altre auto. La visione artificiale dell'auto deve essere addestrata a riconoscere tutti questi oggetti, altrimenti l'auto potrebbe non frenare; inoltre, l'addestramento deve essere estremamente accurato e preciso, altrimenti l'auto potrebbe frenare continuamente qualora avesse classificato in modo errato come segnali di pericolo delle immagini innocue.

Ecco alcuni tra i più diffusi dataset open source utilizzati nella segmentazione semantica e di immagini:

Pascal Visual Object Classes (Pascal VOC): il set di dati Pascal VOC è costituito da diverse classi di oggetti, caselle di contorno e solide mappe di segmentazione.

MS COCO: MS COCO contiene circa 330.000 immagini e annotazioni per molte attività, tra cui il rilevamento, la segmentazione e i sottotitoli delle immagini.

Paesaggi urbani: Il popolare dataset sui paesaggi urbani interpreta i dati provenienti dagli ambienti urbani ed è composto da 5.000 immagini con 20.000 annotazioni e 30 etichette di classe.

 

Modelli di segmentazione semantica

I modelli addestrati richiedono un'architettura solida per funzionare correttamente. Ecco alcuni modelli di segmentazione semantica ampiamente utilizzati.

Reti completamente convoluzionali (FCN - Fully convolutional networks)

Una rete completamente convoluzionale (FCN) è un'architettura di rete neurale all'avanguardia, utilizzata per la segmentazione semantica in base a diversi livelli convoluzionali connessi. Mentre l'architettura tradizionale CNN è composta da livelli convoluzionali e livelli piatti che producono etichette singole, i modelli FCN sostituiscono alcuni di questi livelli piatti con blocchi convoluzionali 1:1 che possono estrarre ulteriori informazioni sull'immagine. Evitare l'uso di livelli piatti e densi a favore di livelli convoluzionali, di pooling o upsampling rende le reti FCN più facili da formare.

  • Upsampling e downsampling: quando la rete raccoglie livelli convoluzionali, le dimensioni dell'immagine vengono ridotte, riducendo così le informazioni spaziali e le informazioni a livello di pixel, un processo necessario noto come downsampling.Al termine di questo processo, i data engineer eseguono l'ottimizzazione delle immagini attraverso l'espansione o il ricampionamento della mappa delle caratteristiche creata, riportandola alla forma dell'immagine di input.
  • Max-pooling: Max-pooling è un altro strumento fondamentale nel processo di estrazione delle informazioni dalle regioni di un'immagine e nella loro analisi.Max-pooling sceglie l'elemento più grande in un'area analizzata in modo che l'output possa risultare in una mappa delle funzionalità con le caratteristiche più importanti della mappa delle funzionalità precedente.

U-Net

L'architettura U-Net modifica l'architettura FCN originale introdotta nel 2015 e consente di ottenere costantemente migliori risultati. Si compone di due parti, un codificatore e un decodificatore. Mentre il codificatore impila livelli convoluzionali che sotto-campionano costantemente l'immagine per estrarne informazioni, il decodificatore ricostruisce le caratteristiche dell'immagine utilizzando il processo di deconvoluzione. L'architettura U-net viene utilizzata principalmente in campo medico per identificare tumori cancerosi e non cancerosi nei polmoni e nel cervello.

  • Skip-connection: un'importante innovazione introdotta per gli FCN da U-Net è nota come skip-connection, utilizzata per connettere l'output di uno strato convoluzionale a un altro non adiacente.Questo processo di skip-connection riduce la perdita di dati durante il downsampling e consente un risultato con migliore risoluzione.Ogni livello convoluzionale viene sovra campionato in modo indipendente e combinato con le caratteristiche di altri livelli fino a quando l'output finale non rappresenti in modo accurato l'immagine analizzata.

DeepLab

Il modello di segmentazione semantica DeepLab è stato sviluppato da Google nel 2015 per migliorare ulteriormente l'architettura FCN originale e ottenere risultati ancora più precisi. Mentre lo stack dei livelli in un modello FCN riducono significativamente la risoluzione dell'immagine, l'architettura di DeepLab utilizza un processo chiamato atrous convolution per sovracampionare i dati. Con il processo di atrous convolution, i kernel di convoluzione possono rimuovere informazioni da un'immagine e lasciare spazi vuoti tra i parametri del kernel.

L'approccio di DeepLab alla convoluzione dilatata estrae i dati dal campo visivo più ampio mantenendo la stessa risoluzione. Lo spazio delle caratteristiche viene quindi sottoposto a un algoritmo di campo casuale condizionato (Conditional Random Field - CRF) completamente connesso in modo da poter acquisire più dettagli e utilizzarli per la funzione di perdita pixel, fornendo una maschera di segmentazione più chiara e accurata.

Pyramid scene analysis network (PSPNet)

Nel 2017 è stato introdotto un nuovo algoritmo di segmentazione delle immagini. PSPNet distribuisce un modulo di analisi piramidale che raccoglie set di dati di immagini contestuali a un tasso di precisione più elevato rispetto al passato. Come i predecessori, l'architettura PSPNet impiega l'approccio encoder-decoder, ma mentre DeepLab applicava l'upscaling per effettuare i calcoli a livello di pixel, PSPNet aggiunge un nuovo livello di pooling piramidale per ottenere risultati. Il pooling multiscala di PSPNet consente di analizzare una finestra più ampia di informazioni sull'immagine rispetto ad altri modelli.

Casi d'uso della segmentazione semantica
Veicoli a guida autonoma

Le auto a guida autonoma utilizzano la segmentazione semantica per vedere il mondo circostante e reagire in tempo reale. La segmentazione semantica separa ciò che l'auto vede in regioni visive categorizzate, come le corsie stradali, altre auto e incroci. Grazie alle informazioni fornite all'auto dalla segmentazione semantica, il veicolo guida in sicurezza e raggiunge la destinazione, nonché può intraprendere azioni importanti in risposta a eventi imprevisti come un pedone che attraversa la strada o la frenata improvvisa di un'altra auto.

Diagnostica medica

Molte procedure mediche comuni come le scansioni TC, i raggi X e le risonanze magnetiche si basano sull'analisi delle immagini. Se in passato questo compito era tipicamente affidato a un medico professionista, oggi i modelli di segmentazione delle immagini mediche stanno ottenendo risultati simili. Analizzando l'immagine e tracciando confini esatti attorno ai vari oggetti in essa contenuti, l'AI dotata di segmentazione semantica può aiutare a rilevare anomalie e persino suggerire potenziali diagnosi.

Agricoltura

Gli agricoltori utilizzano l’AI, l’automazione e la segmentazione semantica per rilevare le infestazioni nei raccolti e persino automatizzare l’irrorazione dei pesticidi. La visione computerizzata può segnalare all'agricoltore quali parti di un campo sono potenzialmente infette o a rischio e un sistema automatizzato può intervenire per eliminare un insetto infestante.

Fotografia

La segmentazione semantica viene spesso utilizzata per consentire alle telecamere di passare dalla modalità verticale a quella orizzontale, aggiungere o rimuovere un filtro o creare un effetto. Tutti i filtri e le funzionalità più popolari su app come Instagram e TikTok utilizzano la segmentazione semantica per identificare auto, edifici, animali e altri oggetti, in modo che possano essere applicati i filtri o gli effetti scelti.

Soluzioni di segmentazione semantica
Dati e IA IBM® WATSONX.DATA

La segmentazione semantica e la segmentazione delle immagini svolgono ruoli fondamentali nell'elaborazione delle immagini per i flussi di lavoro di AI. IBM® watsonx.data utilizza al meglio diversi strumenti e tecnologie open source di AI e li combina con le innovazioni della ricerca IBM per consentire flussi di lavoro AI consistenti ed efficienti destinati alle aziende moderne.

Maggiori informazioni su IBM® watsonx.data

Risorse correlate IBM aiuta le aziende a scalare i carichi di lavoro AI

Scopri IBM® watsonx.data, un archivio dati che aiuta le aziende a unificare e controllare facilmente i dati strutturati e non strutturati.

IBM® WATSONX.DATA: Un archivio dati aperto, ibrido e controllato

Scopri come IBM® watsonx.data aiuta le aziende ad affrontare le sfide odierne nel complesso panorama dei dati e adatta l'AI per soddisfare le esigenze aziendali.

L’AI nelle previsioni sul mercato della computer vision (2021-2022)

Maggiori informazioni su come l'AI possa aiutare a organizzare le informazioni e a ottenere risultati in ambienti informatici.

Confronto tra AI, machine learning, deep learning e reti neurali: qual è la differenza?

Maggiori informazioni sulle differenze tra i termini chiave utilizzati per insegnare ai computer a comprendere ed elaborare le informazioni visive.

Fasi successive

Ottieni le funzionalità di cui hai bisogno grazie a IBM® watsonx.data, un archivio dati aperto, ibrido e controllato per ampliare i workload di AI, per tutti i tuoi dati, ovunque.

Scopri IBM® watsonx.data
Note a piè di pagina

1“Practical Machine Learning for Computer Vision” (link esterno a ibm.com), Lakshmanan, Valliappa, Gorner, Martin e Gillard, Ryan, O'Reilly Media, luglio 2021