CMRT09: Object Extraction for 3D City Models, Road Databases and Traffic Monitoring - Concepts, Algorithms, and Evaluation
50
In summary, we determine a cell’s roof type by comparing the
points’ normal vectors with the roof faces of all possible shapes
and compute the percentage of points that fit the direction of the
roof part they are inside. For a gabled roof, e.g., we divide the
cell into two equal parts, distribute the points accordingly and
count the number of points whose normal vectors are in
accordance with the respective side (see Figure 10). Each roof
type defines one or more parts, whose size may or may not be
dependent on the roof parameters. E.g., the ridge line length of
a hipped roof is variable and therefore affects the size of the
four roof parts. The longer the ridge line grows, the smaller the
two side hips become. This affects how accurately the shape can
be determined.
Figure 10. The face normal directions of the four basic roof
shapes: flat, shed, gabled and hipped. The flat roof face shows
upwards.
2.2.1 Flat, Shed and Gabled Roof: When considering all
junction elements, these basic shapes make up over twenty
different shapes. The high number comes from the fact, that
non-symmetric shapes can be rotated four times, resulting each
time in a new shape. Only rotational symmetric shapes result in
one shape and axial symmetric shapes in two shapes.
To efficiently determine if the points fit any of these basic roof
types, or a connecting shape thereof, each cells footprint is
broken into eight sections. For each section, the points are
classified as pointing up, north, east, south and west depending
on the cells orientation, where the first side of a cell is
considered the south side. For a point to be classified as up, the
angle between the point’s normal direction and the upward
vector must be below 30 degrees. For the other four classes, the
2D component of the point’s normal vector must point more
towards that side than to the other three, which reflects an angle
below 45 degrees. Once all the points are classified, the
percentage of matching points can be simply added up for all
shapes.
Figure 11 shows four types of gabled roofs. For these classes of
roof shapes, also the comer elements are used as they are
basically free to compute. The basic gabled shape is axial
symmetric and therefore only has two variants, the comer- and
T-junctions can be rotated four times and therefore result in
four variants each and the cross-junction is axial symmetric and
therefore has one variant. The number of matching points for
the gabled roof can be easily computed by adding the number of
points in the green sections that show northwards and the
number of points in the red sections that show southwards. The
other shapes are computed accordingly, where the points in the
blue sections must show westwards and the points in the yellow
sections eastwards.
Once the points have been distributed to the eight sections and
classified according to their normal direction, the time to do the
summation is neglectable. This makes roof shapes whose shape
can be reduced to the eight sections very appealing.
Figure 11. Gabled roof and its comer-, T- and cross-junctions
and the direction points inside a particular face must show to.
2.2.2 Hipped Roof: For hipped (and other roof shapes that
cannot be as easily divided into the eight sections as the
aforementioned shapes), the roof area is divided individually.
This is, however, not as efficient as before and some
assumptions have to be made for some shapes. E.g. the ridge
length of a hipped roof should be variable, but we assume that
all four slopes are the same, which enforces a certain ridge
length. This way only one variant must be evaluated, but it still
reliably differentiates a hipped from e.g. a tent or gabled roof.
2.2.3 Berliner Roof: The Berliner roof is an asymmetric
roof shape, which is basically a shed roof disinclined slightly to
the back side. By having a steep slant at the front and
sometimes also at the back side, the roof appears to be gabled
from a pedestrians point of view. This shape is very common
for Berlin apartment houses build during the period of
promoterism in the 19 th century.
To identify the front side of a cell with a possible Berliner roof,
we seek the side closest to the building’s oriented bounding
rectangle. If the cell is a comer cell, or if all cells are side by
side, then two or more sides of the cell should be within closest
distance to the bounding rectangle. Here, the side with the
highest number of nonnal vectors pointing towards to is
determined. This is in most cases the back side. Both methods
are necessary, as the second one generally fails more often, but
is the only one that works for the latter case.
Then, the distances from the front and back side to the two fake
ridge lines are determined using a plane sweep approach. At the
front ridge line, the 2D components of the points’ normal
vectors show in opposite directions. As for the back ridge line,
we say that all points’ nonnal vectors with an angle below 30
degree compared to the upward vector belong to the shed part
of the roof. Using these two criteria, we can accurately
detennine the two ridge lines that separate the three roof
regions. Their height is computed from the plane equations
estimated from the points of the two steep slant sections.
2.3 Parameter Estimation
Roof parameters vary from shape to shape. However, all shapes
have one eaves height and up to two ridge heights, which are to
be estimated from the LIDAR points. Among others, the cell’s
footprint defines the directions of the eaves and ridge lines. As
all face slopes are linearly related, it allows determining them at
once by simply estimating one plane equation from the given
points. While one face defines a reference system, the points in
other faces are translated into it accordingly. From the resulting
plane equation, the eaves and ridge heights can be determined
from the reference face. The resulting shape parameters best fits
all the faces to the input points.