automatic generation of indoor navigable space … · automatic generation of indoor navigable...

8
AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE USING A POINT CLOUD AND ITS SCANNER TRAJECTORY B. R. Staats a , A. A. Diakit´ e b , R. L. Voˆ ute c,d , S. Zlatanova b, * a Master of Science Geomatics, Faculty of Architecture and the Built Environment, TU Delft, The Netherlands – [email protected] b 3D Geo-Informatie, Faculty of Architecture and the Built Environment, TU Delft, The Netherlands - (a.a.diakite, s.zlatanova)@tudelft.nl c Department of Urbanism, Faculty of Architecture and the Built Environment, TU Delft, The Netherlands - [email protected] d CGI Nederland BV, The Netherlands – [email protected] KEY WORDS: Navigation space, MLS, Floorplan, Indoor, Trajectory, Voxel, Dynamic objects, 3D laserscanning ABSTRACT: Automatic generation of indoor navigable models is mostly based on 2D floor plans. However, in many cases the floor plans are out of date. Buildings are not always built according to their blue prints, interiors might change after a few years because of modified walls and doors, and furniture may be repositioned to the user’s preferences. Therefore, new approaches for the quick recording of indoor environments should be investigated. This paper concentrates on laser scanning with a Mobile Laser Scanner (MLS) device. The MLS device stores a point cloud and its trajectory. If the MLS device is operated by a human, the trajectory contains information which can be used to distinguish different surfaces. In this paper a method is presented for the identification of walkable surfaces based on the analysis of the point cloud and the trajectory of the MLS scanner. This method consists of several steps. First, the point cloud is voxelized. Second, the trajectory is analysing and projecting to acquire seed voxels. Third, these seed voxels are generated into floor regions by the use of a region growing process. By identifying dynamic objects, doors and furniture, these floor regions can be modified so that each region represents a specific navigable space inside a building as a free navigable voxel space. By combining the point cloud and its corresponding trajectory, the walkable space can be identified for any type of building even if the interior is scanned during business hours. 1. INTRODUCTION Navigation from a room inside a building to a room inside another building across the street consists of three parts: a first indoor part in the building where you start your journey, an outdoor part and a second indoor part in the destination building (Thill et al., 2011). In the outdoor environment, a navigation aid is well implemented and used in all kinds of applications but a navigation aid inside a building is still lacking. This aid is not necessary in small, sim- ple buildings, but it is required in more complex ones like hos- pitals, airports, conference venues and large shopping malls. To aid visitors inside these buildings, an indoor navigation system is required. These systems exist of several elements like an indoor positioning system, an indoor navigable map, specific destina- tions (points of interest) and an appropriate guidance to follow the path (Brown et al., 2013, Boguslawski et al., 2016). An im- portant aspect is the creation of an indoor map that can be dis- played and used to plan possible routes throughout the building. Since the indoor environment is far more complex than the out- door environment, automating the generation of indoor maps is challenging and time consuming (Zlatanova et al., 2014, Diakit´ e and Zlatanova, 2016). Most research on automatic generation of indoor maps is focused at the available 2D floor plans and only a few of them use the complex 3D representations (Zlatanova et al., 2014). Using 2D floor plans has its limitations. First of all, the 2D maps are a simplification of the complex 3D environment which can lead to difficulties in representation. Secondly, the connectivity between different floor plans can be difficult (Zlatanova et al., 2014). Thirdly, the maps that are available do not always contain furniture and * Corresponding author most existing methods only focus on the reconstruction of the in- door space as an empty hull with less attention to obstacle detec- tion (D´ ıaz Vilari˜ no et al., 2016). At last, as discussed by Turner et al. (2015), most floor plans are out of date. Buildings are not always built according to their blue prints, interiors might change after a few years by modification of walls and doors and furniture may be repositioned to the users preferences. There- fore, new approaches for the efficient 3D recording of indoor en- vironments should be investigated. This paper concentrates on the automatic generation of indoor navigable space for pedestri- ans based on laser scanning with a Mobile Laser Scanner (MLS) device. These devices scan the environment continuously along a trajectory which makes them more time efficient than static ter- restrial laser scanners (Holenstein et al., 2011). The output of a MLS device is a point cloud. To aid pedestri- ans during their indoor navigation, features needed for path com- putation such as floors, stairs, walls and furniture objects, need to be extracted. Many other approaches are built on constraints, like a Manhattan World or a flat/planar/horizontal surface con- straint (Fichtner, 2016, Macher et al., 2016, Khoshelham and ıaz-Vilari˜ no, 2014, Anagnostopoulos et al., 2016, Budroni and Boehm, 2010). These constraints and limitations are not prob- lematic for a regular office building but they are in more complex environments, so a focus on a method with less or without con- straints is needed. If a building is scanned during business hours, or a building can- not be closed like hospitals or airports, the captured point cloud contains dynamic elements like pedestrians or small vehicles. These dynamic elements do not represent any type of building element like furniture and thus need to be identified and removed. Beside the point cloud, the MLS also stores the trajectory that the ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License. 393

Upload: vothu

Post on 12-Aug-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE USING A POINT CLOUDAND ITS SCANNER TRAJECTORY

B. R. Staatsa, A. A. Diakiteb, R. L. Voutec,d, S. Zlatanovab,∗

a Master of Science Geomatics, Faculty of Architecture and the Built Environment, TU Delft, The Netherlands – [email protected] 3D Geo-Informatie, Faculty of Architecture and the Built Environment, TU Delft, The Netherlands - (a.a.diakite, s.zlatanova)@tudelft.nl

