Tools for Lidar Point Cloud Filtering / Classification

Mar 9, 2011

A relatively common question from OpenTopography users is how they can filter or classify a lidar dataset that was delivered by the data provider without ground (bare earth) returns differentiated from vegetation returns. The B4 lidar dataset, which covers the southern San Andreas and San Jacinto faults is a good example of a dataset where the lack of classification can be problematic for users, especially those working at higher elevations where vegetation can be dense. In other cases, the classification was done hastily or not as well as a user would like, and thus re-classification is needed. A good example here are the 2010 post-Haiti earthquake data which were processed rapidly in order to quickly distribute them to users.

Most lidar vendors use expensive black box commercial software to classify data - TerraScan is the industry standard - not readily available to your average Earth scientist. This of course raises the question: For users who don't have access to a commercial product like TerraScan, what other tools are available for performing lidar point cloud classification?

This week, someone on the libLAS developers list asked essentially that very question. The question triggered a series of posts by other list members on software currently available to classify lidar data and develop bare earth terrain models. Some of the suggestions were tools that I was already aware of (including some already registered to our new OpenTopography Tool Registry), while one or two were new to me. Below is a compilation of suggestions provided by the libLAS-devel listserv members.

Tools for Lidar Classification / Filtering:

  • MCC-LIDAR - An open source command-line tool for processing discrete-return LIDAR data in forested environments. It classifies data points as ground or non-ground using the Multiscale Curvature Classification algorithm developed by Evans and Hudak, 2007
  • GRASS GIS - Open source GIS software. Includes a suite of tools related to lidar data processing as discussed in this GRASS lidar wiki entry. Currently doesn't offer direct support for point cloud data in LAS format.
  • BCAL Lidar Tools - Open source tools developed by the Idaho State University Boise Center Aerospace Lab in IDL as a plugin for the ENVI software package. Includes a Height Filtering tool optimized for open rangeland (sagebrush) vegetation developed by Streutker and Glenn, 2006.
  • SAGA GIS - Open source GIS package. "SAGA includes several tools to manipulate the point cloud, e.g. an attribute calculator, reclassifier, subset extractor and many other methods like gridding and interpolation. There is also (a grid based) bare earth filter, adapted from Vosselman (2001)."

What other options are out there? The libLAS list discussion emphasized open source tools, but I know there are other commercial options (e.g., Merrick's MARS), that also offer point cloud classification capability. If you are aware of tools not listed above, please leave a comment. I have varied experience with these tools, so your thoughts and recommendations are also welcome in the comments. TerraScan is presumably the industry standard because when applied by a skilled operator the classification results are generally good. Another issue inherent in all lidar data processing tasks is software that has the scalability to handle the massive data volumes typically encountered. I assume that TerraScan does relatively well on this front, but it is an issue to also keep in mind when looking at the alternatives listed above.

User controlled point cloud classification (or re-classification) is a feature that we'd like to offer through OpenTopography, and one or more of these open source tools may be a viable option for integration into OT in the future.