Grobe Holzabfallgewinnung

8

Ich habe mit einem terrestrischen Laserscanner eine sehr dichte Punktwolke einiger Waldflächen erstellt. Entfernen Sie dann Punkte über 1,3 m, um die groben Holzabfälle (umgestürzte tote Bäume) zu sehen. Anbei das schattierte DEM des Probenplots mit groben Holzabfällen innerhalb der roten Ellipse.

Geben Sie hier die Bildbeschreibung ein

Das Grundstück besteht auch aus kleinen Bäumen, einem Teil der Baumstämme unter 1,3 m, Boden und kleinen Felsen. Aus dem Bild sind Holzabfälle mit ihrer durchgehenden Form erkennbar. Ich suche das Werkzeug, um Holzabfälle aus diesem Bild zu extrahieren. Arcmap, Envi oder jede Open-Source-Software wären perfekt, und ich habe auch grundlegende Python-Kenntnisse, wenn das Codieren hilfreich ist.

Sher
quelle
2
Ist Ihr LiDAR klassifiziert? Hier würde automatischer Boden / Nichtgrund helfen. Automatische Algorithmen sollten Ihre gefallenen Trümmer als Gebäude klassifizieren (oberirdisch ohne Bodenpunkte darunter). Sie können versuchen, Ihre Gebäudeklasse (oder niedrige / mittlere Gemüseklasse) mit Esri in eine TIN umzuwandeln und die TIN in triangle resources.arcgis.com umzuwandeln /de/help/main/10.1/index.html#//… , lösche wirklich lange Dreiecke (Python erforderlich), löse kleine auf und ignoriere sie. Alle diese Metriken erfordern Experimente und wahrscheinlich einige manuelle Überprüfungen, um Aberrationen zu entfernen.
Michael Stimson
Vielen Dank an Michael Stimson. Ich habe Boden und Vegetation klassifiziert, aber ich werde versuchen, Gebäude zu klassifizieren, um zu sehen, ob es Holzabfälle erkennen kann. Die TIN-Methode klingt nach mehr manueller Arbeit, die für meinen Fall möglicherweise nicht ideal ist, da ich 96 1 Hektar große Parzellen habe.
Sher
Durch Verzinnen und Dezimieren sollte die Anzahl der zu inspizierenden Bereiche verringert werden, indem alles weggelassen wird, was zu klein ist, um als zusammenhängend angesehen zu werden. Erfahrungsgemäß gibt es jedoch eine kleine Anzahl von Bereichen, die zusammenhängend erscheinen, aber nicht zusammenhängend sind. Die Kontiguität wird vom Auge leicht erkannt aber nicht so einfach mit dem Algorithmus zu erkennen; maschinelles Lernen mag hilfreich sein, aber ich habe keine Erfahrung auf diesem Gebiet, um Sie von dieser Vorgehensweise zu überzeugen. Persönlich würde ich mich nicht nur auf einen Softwareprozess verlassen, ohne die Ergebnisse zu überprüfen.
Michael Stimson
1
Ich bin mir nicht sicher, ob dies schon einmal gemacht wurde. Ich würde versuchen, ein vollständig faltungsfähiges Netzwerk zu verwenden, das eine Bildsegmentierung durchführt, z. B. ein U-Netz: deeplearning.net/tutorial/unet.html .
Aaron
1
Können Sie ein Beispielbild ohne die rote Ellipse posten?
BERA

Antworten:

1

Um das zu ergänzen, was Michael gesagt hat, würde ich empfehlen, die Oberflächenrauheit Ihres DEM mithilfe des Rumple-Index oder einer ähnlichen Metrik zu berechnen. Sie können die Rauheitsschätzung auch an der Punktwolke selbst durchführen, solange die Bodenpunkte klassifiziert wurden.

Möglicherweise können Sie die Art der Trümmer, an denen Sie interessiert sind, allein anhand der Rauheitswerte klassifizieren, aber Sie können auch vergleichen, wie die Rauheit des DEM und der Punktwolke miteinander verglichen werden. Dies kann Ihnen helfen, die Gültigkeit Ihres DEM sowie die Positionen Ihrer groben Holzabfälle zu überprüfen.

Hier ist ein Link zu einem Paket, das den Rumple-Index in R berechnen kann: https://rdrr.io/cran/lidR/man/rumple_index.html

Und hier ist ein Python-Programm, das etwas Ähnliches macht, wenn auch statistisch anders: https://github.com/BodoBookhagen/PC_geomorph_roughness

BEARBEITEN:

Verwenden Sie die gdal-Funktion gdaldem, um die Rauheit und die Gelände-Robustheitskarten zu erstellen, um die Rauheit Ihres DEM als Rasterebene zu visualisieren.

gdaldem roughness path/to/dem.tif path/to/output.tif [-compute_edges] 

gdaldem TRI path/to/dem.tif path/to/output.tif [-compute_edges] 
Kartograaf
quelle
Vielen Dank an @Gory G. Rumple-Indexfunktion in R, die nur einen Index für das gesamte Diagramm zurückgibt. Ich hatte eine Gitterkarte des Rauheitsindex erwartet. las <- readLAS('a-4.las') chm = grid_canopy(las,0.1,p2r()) roughness = rumple_index(chm)Könnten Sie mir bitte mitteilen, wie ich einen Code ändere, um eine Rauheitsindexkarte zu erstellen?
Sher
1
@Sher Um die Rauheitskarte zu erstellen, möchten Sie möglicherweise GDAL verwenden. Es gibt eine Funktion namens "gdaldem", die dies in einer Codezeile für Sie erledigt. Sie können auch ein Terrain Ruggedness Index (TRI) -Raster erstellen, indem Sie Ihr DEM als Eingabe verwenden. Ich werde den Code zu meiner obigen Antwort hinzufügen.
Kartograaf