(d) The points in the rest group are clustered into several
clusters according to their distances to the nearest neighboring
points.
(e) For the points in every cluster, the process is repeated from
the step (a) to (c).
(g) The process terminates for a cluster when there are less than
5 points in the rest group.
The process descript above is called line-growth method in our
work, because points on a line segment are found out iteratively.
After this process, the unorganized points on roof ridges are
segmented into several line segments. In fact, there are only one
or two roof ridges for most of residential buildings in European
cities. For most of public or historic buildings there are
normally three or more roof ridges. The process is illustrated
using an example in Figure 2.
* 999 9.9 099 9 9 99 o? o6
ee.
ee...
e.
© d,
| f | .
Unorganized points on roof ridges
f* «e«« p * 944.04 =
: E
z
G) ;
ee DB nn a e
; TE EG ES e ^ LJ
Line segment #77 TTT ee, a
M ET ee A iuc.
ie! ce”) >, e \
le! lef te
ij x; ne
2 S000
tee.
°
A ; NES
The points are classified in Rest group s 9
Detection of the first ridge
Le
e e t
. . Te,
© : : e.
° e >. *.
. . e x
e *
om . *
z . No
The points in Rest group are NS -
segmented in 3 clusters, in which roof
ridge is detected respectively
Figure 2. an example of detecting roof ridges
3.2 Segmentation of points into individual roof plane patch
In the proposed approach, we assume that the roof of a house
can be decomposed of a set of planar patches. The process of
the segmentation is then to fit the planes and find the points on
their corresponding plane patches. In this section, it is
introduced how a plane is fitted for a set of points at first. Then
the process of the segmentation is described.
3.2.1 Method of plane fitting
All the points of a roof part should belong to the same planar
patch. The plane can be defined by using the following equation:
ax+by+cz+d=0 (1)
where 7 =[a, b,c] is the normal vector of the plane and d is
the closest distance of the plane to the origin of the coordinate
system.
98
Assuming the point (x,,y,,z,) is located on the plane, the
plane of equation (1) can be reformed for all the points of this
plane as follows:
a(x X) t b(y - y) *ce(z-z,) 0 Q)
For the planar patch, the point (x, Vo-Z, ) can be taken from the
centroid of all the points of the roof part.
Equation (2) can be represented as:
X ZN Vin» 27:2)
ATX Va 7 Vo 227429
X, — Xo a 7 Va Zn 49
Where (x;,¥,,2,) . (5, Y4,2,) > --.» and (x,,¥,,2,) are
points of the roof part.
The normal vector can be obtained by calculating the
normalized eigenvectors of N, whereby N= AT. A.
Finally, the parameter d in Eq. 2 can be calculated by:
d =—(ax, + by, +cz,) (4)
3.2.0 Segmentation of points of a roof with one ridge
As shown in Figure 1, there is only one ridge in three kinds of
roofs, namely, gabled roof, hipped roof and saltbox roof. For
the points of the roof ridge, a plane F, is fitted which is
perpendicularly to the horizon and contains the adjusted line
segment of this roof ridge. In this work, the points of the roof
ridge are duplicated and given different heights along the
vertical direction, in order to ensure that they are located on a
plane perpendicularly to the horizon.
Assume that the plane F has the parameters of a,b,c, and
d_, the points can be easily divided into two clouds by judging
the vectors of the points to the adjusted plane: if there is
ax+by+cz+d > (0, the point (x, y, z) is located on the
same side of the direction of n —[a,,5,,c,] ; while it is
located on the opposite of the plane
whena,x t b, y t c,z * d, «O0.
In the next step, the distances of points in these two clouds to
the line segment of the roof ridge are calculated respectively.
For the points in one of the two point clouds, those points are
selected if their distances to the line segment are shorter than a
given threshold. These points will be clustered directly as the
points located on the plane patch which is intersected with
another plane patch at the roof ridge. Then a plane is fitted
using these points. For all the points in the current point cloud,
their distances to the fitted plane are calculated. According to
the roughness of most of roofs, if the distance is smaller than
0.2 meter, the point is certainly located on the plane patch and
identified as a point in the segment of this plane patch.
Otherwise, it will be classified in the rest group. The same
process is conducted for the other point cloud as well.
In case of a gabled or saltbox roof, the rest group is empty, if
there is no error measurement, while it still contains points of
two plane patches, if the roof is a hipped roof. In this case, the
points in the rest group will be clustered into two groups
representing the hipped roof parts. In this way, the points on a
gabled roof can be segmented into two (gabled or saltbox roof)
or f
plar
3.2.
The
exal
dete
carr
Ster
Ster
Ster
Ster
32.
Afte
extr
foll
belc
com
(iii)
Peu
for
sim]
resu
pol
in C
The
(R2
City
segi
poi
can
buil
Scar
nois
segi
For
belc
Seve
case
TOO!
whe