Unterscheidung zwischen pixelbasierter und objektbasierter Klassifikation?

14

Ich kämpfe darum, die Unterscheidung zwischen pixelbasierter und objektbasierter Klassifizierung im Fernerkundungsbereich klar zu verstehen, und hoffe, dass jemand aus dieser Community Einblicke gewähren kann.

Nach den Informationen, die ich bisher habe, geht mein derzeitiges Verständnis in diese Richtung:

Pixelbasierte Klassifizierung: Die Klassifizierung erfolgt auf Pixelebene, wobei nur die für dieses einzelne Pixel verfügbaren Spektralinformationen verwendet werden (dh Werte von Pixeln innerhalb der Lokalität werden ignoriert). In diesem Sinne würde jedes Pixel ein Trainingsbeispiel für einen Klassifizierungsalgorithmus darstellen, und dieses Trainingsbeispiel würde in Form eines n-dimensionalen Vektors vorliegen, wobei n die Anzahl der Spektralbänder in den Bilddaten ist. Dementsprechend würde der trainierte Klassifizierungsalgorithmus eine Klassenvorhersage für jedes einzelne Pixel in einem Bild ausgeben.

Objektbasierte Klassifizierung: Die Klassifizierung wird für eine lokalisierte Gruppe von Pixeln durchgeführt, wobei die räumlichen Eigenschaften jedes Pixels in Bezug zueinander berücksichtigt werden. In diesem Sinne würde ein Trainingsbeispiel für einen Klassifizierungsalgorithmus aus einer Gruppe von Pixeln bestehen, und der trainierte Klassifizierungsalgorithmus würde dementsprechend eine Klassenvorhersage für Pixel auf Gruppenbasis ausgeben. Für ein einfaches Beispiel könnte ein Bild in n Segmente gleicher Größe unterteilt werden, und jedem Segment würde dann eine Klasse zugewiesen (dh es enthält ein Objekt / enthält kein Objekt).

Ist dieses Denken in Bezug auf die Bedeutung dieser Begriffe richtig, oder gibt es etwas, das ich verpasst habe?

RDG
quelle

Antworten:

9

Ihr Verständnis ist im Allgemeinen korrekt, Ihre Beschreibung der objektbasierten Klassifizierung birgt jedoch Gefahren - der Begriff „Objekt“ bezieht sich auf die Gruppe von Pixeln, unabhängig davon, ob sie ein bestimmtes Objekt enthält oder nicht.
Darüber hinaus besteht das zentrale Ziel einer objektbasierten Klassifizierung darin, nicht gleich große Segmente zu haben, sondern das Bild in intern homogene Segmente unterschiedlicher Größe "zu hacken" / zu segmentieren . Das Übungsbeispiel für die objektbasierte Klassifizierung wären schließlich normalerweise einer oder mehrere der in der Bildsegmentierung erstellten Abschnitte.

Alles in allem handelt es sich bei den obigen Angaben nur um geringfügige Abweichungen von Ihrer Beschreibung.

Nun zum zentralen Teil: Wann ist jede Methode anzuwenden und wie können ihre Stärken potenziell kombiniert werden?

Mikkel Lydholm Rasmussen
quelle
Danke, das hat wirklich zur Klärung beigetragen. Ich hatte den Verdacht, die Feinheiten der objektbasierten Klassifikation nicht ganz verstanden zu haben! Es ist interessant, dass Sie die Möglichkeit hybrider Ansätze erwähnen, die ich noch nicht so weit gedacht hatte. Kann ich fragen, ob für die Erkennung und Klassifizierung von Objekten ein Schiebefenster verwendet wird? Gibt es einen Fachbegriff für einen solchen Ansatz im Fernerkundungsbereich?
RDG
1
ja, es heißt Windungen. Siehe meine Antwort.
John Powell
Meiner Meinung nach gibt es bei der pixelbasierten Klassifizierung keine Stärke. Es gibt interessante Workflows, die Faltungen und Regressionen beinhalten, um Begrenzungsrahmen und Position vorherzusagen, aber pixelbasierte Klassifizierung allein hat keinen Wert, imho.
John Powell
1
@ JohnPowellakaBarça - Pixelbasierte Ansätze bieten sich an, wenn Sie sich für multitemporale Anwendungen entscheiden, bei denen sich die Klassifizierung eher auf sich ändernde Bereiche als auf den traditionellen einzelnen Zeitschritt konzentriert.
Mikkel Lydholm Rasmussen
1
Klar, ja, fair genug. Obgleich regionalbasierte Ansätze, die vektorisiert und dann im Laufe der Zeit verglichen werden, möglicherweise größere Erkenntnisse liefern könnten, ist Ihr Standpunkt jedoch richtig.
John Powell
12

Bei der pixelbasierten Klassifizierung sind Sie genau richtig. Jedes Pixel ist ein n-dimensionaler Vektor und wird einer Klasse gemäß einer Metrik zugewiesen, unabhängig davon, ob Support Vector Machines, MLE, eine Art Knn-Klassifikator usw. verwendet werden.

