| 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 | Das oder die Polygon-Features, die den zu verarbeitenden Bereich definieren. | 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
Dieses Werkzeug erfordert die Installation von Deep Learning Essentials, das mehrere neuronale Netzwerklösungen mit neuronalen Architekturen für die Klassifizierung von Punktwolken bietet.
Informationen zum Einrichten des Computers für Deep-Learning-Frameworks in ArcGIS Pro 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 Bezugsoberfläche ist erforderlich, wenn das Eingabemodell mit relativen Höhenattributen trainiert wurde. Die Raster-Oberfläche wird als Referenzhöhe verwendet, von der aus die relativen Höhen für jeden Punkt interpoliert werden. Dadurch erhält das Modell zusätzliche Informationen, die zur besseren Unterscheidung der Objekte verwendet werden können. Die für diesen Parameter angegebene Raster-Oberfläche sollte denselben Datentyp repräsentieren wie das Raster, das in den Trainingsdaten verwendet wurde, mit denen das Modell erstellt wurde. In den meisten Fällen handelt es sich um ein Raster, das aus klassifizierten Bodenpunkten erstellt wird. Aus den klassifizierten Bodenpunkten im LAS-Dataset kann eine Raster-Oberfläche generiert werden, indem ein Bodenfilter angewendet und das Werkzeug LAS-Dataset in Raster verwendet wird. Eine Bodenoberfläche kann auch mit dem Werkzeug Punktwolke in Raster aus einem Punktwolken-Szenen-Layer generiert werden. Raster-Oberflächen, die nicht aus der Eingabe-Punktwolke generiert wurden, können auch verwendet werden. In diesem Fall müssen Sie aber sicherstellen, dass die Z-Werte im Raster mit den richtigen Z-Werten in der Punktwolke korrespondieren.
Wenn das Eingabemodell mit Punkten aus bestimmten Klassen trainiert wurde, die aus den Trainingsdaten ausgeschlossen wurden, verwenden Sie den Parameter Ausgeschlossene Klassencodes, um sicherzustellen, dass diese Punkte nicht in den für dieses Modell ausgewerteten Punkten enthalten sind. Durch den Ausschluss von Klassen, die keinen nützlichen Kontext für die Ziele eines bestimmten Modells bieten, wird die Anzahl der auszuwertenden Punkte verringert, was die Geschwindigkeit des Trainings und der Anwendung des Modells erhöht. So sind beispielsweise Punkte, die Gebäude darstellen, in der Regel für Punkte irrelevant, die Objekte wie Ampeln, Stromleitungen oder Autos repräsentieren. Gebäudepunkte können auch mit dem Werkzeug Gebäude aus LAS klassifizieren zuverlässig klassifiziert werden. Wenn Punkte mit der Klasse 6, die Gebäude darstellt, in den Trainingsdaten, die zur Erstellung des Modells verwendet wurden, ausgeschlossen wurden, muss die Eingabe-Punktwolke auch Gebäudepunkte klassifizieren und von diesem Werkzeug ausschließen.
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 | Das oder die Polygon-Features, die den zu verarbeitenden Bereich definieren. | 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])Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst