However, one can use the approaches without the a-
priori model (Pollefeys, et al., 2000). They are
usually not robust enough and unreliable due to the
complexity of the scenes and the fragility of the
vision techniques.
In this paper we propose an algorithm that
estimates the floor-plan and reconstructs a 3D model
of the room from a panoramic image with only
minor user assistance. Furthermore, the original
camera position is estimated for further applications
(Farin, et al., 2007). This algorithm does not require
a full geometric model of the scene. As a matter of
fact, it generates the floor-plan using only the user’s
corner-marks in the panorama. Compared to (Farin,
et al., 2007; Shum, et al., 1998) our algorithm
requires less external user intervention and usage of
priori-knowledge about the scene. In addition, the
necessary user intervention is less complicated.
The rest of the paper is organized as follows.
Section 2 gives a general overview on the creation of
panoramic images. Section 3 describes the floor plan
reconstruction technique along with the required
user assistance. In Section 4 we present the method
for estimation of the camera location. The
experimental results are shown in Section 5 and
conclusions are drawn in Section 6.
2 PANORAMA CREATION
To create a 360
o
panoramic image without special
equipment one should take a series of overlapping
still images in all directions and then stitch them
together into a single image. Simply appending the
images usually creates ghosting in the resulting
image because the same object in different images
can be seen from different perspectives. To prevent
this, all the images are projected onto a single plane
(Brown and Lowe, 2007). For indoor environments
this is not good enough because the objects in the
image are relatively close to the camera. In such
cases a cylinder is used instead of a plane.
Unfortunately, this creates an additional distortion in
the panoramic image, long horizontal lines are
transformed into curves as can be seen in Figure 1.
3 FLOOR-PLAN
RECONSTRUCTION
Before presenting the proposed technique we
describe several assumptions. First, we assume that
the panoramic image is taken from a single location
(rotation only, without translation). Second, all the
room’s corners are visible on a single panoramic
image. Third, the walls of the room are planar and
perpendicular to each other. Forth, the ceiling should
be at the same height in the whole room. These
conditions are met in most of the spaces and can be
approximated to, in the others.
Under the assumptions above, a floor-plan can
be described as a planar polygon with corners of 90
o
(outward pointing, convex) or 270
o
(inward
pointing, concave). Such a polygon can be built
based only on the lengths of the edges and the
orientation of the corners. If we assume that we have
all the corners marked from the floor to the ceiling
in the panoramic image we can automatically obtain
these parameters. Corners that are close to the
camera look higher than distant ones. The
orientation of the corner can be determined by
comparing its vertical size to the neighbors'. The
length of a wall is estimated using the difference in
height of its two corners.
3.1 User Interaction
As opposed to a computer, it is easy for the human
eye to differ between wall corners and windows or
furniture. Thus the user is asked to mark each corner
of the room in the panoramic image with a line that
starts at the junction of the corner with the ceiling
and ends at the floor.
Because of the distortion created by the
projection onto a cylinder some walls usually appear
curved. For such cases, the user is asked to mark
vertical lines along the curved wall. These lines are
treated as flat (180
o
) corners. The number of such
flat corners is determined by the user so that the
curved wall is divided into relatively flat sections. It
is to be noted that the order of marking the corners is
unimportant. Also, the described technique
determines automatically whether the corner is
inward (convex), outward (concave) or flat.
3.2 Wall Length Estimation
At the first step of our algorithm we calculate the
lengths of all the walls. A rectangular wall that is
viewed from an angle will appear trapezoidal due to
the projection onto the image plane. The original
length of a wall can be calculated from the form of
that trapezoid by using the projection matrix
(Szeliski, 2010). This matrix describes the relation
between the 3D scene coordinates and the pixel
coordinates in the panoramic image:
VISAPP 2012 - International Conference on Computer Vision Theory and Applications
346