c Department of Urbanism, Faculty of Architecture and the Built Environment, TU Delft, The Netherlands - [email protected] CGI Nederland BV, The Netherlands – [email protected]

KEY WORDS: Navigation space, MLS, Floorplan, Indoor, Trajectory, Voxel, Dynamic objects, 3D laser scanning

ABSTRACT:

Automatic generation of indoor navigable models is mostly based on 2D floor plans. However, in many cases the floor plans are out ofdate. Buildings are not always built according to their blue prints, interiors might change after a few years because of modified wallsand doors, and furniture may be repositioned to the user’s preferences. Therefore, new approaches for the quick recording of indoorenvironments should be investigated. This paper concentrates on laser scanning with a Mobile Laser Scanner (MLS) device. The MLSdevice stores a point cloud and its trajectory. If the MLS device is operated by a human, the trajectory contains information whichcan be used to distinguish different surfaces. In this paper a method is presented for the identification of walkable surfaces based onthe analysis of the point cloud and the trajectory of the MLS scanner. This method consists of several steps. First, the point cloudis voxelized. Second, the trajectory is analysing and projecting to acquire seed voxels. Third, these seed voxels are generated intofloor regions by the use of a region growing process. By identifying dynamic objects, doors and furniture, these floor regions can bemodified so that each region represents a specific navigable space inside a building as a free navigable voxel space. By combining thepoint cloud and its corresponding trajectory, the walkable space can be identified for any type of building even if the interior is scannedduring business hours.

1. INTRODUCTION

Navigation from a room inside a building to a room inside anotherbuilding across the street consists of three parts: a first indoor partin the building where you start your journey, an outdoor part and asecond indoor part in the destination building (Thill et al., 2011).In the outdoor environment, a navigation aid is well implementedand used in all kinds of applications but a navigation aid inside abuilding is still lacking. This aid is not necessary in small, sim-ple buildings, but it is required in more complex ones like hos-pitals, airports, conference venues and large shopping malls. Toaid visitors inside these buildings, an indoor navigation system isrequired. These systems exist of several elements like an indoorpositioning system, an indoor navigable map, specific destina-tions (points of interest) and an appropriate guidance to followthe path (Brown et al., 2013, Boguslawski et al., 2016). An im-portant aspect is the creation of an indoor map that can be dis-played and used to plan possible routes throughout the building.Since the indoor environment is far more complex than the out-door environment, automating the generation of indoor maps ischallenging and time consuming (Zlatanova et al., 2014, Diakiteand Zlatanova, 2016).

Most research on automatic generation of indoor maps is focusedat the available 2D floor plans and only a few of them use thecomplex 3D representations (Zlatanova et al., 2014). Using 2Dfloor plans has its limitations. First of all, the 2D maps are asimplification of the complex 3D environment which can lead todifficulties in representation. Secondly, the connectivity betweendifferent floor plans can be difficult (Zlatanova et al., 2014). Thirdly,the maps that are available do not always contain furniture and

∗Corresponding author

most existing methods only focus on the reconstruction of the in-door space as an empty hull with less attention to obstacle detec-tion (Dıaz Vilarino et al., 2016). At last, as discussed by Turneret al. (2015), most floor plans are out of date. Buildings arenot always built according to their blue prints, interiors mightchange after a few years by modification of walls and doors andfurniture may be repositioned to the users preferences. There-fore, new approaches for the efficient 3D recording of indoor en-vironments should be investigated. This paper concentrates onthe automatic generation of indoor navigable space for pedestri-ans based on laser scanning with a Mobile Laser Scanner (MLS)device. These devices scan the environment continuously alonga trajectory which makes them more time efficient than static ter-restrial laser scanners (Holenstein et al., 2011).

The output of a MLS device is a point cloud. To aid pedestri-ans during their indoor navigation, features needed for path com-putation such as floors, stairs, walls and furniture objects, needto be extracted. Many other approaches are built on constraints,like a Manhattan World or a flat/planar/horizontal surface con-straint (Fichtner, 2016, Macher et al., 2016, Khoshelham andDıaz-Vilarino, 2014, Anagnostopoulos et al., 2016, Budroni andBoehm, 2010). These constraints and limitations are not prob-lematic for a regular office building but they are in more complexenvironments, so a focus on a method with less or without con-straints is needed.

If a building is scanned during business hours, or a building can-not be closed like hospitals or airports, the captured point cloudcontains dynamic elements like pedestrians or small vehicles. Thesedynamic elements do not represent any type of building elementlike furniture and thus need to be identified and removed.

Beside the point cloud, the MLS also stores the trajectory that the

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

393

Page 2: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

MLS device took during the scanning procedure. If the MLS de-vice is operated by a human, the trajectory contains information,which can be used to distinguish between different surfaces. Thepoints, which are directly below the trajectory, indicate pedestrianwalkable areas (Yan et al., 2016, Li, 2014). The height differ-ence between neighbouring trajectory points can be used to detectstairs, slopes and flat surfaces. The trajectory also provides con-nection information and represents the complexity of the buildingwhen data is captured according to certain rules.

In this paper a method is presented for the identification of walk-able surfaces based on analysis of the point cloud in combinationwith the trajectory of the MLS scanner. The method consists oftwo stages: a surface reconstruction phase and a cleaning phase.By combining the point cloud and the trajectory, the walkablespaces can be identified for any type of room without any con-straints because the complexity of the building is already presentin the trajectory of the MLS.

2. RELATED WORK

An indoor navigable space can be defined as the free surfacesthat are used to navigate inside a building without bumping intoany obstacles. To identify the indoor navigable space, buildingsurfaces need to be constructed. The reconstruction of indoor en-vironments is researched a lot and different approaches exist. Inthis section, a few examples of different techniques in the field of3D reconstruction are discussed. How to filter humans and otherdynamic obstacles in point clouds has also been investigated. Ashort overview on the research in the detection of dynamic ob-jects in point clouds is also presented.

A common approach for surface reconstruction is the calculationof the normal of each point in the point cloud. By grouping thepoints with the same normals, smooth surfaces can be defined(Rabbani et al., 2006). Dıaz Vilarino et al. (2016) proposed amethod which segments a point cloud into regions based on thesenormals. A plane is fit to each region and these planar regionsare then intersected and classified as walls, ceilings and floorsbased on the tilt and the position regarding to the centre of theroom. The resulting unclassified points are marked as furniture.After classification of doors, obstacle aware navigation can beimplemented by combining the planar regions and the furniturepoints.

Budroni and Boehm (2010) developed a method to reconstructbuildings from point clouds by using plane sweeps. First, ceilingsand floors are found by horizontal plane sweeps. If the amount ofpoints inside a specific plane reaches a threshold, floors or ceil-ings are detected. The next step consists of a few vertical planesweeps at random locations. For each location histograms arecomputed by using the information of the vertical pane sweeps.These histograms are then combined which results in the main di-rection of walls in the entire building. The last step is cell decom-position of the entire space and extrusion of walls into the finalbuilding model. This method focusses on perpendicular, parallelwalls and flat surfaces (Budroni and Boehm, 2010).

A similar approach is introduced by Fichtner (2016). This methoduses an octree structure proposed by Broersen et al. (2016) tostructure the input point cloud into voxels. The use of a voxelmodel has several advantages. Firstly, the number of voxels ismuch smaller than the number of points which makes storage, re-trieval and processing far more efficient. Secondly, the voxel grid

possesses a spatial structure, which makes searching for neigh-bour voxels quick and easy (Vo et al., 2015, Suzuki et al., 2010).Since the voxelization is a generalization of the point cloud, therepresentativeness of the voxelized point cloud heavily dependson the voxel size. The method of Fichtner (2016) first replacesand rotates the entire point cloud so that the walls and floors inthe model are aligned with the x, y and z axis. After the vox-elization, the method continues by deriving histograms of the oc-cupied leaves (voxels) in the z direction. If a peak is detected,it indicates a possible floor. The next step consists of wall iden-tification by applying histograms in the x and y direction. Fur-thermore, stairs are detected using a filter based approach. Thismethod only works on Manhattan worlds and small floors cannotbe defined in larger point clouds.

The proposed method by Vo et al. (2015) combines the voxel ap-proach of Fichtner (2016) with the smoothness approach of Rab-bani et al. (2016) . In approach, the point cloud is structured in anoctree/voxel model. For the points in each voxel, the normals arecalculated. These voxels are then grouped according to the nor-mal classification. This method improves the speed and accuracyof the classification of the final result.

Turner et al. (2015) uses a ray tracing method through a voxelspace with an ambulatory scanning platform. If a laser beamcrosses through a voxel it is marked as an interior voxel. The finalvoxel is marked as a boundary voxel. By partitioning the voxelfaces in planar regions and representing these regions as a quadtree, a triangulation is performed. In this way, a building repre-sentation which contains furniture is created. A second modelwithout furniture is created based on a 2D floor plan. These floorplans are found by the creation of a histogram of the input pointcloud. As discussed earlier, the use of a histogram method limitsthe detection of small floor areas across the building.

The 3D reconstruction of the indoor free space is a complex prob-lem because of the variety of shapes of spaces and objects, ahigh level of dynamic objects like walking humans or small mov-ing vehicles, occlusions and cluttered surfaces. Therefore, mostof the 3D reconstruction approaches introduce assumptions likeManhattan worlds or planarity of surfaces and are avoiding the re-construction of furniture. Our approach concentrates on the spe-cific objects used for reconstruction which are of interest for thenavigation of humans: stairs, flat, sloped surfaces and furnitureobjects.

2.1 Detecting dynamic objects

Commonly, public buildings like hospitals or airports cannot beclosed during the data capture. Therefore, the generated pointcloud contains dynamic objects like people or small moving ve-hicles. These elements have effect on the final output and shouldbe filtered before further processing. The detection of movingobjects is largely investigated in robotics and mostly done usingspecific technologies like range scans, stereo cameras, monocularcameras and recently also with consumer RGB-D cameras.

However, identifying dynamic objects based on point clouds isnot yet extensively explored (Litomisky and Bhanu, 2013). Thedetection of dynamic elements is even more difficult because theyare only present on a specific position at a given time, whichmakes the dynamic elements long-drawn shadows in the final reg-istered point cloud (Jozsa, 2012).

The approach of Litomisky and Bhanu (2013) to detect dynamicobjects is based on splitting the point cloud into two data frames.

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

394

Page 3: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

These data frames should have a significant overlap and a timedifference. Large planes inside these data frames are subtracted,which is followed by the segmentation of the remaining points.The individually segmented clusters are then compared to theclusters of the other data frame and the dynamic elements canbe removed.

A different approach is presented by Holenstein et al. (2011).They also work with a ray tracing method to divide the entirespace in free and occupied voxels, just like Turner et al. (2015).By combining rays of multiple measurements, points from dy-namic objects are identified and removed. Ray tracing methodsare costly because of their computation time. As described byHolenstein et al. (2011), a point cloud of 5 million points with avoxel size of 5 centimetres took 8 hours and 45 minutes to pro-cess. Ray tracing methods are therefore not advised to use.The detection of dynamic elements in this paper is based on thenotion of Jozsa (2012). A dynamic object is only present on a spe-cific position at a given time. The SLAM algorithm that is usedto form the final output point cloud of the MLS devices givesa more reliable result when the data is captured in closed loops(GeoSLAM, 2016). This is why multiple rooms are scanned mul-tiple times. These different scanning times are split into differentdata frames as proposed by Litomisky and Bhanu (2013).

3. METHOD

The proposed method is based on the two datasets of the MLS de-vice that are simultaneously produced during the data acquisition:the trajectory and the point cloud, as can be seen in figure 1. Theproposed method starts with the voxelization of the point cloud.As described by Vo et al. (2015), voxelizing a point cloud has twoadvantages. Firstly, it introduces a spatial structure and secondly,it decreases the amount of data points which improves the pro-cessing speed. After the voxelization, dynamic objects that werepresent during the data capture are detected and removed. Thenext step consists of the classification of the trajectory into threetypes: stairs, flat and sloped surfaces. This is done by using dif-ferent angle parameters between the successive points. The cor-rectness of this classification depends on the changes in height ofthe MLS device during the data capture and therefore this clas-sification is only a first indication of the type of floor element.The analysed trajectory is then voxelized to the same voxel spaceas the voxelized point cloud. By projecting these trajectory vox-els on the voxelized point cloud, seed voxels are identified. Thenext step is the identification of doors. Doors form one of the twostopping criteria in the region growing process. This is importantbecause users will navigate to a specific room inside a buildingand not to multiple rooms at once. The seed voxels and identifieddoors are further processed by a region growing algorithm imple-mented in a PostgreSQL database to form floor regions in everyroom. It is assumed that all the remaining voxels above the floorregions represent furniture objects. To derive the navigable voxelspace inside a building, these furniture objects need to be markedas non-navigable spaces.

The last step consists of several checks of the identified navigablevoxel space. First, the classification into flat floors, stairs andslopes is checked by analysing the ordered seed points throughthe floor regions. Second, small gaps in the final navigable spaceare filled to form the final output data. These steps provide thefinal navigable voxel space.

The point cloud and trajectory are captured using a Zeb Revolaser scanner. The method is implemented using Python 2.7 and

PostgreSQL and tested on a DELL laptop running windows 7with an Intel(R) Core i7-6820HQ CPU at 2.70 GHz, 16.00 GBRAM and a 250 GB solid state disk (SSD).

Figure 1. Overview of the proposed methodology

4. IMPLEMENTATION

This section introduces the proposed methodology step by step.This methodology is split into two parts. The first part discussesthe reconstruction of navigable voxel space per room, classifiedas the three types: stairs, flat and sloped surfaces. The secondpart presents the different cleaning methods that are necessary toarrive at the final navigable voxel space. After these two steps,the final navigable voxel space is identified.

4.1 Surface reconstruction

The surface reconstruction process of the proposed method startswith the voxelization of the point cloud. Afterwards, the trajec-tory is analysed to identify stairs, flat and sloped surfaces. Next,seed voxels are identified and these seeds are region grow intofloor regions.

4.1.1 Voxelization: As discussed in chapter 2, the voxeliza-tion of a point cloud creates a spatial structure and reduces theamount of data points which increases the processing speed (Voet al., 2015). The voxelization is implemented using the octreemethod introduced by Broersen et al. (2016). The smallest octreeleaves are saved in the final voxel model. The size of this smallestleave depends on the amount of subdivisions of the octree struc-ture. The method of Broersen et al. (2016) automatically scalesand replaces the point cloud so that the entire point cloud fits to adimension array of 0 to 2 times the power of the number of sub-divisions. The point cloud is scaled until the smallest voxel has asize of 1. The voxel size of 1 is an integer value which is used forcalculation purposes. This value corresponds to a specific voxelsize in cm. If a smaller voxel size is required, the octree needs to

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

395

Page 4: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

be subdivided once more. The whole point cloud is translated sothat all the points are located in the quadrant where both x and yare positive. This method is scalable to any size of point cloudwith an almost linear increase of processing time (Broersen etal., 2016). The smallest none-empty octree leaves are stored in aPostgreSQL database.

The voxel size has a large influence on the representation of theindoor space and the final product. If a threshold below a doorneeds to be distinguished from the rest of the floor, the voxel sizeshould be very small. In this research the different risers of a stairneed to be identified and therefore, the voxel size can be bigger.According to the ISO 21542 (2011) standard, the risers of a stepof a stair should not be higher than 15 cm. If a riser of a stairand the voxel size are both 15 cm, a riser is represented by onevoxel. If noise is present before the step, a voxel is added andthe riser is instantly deformed. Since the risers should always beidentifiable, a smaller voxel size is needed. To identify risers of15 cm, a voxel size of 5 to 7, cm is chosen. Defining a specificvoxel size is currently not possible due to the automatic scalingof the point cloud as described above. This parameter can varywith respect to the type of stair.

4.1.2 Trajectory analysis: The classification of the trajectoryforms the basis of the following processing steps. The trajectoryis classified into three types of surfaces: stairs, flat and slopedsurfaces. In order to identify these different elements, the anglesbetween successive trajectory points are analysed. There are dif-ferent angle parameters for stairs and slopes and for each surfacetype there are a number of fixed successive points that fulfil theangle criteria as described in table 1. These values are derivedfrom numerous tests performed on the trajectories of differentpoint clouds. The classification of stairs and flat surfaces is visu-alised in figure 2.

Type Min. angle Max. angle Connectingin degree in degree elements

Stair 7,1 60 4Slope 2,3 18,4 2

Table 1. Thresholds for the trajectory analysis

Figure 2. Analysed trajectory in the point cloud: greenrepresents a flat surface and red represents a stair

4.1.3 Voxel model + seed voxels: The identification of seedvoxels is done by voxelizing the classified trajectory in the samespatial structure as the voxelized point cloud. Seed voxels are

identified by projecting the voxelized trajectory onto the vox-elized point cloud. The records of these seed voxels are updatedwith the notation of being a seed voxel combined with the trajec-tory type of: flat, stair, slope or mixed as illustrated in figure 3.The mixed class is introduced because one voxel of the voxelizedtrajectory can contain multiple types of points. If halve of thepoints in a voxel are classified as a stair and the other half as aflat, it is unclear what the voxel type should be. In that case thevoxel is marked as a mixed class.

Figure 3. Identified seed voxels in the voxelized point cloud:blue corresponds with a flat surface

4.1.4 Voxel model + seed voxels + identified doors: The des-tination of an indoor navigation activity is most of the time lo-cated inside a specific room in a building. Therefore, it is impor-tant to distinguish different rooms in the final output data model.Doors form the connecting elements between different rooms.When the doors are identified, these rooms can be split duringthe region growing process. The doors are detected by the heightdifference between the trajectory seed voxels and the ceiling. Adoor is found if there is a sudden drop in the distance between theseed voxels and the corresponding ceiling voxel. Furthermore,the distance to the right and left in the x and y plane, first needsto be big first, than small and then big again for a few voxels.Both criteria are calculated based on the trajectory seed voxels, bycomputing the distance to the ceiling or the left and right voxels.The identified doors are a stopping criteria in the region growingprocess.

4.1.5 Region grow seed voxels per room: The final stage isthe region growing process in which the floor regions will begenerated from the identified seed voxels. The region growingprocess is implemented in the PostgresSQL database using theST ClusterDBSCAN algorithm (PostgresSQL, 2017). This algo-rithm only processes 2D clusters in one x,y (or x, z) plane. There-fore, the x,y regions are obtained per unique seed voxel height.Only the regions that contain trajectory points are saved. The re-gion growing process is implemented to consider the eight neigh-bour adjacency of a seed voxel at one height value (so only on thex, y plane). There are two stopping criteria for the region grow-ing process. First, the region growing stops when a door voxel isreached. Second, voxels with 2 voxels above the possible regionvoxel are not added to the current region.

4.2 Cleaning

The cleaning consists of four steps. First, dynamic objects thatwere present during the data capture are detected and removed.

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

396

Page 5: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

Figure 4. Regions in the voxel model: green represents a slope,blue represents a flat surface and red represents a stair

Second, the classified types and generated surface regions will bechecked on their correctness. After this, small gaps in the floorregions are filled with new voxels. The final relates to the sub-traction of furniture from the floor regions. In this way, the finalnavigable voxel space, in which pedestrians can navigate with-out any obstructions, is realised. The following sections providefurther details on the individual steps.

4.2.1 Remove dynamic objects: The Zeb Revo, which is usedfor the data capture, uses a SLAM algorithm to register the differ-ent scans in one point cloud. Each point in the point cloud con-tains its original scanning time. A dynamic object is only presenton a specific position for a short amount of time. Therefore, thepoints that represent the pedestrian form a long-drawn shadow(Jozsa, 2012). Each voxel in the voxelized point cloud containsa different number of points. To detect the dynamic objects, thepoints inside a voxel are grouped by each second. If a voxel con-tains less than 2 scanning seconds, the voxel is marked as a dy-namic object and removed from the voxelized point cloud. Thisvalue is based on various tests. These tests showed that wholedynamic objects were removed when this value of 2 was used.Increasing this threshold resulted in the partly detection of dy-namic objects. When the parameter was increased parts of themodel that were not scanned thoroughly, like the borders of thepoint cloud, were also removed. To be able to keep the mostdata, this threshold needs to be as low as possible. Cleaning thevoxelized point cloud removes most dynamic objects in the voxelmodel, as can be seen in figure 5 and 6.

However, there is still some residual noise left, as illustrated infigure 6. This is caused by dynamic objects that were on the sameposition during the data capture. When a a dynamic object staysat the same position during the data capture, it is better repre-sented in the final point cloud. A better representation means thatmore points per voxel were captured. Therefore, these objects arenot detected by the described cleaning process.

4.2.2 Surface identification check: Sometimes elements arewrongly classified. The first riser and part of a slope can be de-fined as flat surfaces, see figure 4. The MLS device is held beforethe data gatherer. If a stair is entered, the scanner can alreadybe above the second riser before the data gatherer enters the firstriser. This results in a rise of the trajectory above the second riser.Based on the trajectory, this first riser cannot be detected. More-over, furniture objects can be marked as flat surfaces, see figure7. Furniture objects can be wrongly classified because the MLSis held above furniture objects during the data capture. If the

Figure 5. Uncleaned voxelmodel

