lasclassify - finding ground points for bare-earth extraction

1,475 views
Skip to first unread message

Martin Isenburg

unread,
Aug 15, 2011, 3:07:00 PM8/15/11
to LAStools - efficient tools for LIDAR processing
Hello,

with lasclassify.exe you can finally also do bare-earth extraction
with LAStools. The tool classifies LIDAR points into ground points
(class = 2) and non-ground points (class = 1). The tools works best in
natural environments such as mountains, forests, or other terrain with
few man-made objects, but it also produces reasonable results for
towns/cities with larger buildings as you can see here:

http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_forest_before.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_forest_after.png

http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_city_before.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_city_after.png

You can find lasclassify.exe and its README here:

http://www.cs.unc.edu/~isenburg/lastools/download/lasclassify.exe
http://www.cs.unc.edu/~isenburg/lastools/download/lasclassify_README.txt
http://www.cs.unc.edu/~isenburg/lastools/download/lastools.zip

You find the data used in the screen-shots here:

http://liblas.org/samples/LAS12_Sample_withIntensity_Quick_Terrain_Modeler.laz
http://liblas.org/samples/vertical/mars-wrote-this-vertical-datum-survey-ft-geotiff-keys.las

The two command lines used for the screen-shots are:

lasclassify -v -i
LAS12_Sample_withIntensity_Quick_Terrain_Modeler_1.laz
lasclassify -v -city -i mars-wrote-this-vertical-datum-survey-ft-
geotiff-keys.las

Some more details:

The default step size is 5 meters, which is good for forest or
mountains. For towns or flat terrains '-town' the step size is
increased to 10 meters. For cities or warehouses '-city' the step size
is increased to 25 meters. You can set the step size in meters
directly with '-step 7'.

It is important to tell the tool whether the horizontal and vertical
units are meters (which is assumed by default) or '-feet' or '-
elevation_feet'. Should the LAS file contain projection information
then there is no need to specify this explicitly.

By default the tool only considers the last return. Earlier returns
are considered non-ground. You can turn this off by requesting '-
all_returns'.

For very steep hills you can intensify the search for initial ground
points with '-fine' or '-extra_fine' and similarly for flat terrains
you can simplify the search with '-coarse' or '-extra_coarse' but try
the default setting first.

Cheers,

Martin @lastools

Wes Toews

unread,
Aug 15, 2011, 3:24:35 PM8/15/11
to last...@googlegroups.com
Well that's exciting Martin.  Would you feel comfortable expanding on the technique used?  I know there's a number of competing (published) methods out there in the wild and I'm sure we'd all be interested to know if you used one of these or rolled your own.
 
Thanks,


--
You can download LAStools at
http://www.cs.unc.edu/~isenburg/lastools/
You can visit the LAStools group at
http://groups.google.com/group/lastools/
You can be social with LAStools at
http://www.facebook.com/LAStools
http://www.twitter.com/LAStools

Martin Isenburg

unread,
Aug 15, 2011, 3:53:01 PM8/15/11
to LAStools - efficient tools for LIDAR processing
Wes,

the algorithm documents a bit in what it is doing in the command-line
output. It uses a bottom-up approach that repeatedly refines an
initial ground estimate. The refinement is done using a TIN. The
initial TIN is constructed from the lowest points of a grid with
selected step size. The points are added to the TIN in several passes.
I tried out various strategies over the course of the past few weeks
to converge on the current solution. However, it has only gone through
my own testing on a few example data sets and i have nothing to
compare it with. So it remains to be seen how well it stacks up in
terms of quality and speed against other algorithms. Are there other
implemented approaches available for test-purposes?

Cheers,

Martin

John A Young

unread,
Aug 15, 2011, 4:04:20 PM8/15/11
to last...@googlegroups.com

Martin,

You might try testing against the Multi-scale Curvature Classification developed by Evans and Hudak.  It's fairly effective at forest vegetation removal and (in concept at least) sounds similar to your approach.

You can get the executable and references at:  http://sourceforge.net/apps/trac/mcclidar/

John Young  
Biogeographer
USGS  Leetown Science Center





