Objekterkennung

Mit der Image Analyst-Lizenz verfügbar.

Die folgenden Methoden und Konzepte sind entscheidend wichtig beim Verständnis und der Durchführung der Objekterkennung in ArcGIS AllSource.

Single Shot Detector (SSD)

Single Shot Detector (SSD) ermittelt in einem einzigen Durchgang des Bildes mehrere Objekte. SSD gilt als einer der schnelleren Modelltypen für die Objekterkennung mit einer relativ hohen Genauigkeit.

SSD verfügt über zwei Komponenten: ein Backbone-Modell und einen SSD-Head. Das Backbone-Modell ist ein vortrainiertes Netzwerk zur Bildklassifizierung für die Feature-Extraktion. Normalerweise handelt es sich dabei um ein Netzwerk wie ResNet, das auf Imagenet trainiert wurde, wobei die vollständigen Ergebnis-Klassifizierungs-Layer entfernt wurden. Der SSD-Head besteht einfach aus einem oder mehreren Faltungs-Layern, die diesem Backbone hinzugefügt wurden. Die Ausgaben werden als umgebende Rechtecke und Klassen von Objekten in der räumlichen Position der Aktivierungen des Ergebnis-Layers interpretiert.

Gitterzelle

Anstelle eines gleitenden Fensters wird das Bild von SSD in ein Gitternetz aufgeteilt, wobei in jeder Gitterzelle die Objekte in dieser Bildregion ermittelt werden. Die Erkennung von Objekten bedeutet, dass die Klasse und Position eines Objekts innerhalb dieser Region vorhergesagt wird. Wenn kein Objekt vorhanden ist, wird sie als Hintergrundklasse betrachtet und die Position ignoriert. Sie können beispielsweise ein 4 mal 4 Zellen großes Gitternetz wie im Beispiel unten verwenden. Für jede Gitterzelle wird die Position und Form des darin enthaltenen Objekts ausgegeben.

4 mal 4 Zellen großes Gitternetz

Beispiel für ein 4 mal 4 Zellen großes Gitternetz wird gezeigt.

Wenn eine Gitterzelle mehrere Objekte enthält oder Sie mehrere Objekte mit unterschiedlicher Form entdecken, wird die Ankerbox verwendet.

Ankerbox

Jeder Gitterzelle in SSD können mehrere Ankerboxen (oder vorherige Boxen) zugewiesen werden. Diese Ankerboxen wurden vorab definiert, wobei jede einzelne davon für eine Größe und Form innerhalb einer Gitterzelle steht. Das Schwimmbad im unten angezeigten Bild etwa entspricht der größeren Ankerbox, das Gebäude dagegen der breiteren Box.

Beispiel für zwei Ankerboxen

Ein Beispiel für zwei Ankerboxen wird gezeigt.
Legende der zwei Ankerboxen
Die Legende der zwei Ankerboxen wird gezeigt.

Bei SSD dient eine Abgleichsphase im Training dazu, die entsprechende Ankerbox mit den umgebenden Rechtecken der einzelnen Feldvergleichsobjekte in einem Bild abzugleichen. Im Grunde übernimmt die Ankerbox mit der höchsten Übereinstimmung bei der Überlappung mit einem Objekt die Vorhersage der Klasse und Position des Objekts. Diese Eigenschaft wird für das Trainieren des Netzwerks und die Vorhersage der erkannten Objekte und ihrer Position verwendet, nachdem das Netzwerk trainiert wurde. Konkret wird jede Ankerbox durch ein Seitenverhältnis und einen Zoomfaktor angegeben.

Seitenverhältnis

Nicht alle Objekte sind quadratisch. Einige weichen in der Länge und Breite in unterschiedlichem Maß ab. Bei der SSD-Architektur wird dies durch vordefinierte Seitenverhältnisse der Ankerboxen berücksichtigt. Sie können die verschiedenen Seitenverhältnisse der Ankerboxen, die den einzelnen Gitterzellen auf verschiedenen Zoom- oder Maßstabsebenen zugeordnet sind, mit dem ratios-Parameter angeben.

