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?
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.
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
quelle
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.
quelle