processing uav and lidar point clouds in grass gis - xxiii...

27
Processing UAV and lidar point clouds in GRASS GIS XXIII ISPRS Congress, Prague 2016 Vaclav Petras (Vashek) Anna Petrasova, Justyna Jeziorska, Helena Mitasova Center for Geospatial Analytics July, 2016 available at wenzeslaus.github.io/grass-lidar-talks Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 1 / 23

Upload: others

Post on 13-Jul-2020

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 2: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 3: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 4: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

GUI

Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 4 / 23

Page 5: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 6: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

Graphical Modeler

Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 6 / 23

Page 7: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 8: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

Workflow overview

Vaclav Petras (NC State University) Point clouds in GRASS GIS July, 2016 8 / 23

Page 9: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 10: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 11: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 12: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 13: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 14: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 15: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 16: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 17: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 18: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 19: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 20: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 21: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 22: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 23: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 24: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 25: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 26: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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

Page 27: Processing UAV and lidar point clouds in GRASS GIS - XXIII ...wenzeslaus.github.io/.../vpetras_clouds_in_grass_isprs_4x3.pdf · Processing UAV and lidar point clouds in GRASS GIS

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