Bezüglich regionaler Klassifikatoren gab es in den letzten Jahren jedoch enorme Entwicklungen, die auf einer Kombination von GPUs, riesigen Datenmengen, der Cloud und einer breiten Verfügbarkeit von Algorithmen aufgrund des Wachstums von Open Source (erleichtert) beruhten von github). Eine der größten Entwicklungen im Bereich der Bildverarbeitung / Klassifizierung betraf neuronale Faltungsnetze (CNNs).. Die Faltungsebenen "lernen" Merkmale, die wie bei herkömmlichen pixelbasierten Klassifizierern auf Farbe basieren können, erstellen aber auch Kantendetektoren und alle Arten anderer Merkmalsextraktoren, die in einem Pixelbereich (daher der Faltungsteil) vorhanden sein können könnte niemals aus einer pixelbasierten Klassifikation extrahieren. Dies bedeutet, dass die Wahrscheinlichkeit geringer ist, dass ein Pixel in der Mitte eines Bereichs von Pixeln eines anderen Typs falsch klassifiziert wird. Wenn Sie jemals eine Klassifizierung durchgeführt haben und mitten im Amazonasgebiet Eis gefunden haben, werden Sie dieses Problem verstehen.

Anschließend wenden Sie ein vollständig verbundenes neuronales Netz auf die "Merkmale" an, die über die Faltungen gelernt wurden, um die Klassifizierung tatsächlich durchzuführen. Einer der anderen großen Vorteile von CNNs besteht darin, dass sie skalierungs- und rotationsunabhängig sind, da normalerweise Zwischenschichten zwischen den Faltungsschichten und der Klassifizierungsschicht vorhanden sind, die Merkmale mithilfe von Pooling und Dropout verallgemeinern, um eine Überanpassung zu vermeiden, und bei den damit verbundenen Problemen helfen Maßstab und Orientierung.

Es gibt zahlreiche Ressourcen für neuronale Faltungsnetze, wobei die Standord-Klasse von Andrei Karpathy die beste sein muss , der einer der Pioniere auf diesem Gebiet ist, und die gesamte Vorlesungsreihe auf youtube verfügbar ist .

Sicher, es gibt andere Möglichkeiten, mit der Klassifizierung von Pixeln im Vergleich zur flächenbasierten Klassifizierung umzugehen, aber dies ist derzeit der Stand der Technik und es gibt viele Anwendungen, die über die Klassifizierung der Fernerkundung hinausgehen, z. B. maschinelle Übersetzung und selbstfahrende Autos.

Hier ist ein weiteres Beispiel für eine regionale Klassifizierung unter Verwendung von Open Street Map für markierte Trainingsdaten, einschließlich Anweisungen zum Einrichten von TensorFlow und zur Ausführung unter AWS.

Hier ist ein Beispiel für die Verwendung der Google Earth Engine eines Klassifikators auf Basis der Kantenerkennung, in diesem Fall für die Pivot-Bewässerung. Dabei werden nur ein Gauß-Kernel und Faltungen verwendet, aber auch hier wird die Leistungsfähigkeit von auf Regionen und Kanten basierenden Ansätzen gezeigt.

Bildbeschreibung hier eingeben

Während die Überlegenheit von Objekten gegenüber der pixelbasierten Klassifizierung weitgehend akzeptiert wird, finden Sie hier einen interessanten Artikel in Fernerkundungsbriefen , in dem die Leistung der objektbasierten Klassifizierung bewertet wird .

Ein amüsantes Beispiel, um zu zeigen, dass die Bildverarbeitung trotz regionaler / konvolutionsbasierter Klassifikatoren immer noch sehr schwierig ist - zum Glück arbeiten die schlauesten Leute bei Google, Facebook usw. an Algorithmen, um den Unterschied zwischen diesen zu bestimmen Hunde, Katzen und verschiedene Rassen von Hunden und Katzen. So können Benutzer, die sich für Fernerkundung interessieren, nachts problemlos schlafen: D

Bildbeschreibung hier eingeben

John Powell
quelle
0

Eine sehr einfache Antwort lautet wie folgt:

Wenn Sie nur Spektralinformationen (Pixelintensität) als Trainingssatz verwenden, führen Sie eine Pixelbasisklassifizierung durch.

Wenn Sie sowohl räumliche (Nachbarschaftspixel) als auch spektrale Informationen als Trainingssatz verwenden, führen Sie eine Objektbasisklassifizierung durch (unter Verwendung eines segmentierungsbasierten Algorithmus, z. B. DBScan). In der Bildverarbeitung dient dieser DBS zur Superpixel-Extraktion.

Hinweis: Sie können Spektralinformationen in jedem Sinne (Größe, Form, Kontext / Textur) für die Merkmalsextraktion verwenden.

Sie können verschiedene Ansätze verwenden, um die Merkmalsextraktion mithilfe von Spektralinformationen durchzuführen.

Die Hauptfrage ist, wie man den am besten geeigneten Ansatz für die Merkmalsextraktion finden und den effizienten Algorithmus (Kantenerkennung, spektralbasierte Segmentierung, Clustering) für das gestellte Problem anwenden kann, um Informationen aus spektralen Informationen herauszutreiben.

Man könnte sich die Faltungsmatrix vorstellen, um eine gute Analyse sowohl der spektralen als auch der räumlichen Informationen für die Erstellung eines Trainingssatzes durchzuführen.

Referenz: Mein Wissen nach mehr als 3 Jahren Erfahrung in der Fernerkundung und im GIS-Bereich.

morteza
quelle