UNIVERSITY COLLEGE LONDON DEPARTMENT OF GEOMATIC ENGINEERING Simulation of Discrete-Return Lidar Signal from Conifer Stands for Forestry Applications Vasileios Kalogirou September 2006 Supervisors: Dr. P. Lewis and Dr. M. Disney Submitted as part requirement of the MSc in Remote Sensing
104
Embed
Simulation of Discrete-Return Lidar Signal from Conifer ...mdisney/3D_theses/kalogirou_msc_2006.pdf · Although there are many studies on the use of discrete-return lidar in forestry,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIVERSITY COLLEGE LONDON
DEPARTMENT OF GEOMATIC ENGINEERING
Simulation of Discrete-Return Lidar Signal from
Conifer Stands for Forestry Applications
Vasileios Kalogirou
September 2006
Supervisors: Dr. P. Lewis and Dr. M. Disney
Submitted as part requirement of the MSc in Remote Sensing
When setting out upon your way to Ithaca, wish always that your course be long,
full of adventure, full of lore. Of the Laestrygones and of the Cyclopes,
of an irate Poseidon never be afraid; such things along your way you will not find,
if lofty is your thinking, if fine sentiment in spirit and in body touches you.
Neither Laestrygones nor Cyclopes, nor wild Poseidon will you ever meet,
unless you bear them in your soul, unless your soul has raised them up in front of you.
C.P. Cavafy, Ithaka (1911)
i
ABSTRACT
Although there are many studies on the use of discrete-return lidar in forestry, only
few are dealing with the systematic assessment of the effect of lidar system
characteristics on the acquired data. In this study the potential impact of discrete-
return lidar acquisition parameters on the derived dataset was examined by using a
Monte Carlo Ray Tracing simulation approach, combined with detailed 3D models of
Scots pine (Pinus sylvestris). Moreover, processing of real lidar data from Thetford
Forest (UK) took place to examine the potential use of intensity and establish
empirical relationships for stand height and volume estimation.
The observations on intensity revealed different distributions according to the
first/last pulse targets. Generally ground hits have larger intensity values, if both of
the pulses are coming from the ground. The points whose first pulse was on the
canopy and only the last on the ground have significantly reduced intensity values.
The derived regression equations for stand height and volume gave mean difference -
between predicted and observed values- of 0.0128 m and 0,0973m3 respectively,
while the standard deviation of the differences was 2.78 m and 41,79m3.
The simulations showed that the lidar footprint is a crucial parameter which
determines the ability of the lidar system to record the top of the canopy as well as the
ground. As regards the effect of scan angle on the number of ground hits, the results
showed a general decrease with the scan angle, which is especially strong in high
needle-density stands. Not significant changes on the height of the canopy points were
reported as the scan angle increases. The maximum canopy height obtained by lidar,
which is regarded as a relatively stable metric of the canopy, showed sensitivity to
scan angle and sampling density. Particularly, the sampling density selectively affects
stronger the young stands than the older ones, where the maximum height does not
seem to vary. The experience gained through the simulations contributes to a better
understanding of the discrete-return lidar signal on forest canopies.
ii
ACKNOWLEDGEMENTS
First, I would like to thank Dr Philip Lewis and Dr Mathias Disney because except for
being my supervisors, they helped me to understand how tough is to make science and
I hope I satisfied a bit of their expectations. The discussions we had in front of the
computers will always remind me this dissertation.
Thanks also to all my Professors in the MSc course, whose doors were always
open for discussion and recommendations during this year. I’m particularly grateful
to: Dr Emmanuel Baltsavias for replying in my email, Steven Hancock for sharing his
knowledge on the computer simulations, as well as Melissa Turner from the UK
Environment Agency, who dealt with our request to use the lidar data of Thetford
Forest. Finally, I would like to thank NATO and the Greek Ministry of Foreign
Affairs for sponsoring my studies in UCL.
Particular thanks to my family for the support and love, and all of my friends
here in London and back in Greece.
iii
CONTENTS
ABSTRACT............................................................................................... i
ACKNOWLEDGEMENTS .................................................................... ii
CONTENTS............................................................................................. iii
LIST OF FIGURES ..................................................................................v
LIST OF TABLES ................................................................................ viii
ACRONYMS........................................................................................... ix
ACRONYMS........................................................................................... ix
Table 1: Technical specifications of the Optech ALTM 1210 (Baltsavias, 1999a)....14
Table 2: The selected stands with relevant information..............................................20
Table 3: An example of how the top of the canopy was defined. ...............................41
Table 4: The mean canopy height values (m) for different footprint diameters. ........55
ix
ACRONYMS
ALS Airborne Laser Scanning
AVHRR Advanced Very High Resolution Radiometer
CC Canopy first/Canopy last point
CG Canopy first/Ground last point
CHM Canopy Height Model
DSM Digital Surface Model
DTM Digital Terrain Model
fAPAR Fraction of Absorbed Photosynthetically Active Radiation
GCOS Global Climate Observing System
GTOS Global Terrestrial Observing System
FAO Food and Agriculture Organization
GG Ground first/Ground last point
IFOV Instantaneous Field Of View
LAI Leaf Area Index
LiDAR Light Detection And Ranging
LM Local Minima
MCRT Monte Carlo Ray Tracing
MODIS Moderate Resolution Imaging Spectroradiometer
NHD Normalized Height Difference (Chapter 4.1)
NPHD Normalized Predominant Height Difference
NOAA National Oceanic and Atmospheric Administration
OSGB36 Ordnance Survey Great Britain 1936 (Datum)
POG Percentage of lidar Points On Ground
POT Percentage of lidar Points On the Top of the canopy
SHAC SAR and Hyperspectral Airborne Campaign
TIN Triangulated Irregular Network
TREES Tropical Ecosystem Environment observation by Satellite
Chapter One: Introduction
1
1. INTRODUCTION
1.1 PROJECT AIMS
This study investigates the effect of discrete-return lidar acquisition parameters on the
derived dataset. The impact of footprint diameter size, scan angle and sampling
density on the dataset metrics is examined, under different stand age and density
conditions, by using simulated forest scenes.
1.2 REMOTE SENSING OF FOREST ENVIRONMENTS
Remote sensing of forest environments goes back to the early 20s, when the first
aerial photographs started to be used for vegetation mapping (Steddom et al., 2005).
However, their development as a major tool in forestry mainly took place in the
United States since 1940 (Spurr, 1948). During the last decades, analogue processing
with photogrammetric instruments and photo-mensurational techniques has been
gradually replaced by digital airborne and satellite imagery.
The usefulness of satellite remote sensing was realised on global scale forest
assessments, where airborne data were too expensive to use. Many global projects,
especially in the tropics, made use of satellite data to assess forest resources. For
example, the TREES project (European Commission, 1997) set up by the European
Commission and the European Space Agency in 1990, used NOAA AVHRR 1km and
Landsat TM data, while the FAO Remote Sensing Survey (FAO, 1996) was based
only on Landsat TM images.
Optical or radar remote sensing data have been extensively used over the last
decades in forestry and ecology for: i) mapping forest damage (Vogelmann and Rock,
1988; Ardo et al., 1997), ii) mapping defoliation (Williams and Nelson, 1986;
Ekstrand, 1990; Radeloff et al., 1999; Hurley et al., 2002;), iii) monitoring
deforestation (Gilrouth and Hutchinson, 1990; Skole and Tucker, 1993; Alves et al.,
1999; Zhang et al., 2005), iv) burnt area mapping (Hitchcock and Hoffer, 1973;
Takeuchi, 1983; Tanaka et al., 1983; Koutsias and Karteris, 1998; Stroppiana et al.,
2002), v) assessment of forest structure and landscape dynamics (Treuhaft and
Cloude, 1999; Treuhaft and Siqueira, 2000; Peralta and Mather, 2000; Hung and Wu,
Chapter One: Introduction
2
2005), vi) classification of species (Franklin et al., 1986; Franklin, 1994; Mickelson et
al., 1998) etc.
The derivation of forest attributes through remote sensing has been extensively
investigated during the last few years. Empirical and analytical approaches have been
used in many studies to establish relationships between forest properties (e.g. crown
diameter, forest cover etc) and the remotely-sensed signal. Empirical models are
usually site-specific, since the data are collected ‘locally’ and thus are not often
applicable when extrapolated to new areas or data (Skidmore, 2002). On the other
hand, analytical models (e.g. canopy reflectance models) first establish a physical
understanding of the remote sensing signal and give a formulated description which
can be inverted, enabling the calculation of a variable through remote sensing data.
The leaf area index (LAI – one sided leaf area per unit ground area) is
considered to be a key parameter for forest ecosystem processes, mainly due to its
connection with photosynthesis, respiration, transpiration, carbon and nutrient cycle,
and rainfall interception (Bonan, 1993). A variety of remote sensing data have been
used for LAI derivation. Recently, Soudani et al. (2006) examined empirical
relationships between IKONOS, SPOT and ETM+ data with spectral bands and
indexes. Similar study by using backscattering ratios of ENVISAT ASAR was done
by Manninen et al. (2005), while Pu and Gong (2004) utilised wavelet transform on
EO-1 Hyperion data. The above studies highlight the variety of remote sensing data
which was used for LAI estimation. However, the majority of the past attempts were
mainly based on empirical relationships between in situ-measured LAI and spectral
bands or index values, which have been proved to be limited (e.g. the relationship is
weak or saturates on high LAI values) (Gobron et al., 1997).
Today, global estimates of LAI and fAPAR (fraction of absorbed
photosynthetically active radiation) can be obtained from the NASA’s MODIS
products (MODIS website, 2006). The algorithm is using a look-up-table method to
estimate reflectance as a function of view/illumination angles and wavelength and is
based upon a six-biome land cover structural classification (6BSLCC) (see Myneni et
al., 1997, 2002). There is also the MODIS BRDF/Albedo product, based on an
algorithm which uses a semi-empirical kernel-driven BRDF model (RossThick-
LiSparse-Reciprocal) to retrieve surface BRDF and albedo (Strahler et al., 1995;
Chapter One: Introduction
3
Schaaf et al., 2002)1. Moreover, monthly fAPAR values can be obtained from MERIS
Global Vegetation Index (ESA website, 2005). These examples illustrate that space
agencies recognise the usefulness of such products for the scientific community. Thus,
they are able to assess and satisfy the market’s need. Relevant products, like the ones
discussed above, are useful in variety of studies of terrestrial ecosystems like leaf
phenology detection (Xiao et al., 2006; Huete et al., 2006). Moreover, LAI/fAPAR
products are important for global observing systems as GCOS (climate) and GTOS
(terrestrial ecosystems) to meet the needs of their clients (FAO, 2001).
However, the forest sector’s view for biophysical parameters estimation differs
from the one described above. In forest practise, terms like LAI, fAPAR or albedo are
rarely used. Forest managers are more interested on attributes like: growing stock
(stem volume), basal area, mean tree height, diameter on breast height, canopy cover
etc2. Some of those parameters (e.g. growing stock and canopy cover) are connected
with LAI and some of them have statistical nature (e.g. basal area) and cannot be
measured straightforward on the field, but require allometric calculation. Much
remote sensing research has focused on the extraction of forest stand parameters using
optical (Franklin, 1986; Stenback and Congalton, 1990; Ardo, 1992; Curran et al.,
1992; Cohen et al., 1995; Trotter et al., 1997; Hyyppä et al., 2000; Franco-Lopez et
al., 2001; Lu et al., 2004; Muukkonen and Heiskanen, 2005) and microwave radar
data (Le Toan et al., 1992; Israelsson et al., 1994; Rauste and Hame, 1994; Fransson
and Israelsson, 1999; Santoro et al., 2001; Sun et al., 2002).
The majority of the aforementioned studies concentrated on obtaining forest
stand parameters, by relating them with spectral bands, backscatter coefficients or
indexes. As expected the results were disappointing, since the structural information
of a forest has a geometric rather than radiometric nature (St-Onge et al. 2003).
During the last decade LIDAR3 (light detection and ranging) became a common
technique to obtain canopy or individual tree information. Many published studies
agree that lidar technology provides unique view of the forest structure, which can be
used to obtain other forest variables as diameter at breast height, volume and density
(Hyyppä et al. 2001, Næsset and Bjerknes 2001, Schardt et al. 2002). The next
chapters will try to briefly review the lidar principles and applications in forestry. 1 See also the special issue of Remote Sensing of Environment [Volume 83(1-2)] on MODIS. 2 Definitions of those terms can be found on the internet (e.g. USDA Forest Service Glossary http://www.srs.fs.usda.gov/sustain/data/authors/glossary.htm ). 3 The term LIDAR will be used in small letters hereafter (lidar).
Chapter One: Introduction
4
1.3 LIDAR: PRINCIPLES AND INSTRUMENTS
As Wagner et al. (2004) notice “Laser scanning is a direct extension of conventional
radar techniques to very short wavelengths”. The laser device of the lidar system
emits a pulse of light towards a target. The pulse travels to the target, where it gets
reflected back and the sensor captures the backscatter energy. From the round-trip
travel time and knowing the speed of light, the distance between the sensor and the
reflecting target can be calculated. Using additional information of the position and
attitude (pointing vector) of the sensor one can determine the 3D position of each
target. A variety of wavelengths can be used ranged from visible to near-infrared;
however, near-infrared is preferred in vegetation studies due to the high reflectivity of
vegetation in this part of the electromagnetic spectrum. Wehr and Lohr (1999) and
Baltsavias (1999a,b) provide details of lidar theory on a theme issue of ISPRS Journal
of Photogrammetry & Remote Sensing, dedicated to airborne laser scanning (ALS).
Figure 1: Illustration of the difference between waveform and discrete return lidar recording
(from Lefsky et al., 2002; Figure 1).
There are two distinct types of lidar systems in the commercial and research
sectors (St-Onge et al., 2003): full waveform and discrete return (see Figure 1). The
categorisation is related with the sampling density of the derived signal. In the first
case, the laser energy is densely sampled resulting in a full waveform recording. This
Chapter One: Introduction
5
top-to-bottom information enables viewing of the vertical structure of a stand. The
waveform recording is a major advantage of full waveform lidars, due to the fact that
is connected with foliage density and structure and can be translated into a detailed
description of vertical canopy volume distribution (Lefsky et al., 1999a,b; Ni-Meister
et al., 2001). The ground sampling area (footprint) of full waveform systems varies
from 8 to 70 m (Means, 1999; Harding et al., 2000).
On the other hand, discrete return lidar systems, typically record one (e.g., first
or last), two (e.g. first and last), or a few (e.g. five) returns for each pulse (Lim et al.,
2003a). The footprint of discrete return lidar surveys varies from 0.2 to 0.9 m. as a
function of flight altitude, beam divergence and instantaneous scan angle (Baltavias,
1999b). Means (1999) provides a detailed comparison between discrete return and full
waveform lidar systems.
The majority of commercial lidar instruments utilise the discrete-return logic
and are carried aboard airplane platforms or helicopters. As already mentioned,
Baltsavias (1999a) reviews the available lidar systems across the globe; however due
to the quick development of the market, online resources can be accessed for up-to-
date information (see www.airbornelaserscanning.com for a lidar industry directory4).
At the moment, full waveform recorders are not widely available and most of them
are experimental instruments. NASA’s Goddard Space Flight Centre has developed a
series of waveform-recording laser altimeters mainly for vegetation studies including
SLICER (Scanning Lidar Imager of Canopies by Echo Recovery, Harding et al.,
where the first/last flag states whether the field is related with the first or last pulse,
the X and Y are the coordinates into the British National Grid Eastings and Northings,
the Z field contains the height information in meters above sea level datum (OSGB36
Datum) and the I is the recorded intensity.
Chapter Two: Data / Models and Other Resources
16
2.3 FOREST MODEL
Detailed structural information is very important particularly when simulating
radiation in the optical domain, as lidar signal (Disney et al., 2006). As already
mentioned in the introduction, Lovell et al. (2005) in a simulation study of lidar
assumed that the trees are solid objects. This approach is not suitable for lidar
simulations, since penetration through the canopy is an important property of the lidar
dataset. Holmgren et al. (2003) reported bias in their results, using a similar
simulation methodology. In this study, a detailed 3D representation of the coniferous
canopy structure was taken by the Treegrow model, developed by Leersnijder (1992).
The modelled trees are quite realistic and only some details are not incorporated, like
the effect of gravity on the needles (see Figure 6).
The model was parameterised to match the observed height and diameter growth
curves. Environmental, species-specific and tree-specific parameters are driving the
model to ‘grow’ a single tree. For construction of the pine stands5, a pseudo-random
‘cloning’ method was used to allow for some variability in the tree orientation and
position. Detailed information on the stand construction and parameterisation can be
found on Disney et al. (2006).
Figure 5: Scots pine trees for ages 10, 20, 30 and 40 (right to left). The scene reflectance was
simulated with the frat optical model at a wavelength of 1064 nm.
5 The forest stands were constructed by M. Disney and kindly provided for this study.
Chapter Two: Data / Models and Other Resources
17
2.4 FORWARD RADIOMETRIC TRACER - FRAT
For the simulations P. Lewis’ ray tracer frat operated in lidar mode was used. The
model is driven by the 3D locations and orientations of the scattering elements
coupled with their radiometric properties (Disney et al., 2006). Frat simulates the
waveform of the lidar signal using Monte Carlo Ray Tracing by illuminating a square
footprint with uniform distribution and records the reflected direct and diffuse
illumination, as function of distance from the sensor.
Different experiments were run by changing the input parameters of frat.
Particularly, the effect of scan angle, footprint size and sampling density was tested
under different stand age and stem density conditions. Simulations are run at 1064 nm
with an imaging plane of 100*100 pixels and the vertical resolution was set equal to 5
cm. Only the direct illumination was modelled and the resulted waveform was then
processed to produce only first and last return measurements. The method is described
in the Chapter 4.
Figure 6: Example of simulated image having a footprint of 30 cm on a 25 years-old pine stand (left) 6. The scene reflectance was simulated using the frat optical model at a wavelength of 1064
nm. On the right a real Scots pine picture in black and white.
2.5 ADDITIONAL DATASETS AND OTHER RESOURCES
A UK Forestry Commission forest database of the Thetford Forest was available. The
database contained the outlines of every stand, with information of age, mean stand
height, mean volume, whether it is mixed or not etc. The values of the variables were 6 As mentioned, the software uses a square footprint, however for viewing purposes the picture was cut to give the footprint impression.
Chapter Two: Data / Models and Other Resources
18
calculated using allometric equations and tariff tables, by the Forestry Commission
(Edwards, 1998).
In addition to the forest database, field measurements for 28 stands, which were
acquired during the SAR and Hyperspectral Airborne Campaign (SHAC) in 2000,
were available. The campaign was organised as part of the NERC/BNSC Link Project
‘CARBON’ scheme, and was carried out over a period of two weeks between 19th of
June to 1st of July 2000, which actually means that the measured bio-physical
parameters can be used for the lidar data analysis, since the time interval is only 9
days. All the methods that were used for the measurements are described by Skinner
and Luckman (2000).
A variety of software was used to complete this dissertation. AWK and C-shell
programming were used for the main processing of the ‘real’ and simulated lidar
dataset. Matlab and Stata 8 Intercooled assisted the analysis and graphical
representation of the results. Finally, ArcGIS 9 was used for overview and selection
(by location) of the points and Microsoft Excel only for creation of simple plots.
Chapter Three: Processing of Lidar Data
19
3. PROCESSING OF LIDAR DATA
The chapter describes the processing of the lidar data of Thetford Forest. First, 31
stands were selected and the lidar points falling into them were cut to assist the
individual analysis of each stand. The scan angle of each pulse and the distance
between the first and the last pulse were calculated and appended to the file.
Moreover, the local minima algorithm was written and applied, using different
window sizes. The algorithm was improved by applying a neighbourhood slope filter
to the minimum points. After that, the height Z of the points was normalized.
Empirical relationships between stand height, volume and statistical descriptions of
the lidar dataset were established using regression and cross-validation was used to
evaluate them.
3.1 FOREST STANDS SELECTION
The first task before starting the processing of the lidar points was to select a sample
of forest stands. The selection was done as follows:
i) For every chosen stand respective lidar points should exist, covering the
whole area of the stand.
ii) The final sample should cover the whole range of age classes if
possible.
iii) At least some of the stands have to be chosen from the SHAC report,
since ‘ground truth’ measurements are available for them.
31 forest stands were chosen, with ranging age from 5 to 73. The majority of
them were Corsican pine stands, since the Scots pine stands are quite old and it was
difficult to find a good representative sample. 16 of the 31 chosen stands had been
surveyed during the SHAC campaign.
A simple AWK program was used to search the large lidar files and pick up the
points that belong in the rectangular area of each stand, according to the minimum and
maximum coordinates. Then these files were imported into ArcMap to apply the
select by location function, using the stand polygons to keep only those points which
Chapter Three: Processing of Lidar Data
20
are inside the stands. During this process a buffer of 3m was applied to minimize side
effects. The points of each stand were exported manually into .txt files. During the
export process the ArcMap adds an additional null field to take the place of the ID for
each record. The ID fields as well as some gross errors on the intensity of some points
were deleted. The errors were possibly caused during the processing before the data
was given for this study. This first stage of the process is given in the flowchart of
Figure 7, while description of the programs can be found on Appendix A1:
Figure 7: The flowchart of the selection process.
Finishing the selection process, individual files containing lidar points for each
stand were available. Moreover, the lidar point density in hits per m2 was calculated
by dividing the total number of pulses falling inside a stand with the total area of the
stand. The point density varied from 0.138 to 0.335 hits/m2. Table 2 contains
information for all the selected stands, while the position of each stand in the area is
given in Figure 8.
Table 2: The selected stands with relevant information.
Note: CP=Corsican pine, SP=Scots pine, green height value for height measured using field survey, red height value for height given by Forestry Commission database, ? = problematic
height value.
Figure 8: The 31 selected stands coloured according to their age (Image by Google Earth).
Finally, the scan angle and the distance between the first and the last pulse were
calculated, for every pulse. The calculation was based on simple geometry, using the
coordinates of the first and last pulse (Figure 9) and the equations 2 and 3, given
Chapter Three: Processing of Lidar Data
22
below. The information of scan angle and distance between the first and last pulse was
then appended to each point-record.
Figure 9: Side-looking aspect of the first and last pulse points.
22xyDLength +∆Ζ= (2)
⎟⎟⎠
⎞⎜⎜⎝
⎛∆Ζ
= − xyDAngleScan 1tan. (3)
3.2 FILTERING OF THE LIDAR POINTS
3.2.1 RELATED LITERATURE AND IDEAS As mentioned in chapter 2.2, the lidar files contain height information in meters above
sea level datum (OSGB36 Datum). The height value should be normalized according
to the ground, in order to convert height above sea level into height above ground.
The normalization can be made using a high accuracy Digital Terrain Model (DTM),
which in this case was not available. A usual method is to obtain the terrain
information from the lidar points. The removal of height lidar points not representing
the ground is called filtering.
The filtering of lidar points to obtain a DTM is a challenging and still active
research area. Some researchers proposed morphological operators, which use the
same principles of “erosion” and “dilation” like in the raster image processing
(Eckstein and Munkelt, 1995; Hug and Wehr, 1997; Kilian et al., 1996; Vosselman,
2000). Other, approaches start with a coarse TIN DTM and iteratively refine it using
Chapter Three: Processing of Lidar Data
23
distance and angle criteria, so vegetation points (or house edges) can be detected
(Axelson, 2000). Lohmann and Koch (1999), used the linear prediction method,
which relies on the correlation of neighboring points, as expressed in the covariance
function.
Moreover, Hansen and Vögtle (1999) proposed a method based on convex hull,
as reported by Krzystek (2003). Their technique assumes that the lowest lidar points
are representing the ground and creates a convex hull from the remaining point cloud.
Additional laser points, lying within a user-defined distance refine iteratively the
DTM. Finally, Wack and Wimmer (2002) proposed the use of pyramid hierarchical
gridding.
One of the simplest algorithms that has extensively used is the local minima
algorithm. The algorithm applies a grid to the lidar points and then for each grid
square, finds the minimum height value, which is likely to represent the ground. The
last return points are used, because they contain more ground points, since the last
pulse reaches the ground more frequently than the first pulse. The algorithm can be
used as a pre-processing module in a subsequent filtering process, however many
researchers use it without applying any other additional filtering, due to its simplicity.
Several tests on local minima were run using various grid sizes from 4 to 10m
for all the stands. A threshold value was added to the algorithm in order to prevent the
calculation of the local minimum when there are not enough points in the grid. Of
course, the threshold value is related with the density of the points found in a stand.
As a result, the density of each stand was used to calculate for the threshold value.
The simple decided rule was that the local minima algorithm should work only on
cells which contain at least the half of the ‘expected’ points, according to the known
point density value. When the division by 2 gave a float number, then the closest
smaller integer was taken.
In order to improve the performance of the filter, another rule regarding the local
slope of the points was included. The idea is based on the algorithms that use the
slope criterion, described by Vosselman (2000), Vosselman and Maas (2001) and
Axelson (2000). First, the algorithm calculates the threshold according to the point
density of each stand and then finds the local minimum in each cell. Afterwards, the
local neighborhood filter scans again every cell to check the local 3x3 neighbor
minimums. The slopes created by the current (center) minimum and its other 8
neighbor minimums are calculated and the maximum slope is compared with the
Chapter Three: Processing of Lidar Data
24
slope-threshold value. The comparison takes place only for points falling into
1.5xGrid_cell circular distance from the center point. If the largest slope is found to
be less than the threshold value, controlled by the user, then the minimum point is not
modified. In the case when the slope is found to exceed the threshold, its Z value is
reduced to reach the level of the lower neighborhood minimum (Figure 10; also the
flowchart of the algorithm can be found on the Appendix C, Figure C 4). A counter
variable was added in the program to test how often the slope criterion is used to
change a local minimum value.
This method was expected to improve the performance of the local minima
algorithm (LM hereafter), especially in very dense canopies, where the LM fails to
find ‘real’ ground points. The slope threshold was decided to be 20 degrees because,
as already mentioned, the area has gentle topography. Since the slope criterion
corrects for outlier minimums, it was decided not to use threshold value of the number
of points found in the cell.
Figure 10: The local neighbourhood filtering process. The blue points are the local minimums of the grid cells. The red point is the local minimum of the current tested window. The largest slope is the one created by the green point and if its value exceeds the threshold then the Z value of the
red point is reduced.
3.2.2 RESULTS ON FILTERING
Generally, the addition of the slope criterion, improved the results of the height
normalisation. It should be noted that the use of the slope criterion by the filter is
affected by the cell size, because small cells are more likely to have non-ground
Chapter Three: Processing of Lidar Data
25
points, while using large grid, the possibility to find ground points is increased. This
hypothesis was confirmed (see Figure 11). It seems that the larger the cell, the less the
need for the slope filter to be used, while the denser the stand, the times that the slope
filter is used is increased (Figure 11).
Figure 11: The percentage of points that were modified by the slope filter, for different window
sizes and stands.
For example, in stand #21 (age=20, green line in Figure 11) even when using a
10x10m grid to find the local minimum, 5% of the points are still lying above the
slope neighbourhood threshold. So what the filter does is to reduce their heights and
then apply the normalisation. Furthermore, in very young stands (S002 – yellow line)
the filter is working for only a few points, because the LM has already found many
ground points. The same trend can be observed in very old stands (S029 – red line)
where after a certain window size (7x7) the LM has a better performance in finding
ground points. Of course, increasing the window size is giving more accurate ground-
points dataset, but on the other hand the density of the points is reduced.
The effect of window size can be evaluated using the histograms of the heights
of assumed-to-be-ground points and the statistics derived from their distribution. One
example for stand #22 is given in Figure 12. For a window size of 5m the algorithm
gives a ground-point dataset, the height distribution of which can be plotted.
However, there are some points that clearly do not represent the ground (see the
Chapter Three: Processing of Lidar Data
26
arrows on Figure 12). If those points were ground-points and not outliers then the
distribution would have a different shape. The ground does not change suddenly from
33 to 45 m on a flat area. The maximum height value is a good index, of when the
outlier points have been filtered out. In this case, when using 8x8m grid the maximum
height is reduced from 46.58 to 32.47m which means that most of the non-ground
points have been excluded and the remaining variation is due to the ground.
Figure 12: Non-normalized height distribution of points classified as ground by the filtering
process (example from stand #22). The effect of window size can be seen in the maximum height and SD (More diagrams are included in the CD).
Chapter Three: Processing of Lidar Data
27
In addition, a comparison between the simple LM and the improved LM7 was
applied. As expected there is a significant impact on the height distribution of the
normalized stands, which could result in misleading heights if only the LM filtering
was used. When the LM finds a minimum point that does not represent the ground
and applies the normalisation according to that, then it reduces the actual height of the
points in this cell. This is the reason why the height distributions of LM seem to
contain fewer points in higher values and more points in lower values (Figure 13).
Moreover, one can conclude that the slope neighbourhood filter has more impact in
stands with high leaf area index (LAI), because in these stands (like stand #3 and #15
of Figure 13) the density of vegetation impedes the laser pulse to reach the ground, so
the LM algorithm is not finding many ground points.
Figure 13: Distributions of the normalized height after the simple LM and the improved LM with
the slope filter. Significant differences exist in stands with high LAI, while in very young or old stands the two algorithms give similar distributions.
7 As ‘improved LM’ the author means the developed algorithm of LM accompanied with the slope filter.
Chapter Three: Processing of Lidar Data
28
Finally, the appropriate window size was chosen for each stand by analysing
qualitatively the height distributions and the reduction of the maximum height
according to the main curve of the ground, as explained above in Figure 12. The
normalisations were applied and at the end of the finishing process, for every stand
there was a file containing the normalized-according to the ground- height.
Normalized-height distributions for all the 31 stands can be found on the Appendix B.
3.3 CLASSIFICATION OF THE LIDAR POINTS
Generally, it is desirable to classify the lidar data as ground and vegetation points, in
order to process them individually. This would also help to analyse their intensity
information and check if there is significant difference between pulses coming from
the ground and pulses coming from the vegetation. However, this classification is
limited in the sense that it does not take into account the first/last return concept, by
which the lidar data are acquired. Thinking this way, the classification of the lidar
points can be done in three categories, as follows:
i) Points of which the first pulse hits the ground and as a result the last pulse
comes from the ground as well. We could refer to them as ground/ground or G/G
points.
ii) Points of which the first pulse hits a part of the canopy (braches, leaves or
needles) and the last pulse fades in the canopy as well. We could refer to them as
canopy/canopy or C/C points.
iii) Points of which the first pulse hits a part of the canopy but the last pulse
penetrates it and hits the ground. We could refer to them as canopy/ground or C/G
points.
It should be mentioned that as ground points, were considered points within 1m
distance from the ground. In the bibliography a range of 0.5-2m is used to account for
the variation due to the lidar vertical accuracy and to exclude effects of stones, shrubs,
etc. (Nilsson, 1996; Næsset, 1997a; Næsset and Bjerknes, 2001; Næsset, 2002;
Solberg et al., 2006). An AWK program was written to apply this classification to the
lidar files and extract C/C,G/G and C/G points8.
8 As already mentioned C/C,G/G and C/G will be used hereafter to describe ‘Canopy first/Canopy last’, ‘Ground first/Ground last’ and ‘Canopy first/Ground last’ points.
Chapter Three: Processing of Lidar Data
29
3.4 RESULTS
3.4.1 INTENSITY First the intensity response of the three categories was tested, for the 31 stands. No
relationship between the mean stand intensity and the stand age was found. Despite
that, a trend appears in the mean value of intensity according to the point class (Figure
14). The G/G points seem to have higher values of intensity, than the C/C points. The
most possible explanation is based on the fact that the vegetation of the ground
contributes in the spectral response of the G/G points. Moreover, the needles of the
conifers have lower reflectance than the ground vegetation.
On the other hand, the mean intensity values of the C/G points are difficult to be
explained. Their ground and canopy mean values are generally quite close to each
other and lower than expected, in comparison with the C/C and G/G points. The
Figure 14 shows the three ‘layers’ of mean intensity according to their class.
Figure 14: No significant relationship between the stand age and the mean stand intensity was
found. However, there is a trend according to the point class.
Even if the trend in the mean intensity values of the three categories is easy to be
recognised, the spread of the values impedes their classification according to their
intensity. One example of two combined histograms for C/C and G/G points is shown
on Figure 15. It should be mentioned that for very young stands (less than 10 years)
Chapter Three: Processing of Lidar Data
30
the applied classification is not expected to be very accurate, since for low height
stands the one meter ground buffer might contain canopy points as well. Discussion
on the results of intensity examination can be found on Chapter 5.1.
Figure 15: The distribution of the intensities of the points on stand #20 (Additional figures can be found on Appendix C – Figures C2 and C3).
3.4.2 REGRESSION MODELS OF STAND HEIGHT AND VOLUME Empirical relationships were developed to relate the stand mean height and volume
with specific lidar data properties. Firstly, the relationship between stand age and lidar
mean height was established. The C/C points were used in this case, which are more
sensitive in crown increment due to the fact that they are coming only from the
canopy (Figure 16). The regression curve looks quite similar with the modelled curves
derived by Disney et al. (2006), although the reduction of increase rate is more
gradual in this case, since the thinning operations are gradually applied in Thetford
(pers. comm. of Disney et al.(2006) with Dr. Sebastien Lafont, formerly UK Forest
Research, Alice Holt, now ECMWF). The coefficient of determination (R2) was 0.86.
It should be mentioned that between the stand ages of 40 to 70 only 2 observations
were available.
In the same way the height of the C/C lidar points were plotted against the mean
stand height (Figure 17). It should be highlighted that almost the half of the stands had
their mean height measured on the field during the SHAC 2000, while the rest
Chapter Three: Processing of Lidar Data
31
contained allometric-measured height. Nevertheless, it was decided to use them as
‘observed’ values to increase the number of observations, knowing that this might
increase the error as well. It is well-known that lidar points underestimate the actual
stand height and this trend can be seen in Figure 17. Only for two young stands the
lidar points overestimated the stand height, due to the presence of older trees that
biased the arithmetic mean to higher values. The model explains 88.8% of the height
variation.
Figure 16: Stand age against the height of C/C lidar points.
Figure 17: Mean stand height against the mean height of C/C points. Asterisks represent field-
measured stand height, while open circles are allometric-derived stand height.
Chapter Three: Processing of Lidar Data
32
Independent data were not available to assess the accuracy of mean stand height
determined from the lidar data, applying the above regression model. Therefore,
cross-validation was used. One of the 28 observations9 was removed from the dataset
at a time, and the remained stands were used to calculate the model again. Then the
mean stand height of the removed observation was predicted using the model. The
result is shown in Figure 18. The mean difference between predicted and observed
stand height is 0.0128 m which is not significant in statistical sense and the standard
deviation of the differences is 2.78 m.
Figure 18: Scatterplot of observed mean stand height against estimated stand height using cross-
validation.
The same methodology was used to construct a regression model for stand
volume estimation. Many different variables and models were tested. The standard
deviation (SD) of the height of lidar points is an index of the age of the stands, since
all of them are even-aged. As the stand is growing the standard deviation of the height
of lidar points is increased because the crown layer is going away from the ground.
This direct relationship wouldn’t hold if the stand was natural with many age and
height classes; however in this case it is applicable as long as there are not outlier
trees to bias the calculation of standard deviation (Figure 19). The young stands #2,
#13 and #30 were not included in the calculation of the model, as the presence of old
9 3 of the 31 stands were rejected from the calculation due to large conflict between the SHAC and the allometric height value.
Chapter Three: Processing of Lidar Data
33
trees in them biased the SD. The coefficient of determination of the resulted model
was 0,94.
Figure 19: Standard deviation of the height of the lidar points (m) against stand volume (m3). 3
stands were rejected from the calculation due to the presence of outlier trees (red asterisks).
Cross-validation was used again to assess the accuracy of the regression
equation. The mean difference between predicted volume and ‘observed’ volume10 is
0,0973m3 and the standard deviation of the differences is 41,79m3.
Figure 20: Scatterplot of observed volume against estimated volume from lidar data, using the
regression model.
10 Volume is not actually ‘observed’ since it is derived from equations of basal area.
Chapter Three: Processing of Lidar Data
34
3.4.3 GAP PROBABILITY
It is interesting that the percentages of the three categories of points (C/C, G/G and
C/G) are changing as the stand age is increased. As the stand grows the C/C points are
increased, while the G/G points are decreased. The trend is changing when the stand
is getting older than 40, when normally gaps start to appear in the crown (Figure 21).
This gradual change might also be the effect of the thinning operations that are
applied in the stands. The percentage of C/G points show a smaller variation
beginning from very low values of young stands to ~20% for stands around 30 years
old.
Figure 21: The change in the percentage of C/C (left) and G/G (right) points as the stand is
growing.
If all the lidar measurements were acquired at nadir angle, then the inversion of
the geometry of the range-finding could provide an estimation of canopy cover
(Andersen et al., 2003). Off-nadir angle acquisition affects the probability of the laser
pulse to pass through a canopy layer. As a result, the assumption that the percentage
of C/C or G/G points is straightforward related with the gap fraction is not valid, if the
acquisition angle is not considered. Unfortunately, the acquisition angle for each pulse
is not given by the manufacturers. Even when angles are calculated by the method
described in chapter 3.1, the calculation is limited in those points for which there is
sufficient distance between the first and last recorded point in order to ensure robust
angle estimation.
Gap frequency is a very important parameter of forest ecology. According to Li
and Sthrahler (1988) ‘this frequency can be defined as the probability that a photon
Chapter Three: Processing of Lidar Data
35
will pass through the canopy unintercepted’. A simple model based on Beer-Lambert
law for continuous canopies is (Norman and Welles, 1983): ϑcos/kL
gap eP −= (4)
Where Pgap is the gap probability, L is the leaf area index (LAI), k is determined by
the distribution of leaf inclination angle (G-function) and ϑ is the angle of attenuation
(equal to scan angle in this case). From equation 4 and assuming a spherical leaf angle
distribution is derived:
gapPLAI ln*cos*2 ϑ−= (5)
Using lidar data the ‘horizontally projected LAI’ or LAIh can be derived. LAIh is
defined by Asner et al. (2003) as ‘the area of “shadow” that would be cast by each
leaf in the canopy with a light source at infinite distance and perpendicular to it,
summed up for all leaves in the canopy’. The gap probability should be measured
from points having similar scan angle, meaning that they attend the canopy with more
or less the same angle. In a recent paper, Solberg et al. (2006) calculated gap
probability as the ratio of below canopy echoes to the total number of echoes. In other
words the calculation of gap probability is derived from:
ALL
Ggap N
NP = (6)
Where NG is the number of ground pulses and NALL the number of all the pulses.
The difficulty of derivation of scan angle for each pulse has been explained
above. One solution would have been to interpolate the angle values using the
scanning pattern and relying only on the points whose values are accurately
calculated. In fact many ground points have their first and last pulse in close distance
and as a result the calculation of scan angle, based on the principle of Figure 9 of page
22, is not robust.
Plotting the lidar points in X,Y is easy to recognise the flight lines and the
overlap areas, due to the sudden increase in the point density. Using this pattern the
flight lines can be digitised on ArcGIS (Figure 22; next page). Then the scan angle of
each point can be calculated within certain accuracy by using the mean flight altitude
and according to its distance from the flight line. Using the above methodology two
measurements of Pgap were obtained: one using the points lying near the flight line
(scan angle = ±5o) and another for points lying in the far edge of the field of view
(scan angle between ±10 to ±20). The mean angle ϑ of the range was used in the
Chapter Three: Processing of Lidar Data
36
equation (5) to calculate LAIh. For the first set of points lying near the flight line, a
mean angle of 2,5o (since the angles ranged from 0 to 5 degrees) was used while for
the far-range points a mean angle of 15o was applied (since the angle ranged from 10
to 20).
Figure 22: Lidar points plotted in X,Y. The overlap areas can be seen (yellow) and the flight line can be delineated (red). The blue points have scan angle ±5o according to the mean flight altitude
(also see Figure C1 on Appendix C).
The methodology was applied in 8 stands from different age classes. Two LAIh
estimations for each stand was calculated, one for each angle-set and then the results
were averaged. For some stands only one measurement was possible since they
contained points only in one range of angles. Assuming a homogenous stand
structure, the gap probability should be affected only by the scan angle. As a result the
two LAIh measurements of a stand are expected to be similar. Indeed the
measurements were quite close to each other with minimum and maximum difference
of 0,06 and 0,76 respectively.
However, one should be aware of the fact that the stands contain access paths
and small roads, whose spatial distribution affects the measurement of gap
probability. Consequently, it is expected that the LAI will be affected and the results
sometimes might be the opposite than expected. For example, in stand #9 (Figure 23)
there is a road in the border of the stand. According to the flight line, this region was
in the far-range of scanning. One might expect the gap probability of the far-range
points to be less than the one measured in the nadir. However, the road’s presence
increased the number of points which reached the ground and as a result the LAI
measurement was far less than the one measured by the nadir points.
Chapter Three: Processing of Lidar Data
37
Figure 23: In stand #9 the presence of the road in the far-range points resulted in increased gap
probability. The red line is the flight line and the colours represent the height above ground.
As the stand is growing the LAIh is increased dramatically. Stands between 15 to
30 years old showed LAIh values above 4. However, it should be noted that the
selective thinning operations are affecting the LAIh, keeping its value in low levels.
Besides, the purpose of gradual thinning is to keep the LAIh in reasonable values, to
leave enough light and space for the remaining trees. Moreover, LAI is affected by the
time of the year when the measurement is done.
According to LAI measurements done by Roberts et al. (1982) in Thetford
Forest during the spring of 1977, the maximum LAI value for Corsican pine was
greater than 10. However, the accurate description of the LAI estimation method is
not given and the survey is quite old to rely, since the management operations might
have changed.
Field measurements of LAI for the stands were not available and as a result
comparison and validation is not possible. However, as newer studies suggest lidar-
derived LAI is expected to relate strongly with ground-based measurements and once
the relationship is defined by regression, then LAI estimations can be done using
discrete-return lidar data (Solberg et al., 2006).
Chapter Three: Processing of Lidar Data
38
0
1
2
3
4
5
6
0 10 20 30 40 50 60 70 80
Stand age
Leaf
Are
a In
dex
h (b
y lid
ar)
Figure 24: LAI h values calculated from lidar data, for stands with different age.
Chapter Four: Simulations
39
4. SIMULATIONS
4.1 METHODS
As already mentioned frat simulates the waveform of the lidar signal by illuminating a
square footprint with uniform distribution and records the reflected direct and diffuse
illumination, as function of distance from the sensor. Therefore, it was assumed that
the illuminated area has a square projection and that the energy is distributed
uniformly across the pulse. The above assumption is not expected to have major
impact, since the study is comparative and the effects will be the same for all the
simulations. However, it should be considered that with equal diameter and edge the
area of the square is larger than the one illuminated by an ellipsoidal-like footprint.
The term ‘footprint diameter’ will be used to refer to the length of the square’s edge.
The simulations were run in the stand models created by M. Disney, as
described in Chapter 2.3. Different homogeneous stands, with varying age from 5 to
50 (with a step of 5 years) and four different stem densities (1.5 , 3 , 4.5 and 6 m)
were available. The effect of scan angle was examined, applying five different angles
(0, 5, 10, 15 and 20 degrees). In order to adjust the impact of the scan angle into the
real conditions, a slight increase on the footprint was included as the angle increases.
For the flight altitude of 900 m and with a beam divergence of 0.3 mrad (as the
specifications of the ALTM lidar survey), the increase of diameter is almost 3.5 cm
(from nadir to 20 degrees angle)11. It should be mentioned that the simulations were
run on random points in specific areas of the stands, with the assumption that the
random point sampling will give the same results like the ones obtained by the lidar
scanning pattern.
In addition, different footprint diameters, from 10 to 90 cm (with a step of 10
cm) were tested on specific stands (20, 25, 35 and 45 years old with 3 m stem
density). In this simulation only nadir acquisition was used. Finally, simulations
corresponding to sampling densities of 1, 2, 4, 6 and 8 points per square metre were
run on the same area of a 25 years old stand.
The results of the simulations had to be sampled in order to create a discrete-
return lidar dataset. They are many detection methods with which the laser scanner
11 Also see Table C 1 on Appendix C.
Chapter Four: Simulations
40
can determine the first and the last pulse and derive discrete, time-stamped trigger-
pulses. Wagner et al. (2004) compared different detection methods as threshold,
centre of gravity, maximum, zero crossing of the second derivative and constant
fraction. The results suggest that the performance of each methodology is depended
on several factors as the object distance and the noise level. Most of the times the
details of the detection method applied by commercial laser scanner systems are not
known, since the manufacturers do not provided relevant information (pers. comm.
Dr. E. Baltsavias, Institute of Geodesy and Photogrammetry, Swiss Federal Institute
of Technology (ETH), Zurich ).
Figure 25: Generation of first and last return points on a 15 (up) and 25 (down) years old pine
with the footprint set to 30 cm.
Chapter Four: Simulations
41
In this study we used the method of maximum which samples the waveform on
its first and last peak. A low threshold of 0.0005 (reflectance) was also added after an
examination of many waveforms. The program discrete was written to apply this
sampling and create the discrete return lidar datasets. Two graphical examples are
given in Figure 25. The program, also, calculates the height above ground of the two
pulses, giving the distance of the camera and the scan angle.
The stand metrics that were measured after the simulations were: (i) the
percentage of points -from the first and last return- that hit the ground (Points On
Ground – POG), (ii) the percentage of points -from the first return- that hit the top of
the canopy (Points On Top – POT), (iii) the arithmetic mean of all the canopy points
derived from the first return, (iv) the maximum canopy height of the first return
points, and (v) the normalized height difference (NHD). NHD is the difference
between the mean height of the model stand and the one derived by the lidar
simulation, normalized by the model stand height.
The decision of the above metrics was based on their importance to describe
penetration in the canopy (as POG) or ability to record the canopy height accurately
(as POT, mean and maximum height). Also the influence on forestry applications can
be evaluated using the above metrics. For example, the number of points that hit the
top of the canopy has major impact on the derived Digital Surface Model or on the
Canopy Height Model, while the number of ground hits affects the gap probability
measure. It should be underlined here that as “ground hit” is defined every point
whose height is less than 20 cm and the top of the canopy is assumed to be the upper 1
m part of the canopy, so 5 years-old stands were excluded (Table 3).
Table 3: An example of how the top of the canopy was defined.
The results of the simulations are presented in this Chapter. Initial observations are
also briefly described, however the main discussion and analysis of the simulations
takes place in Chapter 5.2.
4.2.1 FOOTPRINT DIAMETER Simulations for small footprints ranging from 10 to 90 cm were run on a 25 years old
pine stand, which had stem density of 3 m. Effects on the POG, POT, mean and
maximum height metrics (as defined on Chapter 4.1) were examined on four different
age classes of 20, 25, 35 and 45. The constructed diagrams are shown below:
Figure 26: Footprint diameter plotted against the percentage of ground hits for different stand
ages (Up: First pulse; Down: Last pulse).
Chapter Four: Simulations
43
A
B
C
Figure 27: (A) Percentage of points on top, (B) maximum height and, (C) mean height of the canopy hits plotted against footprint diameter, for different stand ages.
Chapter Four: Simulations
44
A
B Figure 28: The normalized height difference against the footprint diameter for different stand
ages: (A) Canopy points only, (B) all the first pulse points.
Significant changes on the obtained results were revealed. Almost all the
examined metrics seem to be affected by the footprint diameter. The results suggest
that an increase of 10 cm in the footprint diameter increases the points that fall on the
top of the canopy by an average of 6% (Figure 27(A)). The impact is stronger for
changes on the range of 10 to 40 cm footprint diameters. As expected the percentage
of first-pulse ground points was decreased because larger footprints increase the
possibility of needle material to be detected as first pulse measurements (Figure 26).
On the other hand, last-pulse ground points were increased as the footprint diameter
broadens.
Chapter Four: Simulations
45
The normalized height difference was reduced as a result of the increased mean
height of lidar points, which means that the height estimation came closer to the actual
stand height (Figure 28). Again the influence was stronger on footprint increments of
10 to 30 cm while insignificant changes according to stand age were detected. The
maximum height showed a relatively stable behaviour without major changes as mean
height. Extended discussion of the results can be found on Chapter 5.2.
4.2.2 SCAN ANGLE The impact of scan angle on the stand metrics was examined. Connection between the
scan angle and the height metrics was of a particular interest, as well as effects on
penetration in the canopy. The results are shown on the following diagrams:
Figure 29: Influence of scan angle on the percentage of points which hit the top of the canopy for
different stand age (stem density is 3 m).
Chapter Four: Simulations
46
A
B
Figure 30: The percentage of ground points of the first (A) and last (B) pulse, for different scan angles and stand ages. The line on (A) is the regression model line obtained from the real data
(Figure 21-right) and the lines on (B) are showing the value’s range.
Chapter Four: Simulations
47
A
B Figure 31: Normalized height difference against the scan angle for different stand ages:
(A) Only canopy points, (B) all the first pulse points.
Figure 32: Increment of mean height of all the points from nadir-view to 20 degrees scan angle.
Different stand ages and two stem densities were tested.
Chapter Four: Simulations
48
A
B Figure 33: The change of maximum height from nadir to 10 (blue) and 20 (red) degrees of scan
angle for: (A) stem density of 3 m and (B) stem density of 1,5 m.
The scan angle proved to have a major influence on the ground hits percentage
(Figure 30), while its effect on the points reaching the top of the canopy is rather
random (Figure 29). The canopy-only height seems to be unaffected by scan angle,
showing only a random variation. This can be seen on the normalized height
difference diagram (Figure 31(A)). On the other hand, when all the points are taken
into account then the statistical descriptions are changing: The mean height of the
dataset acquired on 20 degrees angle is increased with the increment to be related with
the stand age (Figure 32).
Furthermore, the maximum height was increased for acquisitions obtained on 10
and 20 degrees, by an average of 13.39 and 19.85 cm respectively (Figure 33) in
Chapter Four: Simulations
49
forest stands with stem density of 3 m. The increment was reduced when a denser
stand was tested (stem density = 1.5 m). Further discussion can be found in Chapter
5.2.
4.2.3 SAMPLING DENSITY
The effect of sampling density was examined on an area of 20x20 m on each stand.
Different number of points was generated on this area: 200, 400, 800, 1200 and 1600,
resulting on sampling densities of 0.5, 1, 2, 3 and 4 points per square metre
respectively. Three stand ages -25, 35 and 45- were tested. The same stand metrics
were obtained and the constructed diagrams are given in the next pages:
A
B Figure 34: The effect of sampling density on: (A) number of first-pulse points that hit the canopy
top, (B) number of last-pulse points to hit the ground.
Chapter Four: Simulations
50
Figure 35: Effects of sampling density on the maximum canopy height metric. The increment
between 0.5 and 4 pts/m2 is given for different stand ages.
A
B
Figure 36: The change of mean height of all (A) and canopy-only points (B). Comments can be found on the discussion (Chapter 5).
Chapter Four: Simulations
51
As expected, the increase of the sampling density resulted in a linear increment
of the points, which hit the ground or the canopy. The “intensity” of the effect seems
to be connected with the stand age, since the three examined ages showed different
rates of increase (Figure 34). Changes in centimetre-level were obtained on the
maximum canopy height, especially for younger stands (Figure 35), while the mean
height was not affected significantly (Figure 36).
Chapter Five: Discussion
52
5. DISCUSSION
5.1 REAL LIDAR DATA PROCESSING
The filtering process proved to be an important part of the processing chain. Working
with raw lidar data, enabled the examination of two different filtering algorithms: the
simple local minima and the optimised local minima with slope criterion on the local
neighbourhood. The improved filter was particularly used in stands with high level of
needle-material density where the last pulse fades in the canopy more often, providing
wrong ground-level points (Figure 11; Chapter 3.2.2). The filtering process, as proved
by the diagrams on Figure 13, can have major impact on the height distribution of the
lidar points and therefore can affect the percentage of the intermediate parts of the
canopy, which are usually included in regression models for stand height estimation
(e.g. Næsset and Bjerknes, 2001). The improvement was weak on very young or old
stands, possibly due to the increased penetration of the last pulse, in contrast with
stand ages between 20 and 35 where the pine canopies tend to be denser.
The potential usefulness of intensity of lidar data has not been examined
sufficiently in the past (Lim et al., 2003b). The categorisation of points on C/C, G/G
and C/G classes reveals different distributions and mean values, as Figures 14 and 15
showed (another two examples can be found on Figures C2 and C3 of the Appendix).
Points whose first and last pulse hit the ground tend to give higher intensity values, in
contrast with canopy-only (or C/C) points. The first explanation of this observation is
that the ground of the study area is covered by vegetation which possibly affects the
return signal with its spectral properties. It is also known that conifers do not have
high reflectance values in the near-infrared, as broadleaves do. In addition one should
take into account the volumetric properties of these targets: the ground is a more
“compact” material when compared with the needles, which compose a more “soft”
target, with many microgaps and thus the reflected laser pulse is not that strong.
Another major finding that supports the above interpretation is the lower
intensities of C/G points, even if they come from the canopy (the first pulse) or the
ground (the last pulse). In this case the opposite trend can be observed (Figure 14;
Chapter 3.4.1): the first-pulse canopy points have slightly higher mean intensities than
the last-pulse ground values. This suggests that the signal is scattered as it travels
Chapter Five: Discussion
53
through the canopy and therefore less amount reaches the ground to return back and
enable last-pulse intensity recording. This is particularly obvious on high needle-
density canopies (20 to 35 stand age; Figure 14) where the mean values are more
clearly distinguishable. This effect also might be influenced by the position of the
point in the canopy. A lidar point on the edge of a crown will possibly give a first-
pulse canopy point with low intensity and a last-pulse ground point with higher
intensity. The opposite will happen for a lidar point on the middle of a crown, whose
travel line passes through canopy material and the signal’s power fades quicker.
The obtained observations on intensity trends agree with the results of Moffiet et
al. (2005) (see Figure 37). In one of the few studies on lidar intensity, Moffiet et al.
(2005) examined the potential use of lidar points’ intensity for individual tree
classification. The distinction of White Cypress Pine (Callitris glaucophylla) and
Poplar Box (Eucalyptus populnea) was not always obvious because of extraneous
sources of variation in the dataset. Finally, according to Moffiet et al. (2005) (pers.
comm with Optech): “the power of the laser can vary slightly depending on ambient
temperature of the diodes and decreasing with age (i.e. hours of operation)”.
Figure 37: Figure from Moffiet et al. (2005). Difference on the distribution of intensity return of ground points of C/G and ground points of G/G. The results agree with the observations of this
study. (From Moffiet et al., 2005; Figure 8).
Based on the analysis it seems that intensity values cannot be used directly to
separate canopy and ground hits, even if the mean values show significant separation.
Nevertheless their values’ range produces fuzzy distributions obstructing
straightforward classification. Moreover, effects caused by the mechanical parts of the
lidar device might result in significant intensity variations, which were not realised in
Chapter Five: Discussion
54
this study but have been reported by Moffiet et al. (2005). Inevitably, the discussion
of classification of lidar points according to their intensity, involves the consideration
of the footprint diameter. The smaller the footprint the more the possibility of the
pulse to hit “pure” objects -like needles or branches- and as a result the spectral
response might be more representative of the target. Evidence for this hypothesis was
not found on this part of the study but examined on the footprint simulations (see
below for Discussion).
The linear empirical model for stand height estimation included as independent
variable the mean height of C/C points, which eliminates possible stem density
effects. The plot of lidar mean height and observed mean predominant height showed
that the underestimation of the stand height is increased on higher trees (Figure 17;
Chapter 3.4.2). This might be caused by the presence of trees whose age does not
correspond to the actual stand age. Foresters are used to leave older trees (also called
reserves) in young stands for ecological reasons. These trees influence the calculation
of the mean height on young stands by increasing its magnitude. This shows how
case-sensitive are the empirical methods for stand height estimation.
The same sensitivity can be seen on the regression model of volume, which is
based on the standard deviation of the ground-normalized height. This relationship
wouldn’t hold if the stand was not even-aged. In order to establish a good model three
young stands were eliminated from the sample due to the outlier-effect described
above, which influenced the calculation of standard deviation. Nevertheless, the
calculated equations can be used in the specific area for mean stand height and
volume estimation, with the accuracy estimation provided by the cross-validation
process.
In addition, a simple model based on Beer-Lambert law was used to estimate
LAI from the discrete-return lidar points. According to the experience gained by
Solberg et al. (2006) laser and ground-based LAI measurements relate strongly, with
the strongest relationship obtained when LAI calculation takes place within a 30 m
window. Therefore it is important to consider the area within which the estimation
will be made. As shown in Figure 23 (Chapter 3.4.3) the spatial arrangement of gaps -
especially gaps caused by paths or roads- affects the stand LAI calculation. LAI
strongly varies within a stand, making the stand-level calculation a general estimation
rather than an accurate measurement. In any case, the lack of field measurements did
not allow validation of the calculated values.
Chapter Five: Discussion
55
5.2 SIMULATIONS
The examination of the effect of lidar footprint on the dataset was of a particular
interest. In the past, Persson et al. (2002) reported not significant influence on tree
height estimates from diameters of 0.26 to 2.08 m. When larger footprint was used
(3.68 m) then the underestimation of the tree height was increased. In another study
Næsset (2004) reported relatively stable first pulse measurements in the limited range
of 16 to 26 cm. However, the examination is surely affected by the decreased pulse
density, because in order to increase the footprint the platform has to fly in higher
altitudes (noted by Yu et al., 2004b). The only way to study the footprint effect
without major changes in pulse density is to use lidar systems with adjustable beam
divergence or by using simulations, as this study suggests.
The results, as given in Chapter 4.2.1., suggest that the increase of footprint
diameter reduces the normalized height difference, due to the fact that the illuminated
area becomes larger and thus the apexes of the pine trees can be detected easier.
Therefore it is logical that higher mean canopy values are obtained. The average
increase of the mean canopy height from a footprint of 10 cm to a footprint of 90 cm
was 1 m. The step changes seem to be larger for increases between the diameters of
10 and 40 cm. A numerical example is given in Table 4.
Table 4: The mean canopy height values (m) for different footprint diameters.
WILLIAMS, D.L., AND NELSON, R.F., 1986. Use of remotely sensed data for
assessing forest stand conditions in the eastern United States. IEEE Transactions
on Geoscience & Remote Sensing, GE-24:130-138.
WULDER, M.A., AND SEEMAN, D., 2003. Forest inventory height update through
the integration of LiDAR data with segmented Landsat imagery. Canadian
Journal of Remote Sensing, 29(5):536-543.
XIAO, X., HAGEN, S., ZHANG, Q., KELLER, M., BOLES, S., AND MOORE, B.,
2006. Detecting leaf phenology of seasonally moist tropical forests with multi-
temporal MODIS images. In Western Pacific Geophysics Meeting, Session B31B,
July 24-27, Beijing, China.
References
77
YU, X., HYYPPÄ, J., KAARTINEN, H., AND MALTAMO, M., 2004a. Automatic
detection of harvested trees and determination of forest growth using airborne
laser scanning. Remote Sensing of Environment, 90(4):451-462.
YU, X., HYYPPÄ, J., HYYPPÄ, H., AND MALTAMO, M., 2004b. Effects of flight
altitude on tree height estimation using airborne laser scanning. In Proceedings of
the ISPRS WG VIII/2 “Laser-Scanners for Forestry and Landscape Assessment”,
Vol.XXXVI, Part 8/W2, 3-6 October 2004, Freiburg, Germany.
ZHANG, Q., DEVERS, D., DESCH, A., JUSTICE, C.O., AND TOWNSHEND, J., 2005.
Mapping deforestation in Central Africa. Environmental Monitoring and
Assessment, 101(1-3):69-83.
Appendix
78
APPENDIX A1: LIST OF WRITTEN PROGRAMS
Filename Description
AWK programs
allAngles.awk Calculates the scan angle of each point, using the
coordinates of the first and last pulse.
classifyMe.awk Classifies the lidar points into C/C, G/G and C/G (see
Acronyms) according to their normalized height values.
clearMe.awk Deletes some errors of lidar data. Some records had
extreme intensity values (e.g. 50000).
delFID.awk Deletes the ID field, created by ArcMap during the table
export process.
discreteIt.awk Samples the waveform to derive only the first and the
last pulse. It searches for the first and last peak of the
signal above a specified threshold. When these are
found it calculates their above-ground height and stores
them on new file.
minimaNew.awk Applies the Local Minimum Neighbourhood Filtering. It
is controlled by the shell script minima.
ptsINcells.awk Calculates how many points should be expected in a
cell, according to the point density of each stand and
then proposes a threshold value for the Local Minima.
selectMe.awk Selects points from the original lidar files, that belong in
a specified rectangular area.
C-Shell
createPoints Creates a specified number of random points inside a
specified area centred at (0,0). It is used to derive a
random lidar point sample.
discrete Executable for the discrete (first/last) sampling of the
waveform. It works with discreteIt.awk.
minima Works with ptsINcells.awk and minimaNew.awk to
apply the Local Minimum algorithm.
Appendix
79
runMe Runs the BRDF.com.
Matlab code
distr_normal.m For extraction of all the height distribution of the
normalized lidar files.
Foot_Mean.m
Foot_MAX.m
To create diagrams of footprint against mean height or
maximum height of simulated canopy points.
Plot_POT.m
Plot_POG.m
To create diagrams of the percentage of the ground/top
points, against age for different angles.
Validation.m
Validation2.m
Run the cross-validation process for the regression
models of height and volume (Chapter 3.4.2).
NHD_ANGLE.m
NHDall_ANGLE.m
To create diagram of Normalized Height Difference (of
canopy or all points) against angle for different stand
ages.
Appendix
80
APPENDIX A2: EXAMPLES OF WRITTEN CODE
C-SHELL SCRIPTS a) runMe (runs BRDF.com) #!/bin/csh -f set arch = `uname -m` set path = ($path /home/plewis/bpms/bin/csh /home/plewis/bpms/bin/$arch) ###Get the random points from .dat files### set x = (`gawk < randompoint.dat '{print $2}'`) set y = (`gawk < randompoint.dat '{print $3}'`) ###Apply different stand age or footprint (or angle if angle variable will be added)### foreach age (25) foreach footprint (300) set forest = forest.$age.3000.needle.obj @ i = 1 while ( $i <= $#x ) BRDF.com -lidar 15000 63000 50 -x $x[$i] -y $y[$i] -z 0 -boom 30000 -vza 0 -vaz 0 -orthographic -ideal $footprint -object $forest -blacksky -image -size 100 -a 1 -v 0 -rtd 1 -outName result.$i.$age -bands wavebands.dat -nice 19 @ i++ end end end b) createPoints #!/bin/csh -f ###grep plant forest.5.3000.needle.obj | grep -v g | grep -v matlib | gawk '{of="plant."$NF; print $2, $3 > of;}'### to check the extend of the forest set N = 400 set minmax = 10000 ###How many points do you want? & size limits +/- ### echo $N $minmax | gawk 'BEGIN{srand();} {n=$1;size=$2;for(i=0;i<n;i++){print i+1,size*((rand()*2)-1),size*((rand()*2)-1)}}' > randompoint.dat
Appendix
81
c) discrete (works with discreteIt.awk) #!/bin/csh -f foreach angle (0) foreach age (25) ##foreach foot (700) foreach record (`cat p1000`) ####Instead of writing 1,2…100…1000#### gawk < density.$record.$age.$angle.0.0.0.0.direct_contributions -f discreteIt.awk angle=$angle >> discrete.density.1000 end ##end end end d) minima (works with minimaNew.awk and ptsINcells.awk) #!/bin/csh -f set stands = `ls -l ang_*.txt | gawk '{print $NF;}' | gawk -F. '{print substr($1,6);}' | sort -n` foreach s ( $stands ) foreach c ( 4 5 6 7 8 9 10 ) set th = `gawk < ang_s$s.txt -F, -f ptsINcells.awk -v standID=$s cellsize=$c |& grep Proposed | gawk '{print $3;}'` echo $th gawk < ang_s$s.txt -F, -f minimaNew.awk stand=$s cellsize=$c nThresh=$th > ground.stand.$s.c.$c.th.$th.txt gawk < ground.stand.$s.c.$c.th.$th.txt -F, '{print $1","$2","$3;}' > splot.ground.stand.$s.c.$c.th.$th.txt # generate_graph -splot -noline splot.New.stand.$s.c.$c.th.$th.txt end end AWK CODE a) discreteIt.awk BEGIN { M_PI = 3.14159265358979323846; RTOD = 180./M_PI; cut=0; ping=0; nrgThresh=0.0005; } { if (NR>1){ dist[NR-1]=$2; nrg[NR-1]=$3; } }
Appendix
82
END { for(i=1;i<=NR-1;i++){ ##Starts from the beginning to find the FIRST PEAK above the threshold if (nrg[i]>nrg[i+1] && cut==0 && nrg[i]>nrgThresh) { cut=1; ##Calculates the height above ground with respect to the scan angle first = (30000-dist[i]/2)*cos(angle/RTOD); firstInt = nrg[i]; } } for(i=NR-1;i>=1;i--){ ##Starts from the end to find the LAST PEAK above the threshold if (nrg[i]>nrg[i+1] && cut==1 && nrg[i]>nrgThresh) { cut=2; ##Calculates the height above ground with respect to the scan angle last = (30000-dist[i]/2)*cos(angle/RTOD); lastInt = nrg[i]; } } ###Prints the height and reflectance of first and last pulse print first","firstInt","last","lastInt } b) minimaNew.awk BEGIN { FS = ","; nSamples=0; M_PI = 3.14159265358979323846; DTOR = M_PI/180.; RTOD = 180./M_PI; # initialise variables # (stand,cellsize & threshold from the minima shell script) verbose=1; boundFlag=1; test=0; angle=30; say=0; } { for(i=1;i<=4;i++){ lastReturn[i,nSamples]=$i; } for(i=5;i<=10;i++){ firstReturn[i-4,nSamples]=$i; } if(isok(lastReturn,firstReturn,nSamples)){ if(nSamples == 0){ # first time through xMin=lastReturn[1,0];
Appendix
83
xMax=lastReturn[1,0]; yMin=lastReturn[2,0]; yMax=lastReturn[2,0]; }else{ xMin=MIN(xMin,lastReturn[1,nSamples]); xMax=MAX(xMax,lastReturn[1,nSamples]); yMin=MIN(yMin,lastReturn[2,nSamples]); yMax=MAX(yMax,lastReturn[2,nSamples]); } nSamples++; } } END { angleINrad=angle*DTOR; print "For angle=",angle > "/dev/stderr"; nxcells = int((xMax - xMin)/(1.*cellsize) + 0.999); nycells = int((yMax - yMin)/(1.*cellsize) + 0.999); if(verbose){ print "I found",nSamples,"points" > "/dev/stderr"; print "{",xMin,xMax,"}","{",yMin,yMax,"}" > "/dev/stderr"; print "nCells: x:",nxcells,"y:",nycells,"of size",cellsize > "/dev/stderr"; } # loop over all samples & assign to a cell for(i=0;i<nSamples;i++){ xCell=whichCell(lastReturn[1,i],xMin,cellsize,nxcells,boundFlag); yCell=whichCell(lastReturn[2,i],yMin,cellsize,nycells,boundFlag); zPoint=lastReturn[3,i]; # how many points so far in that cell? n = nPoints[xCell,yCell]*1; cellStore[xCell,yCell,n] = i; if(n==0){ minZpoint[xCell,yCell]=zPoint; }else{ minZpoint[xCell,yCell] = MIN(minZpoint[xCell,yCell],zPoint); } if(minZpoint[xCell,yCell]==lastReturn[3,i]){minIDs[xCell,yCell]=i;} nPoints[xCell,yCell]++; } ### Local Neighbour Testing ### If there is at least one z local minimum smaller than the current ### then it changes the value of z!!! Neighbour Distance=1.5*Cellsize for(i=0;i<nycells;i++){ for(j=0;j<nxcells;j++){ n=nPoints[j,i]; for(k=0;k<n;k++){
Appendix
84
p=cellStore[j,i,k]; maxValueOld = -1e9; if(minZpoint[j,i]==lastReturn[3,p]){ # check 8 cells, closest to cell j, i for(jj=j-1;jj<=j+1;jj++){ for(ii=i-1;ii<=i+1;ii++){ if((jj!=j && ii!=i)){ maxDvalueSoFar=compareCells(minZpoint[j,i],minZpoint[jj,ii]); point2=minIDs[jj,ii]; distan=sqrt((lastReturn[1,p]-lastReturn[1,point2])^2 + (lastReturn[2,p]-lastReturn[2,point2])^2); if (maxDvalueSoFar>maxValueOld && distan<=1.5*cellsize){ maxValueOld=maxDvalueSoFar; II = ii; JJ = jj; } } } } p2=minIDs[JJ,II]; pdist=sqrt((lastReturn[1,p]-lastReturn[1,p2])^2 + (lastReturn[2,p]-lastReturn[2,p2])^2); if(maxValueOld>0){ pslope=atan2(maxValueOld,pdist)*RTOD; print lastReturn[1,p],lastReturn[1,p2],lastReturn[2,p],lastReturn[2,p2],pslope > "/dev/stderr"; # change value only if the slope is high enough if(pslope>angle){ lastReturn[3,p]=minZpoint[JJ,II]; say++ } } } } } } ###Loop again to update the minimums### for(i=0;i<nSamples;i++){ xCell=whichCell(lastReturn[1,i],xMin,cellsize,nxcells,boundFlag); yCell=whichCell(lastReturn[2,i],yMin,cellsize,nycells,boundFlag); zPoint=lastReturn[3,i]; # how many points so far in that cell? n = nPoints[xCell,yCell]; cellStore[xCell,yCell,n] = i; if(n==0){ minZpoint[xCell,yCell]=zPoint; }else{ minZpoint[xCell,yCell] = MIN(minZpoint[xCell,yCell],zPoint); }
Appendix
85
nPoints[xCell,yCell]++; } # Loop and print the records which have the lowest z for(i=0;i<nSamples;i++){ xCell=whichCell(lastReturn[1,i],xMin,cellsize,nxcells,boundFlag); yCell=whichCell(lastReturn[2,i],yMin,cellsize,nycells,boundFlag); # In case first return is in a different cell than the last return. This can happen due to the scan angle!!!# xFirst=whichCell(firstReturn[1,i],xMin,cellsize,nxcells,boundFlag); yFirst=whichCell(firstReturn[2,i],yMin,cellsize,nycells,boundFlag); zPoint=lastReturn[3,i]; # Create a file with normalized heights print lastReturn[1,i]","lastReturn[2,i]","lastReturn[3,i]-minZpoint[xCell,yCell]","lastReturn[4,i]","firstReturn[1,i]","firstReturn[2,i]","firstReturn[3,i]-minZpoint[xFirst,yFirst]","firstReturn[4,i]","firstReturn[5,i]","firstReturn[6,i] > "normal.stand."stand".c."cellsize".th."nThresh".txt"; # Print record with lowest z with regard to the threshold stated if(zPoint == minZpoint[xCell,yCell] && nPoints[xCell,yCell] >= nThresh && lastReturn[3,i]!=""){ doMe++; print lastReturn[1,i]","lastReturn[2,i]","lastReturn[3,i]","lastReturn[4,i]","firstReturn[1,i]","firstReturn[2,i]","firstReturn[3,i]","firstReturn[4,i]","firstReturn[5,i]","firstReturn[6,i]; }else{ if(zPoint == minZpoint[xCell,yCell] && nPoints[xCell,yCell] < nThresh) test++; } } print "Threshold used # ",test," times" > "/dev/stderr"; print "nSamples, doMe: ", nSamples, doMe > "/dev/stderr"; print "Filtering Used: ", say > "/dev/stderr"; } #In case we want the output to be printed in an image file (.pbm) #writeImage(minZpoint,nxcells,nycells,zmin,zmax,"something.pbm",0); #########################FUNCTIONS########################## func writeImage(array,nx,ny,zmin,zmax,name,nullvalue, i,j,count){ # open image file print "P2" > name; print "# CREATOR: somename.awk scaled:",zmin,zmax >> name; print nx,ny >> name; print 255 >> name; count=0; for(i=0;i<ny;i++){ for(j=0;j<nx;j++){ count++; if(count==NCOLS_IMAGE)printf("\n") >> name;
Appendix
86
if(array[j,i] == nullvalue){ printf("%3d ",255) >> name; }else{ printf("%3d ",int(0.5+(array[j,i]-zmin)*254/(zmax-zmin))) >> name; } } } printf("\n") >> name; close(name); } func isok(lastReturn,firstReturn,nSamples){ # placeholder for a filter on quality return(1); } func MIN(a,b){ return(a<b ? a : b); } func MAX(a,b){ return(a>b ? a : b); } func whichCell(x,xmin,xcellsize,nxcells,boundFlag, xcell){ # x is (real) coordinate # xmin : (real) min x # xcellsize : (real) cellsize # nxcells, boundflag, return: which cell were in # zero-based counting xcell = int((x - xmin)/xcellsize); if(boundFlag){ if(xcell>nxcells-1)xcell=nxcells-1; if(xcell<0)xcell=0; } return(xcell); } func compareCells(z1,z2) { return(z1-z2); } func tan(an) { if(cos(an)!=0){return sin(an)/cos(an);} else{ print "WRONG ANGLE!!!" > "/dev/stderr"; exit; } }
Appendix
87
APPENDIX B: NORMALIZED HEIGHT DISTRIBUTIONS
Appendix
88
Appendix
89
Appendix
90
Appendix
91
APPENDIX C: ADDITIONAL FIGURES AND TABLES
Scan angle (degrees) Used footprint (cm)
0 (nadir) 27
5 27.2
10 27.8
15 28.9
20 30.5
Table C 1: The adjustment of the footprint according to the scan angle.
Figure C 1: Digitised flight lines (red lines) overlaid on the stands' polygons.
Appendix
92
Figure C 2: The distribution of the intensities of the points on stand #3.
Figure C 3: The distribution of the intensities of the points on stand #12.
Appendix
93
Figure C 4: The flowchart of the algorithm used to filter the lidar points.