10 votos

¿Determinar el MDE de la tierra desnuda a partir de un archivo LAS no clasificado?

Tengo datos en formato LAS con valores RGB creados a partir de fotogrametría aérea con un UAV. Estoy tratando de encontrar una solución para extraer el DEM de tierra desnuda de la nube de puntos.

He probado con SAGA, Fusion, MCC-LIDAR, pero parece que necesitan que el archivo LAS esté ya clasificado (lo que naturalmente no es así). ¿Alguien puede indicarme la dirección correcta con una breve explicación del proceso?

Por lo general, necesitaría procesar unos 100 puntos de molino a la vez (se pueden muestrear si es necesario).

16voto

Andre Silva Puntos 2910

Generación de MDE LiDAR a partir de nubes de puntos sin clasificar con:

MCC-LIDAR es una herramienta de línea de comandos para procesar datos LIDAR de retorno discreto en entornos forestales (Evans & Hudak, 2007).

Flujo de trabajo:

  • a) nube de puntos sin clasificar.
  • b) retornos al suelo clasificados.
  • c) MDE de tierra desnuda (raster).

enter image description here


Vamos a crear una situación hipotética para dar un ejemplo con código.

El MCC-LIDAR se instala en:

C:\MCC

La nube de puntos LiDAR sin clasificar (archivo .las) está en:

C:\lidar\project\unclassified.las  

La salida que va a ser el DEM de tierra desnuda está dentro:

C:\lidar\project\dem.asc  

El ejemplo siguiente clasifica los retornos de tierra con el algoritmo MCC y crea un MDE de tierra desnuda con una resolución de 1 metro.

#MCC syntax: 
#command
#-s (spacing for scale domain)
#-t (curvature threshold)
#input_file (unclassified point cloud) 
#output_file (classified point cloud - ground -> class 2 and not ground -> class 1)
#-c (cell size of ground surface)
#output_DEM (raster surface interpolated from ground points)

C:\MCC\bin\mcc-lidar.exe -s 0.5 -t 0.07 C:\lidar\project\unclassified.las C:\lidar\project\classified.las -c 1 C:\lidar\project\dem.asc

Para entender mejor cómo funcionan los parámetros de escala (s) y de umbral de curvatura (t), lea: Cómo ejecutar MCC-LiDAR y; Evans y Hudak (2007).

Es necesario calibrar los parámetros para evitar errores de comisión/etiquetado (cuando un punto se clasifica como perteneciente al suelo pero en realidad pertenece a la vegetación o a los edificios). Por ejemplo:

enter image description here

El MCC-LIDAR utiliza Placa de Spline delgada (TPS) para clasificar los puntos del terreno y generar el MDE de tierra desnuda.


Referencias:

  • Evans, Jeffrey S.; Hudak, Andrew T. 2007. <a href="http://www.fs.fed.us/rm/pubs_other/rmrs_2007_evans_j001.pdf" rel="noreferrer">Un algoritmo de curvatura multiescala para clasificar LiDAR de retorno discreto en entornos forestales </a>. IEEE Transactions on Geoscience and Remote Sensing. 45(4): 1029-1038.

Para más opciones sobre los algoritmos de clasificación de puntos de tierra, véase Meng et al. (2010):

  • Meng, X.; Currit, N.; Zhao, K. (2010). <a href="http://www.mdpi.com/2072-4292/2/3/833" rel="noreferrer">Algoritmos de filtrado del suelo para datos LiDAR aerotransportados: Una revisión de las cuestiones críticas </a>. Remote Sensing, 2(3), 833-860. doi:10.3390/rs2030833

8voto

Flinkman Puntos 4821

Creo que LasTools puede adaptarse a sus necesidades, consulte LASGround . La licencia es un poco rara según qué herramientas. Las herramientas pueden descargarse y evaluarse antes de la compra; además, el producto es relativamente barato.

7voto

Marcin Puntos 11

He tenido buena suerte con FUSION (manual aquí ) Comando GroundFilter. No he tenido problemas para manejar 40 millones de puntos (sin clasificar), así que no esperaría un problema con 100 millones.

5voto

Greg Puntos 1756

Esto puede hacerse con un pdal filtrar utilizando Filtro morfológico simple (SMRF) o Filtro morfológico progresivo (PMF) algoritmos.

Rápido

pdal ground --cell_size=5 --extract input.laz out-bare-earth.laz

Crea un archivo LAS comprimido en tierra con un tamaño de celda de 5 unidades de tierra utilizando PMF. ( docs )

Para más explicaciones, véase el Identificación de los rendimientos del suelo mediante la segmentación ProgressiveMorphologicalFilter tutorial.

Más implicados, utilizando la SMRF

A tubería ejemplo que:

  • aplica el filtro SMRF, amplía el cell a 2,0 (unidades del sistema de coordenadas) y un umbral de 0,75
  • selecciona sólo los puntos de tierra recién clasificados ( 2 es el valor estándar del LAS para el suelo)
  • escribe la selección en un archivo de salida LAS sin comprimir (basta con cambiar la extensión a .laz para comprimirlo)

Comando: pdal pipeline "classify-ground-smrf.json"

El archivo de parámetros JSON:

{
    "pipeline": [
        "inputfile.laz",
        {
            "type":"filters.smrf",
            "cell": "2.0",
            "threshold": "0.75"
        },
        {
            "type":"filters.range",
            "limits":"Classification[2:2]"
        },
        "out/smurf_classifed.las"
    ]
}

Extraer sólo por encima del suelo

Este ejemplo a) clasifica en suelo/no suelo, b) añade el atributo "Altura sobre el suelo", y c) exporta sólo los puntos 2,0 (unidades del sistema de coordenadas) sobre el suelo.

{
    "pipeline": [
        "input.laz",
        {
            "type": "filters.assign",
            "assignment": "Classification[:]=0"
        },
        {
            "type": "filters.smrf"
        },
        {
            "type": "filters.hag"
        },
        {
            "type": "filters.range",
            "limits": "HeightAboveGround[2:]"
        },
        {
            "filename":"above-ground.laz"
        }
    ]
}

Adaptado de Brad Chambers, https://lists.osgeo.org/pipermail/pdal/2017-July/001367.html

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X