From: Martin Isenburg <martin....@gmail.com>
To: LAStools - efficient tools for LIDAR processing <last...@googlegroups.com>
Date: 08/15/2011 03:54 PM
Subject: [LAStools] Re: lasclassify - finding ground points for bare-earth extraction
Sent by: last...@googlegroups.com





--
You can download LAStools at

Ian Madin

unread,
Aug 15, 2011, 4:22:51 PM8/15/11
to last...@googlegroups.com
You might compare these results to the bare earth grids the Watershed
Sciences builds for our program. They start with an algorithm, but then
use several passes of filtering and adjustment by human operators, which
results in a refined surface, but at significant cost. If you like I
can provide a chunk of LAS and the corresponding grid that you could run
your routine on to compare.

-----Original Message-----
From: last...@googlegroups.com [mailto:last...@googlegroups.com] On
Behalf Of Martin Isenburg
Sent: Monday, August 15, 2011 12:53 PM
To: LAStools - efficient tools for LIDAR processing
Subject: [LAStools] Re: lasclassify - finding ground points for
bare-earth extraction

Wes,

Cheers,

Martin

--

Jeffrey R. Watkins

unread,
Aug 15, 2011, 4:34:46 PM8/15/11
to last...@googlegroups.com
Martin-

There are many approaches out there, all with their own idiosyncrasies. It sounds like you have implemented the VDF algorithm that Haugerud and Harding developed (or something similar)(http://pugetsoundlidar.ess.washington.edu/vdf4.pdf) which is a great all around method that does a lot better than block-minimum or iterative linear interpolation. It does have a few known issues (excess negative blunders being the big one) but is pretty solid.

Another method called Multiscale Curvature Classification (MCC) developed by Evans and Hudak (http://www.fs.fed.us/rm/pubs_other/rmrs_2007_evans_j001.pdf) is a bit more computationally intensive, but has been shown to yield some really great results. I have seen it go head to head with some other, more user-input intensive algorithms and it outperformed them in terms of quality.

I think this might be a good start in terms of looking for methods to compare.

If any of the authors are on this list, please forgive me if I totally butchered the descriptions of your work :)

Respectfully,

Jeff Watkins
Geospatial Scientist | Applied Technologies
703.462.1887   cell: 703.297.0538
watkins...@geoeye.com

-----Original Message-----
From: last...@googlegroups.com [mailto:last...@googlegroups.com] On Behalf Of Martin Isenburg
Sent: Monday, August 15, 2011 3:53 PM
To: LAStools - efficient tools for LIDAR processing
Subject: [LAStools] Re: lasclassify - finding ground points for bare-earth extraction

Wes,

Cheers,

Martin

--

Andrew Hudak

unread,
Aug 15, 2011, 4:51:56 PM8/15/11
to last...@googlegroups.com, LAStools - efficient tools for LIDAR processing

There is the multiscale curvature classification algorithm: http://sourceforge.net/apps/trac/mcclidar/

~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*
Andrew T. Hudak, PhD
Research Forester
USFS Rocky Mountain Research Station
Forestry Sciences Laboratory
1221 South Main Street, Moscow, ID 83843
(208) 883-2327 (phone), (208) 883-2318 (fax)
Email:
ahu...@fs.fed.us
Web:
http://www.fs.fed.us/rmrs/profiles/?last=Hudak&first=Andrew
~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*



Martin Isenburg <martin....@gmail.com>
Sent by: last...@googlegroups.com

08/15/2011 12:54 PM

Please respond to
last...@googlegroups.com

To
LAStools - efficient tools for LIDAR processing <last...@googlegroups.com>
cc

Martin Isenburg

unread,
Aug 15, 2011, 8:33:41 PM8/15/11
to LAStools - efficient tools for LIDAR processing
Hello,

after the overwhelming finger-pointing to the mcc implementation
(thanks!) I ran some tests on a forested hill covered by 3,510,505
LIDAR points. On this data set I ran

lasclassify -i 744.las -o 744_bare.las
and
mcc-lidar -s 1.5 -t 0.3 744.las 744_bare_mcc.las

surprisingly the number of points that were classified as ground was
almost the same (941,661 versus 942,627). Below are some hill-shaded
close-ups of the resulting bare-earth terrains. There are differences
in some details but overall the results are very similar. However,
lasclassify is one or two orders of magnitude faster than mcc-lidar.

Cheers,

martin

http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill1_before.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill1_after.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill1_after_mcc.png

http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill2_before.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill2_after.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill2_after_mcc.png

http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill3_before.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill3_after.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_hill3_after_mcc.png

Martin Isenburg

unread,
Aug 16, 2011, 11:27:56 AM8/16/11
to LAStools - efficient tools for LIDAR processing
Hello,

I've received several reports about lasclassify "crashing" and then
always learned that it was used to process LAS files with 30 million
points or more. when you see an error message mentioning something
about "ERROR: cannot alloc ..." then your LAS file was too big. if
this happens please use

las2las -i big.las -o small.las -subseq 0 10000000

to extract the first 10 million points and then test again. this first
version of lasclassify is not particularly memory-efficient. that will
change in future versions. for the time being please limit you inputs
to around 10 up to 25 million *last-return* points. as the memory
requirements grow mostly as a function of the ground points classified
(e.g. the size of the progressively refines TIN) you may get away with
larger input if many of the points are non-ground.

Cheers,

Martin

PS: when used in batch mode the version that is currently in the
LAStools suite has a *huge* memory leak (thanks, Napoleon from
cicese.mx for finding & reporting the bug). please update to the fixed
version if you want to batch process (i.e. do a multiple file run like
lasclassify -i *.las).
http://www.cs.unc.edu/~isenburg/lastools/download/lasclassify.exe

Martin Isenburg

unread,
Aug 18, 2011, 12:38:16 PM8/18/11
to LAStools - efficient tools for LIDAR processing
hello,

to get all the ground points into a separate LAS/LAZ file run

las2las -i classified.las -keep_class 2 -o ground.laz

or to directly create a DEM from only the ground points run

las2dem -i classified.las -keep_class 2 -o dem.asc -step 2
or
blast2dem -i classified.las -keep_class 2 -o dem.asc -step 2
or
lasgrid -i classified.las -keep_class 2 -o dem.asc -step 2 -fill 2

regards,

martin

ps: with lasview.exe you can press "g" and then "t" to triangulate all
ground points on-the-fly for a quick preview

Martin Isenburg

unread,
Sep 15, 2011, 10:17:34 AM9/15/11
to LAStools - efficient tools for LIDAR processing
Hello,

please note that "lasclassify.exe" has been renamed "lasground.exe"
starting with version 110915 that will be released later today. A few
bugs have been fixed in the new "lasground.exe". Why the renaming?
Because there will be a new beta release today of a tool called
"lasclassify.exe". Shouldn't be too hard to guess what it will do ...
(-:

Cheers,

Martin

On Aug 15, 12:07 pm, Martin Isenburg <martin.isenb...@gmail.com>
wrote:
> Hello,
>
> with lasclassify.exe you can finally also do bare-earth extraction
> with LAStools. The tool classifies LIDAR points into ground points
> (class = 2) and non-ground points (class = 1). The tools works best in
> natural environments such as mountains, forests, or other terrain with
> few man-made objects, but it also produces reasonable results for
> towns/cities with larger buildings as you can see here:
>
> http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fo...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fo...
>
> http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_ci...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_ci...
>
> You can find lasclassify.exe and its README here:
>
> http://www.cs.unc.edu/~isenburg/lastools/download/lasclassify.exehttp://www.cs.unc.edu/~isenburg/lastools/download/lasclassify_README.txthttp://www.cs.unc.edu/~isenburg/lastools/download/lastools.zip
>
> You find the data used in the screen-shots here:
>
> http://liblas.org/samples/LAS12_Sample_withIntensity_Quick_Terrain_Mo...http://liblas.org/samples/vertical/mars-wrote-this-vertical-datum-sur...
Reply all
Reply to author
Forward
0 new messages