Umgebende Rechtecke von Gebäuden

Das umgebende Rechteck von Gebäude 1 ist höher, das von Gebäude 2 dagegen breiter.

Zoomfaktor

Die Ankerboxen müssen nicht dieselbe Größe wie die Gitterzelle aufweisen. Es können auch kleinere oder größere Objekte in einer Gitterzelle gefunden werden. Mit dem Zoomfaktor-Parameter wird angegeben, um welchen Faktor die Ankerboxen für die einzelnen Gitterzellen hoch- oder herunterskaliert werden müssen. Wie im Beispiel mit der Ankerbox ist das Gebäude normalerweise größer als das Schwimmbad.

RetinaNet

RetinaNet ist ein einphasiges Objekterkennungsmodell, das sich für dicht aneinandergefügte Objekte im kleinen Maßstab eignet. Deshalb wird es gerne für Luft- und Satellitenbilder verwendet.

Architektur

Die RetinaNet-Modellarchitektur besteht aus vier Hauptkomponenten1:

  • Bottom-up-Pfad: Das Backbone-Netzwerk von ResNet, mit dem die Feature-Karten unabhängig von der Größe des Eingabebildes oder dem Backbone in unterschiedlichen Maßstäben berechnet werden.
  • Top-down-Pfad und Querverbindungen: Im Top-down-Pfad werden die räumlich gröberen Feature-Karten von höheren Pyramidenebenen hochgerechnet, während über die Querverbindungen die Top-down-Layer und Bottom-up-Layer mit derselben Raumbezugsgröße zusammengeführt werden.
  • Klassifizierungsteilnetz: Sagt für jede Ankerbox und Objektklasse die Wahrscheinlichkeit vorher, mit der ein Objekt an einer räumlichen Position vorhanden ist.
  • Regressionsteilnetz: Führt für jedes Feldvergleichsobjekt bei einem Versatz der umgebenden Rechtecke von den Ankerboxen eine Regression durch.

Fokusverlust

Der Fokusverlust (Focal Loss; FL) ist eine Verbesserung des Kreuzentropie-Verlusts (Cross-Entropy Loss; CE) und wurde eingeführt, um das Problem von Klassenungleichgewichten bei einphasigen Objekterkennungsmodellen zu lösen. Einphasige Modelle weisen ein extremes Ungleichgewicht der Vordergrund- und Hintergrundklasse auf, da ein dichtes Sampling von Ankerboxen (möglichen Objektpositionen1) stattfindet. In RetinaNet kann jeder Pyramiden-Layer über Tausende von Ankerboxen verfügen. Nur wenige davon sind einem Feldvergleichsobjekt zugewiesen, die Mehrheit davon befindet sich in der Hintergrundklasse. Diese einfachen Beispiele (Erkennungen mit hohen Wahrscheinlichkeitswerten) führen zu geringen Verlustwerten, können das Modell insgesamt gesehen jedoch aus dem Gleichgewicht bringen. Mit FL wird der Verlustbeitrag einfacher Beispiele reduziert und die Bedeutung der Korrektur falsch klassifizierter Beispiele erhöht.

Maßstäbe

Der Maßstab von Ankerboxen. Die Standardeinstellung ist [2, 2.3, 2.6] und eignet sich gut für die meisten Objekte in beliebigen Datasets. Sie können die Maßstäbe abhängig von der Größe der Objekte in Ihrem Dataset ändern.

Seitenverhältnis

Das Seitenverhältnis der Ankerboxen. Die Standardeinstellung ist [0.5, 1, 2]. Das bedeutet, die Ankerboxen weisen ein Seitenverhältnis von 1:2, 1:0 und 2:1 auf. Sie können die Verhältnisse der Form der relevanten Objekte anpassen.

YOLOv3