Figure 6. Cleaned voxelmodel

trajectory is projected down on top of the voxelized point cloud,the furniture voxels are marked as seed voxels and region grownwhich turns them into floor regions.

To detect these wrongly classified elements, the change in heightof the identified seed voxels is checked. If there is a sudden heightchange which is larger than the ramp and stair parameters, whichare defined in table 1, it represents a wrongly classified elementwhich can be detected and corrected. If the change is smaller thanthe ramp and stair parameters, risers or the first part of the slopecan be detected.

Figure 7. Region grown surface containing furniture as a floor

4.2.3 Repair gaps in the voxel model: Due to the occlusionof dynamic objects, missing data or the removal of some voxelsduring the cleaning, described in section 4.2.1, gaps can emergein the floor regions. This is by ordering the individual floor re-gions and group them by the y-axis in the database. This way, thex-axis can be checked. If the distance between two following xpositions is less than two voxels, it represents a gap and will befilled with new voxels. This process is repeated for the y-axis.The filling distance of two voxels depends on the voxel size andthe filling requests of the operator. In this research this parameteris set manually but can be calculated in future developments.

4.2.4 Subtract furniture: The MLS device scans the wholeinterior of a room. Therefore, also points below furniture objectsare present. A navigable space is the space where a pedestriancan navigate without bumping into any obstacles. For this rea-son, the space below furniture objects needs to be marked as an

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

397

Page 6: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

unnavigable voxel space. After cleaning the dynamic voxels inthe voxelized point cloud, the resulting voxels above the floor areassumed to be furniture objects. Dynamic objects that were on thesame position during the data capture are for now also marked asfurniture objects. Such furniture objects will be removed fromthe floor regions to get the final navigable voxel space.

4.3 Final navigable voxel space

After the surface reconstruction and the cleaning, the final navi-gable voxel space is identified. The wrongly classified elementsare corrected see 8, as can be seen in the image, the navigablevoxels are removed from the green slope where residual dynamicobjects were present, see figure 6. Further research is needed todetect these residual dynamic objects and to prevent that theseobjects are removed from the navigable space. Furthermore, thewrongly classified furniture elements should be removed.

Figure 8. The regions of figure 4 (above) and the final navigablevoxel space (below)

If the m2 of the modelled final navigable voxel space is comparedto the actual m2 in the real world situation, the m2 accuracy canbe computed. The m2 of the model is calculated based on theamount of floor voxels of its floor region. The m2 of the realworld situation is measured in a from furniture cleaned computeraided design (CAD) drawing of the same space. This is done fortwo different spaces in the indoor environment: a corridor and apart of the first floor. The results are illustrated in table 2. Thedifference between these two models is around 10%.

Checking type Hallway First floor Orange rockin m2 in m2

CAD model 74.0 68.07.3 cm voxel model 67.7 61.3Difference between CAD -8.5 % -9.9 %and 7.3 cm

Table 2. Area of the CAD model and the identified floor spaceswith an voxel size of 7.3 and 3.7 cm

5. DISCUSSION

The performed tests have clearly illustrated that by combiningthe trajectory with the point cloud of the MLS important infor-mation can be derived to identify surfaces for navigation and that

dynamic objects can be removed. It should be noted that in thisimplementation the voxel size depends on the number of subdi-visions of the octree, as described in section 4.1.1. Therefore,each point cloud will have a different voxel size. Before pointclouds of the same environment can be compared, they need tobe rescaled to their original sizes. It would be useful to ask theoperator for the preferred voxel size.

Furthermore, it is currently only possible to detect objects whichmoved during the data capture. Dynamic objects which remainedstatic at the same position during the data capture cannot be dis-tinguished yet. An example of such objects are humans waiting inqueue near the coffee machine. Therefore, such objects are clas-sified as furniture elements and removed from the final navigablevoxel space. It is also possible that a room is scanned multipletimes, see figure 9. If a dynamic voxel contains a dynamic objectboth times, the voxel contains points from both scanning times.In this case, the voxel contains more than two scan seconds andis therefore marked as static. To solve this problem, the individ-ual points inside a voxel should be split into different time zones.The points are in a different time zone when the time differenceof successive points is more than for example twenty seconds. Inthis case, each time zone inside the voxel needs to be checkedagain for the detection of these dynamic elements.

Figure 9. Multiple scanning times: orange is scan time one andgreen is scan time two

The classification of a stair, flat and sloped surface type is basedon the trajectory analysis described in section 4.1.2 combinedwith the surface identification check described in 4.2.2. If thetrajectory voxels with the seed voxels are compared, the x andy location are the same which results in a 2D image illustratedin figure 10. The z-value of the trajectory voxels is based onthe original changes in height of the MLS device during the datacapture (red line), whereas the z of the seed voxels (blue line) isbased on the actual geometry of the point cloud itself. The greenbox in figure 10 is actually a small stair. The exact start and endpoint are not clearly identifiable in the trajectory voxels but theyare identifiable in the seed voxels below. Furthermore, the greenline shows that the trajectory rises later on a stair than the seedvoxels do which results in the wrong classification of stair risersor slope parts. Therefore, the surface identification check is im-plemented. This requires a specific amount of processing timetwice to get the right classification. If the classification is directlybased on the seed voxel themselves, the classification and check-ing is done at once which is probably quicker than the currentlyimplemented method.

The identification of doors is also based on the trajectory of themobile laser scanner. In the currently implemented method, doors

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

398

Page 7: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

