Beschriftung | Erläuterung | Datentyp |
Eingabepunktwolke | Die Punktwolke, die zum Erkennen von Objekten verwendet wird. | LAS Dataset Layer |
Eingabe-Modelldefinition | Das Objekterkennungsmodell, das verwendet wird. Eine Esri Modelldefinitionsdatei (.emd), ein Deep-Learning-Paket (.dlpk) oder ein veröffentlichtes Objekterkennungsmodell aus ArcGIS Online oder Portal for ArcGIS kann angegeben werden. | File; String |
Zielobjekte | Die Objekte, die in der Eingabepunktwolke identifiziert werden, sowie die Konfidenz- und Überlappungsschwellenwerte, die beim Akzeptieren der erkannten Objekte herangezogen werden.
| Value Table |
Ausgabeobjekt-Features | Die Ausgabe-Multipatch-Features, die die Rahmen enthalten, die die in der Eingabepunktwolke erkannten Objekte umgeben. | Feature Class |
Batch-Größe (optional) | Die Anzahl von Blöcken der Eingabepunktwolke, die gleichzeitig verarbeitet werden. Wenn kein Wert angegeben wird, wird immer nur ein Block zurzeit verarbeitet. | Long |
Verarbeitungsbegrenzung | Ein Polygon-Feature, das den Interessenbereich definiert, der verarbeitet werden soll. | Feature Layer |
Bezugsoberfläche | Die Raster-Oberfläche, die zum Berechnen der relativen Höhen für jeden Punkt verwendet wird. Der Parameter ist erforderlich, wenn das Eingabemodell relative Höhenattribute enthält. Dadurch wird angegeben, dass es mit einer Bezugshöhen-Raster-Oberfläche trainiert wurde. | Raster Layer |
Ausgeschlossene Klassen | Die Klassencodes aus der Eingabepunktwolke, die von den Punkten ausgeschlossen werden, die zum Erkennen von Objekten verarbeitet werden. Wenn das Modell mit Punkten aus bestimmten ausgelassenen Klassencodes trainiert wurde, sollten die Punkte in der Eingabepunktwolke die gleiche Klasse von Objekten identifizieren und ausschließen, um die besten Ergebnisse zu erhalten. | Long |
Zusammenfassung
Erkennt in einer Punktwolke erfasste Objekte mithilfe eines Deep-Learning-Modells.
Abbildung
Verwendung
Für dieses Werkzeug muss Deep Learning Essentials installiert sein. Darin werden mehrere Lösungen für neuronale Netzwerke bereitgestellt, zu denen neurale Architekturen zum Klassifizieren von Punktwolken gehören.
Informationen zum Einrichten des Computers für Deep-Learning-Frameworks in ArcGIS AllSource finden Sie unter Installieren von Deep-Learning-Frameworks for ArcGIS.
Für Modelle zur Objekterkennung muss die Eingabepunktwolke nicht klassifiziert werden. Allerdings sollte die Punktwolke, die ausgewertet wird, ähnliche Eigenschaften wie die Punktwolkendaten aufweisen, mit denen das Modell trainiert wird. Beispielsweise wäre ein Objekterkennungsmodell, das mit einer terrestrischen Punktwolke trainiert wird, um Autos zu klassifizieren, für eine andere terrestrische Punktwolke geeignet. Für eine Punktwolke, die aus einer LIDAR-Luftbildvermessung erfasst wurde, ist es dagegen möglicherweise nicht gut geeignet.
Das Modell identifiziert eine Vielzahl von Objekten, die teilweise überlappen können. Um diese Erkennungen zu optimieren, werden zwei wichtige Schwellenwerte verwendet: der Schwellenwert für den Konfidenzwert und der Überlappungsschwellenwert. Der Konfidenzwert ist ein numerischer Wert zwischen 0,0 und 1,0, der angibt, wie wahrscheinlich eine richtige Identifikation des Objekts ist. Ein höherer Wert kennzeichnet eine größere Sicherheit. Ein Schwellenwert kann festgelegt werden, um Erkennungen unter einem bestimmten Konfidenzniveau herauszufiltern.
In Fällen, in denen mehrere ähnliche Objekte überlappende Rahmen aufweisen, wird der Überlappungsschwellenwert noch wichtiger. Dieser Messwert verwendet das IoU-Verhältnis (Intersection Over Union). Es wird berechnet, indem für die überlappenden Rahmen das Volumen der Überschneidung durch das Volumen der Vereinigung geteilt wird. Bei Objekten, deren IoU über dem Überlappungsschwellenwert liegt, bleibt nur das Objekt mit dem höchsten Konfidenzwert erhalten. Mit dem NMS-Algorithmus (Non Maximum Suppression) wird sichergestellt, dass nur die relevantesten Erkennungen Teil der endgültigen Ausgabe werden.
Der Parameter Bezugsfläche muss angegeben werden, wenn das Eingabemodell mit relativen Höhenattributen trainiert wurde. Die Raster-Oberfläche dient als Referenzhöhe, von der relative Höhen für jeden Punkt interpoliert werden. Das Modell erhält auf diese Weise weitere Informationen, mit denen sich Objekte besser unterscheiden lassen. Die für diesen Parameter bereitgestellte Raster-Oberfläche sollte denselben Datentyp wie das Raster aufweisen, das in den Trainingsdaten zum Erstellen des Modells verwendet wurde. In den meisten Fällen handelt es sich hierbei um ein Raster, das aus Punkten mit Bodenklassifizierung erstellt wurde. Aus den Punkten mit Bodenklassifizierung im LAS-Dataset kann mit dem Werkzeug LAS-Dataset in Raster eine Raster-Oberfläche generiert werden, indem ein Bodenfilter angewendet wird. Mit dem Werkzeug Punktwolke in Raster kann auch eine Bodenoberfläche aus einem Punktwolken-Szenen-Layer erstellt werden. Raster-Oberflächen, die nicht aus der Eingabepunktwolke stammen, können ebenfalls verwendet werden. Allerdings müssen Sie sicherstellen, dass die Z-Werte im Raster mit den Z-Werten in der Punktwolke übereinstimmen.
Wenn das Eingabemodell mit Punkten aus bestimmten Klassen trainiert und diese aus den Trainingsdaten ausgeschlossen wurden, stellen Sie mithilfe des Parameters Ausgeschlossene Klassencodes sicher, dass diese Punkte aus der Gruppe von Punkten ausgeschlossen werden, die von diesem Modell evaluiert werden. Durch den Ausschluss von Klassen, die keinen nützlichen Kontext für die Ziele eines bestimmten Modells bieten, reduziert sich die Anzahl der ausgewerteten Punkte. Auf diese Weise kann das Modell schneller trainiert und angewendet werden. So haben Punkte, die Gebäude darstellen, normalerweise keine Relevanz für Punkte, die Objekte wie Ampeln, Stromleitungen oder Autos darstellen. Gebäudepunkte können auch zuverlässig mit dem Werkzeug Gebäude aus LAS klassifizieren klassifiziert werden. Wenn Punkte der Klasse 6, die Gebäude darstellt, in den Trainingsdaten für die Erstellung des Modells ausgeschlossen wurden, müssen von der Eingabepunktwolke ebenfalls die Gebäudepunkte klassifiziert und in diesem Werkzeug ausgeschlossen werden.
Parameter
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, target_objects, out_features, {batch_size}, boundary, reference_height, excluded_class_codes)
Name | Erläuterung | Datentyp |
in_point_cloud | Die Punktwolke, die zum Erkennen von Objekten verwendet wird. | LAS Dataset Layer |
in_trained_model | Das Objekterkennungsmodell, das verwendet wird. Eine Esri Modelldefinitionsdatei (.emd), ein Deep-Learning-Paket (.dlpk) oder ein veröffentlichtes Objekterkennungsmodell aus ArcGIS Online oder Portal for ArcGIS kann angegeben werden. | File; String |
target_objects [target_objects,...] | Die Objekte, die in der Eingabepunktwolke identifiziert werden, sowie die Konfidenz- und Überlappungsschwellenwerte, die beim Akzeptieren der erkannten Objekte herangezogen werden.
| Value Table |
out_features | Die Ausgabe-Multipatch-Features, die die Rahmen enthalten, die die in der Eingabepunktwolke erkannten Objekte umgeben. | Feature Class |
batch_size (optional) | Die Anzahl von Blöcken der Eingabepunktwolke, die gleichzeitig verarbeitet werden. Wenn kein Wert angegeben wird, wird immer nur ein Block zurzeit verarbeitet. | Long |
boundary | Ein Polygon-Feature, das den Interessenbereich definiert, der verarbeitet werden soll. | Feature Layer |
reference_height | Die Raster-Oberfläche, die zum Berechnen der relativen Höhen für jeden Punkt verwendet wird. Der Parameter ist erforderlich, wenn das Eingabemodell relative Höhenattribute enthält. Dadurch wird angegeben, dass es mit einer Bezugshöhen-Raster-Oberfläche trainiert wurde. | Raster Layer |
excluded_class_codes [excluded_class_codes,...] | Die Klassencodes aus der Eingabepunktwolke, die von den Punkten ausgeschlossen werden, die zum Erkennen von Objekten verarbeitet werden. Wenn das Modell mit Punkten aus bestimmten ausgelassenen Klassencodes trainiert wurde, sollten die Punkte in der Eingabepunktwolke die gleiche Klasse von Objekten identifizieren und ausschließen, um die besten Ergebnisse zu erhalten. | Long |
Codebeispiel
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
import arcpy
arcpy.env.workspace = 'C:/data/detect_cars'
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel('2018_survey.lasd', 'cars.emd',
[(1, 0.7, 0.4)], 'Cars_in_Point_Cloud.shp',
10, 'study_area_boundary.shp',
'dem.tif', [2, 6, 7, 18])