Das Backbone von YOLO (You Only Look Once) v3 ist Darknet-53. Dadurch unterscheidet sich YOLO von anderen Modellen wie SSD und RetinaNet, in denen die beliebte ResNet-Familie als Backbone zum Einsatz kommt. Darknet-53 ist eine vielschichtigere Version von Darknet-19, das in der früheren Version YOLOv2 verwendet wurde. Wie im Namen schon angedeutet, umfasst diese Backbone-Architektur 53 Faltungs-Layer. Durch die Anpassung der Residual-Layer im ResNet-Style wurde die Genauigkeit verbessert, ohne Zugeständnisse bei der Geschwindigkeit machen zu müssen. Die Performance der Feature-Extraktion übertrifft die von ResNet101 und ist ähnlich hoch wie bei ResNet152, der Vorgang ist jedoch etwa 1,5 bzw. 2 mal schneller2.

YOLOv3 umfasst inkrementelle Verbesserungen im Vergleich zu vorherigen Versionen2. Darin werden Upsampling und die Verbindung von Feature-Layern mit früheren Feature-Layern, die komplexe Features beibehalten, verwendet. Eine weitere Verbesserung ist die Verwendung von drei Maßstäben für die Erkennung. Dadurch können Objekte in verschiedenen Maßstäben in einem Bild gut von dem Modell erkannt werden. Außerdem gibt es weitere Verbesserungen bei der Auswahl von Ankerboxen, der Verlustfunktion usw. Eine detaillierte Analyse der YOLOv3-Architektur finden Sie unter What's new in YOLO v3? Externer Link.

Faster R-CNN

Vor Faster R-CNN (Region-based Convolutional Neural Network) wurden in den Modellen verschiedene Algorithmen für die Regionsvorschläge in der CPU berechnet, sodass ein Engpass entstand. In Faster R-CNN wurde die Objekterkennungsarchitektur verbessert, indem der Suchalgorithmus für die Auswahl in Fast R-CNN durch ein Faltungsnetzwerk namens Region Proposal Network (RPN) ersetzt wurde. Die restliche Modellarchitektur unterscheidet sich nicht von der in Fast R-CNN. Das Bild wird in ein CNN übergeben, um eine Feature-Karte zu erzeugen. Aus dieser werden Features für vom RPN vorgeschlagene Regionen von einem Pooling-Layer ausgewählt, in der Größe angepasst und an einen FC-Layer mit zwei Heads weitergegeben: ein softmax-Klassifikator und ein Regressor für die umgebenden Rechtecke. Durch diesen Aufbau wurde die Erkennungsgeschwindigkeit erhöht, sodass sie nun nahezu Echtzeit erreicht3.

Faster R-CNN

Die Architektur für Faster R-CNN wird gezeigt3.

Regional Proposal Network

Region Proposal Network (RPC) gibt ein Bild ein und Interessensregionen mit Objekten zurück, ähnlich wie bei anderen Algorithmen zu Regionsvorschlägen. RPN gibt außerdem anstelle eines Hintergrunds eine Objektbewertung zurück, das die Wahrscheinlichkeit misst, mit der ein Objekt in der Region vorhanden ist3. In Faster R-CNN verwenden das RPN und das Erkennungsnetzwerk dasselbe Backbone. Der letzte gemeinsam genutzte Layer des Backbones umfasst eine Feature-Karte des Bildes, auf dessen Grundlage das RPN die Regionen vorschlägt.