Figure 10. Trajectory voxels are represented in red, seed voxelsare represented in blue per trajectory ID. The black linerepresents a split in the data for visualization purposes

can only be found when there is enough distance between the topof the door and the ceiling, is not yet implemented in an automaticway and doors can only be crossed during the data capture.

The region growing process is implemented in the PostgresSQLdatabase using the ST ClusterDBSCAN algorithm. This algo-rithm is quite fast and works fine for the voxelized point cloudbecause there is always one specific z-value for each floor region.The clustering algorithm only clusters the voxels of one z-valueinto regions. Therefore, the voxels that apply to the two stop-ping criteria need to be subtracted from the floor voxels beforethe clustering begins. Section 4.1.5 described the two stoppingcriteria: the first consists of the doors, which form the boundaryof a room and the second consists of the subtraction of a voxel ifit has 2 voxels above. In some cases, it is possible that these 2voxels do not exist in the model but do exist in reality, for exam-ple in the case of a railing or a door of glass. In these cases, thestopping criteria is not applied and the region growing can con-tinue underneath the railing or outside of a building or a room.This results in a over-estimation of the available navigable voxelspace and the possibly merging of different rooms.

The cleaning parameter of less than 2 scanning seconds, as de-scribed in 4.2.1, is chosen after multiple tests. This parameterworks for a 5 to 7.5 cm voxels but needs to be changed if asmaller or larger voxel size is chosen. If a smaller voxel sizeis used, a voxel contains less points which probably results in asmaller cleaning parameter. If the voxel size increases, the vox-els contain more points which means that the cleaning parameterprobably needs to be increased as well.

The processing time of the implemented method is illustrated infigure 11. When the amount of points is doubled, the processingtime approximately doubles as well. As can be seen, the vox-elization time represents more than half of the total processingtime. The current method is tested on point clouds of 4, 8 and16 million points. Future tests should be conducted with largerclouds. It is not suspected that this will cause any type of problemin the current implementation.

The indoor environment is highly cluttered with all kinds of fur-niture. If a good representation of the navigable voxel space isrequired, occluded areas behind chairs or tables also need to bescanned. If these spaces are not scanned, the navigable space

Figure 11. Processing time: blue is the total amount of time andred is the time which was necessary for the voxelization

cannot be detected behind these objects. This results in a loweramount of navigable space in the final model than it is in reality.

As discussed in 4.2.3, gaps in the floor regions are filled with newvoxels if a gap is 2 voxels or smaller in length. This can lead todifficulties with boarding’s of stairs because the space between aboarding and a risers can be filled up. In this case, the cornersof the risers are not straight but rounded. A possible solution ofthis problem is to cross-check the repaired gaps with the originalvoxelized point cloud. If a match is found, the voxel is restoredand otherwise it represents new data and can cause problems asdescribed above. This can result in an over representation of thefinal navigable voxel space.

The difference in m2 between the real world situation and the out-put of the model is around 10 %, as discussed in 4.3. This value isonly based on two test cases of a floor region. To check its valid-ity, more tests with different environments should be conducted.

Currently it is not possible to process different point clouds whichhave the same voxel size. As mentioned above, the voxel sizecannot be controlled because it depends on the amount of sub-divisions of the octree and the automatically scaling of the pointcloud introduced by Broersen et al. (2016).

6. FUTURE WORK

This paper proposed a method to identify floors, stairs, slopesand furniture objects based on the point cloud and the trajectoryof a MLS device. Future research could be done concerning thefollowing topics:

1. Identification of walls: A stopping criteria during the regiongrowing process is to stop adding voxels when 2 voxels directlyabove a voxel exist. This gives an indication for the location ofpossible walls. If the total number of voxels above the currentvoxel are counted until a specific height, it results in a heat mapof the indoor space. By detecting linear elements, walls can beidentified. A different approach for the detection of walls is byslicing the different rooms close to the ceiling in the x, y plane.2. Identify furniture objects: All the resulting voxels above thefloor regions are now marked as furniture objects. These voxelsare just subtracted from the end result. It would be better to groupthese features and identify the type of furniture which is present.

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

399

Page 8: AUTOMATIC GENERATION OF INDOOR NAVIGABLE SPACE … · Automatic generation of indoor navigable models is mostly based ... the automatic generation of indoor navigable space ... ans

A chair for example, can be located in the middle of the room butbecause it is more dynamic than a table it could also be replaced.This way, the furniture types and the usage of the space can bedescribed in more detail.3. Identification of dynamic objects, which do not move duringthe scanning: As discussed in section 5, static dynamic objectsare now marked as furniture. Future research should be done onthe identification and the removal of these elements from the vox-elized point cloud since they can block a path which is normallyavailable and thus should be included in the final result.4. Generation of a node network: Navigation applications aremostly based on node networks. With the identification of doors,stairs, flat and sloped surfaces, such a network can be generated.It would be useful to extend this method with the automatic gen-eration of navigation networks in a standard like IndoorGML.

7. CONCLUSION

The proposed method efficiently identifies three different kindsof navigable voxel spaces based on the trajectory and the pointcloud of a MLS device. This method makes it possible to create acontinuous navigable space in buildings including several floors,stairs and elevations. Data can be captured during business hourssince the method detects and removes dynamic objects. The pro-posed method can be used for any type of room without any con-straints because the complexity of the building is already presentin the trajectory of the MLS.

ACKNOWLEDGEMENTS

This work has been supported by the Dutch project STW/M4S13742 ‘Smart 3D indoor models to support crisis management inlarge public buildings’ (www.sims3d.net)

