1

I need to transform Lidar Data (3D Point Cloud) into reflectance and range maps (images) in order to use them as channels for CNN.

Anyone who has already work with lidar data and can help me?

Thanks you in advance.

Doxcos44
  • 135
  • 2
  • 12

1 Answers1

0

The data products you are referring to are commonly called "grid metrics". Grid metrics are descriptive statistics for LiDAR point cloud height and intensity datasets calculated within a user defined grid (e.g. raster cell). I use both FUSION (reference p.72), a set of command line tools, and lidr (reference p.29), a LiDAR processing package in R, to produce LiDAR grid metrics.

Here is an example from the documentation using the lidr package:

LASfile <- system.file("extdata", "Megaplot.laz", package="lidR")
las = readLAS(LASfile)
colors = height.colors(50)
# Canopy surface model with 4 m^2 cells
metrics = grid_metrics(las, max(Z), 2)
plot(metrics, col = colors)
# Mean height with 400-m^2 cells
metrics = grid_metrics(las, mean(Z), 20)
plot(metrics, col = colors)
# Define your own new metrics
myMetrics = function(z, i)
{
metrics = list(
zwimean = sum(z*i)/sum(i), # Mean elevation weighted by intensities
zimean = mean(z*i), # Mean products of z by intensity
zsqmean = sqrt(mean(z^2)) # Quadratic mean
)
return(metrics)
}
metrics = grid_metrics(las, myMetrics(Z, Intensity))
plot(metrics, col = colors)
plot(metrics, "zwimean", col = colors)
plot(metrics, "zimean", col = colors)
plot(metrics, "zsqmean", col = colors)

Here is the sytax from the FUSION documentation:

GridMetrics [switches] groundfile heightbreak cellsize outputfile datafile1 [datafile2 ...
datafileN]
Borealis
  • 8,044
  • 17
  • 64
  • 112
  • Thanks you very much for your help. I have never worked with Lidar Data so this is quite new for me. If I get it, the code generate like intensity and height maps from the point Cloud? What is Z in your code? Is there an equivalent for Python? I have to perform a Data Fusion of Camera and Lidar Data in order to classify objects around an autonomous vehicle, and I need like images from Lidar to combine them with the camera images (I also need to project the point cloud into the camera image plane). – Doxcos44 May 15 '19 at 08:36
  • I have not typically used this approach for TLS point cloud data, although I expect the principles to be the same. You may be able to get this functionality via PDAL or pgpointcloud. – Borealis May 28 '19 at 17:25
  • so you don't know how to do it in python? – Doxcos44 Jun 06 '19 at 17:04
  • I have not found a good set of Python tools to process Lidar data. – Borealis Jun 06 '19 at 17:49
  • Given X,Y,Z pointcloud coordinate and (x,y) pixel location of the point in the camera image plane, what how to generate a dense depth map ? see !(https://stackoverflow.com/questions/56464193/inpainting-of-sparse-2d-lidar-image-to-dense-depth-image) – Doxcos44 Jun 06 '19 at 20:33