Che cos'è la "segmentazione semantica" rispetto alla "segmentazione" e all '"etichettatura delle scene"?


97

La segmentazione semantica è solo un pleonasmo o c'è una differenza tra "segmentazione semantica" e "segmentazione"? C'è una differenza tra "etichettatura scena" o "analisi scena"?

Qual è la differenza tra la segmentazione a livello di pixel e quella per pixel?

(Domanda secondaria: quando si dispone di questo tipo di annotazione in termini di pixel, si ottiene il rilevamento degli oggetti gratuitamente o c'è ancora qualcosa da fare?)

Fornisci una fonte per le tue definizioni.

Fonti che utilizzano la "segmentazione semantica"

  • Jonathan Long, Evan Shelhamer, Trevor Darrell: Fully Convolutional Networks for Semantic Segmentation . CVPR, 2015 e PAMI, 2016
  • Hong, Seunghoon, Hyeonwoo Noh e Bohyung Han: "Rete neurale profonda disaccoppiata per segmentazione semantica semi-supervisionata". prestampa arXiv arXiv: 1506.04924 , 2015.
  • V. Lempitsky, A. Vedaldi e A. Zisserman: un modello a pilone per la segmentazione semantica. In Advances in Neural Information Processing Systems, 2011.

Fonti che utilizzano l '"etichettatura delle scene"

Sorgente che utilizza "a livello di pixel"

  • Pinheiro, Pedro O. e Ronan Collobert: "Dall'etichettatura a livello di immagine a quella a livello di pixel con reti convoluzionali". Atti della IEEE Conference on Computer Vision and Pattern Recognition, 2015. (vedere http://arxiv.org/abs/1411.6228 )

Sorgente che utilizza "pixelwise"

  • Li, Hongsheng, Rui Zhao e Xiaogang Wang: "Propagazione in avanti e all'indietro altamente efficiente di reti neurali convoluzionali per la classificazione pixelwise." prestampa arXiv arXiv: 1412.4526 , 2014.

Google Ngrams

La "segmentazione semantica" sembra essere utilizzata più di recente rispetto alla "etichettatura delle scene"

inserisci qui la descrizione dell'immagine


Altri termini che sembrano molto simili: classificazione / etichettatura (per-) pixel
Martin Thoma

12
È davvero interessante che @MartinThoma abbia una segmentazione semantica di rilevamento preprint arXiv, pubblicata quasi 6 mesi dopo aver posto la domanda [link] ( arxiv.org/pdf/1602.06541.pdf ). Buon lavoro!
Mohamed Hasan

Risposte:


92

La "segmentazione" è una divisione di un'immagine in più parti "coerenti", ma senza alcun tentativo di capire cosa rappresentano queste parti. Uno dei lavori più famosi (ma sicuramente non il primo) è Shi e Malik "Normalized Cuts and Image Segmentation" PAMI 2000 . Questi lavori tentano di definire la "coerenza" in termini di segnali di basso livello come il colore, la consistenza e la levigatezza del confine. Puoi far risalire questi lavori alla teoria della Gestalt .

D'altra parte la "segmentazione semantica" tenta di suddividere l'immagine in parti semanticamente significative e di classificare ciascuna parte in una delle classi predeterminate. Puoi anche raggiungere lo stesso obiettivo classificando ogni pixel (anziché l'intera immagine / segmento). In tal caso stai facendo una classificazione in termini di pixel, che porta allo stesso risultato finale ma in un percorso leggermente diverso ...

Quindi, suppongo che tu possa dire che "segmentazione semantica", "etichettatura scena" e "classificazione pixelwise" stanno sostanzialmente cercando di raggiungere lo stesso obiettivo: comprendere semanticamente il ruolo di ogni pixel nell'immagine. Puoi prendere molti percorsi per raggiungere tale obiettivo e questi percorsi portano a leggere sfumature nella terminologia.


2
Quale percorso porta alla segmentazione semantica e quale porta all'etichettatura della scena o alla classificazione pixelwise?
Martin Thoma

3
@moose in generale, se usi strumenti e algoritmi originati nel campo di ricerca della "segmentazione" (es. CRF, termini che inducono levigatezza, ecc.) allora stai facendo "segmentazione semantica". D'altra parte, se si utilizzano strumenti e algoritmi utilizzati nella classificazione delle immagini applicandoli localmente, è più probabile che si descriva il proprio lavoro come "etichettatura pixelwise". Tuttavia, non credo che ci sia davvero alcuna differenza pratica, solo semantica: questi sono abbastanza sinonimi dello stesso obiettivo finale.
Shai

63

Ho letto molti articoli su Object Detection, Object Recognition, Object Segmentation, Image Segmentation e Semantic Image Segmentation ed ecco le mie conclusioni che potrebbero non essere vere:

Riconoscimento degli oggetti: in una data immagine devi rilevare tutti gli oggetti (una classe limitata di oggetti dipende dal tuo set di dati), localizzarli con un riquadro di delimitazione ed etichettare quel riquadro di delimitazione con un'etichetta. Nell'immagine sottostante vedrai un semplice output di un riconoscimento di oggetti all'avanguardia.

riconoscimento di oggetti

Rilevamento di oggetti: è come il riconoscimento di oggetti, ma in questa attività hai solo due classi di classificazione degli oggetti, il che significa riquadri di delimitazione degli oggetti e riquadri di delimitazione non di oggetti. Ad esempio Rilevamento auto: devi rilevare tutte le auto in una data immagine con i loro riquadri di delimitazione.

Rilevamento di oggetti

Segmentazione degli oggetti: come il riconoscimento degli oggetti riconoscerai tutti gli oggetti in un'immagine ma il tuo output dovrebbe mostrare questo oggetto che classifica i pixel dell'immagine.

segmentazione degli oggetti

Segmentazione dell'immagine: nella segmentazione dell'immagine segmenterai le regioni dell'immagine. l'output non etichetterà segmenti e regioni di un'immagine che coerenti tra loro dovrebbero trovarsi nello stesso segmento. L'estrazione di super pixel da un'immagine è un esempio di questa attività o segmentazione dello sfondo in primo piano.

segmentazione dell'immagine

Segmentazione semantica: nella segmentazione semantica devi etichettare ogni pixel con una classe di oggetti (Auto, Persona, Cane, ...) e non oggetti (Acqua, Cielo, Strada, ...). In altre parole, in Segmentazione semantica etichetterai ogni regione dell'immagine.

segmenazione semantica

Penso che l'etichettatura a livello di pixel e pixelwise sia fondamentalmente la stessa cosa potrebbe essere la segmentazione dell'immagine o la segmentazione semantica. Ho anche risposto alla tua domanda in questo link come lo stesso.


8
Vorrei anche aggiungere la segmentazione delle istanze, ovvero delienation tra istanze dello stesso oggetto
Alex

1
Direi che "Image Recognition" è un sinonimo di "Image Classification" piuttosto che "Image Detection". Si tratta di riconoscere uno o più oggetti in un'immagine e di essere in grado di capire se è presente. Se vogliamo anche sapere dove si trova, dovremmo rilevare gli oggetti utilizzando i riquadri di delimitazione. Inoltre, non vedo un motivo per cui un rilevatore di oggetti dovrebbe essere in grado di rilevare solo una singola classe.
pietz

In parte sono d'accordo con te. Non ho menzionato cos'è il riconoscimento delle immagini, quindi il riconoscimento e la classificazione delle immagini potrebbero significare lo stesso. Tuttavia, il rilevamento di oggetti viene utilizzato principalmente per problemi di due classi e il riconoscimento di oggetti per più classi. Comunque, non ho alcuna guardia per la mia risposta, è stata solo una mia idea leggendo un giornale circa tre anni fa! Saluti!
e_soroush

Potresti approfondire alcuni luoghi da cui trovi le tue letture?
qarthandso

36

Le risposte precedenti sono davvero ottime, vorrei segnalare qualche aggiunta in più:

Segmentazione degli oggetti

uno dei motivi per cui questo è caduto in disgrazia nella comunità dei ricercatori è perché è problematicamente vago. La segmentazione degli oggetti significava semplicemente trovare un singolo o un piccolo numero di oggetti in un'immagine e tracciare un confine attorno ad essi, e per la maggior parte degli scopi puoi ancora presumere che significhi questo. Tuttavia, iniziò anche ad essere usato per indicare la segmentazione di blob che potrebbero essere oggetti, segmentazione di oggetti dallo sfondo (più comunemente ora chiamata sottrazione dello sfondo o segmentazione dello sfondo o rilevamento del primo piano), e anche in alcuni casi usato in modo intercambiabile con il riconoscimento degli oggetti usando i riquadri di delimitazione (questo si è rapidamente interrotto con l'avvento degli approcci della rete neurale profonda al riconoscimento degli oggetti, ma il riconoscimento degli oggetti in anticipo potrebbe anche significa semplicemente etichettare un'intera immagine con l'oggetto al suo interno).

Cosa rende la "segmentazione" "semantica"?

Simpy, ogni segmento, o nel caso di metodi profondi ogni pixel, riceve un'etichetta di classe basata su una categoria. La segmentazione in generale è solo la divisione dell'immagine secondo una regola. La segmentazione del Meanshift , ad esempio, da un livello molto alto divide i dati in base ai cambiamenti nell'energia dell'immagine. Taglio graficola segmentazione basata non è similmente appresa ma direttamente derivata dalle proprietà di ogni immagine separata dal resto. I metodi più recenti (basati sulla rete neurale) utilizzano pixel etichettati per imparare a identificare le caratteristiche locali associate a classi specifiche, quindi classificare ogni pixel in base a quale classe ha la massima confidenza per quel pixel. In questo modo, "etichettatura dei pixel" è in realtà un nome più onesto per l'attività e il componente "segmentazione" è emergente.

Segmentazione delle istanze

Probabilmente il significato più difficile, pertinente e originale di segmentazione degli oggetti, "segmentazione delle istanze" indica la segmentazione dei singoli oggetti all'interno di una scena, indipendentemente dal fatto che siano dello stesso tipo. Tuttavia, uno dei motivi per cui questo è così difficile è perché da una prospettiva di visione (e per certi versi filosofica) ciò che rende un'istanza "oggetto" non è del tutto chiaro. Le parti del corpo sono oggetti? Tali "oggetti parziali" dovrebbero essere segmentati da un algoritmo di segmentazione delle istanze? Dovrebbero essere segmentati solo se sono visti separati dal tutto? Che dire degli oggetti composti dovrebbero due cose chiaramente adiacenti ma separabili essere un oggetto o due (una roccia è incollata alla cima di un bastone un'ascia, un martello, o solo un bastone e una roccia se non adeguatamente fatti?). Inoltre, non è t chiaro come distinguere le istanze. Un testamento è un'istanza separata dagli altri muri a cui è attaccato? In quale ordine devono essere conteggiate le istanze? Come appaiono? Vicinanza al punto di vista? Nonostante queste difficoltà, la segmentazione degli oggetti è ancora un grosso problema perché come esseri umani interagiamo con gli oggetti tutto il tempo indipendentemente dalla loro "etichetta di classe" (usando oggetti casuali intorno a te come fermacarte, seduti su cose che non sono sedie), e quindi alcuni set di dati tentano di risolvere questo problema, ma il motivo principale per cui non viene ancora prestata molta attenzione al problema è perché non è sufficientemente definito. inserisci qui la descrizione dell'immagine

Scene Parsing / Scene labeling

L'analisi delle scene è l'approccio di segmentazione rigorosa all'etichettatura delle scene, che presenta anche alcuni problemi di vaghezza. Storicamente, l'etichettatura delle scene significava dividere l'intera "scena" (immagine) in segmenti e dare a tutti un'etichetta di classe. Tuttavia, era anche usato per indicare l'assegnazione di etichette di classe ad aree dell'immagine senza segmentarle esplicitamente. Rispetto alla segmentazione, la "segmentazione semantica" non implica la divisione dell'intera scena. Per la segmentazione semantica, l'algoritmo ha lo scopo di segmentare solo gli oggetti che conosce e sarà penalizzato dalla sua funzione di perdita per l'etichettatura dei pixel che non hanno alcuna etichetta. Ad esempio, il set di dati MS-COCO è un set di dati per la segmentazione semantica in cui vengono segmentati solo alcuni oggetti. Immagini campione di MS-COCO

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.