REFERENCES

Anagnostopoulos, I., Patraucean, V., Brilakis, I. and Vela, P.,2016. Detection of walls, floors, and ceilings in point cloud data.Construction Research Congress.

Boguslawski, P., Mahdjoubi, L., Zverovich, V. and Fadli, F.,2016. Automated construction of variable density navigable net-works in a 3d indoor environment for emergency response. Au-tomation in Construction 72(Part 2), pp. 115–128.

Broersen, T., Fichtner, F. W., Heeres, E. J., Liefde, I. d., Ro-denberg, O. B. P. M., Verbree, E. and Voute, R., 2016. Using alinear octree to identify empty space in indoor point clouds for3d pathfinding. In: 19th AGILE Conference on Geographic In-formation Science.

Brown, G., Nagel, C., Zlatanova, S. and Kolbe, T. H., 2013.Modelling 3D Topographic Space Against Indoor NavigationRequirements. Springer Berlin Heidelberg, Berlin, Heidelberg,pp. 1–22.

Budroni, A. and Boehm, J., 2010. Automated 3d reconstructionof interiors from point clouds. International Journal of Architec-tural Computing 8(1), pp. 55–73.

Diakite, A. A. and Zlatanova, S., 2016. Valid space descriptionin bim for 3d indoor navigation. International Journal of 3-DInformation Modeling (IJ3DIM) 5(3), pp. 1–17.

Dıaz Vilarino, L., Boguslawski, P., Khoshelham, K., Lorenzo, H.and Mahdjoubi, L., 2016. Indoor navigation from point clouds:3d modelling and obstacle detection. Vol. XLI-B4, The Inter-national Archives of the Photogrammetry, Remote Sensing andSpatial Information Sciences.

Fichtner, F. W., 2016. Semantic enrichment of a point cloud basedon an octree for multi-storey pathfinding. Master’s thesis, DelftUniversity of Technology.

GeoSLAM, 2016. Zeb-revo user’s manual v1.0.2.

Holenstein, C., Zlot, R. and Bosse, M., 2011. Watertight sur-face reconstruction of caves from 3d laser data. In: 2011IEEE/RSJ International Conference on Intelligent Robots andSystems, pp. 3830–3837.

ISO 21542, 2011. Iso/fdis 21542: Building construction – acces-sibility and usability of the built environment. ISO.

Jozsa, O., 2012. Analysis of 3d dynamic urban scenes based onlidar point cloud sequences. Master’s thesis, Budapest Universityof Technology and Economics.

Khoshelham, K. and Dıaz-Vilarino, L., 2014. 3d modelling ofinterior spaces: Learning the language of indoor architecture. TheInternational Archives of the Photogrammetry, Remote Sensingand Spatial Information Sciences.

Li, G., 2014. Automatic detection of temporary objects in mobilelidar point clouds. Master’s thesis, University of Twente.

Litomisky, K. and Bhanu, B., 2013. Removing Moving Objectsfrom Point Cloud Scenes. Springer Berlin Heidelberg, Berlin,Heidelberg, pp. 50–58.

Macher, H., Landes, T. and Grussenmeyer, P., 2016. Validationof point clouds segmentation algorithms through their applicationto several case studies for indoor building modelling. The Inter-national Archives of the Photogrammetry, Remote Sensing andSpatial Information Sciences.

PostgresSQL, 2017. 8.9. spatial relationships and mea-surements. http : //postgis.net/docs/manual −dev/STC lusterDBSCAN.html (7 April 2017).

Rabbani, T., Van Den Heuvel, F. and Vosselmann, G., 2006. Seg-mentation of point clouds using smoothness constraint. Interna-tional Archives of Photogrammetry, Remote Sensing and SpatialInformation Sciences 36(5), pp. 248–253.

Suzuki, T., Kitamura, M., Amano, Y. and Hashizume, T., 2010.6-dof localization for a mobile robot using outdoor 3d voxelmaps. In: 2010 IEEE/RSJ International Conference on Intelli-gent Robots and Systems, pp. 5737–5743.

Thill, J.-C., Dao, T. H. D. and Zhou, Y., 2011. Traveling in thethree-dimensional city: applications in route planning, accessibil-ity assessment, location analysis and beyond. Journal of Trans-port Geography 19(3), pp. 405–421.

Turner, E., Cheng, P. and Zakhor, A., 2015. Fast, automated,scalable generation of textured 3d models of indoor environ-ments. IEEE JOURNAL OF SELECTED TOPICS IN SIGNALPROCESSING 9(3), pp. 409–421.

Vo, A.-V., Truong-Hong, L., Laefer, D. F. and Bertolotto, M.,2015. Octree-based region growing for point cloud segmenta-tion. ISPRS Journal of Photogrammetry and Remote Sensing 104,pp. 88–100.

Yan, L., Liu, H., Tan, J., Li, Z., Xie, H. and Chen, C., 2016.Scan line based road marking extraction from mobile lidar pointclouds. Sensors 16(6), pp. 903.

Zlatanova, S., Liu, L., Sithole, G., Zhao, J. and Mortari, F., 2014.Space subdivision for indoor applications. Delft University ofTechnology, OTB Research Institute for the Built Environment.

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume IV-2/W4, 2017 ISPRS Geospatial Week 2017, 18–22 September 2017, Wuhan, China

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. https://doi.org/10.5194/isprs-annals-IV-2-W4-393-2017 | © Authors 2017. CC BY 4.0 License.

400