¿Adelgazando una gran nube de puntos LiDAR?

8

Tengo una gran nube de puntos (archivo LAS) y estoy tratando de diluir esto usando una técnica compleja. Sé que es posible diluir una nube de puntos utilizando técnicas simples, como extraer cada enésimo punto. Sin embargo, la nube de puntos con la que estoy trabajando es más densa en algunas áreas y menos densa en otras. Me gustaría poder adelgazar la nube para que las áreas más densas se adelgacen más que las áreas menos densas. Para hacer esto manualmente, se podría crear una cuadrícula y seleccionar cierto número de puntos dentro de cada celda. (es decir, uno en cada esquina y uno en el centro) Sin embargo, esta nube de puntos es demasiado grande para esta tarea. Estoy tratando de averiguar si hay soluciones existentes para este problema, como una consulta de selección compleja, otro proceso automatizado o una aplicación de software existente que podría usarse.

Bodkinz
fuente
+1. Una opción para probar es la línea de comando ThinDatade Fusion. En esta respuesta explico cómo funciona. La respuesta de Howard también parece prometedora. Háganos saber si funcionan para su situación. Tks
Andre Silva
El uso de una herramienta como MeshLab http://meshlab.sourceforge.net/ le permitiría comparar fácilmente las sugerencias de Andre Silva. Parece que su conjunto de datos es lo suficientemente pequeño como para ser interactivo en este contexto.
orbatos
Encontré esta pregunta en las preguntas de la red, se unió aquí solo para publicar este comentario. Sin saber nada sobre el conjunto de datos o el campo, esto todavía parece estar clamando por las técnicas de reducción de dimensión 'PCA' (análisis de componentes principales). ¿Quizás algunas soluciones usan esto?
Lamar Latrell

Respuestas:

13

Parece que quiere un adelgazamiento basado en voxel o quizás uno basado en Poisson. PDAL puede hacer cualquiera de los dos. Consulte el tutorial de PDAL sobre el tema en https://pdal.io/tutorial/sampling/index.html

Muestreo PDAL.

En cuanto al tamaño del archivo, defina "grande". Casi cualquier técnica, excepto la simple reducción de rango (eliminar puntos n-ésimo) va a querer tener acceso a todo el archivo en la memoria. Otras opciones requerirían una técnica de muestreo + índice de dos etapas más sofisticada para evitar ese requisito.

Howard Butler
fuente
Gracias, esto se ve muy útil, no he encontrado esto y lo echaré un vistazo en este momento. En cuanto al tamaño, estoy mirando alrededor de 3 millones de puntos.
Bodkinz
3 millones de puntos == final pequeño de los conjuntos de datos LiDAR. Lo suficientemente grande como para comenzar a causar problemas con la memoria y podría ser de unos 100 millones.
Howard Butler
Es bueno saber que soy relativamente inexperto con LiDAR, pero tengo la sensación de que PDAL es exactamente lo que estaba buscando, estaba buscando respuestas en global mapper, GRASS, SAGA y laspy, etc.
Bodkinz
Las canalizaciones PDAL facilitan el seguimiento de los parámetros de procesamiento y la reproducción o el procesamiento por lotes de su trabajo.
Charlie Parr
6

Puede probar lasthin o lasduplicate de LAStools . Con lasthin puede mantener el punto 'más bajo', 'más alto', 'aleatorio' o más '-central' en una cuadrícula 2D en el plano x / y con el tamaño '-step 0.5' definido por el usuario. Con lasduplicate puede especificar eliminar todos los puntos que están 'cerca de 0.005' en 3D de todos los puntos que aparecieron anteriormente. Vea el archivo README vinculado para más detalles.

LAStools
fuente
1
Por cierto, ¿por qué tienes dos cuentas ? Probablemente deberías fusionarlos .
Andre Silva
He encontrado que esas herramientas son útiles, pero ninguna de ellas ayudaría a lograr un adelgazamiento que conserve más puntos donde los datos son más densos, como lo busca OP.
ToolmakerSteve
2

Puede usar el comando de FUSIONThinData para esto ( Documentación p.130 ). ThinDataes realmente útil porque le permite reducir los datos de la nube de puntos a una densidad de pulso deseada por unidad cuadrada. De la documentación de FUSION:

ThinData [switches] OutputFile Density CellSize DataFile

ThinData le permite adelgazar datos LIDAR a densidades de pulso específicas. Esta capacidad es útil cuando se comparan resultados de análisis de varias adquisiciones de LIDAR que se recopilaron utilizando diferentes densidades de pulso. ThinData también es útil cuando la densidad dentro de un único conjunto de datos LIDAR no es uniforme. Este suele ser el caso con los datos recopilados de un helicóptero de vuelo lento o cuando la superposición de la línea de vuelo no se supervisó de cerca. ThinData también se ha utilizado en experimentos de simulación para evaluar el efecto de la densidad de pulso LIDAR en la precisión de las métricas estimadas del inventario forestal, como la altura total de los árboles.

Aaron
fuente
1

Puede usar LiDAR360, descargar la versión de prueba gratuita de 30 días del sitio web de GreenValley International . LiDAR360 ofrece tres métodos para el submuestreo: espaciado mínimo de puntos, frecuencia de muestreo y octree. El método de espaciado de punto mínimo necesita establecer un espaciado de punto mínimo entre dos puntos para que la distancia tridimensional mínima entre cualquiera de los dos puntos en la nube de puntos muestreada no sea menor que este valor. El método de la tasa de muestreo debe establecer el porcentaje de puntos reservados. En este modo, LiDAR360 retendrá aleatoriamente el número especificado de puntos. Puntos reservados = Número total de puntos * Tasa de muestra. El método Octree permite a los usuarios seleccionar un nivel de subdivisión "octree" y crear voxels 3D para la nube de puntos de entrada. Solo se retendrá el punto más cercano a cada centro de vóxel.

chenlinhai
fuente