XXIX-B3, 2012
ity varies (Rutzinger
thod is developed to
d decide suitable
ud with n points and
d is to be decided.
is determined. Then,
ind p; in N, can be
z12..Kk (1)
scale, dynamically
ly 2002) and thus the
«n Q)
ly of neighbourhood
e 2 shows four cases
ied. circles represent
nined neighbours are
R point densities on
ibution of the points
ierefore, the search
ilar and small. Wall
; with the flight line
anges is adapted. An
'rsection of wall and
ure 2. The k-nearest
'e amount of ground
blem can be avoided
roach (see the solid
ination.
? can be estimated
its planarity can be
IDAR points yields
1al frame (vy, V;, V2)
XA4X A5. The PCA
in be calculated by
ovariance matrix of
ined as
(3)
number of LIDAR
pear only in two
tion. That is, A, is
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B3, 2012
XXII ISPRS Congress, 25 August — 01 September 2012, Melbourne, Australia
zero. Thus, we define local surface variation index (/;5,) based
on the principal values is defined as
à
I Di) = ces Se (4)
Taking noise and measurement errors in the LIDAR data into
account, the points are considered as planar if Ig, is smaller
than Ty, , which is a pre-defined threshold in the range [0, 1].
The selection of the threshold allows for accommodation of
different levels of noises and measurement errors in LIDAR
data. The principle of surface variation and its applications are
reported in (Hoppe et al., 1992; Sampath and Shan, 2010).
An example of PCA process is given in Figure 3. The scene
consists of an independent house with vegetation on its left side.
The vegetation points with discontinuous surfaces, in green in
Figure 3(A), tend to be non-planar points. The bare-earth is
relatively flat and points on this surface, indicated in red in
Figure 3(B), are determined as planar. The roof of this house
constitutes several planes joined by roof ridges. While most roof
points are planar, points on ridges, shown in Figure 3(C) are
not. They are successfully differentiated from the plane points
by the PCA process.
Figure 3. Results of PCA process of LIDAR points (green
points are non-planar while red ones is planar)
Seed points are then selected from the determined planar points.
However, not all planar points are suitable candidates. For
instance, a vegetation point with only a few neighbouring points
may have a very low lj, value. In order to avoid such
vegetation points, only the planar points with a certain size of
neighbourhoods are considered as valid seed points.
Region growing for segmentation. The coordinates for a seed
point, along with the local surface normal (v; determined in the
PCA process), define the initial plane. Then, the neighbourhood
of the seed point is examined and the distances of the
neighbouring points to the plane are computed. A neighbouring
point is considered belonging to the plane if its distance to the
plane is lower than a pre-defined tolerance threshold (Ty).
Following this, the plane parameters are refined and the
searching and growing process continues from this point. This
procedure will not stop until the distances of all the
neighbouring points to the plane are larger than T4. Such
iterative process will collect points to build up the plane. Some
regions like gable roofs, points are over-segmented by multiple
segments. In such case, the normal direction of over-segmented
point is used to compare with the segments and group into the
segment with most homogeneous.
3.2 Segment classification
The detected segments undergo classification so that object
features such as roofs, walls and ground surface are
115
differentiated within the LIDAR point cloud. Firstly, walls are
identified based on the segment normal vectors. Since walls are
vertical, the Z-component of the segment normal vector should
be zero. The remaining segments will be processed to derive
roofs and ground surfaces. Common knowledge used in
classification is that roofs are above the ground and connect
with it via vertical walls; and if a wall is not presented in
LIDAR data, there will be a large height jump between the roof
segment and the ground segment. The height different between
two segments is defined as nearest distance of two groups of
point cloud and from the pair of nearest points to derive height
jump. The classification is then carried out by the following
procedures (He, 2010):
1. The segments are sorted in order from high to low and
stored in a list.
2. The highest segment in the list is selected and its
neighbouring segments collected.
3. Ifthis segment has a neighbouring vertical wall and the
segment is on top of the wall, it is classified as roof. Also,
if a vertical wall does not appear in the neighbourhood,
but this segment displays a significant height jump
compared to its neighbours, it will again be classified as
roof. The segment is then removed from the list and Step
2 is repeated. If the highest segment has small height
difference with its neighbours, merge this segment with
its neighbours and update the list. Then repeat from step 2.
4. If the highest segment has small height difference from its
neighbours, it is merged with them and the list is updated.
The process from Step 2 is then repeated.
5. The above procedure is iteratively repeated until all roof
segments and wall segments are identified.
6. The remaining segments are taken as ground surface.
3.3 Reconstruction of walls
With the extracted wall segments, the reconstruction of walls is
straightforward. It is worth to note that some wall points may
not be collected in the wall segments due to the sparse
distribution and irregular pattern of LIDAR illumination on
building walls. Since walls are between roofs and ground, these
wall points can be located from the neighbourhood of the roof
edge. Wall points are then fitted to form a wall plane using
Moving Least Square (Levin 2003). However, the boundary of
the wall plane usually are not defined by LIDAR points since
the wall points are sparse, and are rarely located at the wall
corners or wall outlines. The edges and corner features can be
determined by topological and geometrical modelling using roof
structure information.
Firstly, the roof segment on top of the wall plane is located. The
horizontal plane passing through the roof edge is actually the
eaves of the roof segment. The intersection of eaves with the
fitted wall plane leads to the top outline of the wall. Wall
corners are usually located under the roof ridge and the
intersection of the wall plane, eave and roof ridge generate wall
corners.
4. EXPERIMENTAL TESTS AND RESULTS
The developed algorithms have been tested with a number of
datasets for different urban scenes in Europe and Australia.
Here, results from two test sites will be presented. The first test
area is located in Enschede, The Netherlands. The scene is flat.
As in many European towns, the scene includes free-standing
low residential buildings, as well as streets and trees. Data was
acquired by FLI-MAP 400 with 20 pts/m?. The high density of