Che cos'è la segmentazione semantica?

Autore

Mesh Flinders

Staff Writer

IBM Think

Che cos'è la segmentazione semantica?

La segmentazione semantica è un'attività di computer vision che assegna un'etichetta di classe ai pixel utilizzando un algoritmo di deep learning (DL). È una delle tre sottocategorie del processo complessivo di segmentazione delle immagini 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 delle immagini sono la segmentazione delle istanze e la segmentazione panottica.

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.

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.

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.

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 l'ascesa dell'intelligenza artificiale (AI) e del machine learning (ML), la segmentazione delle immagini e la creazione di mappe di segmentazione svolgono un ruolo importante nell'addestrare i computer a riconoscere contesti importanti 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 set di dati pre-etichettati da esperti umani, regolandone i pesi e i bias 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 addestrate, le reti neurali profonde hanno superato gli altri metodi e sono diventate rapidamente l'approccio preferito dopo il successo delle prime innovazioni.

Set di dati per l'addestramento

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 set di dati di segmentazione delle immagini open source, che spaziano su una vasta gamma di classi semantiche con migliaia di esempi e annotazioni dettagliate per ciascuno. Basti pensare, ad esempio, a un problema di segmentazione in cui la computer vision di un'auto senza conducente debba riconoscere tutti i vari oggetti davanti ai quali dovrà frenare, come pedoni, biciclette e altre auto. La computer vision 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 è composto da diverse classi di oggetti, caselle di contorno e robuste mappe di segmentazione.

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

Cityscapes: il popolare set di dati cityscapes interpreta i dati dagli ambienti urbani e comprende 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)

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 della rete neurale convoluzionale (CNN) è composta da strati convoluzionali e strati piatti che generano singole etichette, i modelli FCN sostituiscono alcuni di questi strati piatti con blocchi convoluzionali 1:1 in grado di estrarre ulteriori informazioni sull'immagine. Evitando l'uso di livelli piatti e densi a favore di livelli convoluzionali, di pooling o upsampling rende le reti FCN più facili da addestrare.

  • 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: il max-pooling è uno strumento critico nel processo di estrazione delle informazioni dalle regioni di un'immagine e nella loro analisi. Il 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 precedente mappa delle funzionalità.

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 genera un risultato con migliore risoluzione. Ogni livello convoluzionale viene sovracampionato in modo indipendente e combinato con le caratteristiche di altri livelli fino a quando l'output finale non rappresenta 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 Parsing 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 quali 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 desiderati.

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
Note a piè di pagina

1“Practical Machine Learning for Computer Vision”,  Lakshmanan, Valliappa, Gorner, Martin and Gillard, Ryan, O’Reilly Media, luglio, 2021