Upload
others
View
10
Download
1
Embed Size (px)
Citation preview
Processing UAV and lidar point clouds in GRASS GISXXIII ISPRS Congress, Prague 2016
Vaclav Petras (Vashek)Anna Petrasova, Justyna Jeziorska, Helena Mitasova
Center for Geospatial Analytics
July, 2016
available atwenzeslaus.github.io/grass-lidar-talks
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 1 / 23
Providing algorithms to the community
I new landform recognition approach – geomorphons
I by Jasiewicz andStepinski from AMU, Poland and
University of Cincinnati, USA
I not just a paperGeomorphology, 2013
I not just a codeat some webpage
I r.geomorphonmodule in GRASS GIS addons repository
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 2 / 23
GRASS GIS
I all in oneI hydrology modeling, image
segmentation, point clustering, . . .
I driven by needs of usersI direct access to development process
I from small laptops to supercomputersI Raspberry Pi, Windows, Mac,
GNU/Linux, FreeBSD, IBM AIX
I learn now, use foreverI over 30 years of development and
interface refinement
I used byI US Oak Ridge National Laboratory,
Edmund Mach Foundation, JRC, . . .
latest release 7.0.4
May 1, 2016
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 3 / 23
GUI
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 4 / 23
Python and command line interfaces
Command Line:
r.in.lidar input=points.las \
output=elevation -e
Python:
from grass.script import run_command
run_command(’r.in.lidar’,
input="points.las",
output="elevation",
flags=’e’)
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 5 / 23
Graphical Modeler
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 6 / 23
Points
I collected by lidar
I generated byStructure fromMotion (SfM)from UAVimagery
surface interpolated from points and visualized in GRASS GIS
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 7 / 23
Workflow overview
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 8 / 23
Surface interpolation
I v.surf.idwI Inverse Distance squared
Weighting
I v.surf.bsplineI Bicubic or bilinear Spline
interpolation with Tykhonovregularization
I v.surf.rstI Regularized Spline with
TensionI v.surf.rst.mp (experimental)
I 2 millions of points in11 minutes
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 9 / 23
Import and decimation
I v.in.lidarI libLASI LAS/LAZ to GRASS GIS native
vectorI data stored in GRASS GIS database
I interpolation, clustering, . . . are costly
I often more points than we needI decimation ≈ thinning ≈ sampling
I count-based decimation (skipspoints)
I grid-based experimental, othersneeded?
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 10 / 23
Evaluating level of detail
I Local relief model (LRM)
I r.local.relief (micro-topography, features other than trend)
30-60cm wide, 30cm deep, 60m long gully (resolution 30cm)
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 11 / 23
Influence of grid-based decimation resolution
grid size 0.1 m grid size 0.3 m grid size 0.9 m grid size 1.5 m
0 % 81 % 98 % 99 %
test data (not used in the study)
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 12 / 23
Decimating UAV/SfM point cloud
grid-based decimation may give slightly better resultsat resolution 0.5 m for all raster calculations, 72 point per 1 m2
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 13 / 23
Decimating lidar point cloud
fast count-based decimation as good as more advanced grid-baseddecimation at resolution 0.5 m for all raster calculations, 1 point per 1 m2
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 14 / 23
Binning points to raster
I r.in.lidar
I import and analysisI statistics of point counts,
height and intensityI n, min, max, sumI mean, range,
skewness, . . .
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 15 / 23
Raster processing
I many algorithms areraster-based
I 163 raster modulesI 45 imagery modulesI 20 spatio-temporal raster
modules
I example:
1. count of ground points2. count of non-ground points3. used as image bands4. segmentation using i.segment
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 16 / 23
3D raster
I same principles asin 2D
I e.g. 3D raster mapalgebra
I challenging to visualize
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 17 / 23
3D raster
I same principles asin 2D
I e.g. 3D raster mapalgebra
I challenging to visualize
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 17 / 23
Binning points to 3D raster
I r3.in.lidar
I count per 3Dcell relative tothe count pervertical column
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 18 / 23
Point heights reduced to surface
I r3.in.lidar, option base raster
I height reduced by 2D raster values
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 19 / 23
Ground detection
I v.lidar.edgedetection,v.lidar.growing,v.lidar.correction
I by Brovelli, Cannata,Antolin & Moreno
I v.lidar.mccI multiscale curvature based
classification algorithmI by Blumentrath, according
to Evans & Hudak
I PDAL filters.groundI currently in v.in.pdalI progressive morphological
filter by ZhangI provided by PCL
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 20 / 23
Integration with PDAL
PDAL
I Point Data Abstraction Library
I format conversions
I processing, filtering
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 21 / 23
Using other open source projects
r.in.kinect
I scans using Kinect
I OpenKinect libfreenect2
I Point Cloud Library (PCL)
I GRASS GIS libraries
used inTangible Landscape
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 22 / 23
Summary
I decimation or rasterize early approach for large point clouds
I 3D rasters
I PDAL integration
Get GRASS GIS 7.3 development version atgrass.osgeo.org/download
GRASS user mailing listlists.osgeo.org/listinfo/grass-user
Paper and slides available atwenzeslaus.github.io/grass-lidar-talks
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 23 / 23
Acknowledgements
Software
Presented functionality is work done byVaclav Petras, Markus Metz, and theGRASS development team.
Thanks to users for feedback and testing,especially to Doug Newcomb, MarkusNeteler, Laura Belica, and William Hargrove.
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 24 / 23
Acknowledgements
DatasetsLidar and UAV Structure from Motion(SfM) data for GIS595/MEA792:UAV/lidar Data Analytics course
Nantahala NF, NC: Forest Leaf Structure,Terrain and Hydrophysiology. Obtainedfrom OpenTopography.http://dx.doi.org/10.5069/G9HT2M76
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 25 / 23
Acknowledgements
Presentation software
Slides were created in LATEX usingthe beamer class.
Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 26 / 23