Distinzione tra classificazione basata su pixel e basata su oggetti?


14

Sto lottando per comprendere chiaramente la distinzione tra classificazione basata su pixel e basata su oggetti nel dominio di telerilevamento e spero che qualcuno di questa comunità possa fornire informazioni.

Sulla base delle informazioni che ho finora, la mia attuale comprensione è in questo senso:

Classificazione basata su pixel: la classificazione viene eseguita a livello di pixel, utilizzando solo le informazioni spettrali disponibili per quel singolo pixel (ovvero i valori dei pixel all'interno della località vengono ignorati). In questo senso ogni pixel rappresenterebbe un esempio di addestramento per un algoritmo di classificazione, e questo esempio di addestramento sarebbe nella forma di un vettore n-dimensionale, dove n era il numero di bande spettrali nei dati dell'immagine. Di conseguenza l'algoritmo di classificazione addestrato genererebbe una previsione di classe per ogni singolo pixel di un'immagine.

Classificazione basata su oggetti: la classificazione viene eseguita su un gruppo localizzato di pixel, tenendo conto delle proprietà spaziali di ciascun pixel in relazione tra loro. In questo senso un esempio di addestramento per un algoritmo di classificazione consisterebbe in un gruppo di pixel e l'algoritmo di classificazione addestrato produrrebbe di conseguenza una previsione di classe per pixel su base di gruppo. Per un esempio approssimativo, un'immagine potrebbe essere suddivisa in n segmenti di uguale dimensione, e ad ogni segmento verrebbe data una classe (cioè contiene oggetto / non contiene oggetto).

Questo pensiero è accurato riguardo al significato di questi termini o c'è qualcosa che mi sono perso?

Risposte:


9

La tua comprensione è generalmente corretta, tuttavia, ci sono pericoli nella descrizione della classificazione basata su oggetti - il termine "oggetto" si riferisce al gruppo di pixel, non importa se contenga o meno un determinato oggetto.
Inoltre, l'obiettivo centrale in una classificazione basata su oggetti non è quello di avere segmenti di uguali dimensioni, ma di "tagliare" / segmentare l'immagine in blocchi internamente omogenei di varie dimensioni. Infine, l'esempio di addestramento per la classificazione basata su oggetti sarebbe di solito uno o più dei blocchi creati nella segmentazione dell'immagine.

Tutto sommato, quanto sopra è solo una piccola variazione sulla tua descrizione.

Ora sulla parte centrale: quando applicare ogni metodo e come combinare potenzialmente i loro punti di forza.


Grazie, questo ha davvero contribuito a chiarire. Avevo il sospetto di non aver capito bene le sottigliezze della classificazione basata sugli oggetti! È interessante che tu menzioni la possibilità di approcci ibridi, non ci avevo ancora pensato tanto. Posso chiedere, se dovessi adottare un approccio a finestra scorrevole per rilevare e classificare oggetti, esiste un termine tecnico per tale approccio applicato nel dominio del telerilevamento?
RDG

1
sì, si chiama convoluzioni. Vedi la mia risposta
John Powell,

A mio avviso, la classificazione basata sui pixel è pari a zero. Esistono flussi di lavoro interessanti che coinvolgono convoluzioni più la regressione per prevedere i riquadri di limitazione e la posizione, ma la classificazione basata sui pixel da sola non ha alcun valore, imho.
John Powell,

1
@ JohnPowellakaBarça - c'è un certo valore negli approcci basati sui pixel, quando si considerano le applicazioni multitemporali, in cui la classificazione è focalizzata più sulle aree mutevoli, piuttosto che sul tradizionale singolo timestep.
Mikkel Lydholm Rasmussen,

1
Certo, sì, abbastanza giusto. Sebbene, presumibilmente, gli approcci basati sulla regione, vettorizzati e quindi confrontati nel tempo, potrebbero fornire una visione potenzialmente più ampia, ma il tuo punto è ben accolto.
John Powell,

12

Per quanto riguarda la classificazione basata sui pixel, sei perfetto. Ogni pixel è un vettore n-dimensionale e verrà assegnato a una classe in base a una metrica, sia utilizzando Support Vector Machines, MLE, una sorta di classificatore knn, ecc.

Per quanto riguarda i classificatori regionali, tuttavia, negli ultimi anni ci sono stati enormi sviluppi, guidati da una combinazione di GPU, enormi quantità di dati, cloud e ampia disponibilità di algoritmi grazie alla crescita dell'open source (facilitato di github). Uno dei maggiori sviluppi nella visione / classificazione dei computer è stato nelle reti neurali convoluzionali (CNN). I livelli convoluzionali "apprendono" funzionalità che potrebbero essere basate sul colore, come con i classificatori tradizionali basati su pixel, ma creano anche rilevatori di bordi e tutti i tipi di estrattori di caratteristiche che potrebbero esistere in una regione di pixel (da cui la parte convoluzionale) che non potrebbe mai estrarre da una classificazione basata su pixel. Ciò significa che è meno probabile che classifichino erroneamente un pixel nel mezzo di un'area di pixel di qualche altro tipo - se hai mai eseguito una classificazione e ottenuto ghiaccio nel mezzo dell'Amazzonia, capirai questo problema.

Quindi si applica una rete neurale completamente connessa alle "caratteristiche" apprese attraverso le convoluzioni per fare effettivamente la classificazione. Uno degli altri grandi vantaggi delle CNN è che sono invarianti di scala e rotazione, poiché di solito ci sono strati intermedi tra i livelli di convoluzione e il livello di classificazione che generalizzano le caratteristiche, utilizzando il pooling e il dropout, per evitare un eccesso di adattamento e aiutare con i problemi intorno scala e orientamento.

Ci sono numerose risorse su reti neurali convoluzionali, sebbene la migliore debba essere la classe Standord di Andrei Karpathy , che è uno dei pionieri di questo campo, e l'intera serie di lezioni è disponibile su YouTube .

Certo, ci sono altri modi per gestire la classificazione basata sui pixel rispetto all'area, ma questo è attualmente l'approccio all'avanguardia e ha molte applicazioni oltre la classificazione del telerilevamento, come la traduzione automatica e le auto a guida autonoma.

Ecco un altro esempio di classificazione basata sulle regioni , utilizzando Open Street Map per i dati di allenamento con tag, comprese le istruzioni per l'impostazione di TensorFlow e l'esecuzione su AWS.

Ecco un esempio che utilizza Google Earth Engine di un classificatore basato sul rilevamento dei bordi, in questo caso per l'irrigazione a pivot - usando nient'altro che un kernel gaussiano e convoluzioni, ma ancora una volta, mostrando la potenza degli approcci basati su regione / bordo.

inserisci qui la descrizione dell'immagine

Mentre la superiorità dell'oggetto rispetto alla classificazione basata su pixel è ampiamente accettata, ecco un articolo interessante in Lettere di telerilevamento che valuta le prestazioni della classificazione basata su oggetti .

Infine, un esempio divertente, solo per dimostrare che anche con i classificatori regionali / convoluzionali, la visione del computer è ancora molto difficile - fortunatamente, le persone più intelligenti di Google, Facebook, ecc., Stanno lavorando su algoritmi per essere in grado di determinare la differenza tra cani, gatti e diverse razze di cani e gatti. Quindi, coloro che sono interessati al telerilevamento possono dormire tranquillamente di notte: D

inserisci qui la descrizione dell'immagine


0

Una risposta molto semplice è la seguente:

Se si utilizzano solo informazioni spettrali (intensità pixel) come set di allenamento, si esegue la classificazione base pixel.

Se si utilizzano sia informazioni spaziali (pixel di vicinato) sia spettrali come set di addestramento, si esegue la classificazione base degli oggetti (utilizzando l'algoritmo basato sulla segmentazione, ad esempio DBScan). In Computer Vision questo DBScan veniva utilizzato per l'estrazione di Superpixel.

Nota: è possibile utilizzare le informazioni spettrali in qualsiasi senso (dimensione, forma, contesto / trama) per l'estrazione delle caratteristiche.

È possibile utilizzare approcci diversi per eseguire l'estrazione delle funzionalità utilizzando le informazioni spettrali.

La domanda principale è: come si può trovare l'approccio più appropriato per l'estrazione delle caratteristiche e applicare l'algoritmo efficiente (rilevamento dei bordi, segmentazione basata su spettrale, clustering) per il problema posto per scacciare le informazioni dalle informazioni spettrali.

Si potrebbe pensare alla matrice di convoluzione per fare una bella analisi delle informazioni spaziali e spaziali per creare un set di addestramento.

Riferimento: le mie conoscenze dopo aver vissuto più di 3 anni di lavoro nel telerilevamento e nel dominio GIS.

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.