Mit gleitenden Fenstern wird ein kleines Netzwerk über die Feature-Karte gelegt. An jedem räumlichen Fenster gibt es mehrere Ankerboxen in vorab festgelegten Maßstäben und Seitenverhältnissen. Auf diese Weise kann das Modell Objekte, die sich bezüglich des Maßstabs und Seitenverhältnisses erheblich unterscheiden, im selben Bild erkennen. Normalerweise werden die Ankerboxen in drei verschiedenen Maßstäben und drei verschiedenen Seitenverhältnissen erstellt, sodass an jeder räumlichen Position neun Ankerboxen vorhanden sind; dies ist die maximal mögliche Anzahl von Regionsvorschlägen an dieser räumlichen Position. Das kleine Netzwerk wird dann in vollständig verbundene Layer mit zwei Heads eingegeben: einen für die Objektbewertung und einen für die Koordinaten der umgebenden Rechtecke für die Regionsvorschläge. Beachten Sie, dass diese Layer zwar eine gewisse Ähnlichkeit mit den letzten Layern der Fast R-CNN-Objekterkennung aufweisen, jedoch nicht mit diesen identisch sind und auch über andere Gewichtungen verfügen. Das RPN klassifiziert die Regionen unabhängig von ihrer jeweiligen Klasse, da nur Regionen gefunden werden sollen, in denen Objekte enthalten sind. Weitere Informationen zu RPN finden Sie unter Faster R-CNN for object detection Externer Link.

Mask R-CNN

Mask R-CNN ist ein Modell für die Instanzsegmentierung. Es wurde auf Grundlage des Faster R-CNN-Modells entwickelt. Beim Faster R-CNN-Modell handelt es sich um ein regionsbasiertes Convolutional Neural Network4, bei dem umgebende Rechtecke für alle Objekte und die zugehörigen Klassenbezeichnungen mit einem Konfidenzwert zurückgegeben werden.

Faster R-CNN sagt die Objektklasse und umgebende Rechtecke voraus, Mask R-CNN ist jedoch eine Erweiterung von Faster R-CNN mit weiteren Zweigen für die Vorhersage von Segmentierungsmasken für jede Interessensregion (Region of Interest; RoI). In der zweiten Phase von Faster R-CNN wird der RoI-Pool durch RoIAlign ersetzt, sodass räumliche Informationen, die im RoI-Pool falsch zugeordnet wurden, beibehalten werden. RoIAlign erstellt mittels binärer Interpolation eine Feature-Karte mit einer festen Größe, z. B. 7 mal 7. Die Ausgabe aus dem RoI-Layer wird dann in den Mask-Head weitergegeben. Dieser besteht aus zwei Faltungs-Layern. Dort wird eine Maske für jede RoI generiert, sodass ein Bild Pixel für Pixel segmentiert wird. Damit nicht genau angegebene Grenzen nicht übermäßig geglättet werden, wurde das Modell für Objekte mit unregelmäßigen Grenzen um ein punktbasiertes neurales Rendering-Netzwerkmodul namens PointRend erweitert.

Instanzsegmentierung

Die Instanzsegmentierung umfasst zwei Elemente: eine Objekterkennungsaufgabe mit dem Ziel, ein Objekt und dessen vorhergesagtes umgebendes Rechteck in einem Bild zu erkennen, sowie eine semantische Segmentierungsaufgabe, die alle Pixel in vordefinierte Kategorien klassifiziert. Auf diese Weise können Sie Objekte in einem Bild erkennen und gleichzeitig eine Maske für jede Objektinstanz segmentieren.

Die Instanzsegmentierung ermöglicht u. a. die Lösung der folgenden Probleme:

  • Schadenserkennung, da es wichtig ist, das Ausmaß von Schäden zu erfassen.
  • Selbstfahrende Autos, da es wichtig ist, die Position aller Autos in der Szene zu kennen.
  • Die Generierung von Gebäude-Footprints für alle einzelnen Gebäude – ein häufiges Problem in GIS.

Referenzen

[1] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He und Piotr Dollár. Focal Loss for Dense Object Detection, http://arxiv.org/abs/1708.02002 arXiv:1708.02002, (2017).

[2] Joseph Redmon, Ali Farhadi. YOLOv3: An Incremental Improvement, https://arxiv.org/abs/1804.02767 arXiv:1804.02767, (2018).

[3] Shaoqing Ren, Kaiming He, Ross Girshick und Jian Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, http://arxiv.org/abs/1506.01497 arXiv:1506.01497, (2015).

[4] Shaoqing Ren, Kaiming He, Ross Girshick und Jian Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, http://arxiv.org/abs/1506.01497 arXiv:1506.01497, (2015).

Verwandte Themen