When the parsing has been initialized according to
these rules, the rest of the parse is continued using the
line segment parser and starting at rule 6).
5.5 Alternation between parsers
In the procedure described above, the parsing begins
with trying a line segment parser. If the parse
produced is unsuccessful, other versions of the same
parser are used trying the various strategies in rule 4.
If no parse passed the consistency test, the region
segment parser is used. If also this attempt is a failure,
the user must be asked for help.
As images of buildings never display the complete
structure, the consistency test will be performed in
such a way that also partially parsed buildings are
accepted. A typical result of parsing the segmentation
of a single image is therefore a partial building
structure in object space plus a set of line segments in
the segmentation, where the parsing has failed. These
remaining line segments might belong to the building
or they might describe the ground surrounding it.
In order to take care of the line segments which
belong to the building, the complete parsing
procedure is started again, now skipping the line
segments already included in object space. A new
vertical line segment connected to horizontal line
segments is selected according to rule 5), the sequence
of line segment parsers and region segment parser
being carried through until no more line segments are
parsed. Again, this complete procedure is repeated
until no more line segments are parsed. In this way
weakly connected parts of the same building, and also
different buildings contained in the window to be
parsed, are introduced into object space at
approximately correct locations.
Remaining line segments or polygons, which can be
connected to a ground point of the reconstructed
building are assumed to be ground line segments in a
horizontal environment. They can be introduced
using the transformation (1). If there still are line seg-
ments left, they are unconnected to anything parsed.
5.6 Consistency check for buildings in object space
The general procedure given above for interpretation
of the input segmentation is to use a series of
moderately successful parsers and terminate the
procedure when a consistency check indicates an
acceptable object description. This approach rests on
the assumption that it probably is easier to design a
high quality consistency check than a well performing
parser. The consistency check is designed so as to
check all rules contained in a generic model. As a
consequence, this procedure is an interpretation
process. Substructures, in the form of 2-D regions in
object space, which have passed the consistency test,
are ascribed labels (wall, roof, etc).
As the parse to be checked usually will contain
inconsistencies which can be removed, the
consistency check should include procedures for such
removals. Examples are discontinuities due to
erroneous parses of individual line segments and also
missing lines which sometimes must be introduced in
order that the the 2-D regions in object space be plane.
5.7 Introduction of missing lines
Check that the mappings in object space of all parsed
region segments are planar. Denoting the points r, =
GGoyiZk), k=1,...,n in the associated closed polygon,
check that the following determinants are zero:
Xk yk zx 1
XU] £dd 4 :
Qn cul" 0; k=4.n
X9 1y3 73-4
Segments not satisfying this requirement are assumed
to be composed of several segments divided by line
segments missing in the segmentation. Subsegments
are produced and tested for planarity by introducing
line segments Ly; = (Ty, fj ), kz1, j23,...,n-1; kz2,...,n-2,
j=k+2,...,n. When a planar subsegment has been found
the line segment is introduced into object space. The
remaining subsegment is again tested for planarity,
continuing the procedure until no segment is left.
5.8 Interpretation
After checking that all polygons are closed and planar,
they are labelled walls, roofs, floors, windows, etc.
according to the properties of these subobjects as
specified by the generic model. This amounts to
checking surface orientation and neighbours.
* Starting with identifying all vertical region seg-
ments, these are checked for generating horizon-
tally connected structures. If unconnected vertical
boundaries exist, this is due to effects of perspective
giving rise to hidden regions. All region segments
participating in such structures are labelled walls.
* Sloping regions above walls are labelled roofs.
* Horizontal regions above walls are labelled floors,
below walls are labelled ground.
* Unclassified vertical regions located in the interior
of walls or roofs are interpreted as doors or
windows, depending on them sharing the bottom
line segment with the parent region or not.
5.9 Miscellaneous tests
Besides the rules given in the generic model, certain
criteria must be fulfilled due to the projection under
which the image was made. Also other tests can be
performed in order to ensure a correct parse. Examples
of such rules are that all line segments from the given
segmentation are visible, i.e. as seen from the sensor;
they cannot lie behind surfaces generated by other line
segments. Also no line segments can cut through
building surfaces of any kind.
5.10 The decision of acceptance
After running the consistency check on a given parse,
the final decision of accepting the parse or not has to
be made. Local failures can be accepted as well as local
errors, which are just removed. The kind of parsing
errors which should lead to rejection are global: e.g.
when the line segment parser chooses to start with a
line pointing at nadir and this line in fact is non-
vertical. Criteria for this and other fatal mistakes are
yet to come.
333