Full text: Proceedings; XXI International Congress for Photogrammetry and Remote Sensing (Part B4-1)

359 
LIDAR FILTERING: TESTING OF AN AUTOMATIC PROCEDURE DEVELOPED IN 
THE FREE OPEN SOURCE GIS GRASS 
L. Barazzetti, M.A. Brovelli 
Politecnico di Milano, DIIAR, P.za Leonardo da Vinci 32, 20133 Milan, 
Italy-(luigi.barazzetti)@mail.polimi.it, Italy-(maria.brovelli)@polimi.it 
Commission WG IV/3 
KEY WORDS: Aerial Survey, Feature Extraction, Filtering, LiDAR, Spatial Planning 
ABSTRACT: 
The goal of this study was to analyze the filtering performance of LiDAR data of an algorithm implemented by our group of research. 
The algorithm is completely automatic and needs only the raw data classified as first and last pulses. It was implemented in the open 
source software GRASS and it is composed of three functions that have to be launched in sequence: v.lidar.edgedetection, 
v.lidar.growing and v.lidar.correction. Starting from the classified points, the algorithm can performed a grid DTM/DSM. The check 
of the algorithm quality was carried out with a dataset that represents a real case, being already used to create a DTM/DSM along 
some urbanized areas of Sardinia Region Coast, in Italy. The first control regarded the filtering performance of the implemented 
algorithm. It was performed by comparing our results with those one obtained by TopScan, a German company which executed the 
same processing on behalf of Sardinia Region, using a preliminary automatic algorithm followed by a manual correction. Sardinia’s 
products were checked by visual comparison with high resolution orthophotos (12.5 cm) and with terrain survey measurements. We 
assumed Sardinia’s classification as a reference. Another control was then carried out to check the gridded products (DTM and DSM) 
with GPS measurements.Lastly, we checked the computational performances in terms of time when the adopted resolution of the grid 
DTM/DSM varies. 
1. INTRODUCTION 
Nowadays LiDAR technology is widely used to perform DTM 
and DSM. The high acquisition frequency (larger than any other 
method), the good accuracy and the short time necessary to 
acquire the data make LiDAR technology a method of 
fundamental importance (Baltsavias, 1999). 
A still open issue concerns the filtering of raw data. In fact 
LiDAR data are generally filed as first and last (in some cases 
also multiple) pulses, without information about the objects 
which caused the reflection of the signal. This means that it is 
not possible to distinguish between points lying on the terrain or 
on a generic object on the ground. Therefore, the creation of the 
DTM becomes impossible by using only the raw data without a 
preliminary filtering process (Sithole, 2005). 
A DTM is usually the main goal of a LiDAR survey (while a 
DSM can be obtained with a simple interpolation of the first 
pulses) and thus the development of automatic and quick 
filtering algorithms becomes an issue of essential interest. 
A filtering algorithm should be able to process several millions 
points and classify them as belonging or not to the ground 
(Sithole and Vosselmann, 2004). Many filtering algorithms 
were developed in these last years but often they are included in 
proprietary and not freeware software and many users have not 
the possibility to use them. 
Our group of research implemented a filtering procedure in the 
free open source GIS software GRASS (Geographic Resources 
Analysis Support System) (Neteler and Mitasova, 2002), which 
is one of the OSGeo (Open Source Geospatial) projects. The 
algorithm is free downloadable and it is composed of three 
functions that have to be launched in sequence: 
v.lidar.edgedetection, v.lidar.growing and v.lidar.correction 
(the terminology refers to the versions 6.X). The whole 
classification process is fully automatic and needs only the raw 
data classified as first and last pulses (Antolin and Brovelli, 
2007, Brovelli et al., 2004). 
The first function v.lidar.edgedetection recognizes the edges of 
the objects. It starts with an interpolation of the sparse data on a 
regular grid by using bilinear splines, so that a continuous 
surface is created. The new surface (especially the magnitude of 
the gradient and its slope) is compared with the sparse data in 
order to identify the edges and classify each point in two main 
categories: ground and object. 
The second function v.lidar.growing fills in the edge lines 
previously founded. The method is based on the hypothesis that 
the inner part of an object has a height value larger than that 
close to its edge. 
At the end of the computation each point is classified as single 
pulse terrain, double pulse terrain, single pulse object and 
double pulse object. 
Obviously, the previous hypothesis can be unverified. This 
means that classification errors could appear in particular 
situations. For this reason it is opportune to use also 
v.lidar.correction, which executes a final correction of the 
previous misclassification errors. This function is based on a 
preliminary large step interpolation of the points classified as 
ground and a following analysis of the residuals between the 
new surface and the sparse points. 
Though the complete algorithm is composed of three different 
functions, it is possible to launch them together (e.g. with a 
simple LINUX script). In any case we preferred to split the
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.