Model reconstruction
Eventually we reconstruct the 3D polyhedra from the detected
room clusters. First of all, the boundary edges of each cluster are
extracted, merging adjacent edges that are collinear. Then, the full
3D extent of the walls is recovered. We could simply extrude the
2D boundary edges vertically, but we choose a different approach
based on robust statistics to obtain a more accurate estimation of
the wall parameters.
For each edge in the boundary of a cluster, we access the projected
candidate walls Ck associated to the edge (see Section 5.1) and we
select the points of the corresponding 3D patches. A robust plane
fitting algorithm is then applied to these points to extract the final wall
planes. We use Iteratively Re-weighted Least Squares (IRLS) [4] instead
of the Least Median of Squares (LMS) algorithm, which has been
previously used for plane fitting [3]. Like LMS, IRLS is known to be
robust with respect to outliers, but is much faster to compute
(between 11 and 18 in our experiments, see Table 2). The IRLS
method consists in solving a sequence of weighted least squares
problems until convergence; robustness is achieved by using a suitable
weight function, chosen so that outliers (which correspond to large
residuals) have a reduced influence in the estimation. In our experiments, we used the function wðxÞ ¼ 1=jxj as weight function for the
IRLS, which corresponds to minimizing the L1 norm of the residuals.
As shown by the error plots in Fig. 11, the two methods achieve a
comparable accuracy.
We use a similar fitting procedure for reconstructing the floor and
ceiling planes. Since we assume that floor and ceiling are planar and
orthogonal to the up-vector, we find during the patches extraction the
two horizontal patches Pfloor and Pceil with respectively minimum and
maximum z values (Section 4.1). To increase the accuracy and
robustness of the estimation, we employ the following strategy to fit
the final planes. Given Pfloor (respectively Pceil), we take the horizontal
patches whose distance from Pfloor (and Pceil) is less than a threshold
and use their points as support set for an IRLS fit. Note that throughout
this process for practical purposes we only consider patches with a
diagonal larger than 50 cm.
The polygons of the final polyhedra are obtained by intersecting pairs of adjacent wall planes with the floor and ceiling planes.
An example of the complete room polyhedra resulting from a
given segmentation can also be seen in Fig. 2(d).