GEOMETRICAL NETWORK MODEL GENERATION USING POINT CLOUD DATA FOR INDOOR NAVIGATION

Three-dimensional indoor navigation requires various functions, such as the shortest path retrieval, obstacle avoidance, and secure path retrieval, for optimal path finding using a geometrical network model. Although the geometrical network model can be prepared manually, the model should be automatically generated using images and point clouds to represent changing indoor environments. Thus, we propose a methodology for generating a geometrical network model for indoor navigation using point clouds through object classification, navigable area estimation, and navigable path estimation. Our proposed methodology was evaluated through experiments using the benchmark of the International Society for Photogrammetry and Remote Sensing for indoor modeling. In our experiments, we confirmed that our methodology can generate a geometrical network model automatically.


INTRODUCTION
A combination of positioning, mapping, and navigation is essential for achieving location-based services (LBS) in indoor environments, which are required because satellite-based positioning is not available indoors.The various positioning systems in indoor positioning use Wi-Fi (Liu et al. 2012), radiofrequency identification (Athalye et al. 2015), Bluetooth (Ahmed et al. 2014), indoor messaging systems (Manandhar et al. 2008), near-infrared, ultra-sonic, visible light, etc.In addition, pedestrian dead reckoning (Groves, 2008) is proposed as an approach to assist indoor positioning systems.These indoor positioning techniques are required to satisfy positioning accuracy, availability, continuity, and cost.In three-dimensional (3D) model generation in indoor mapping, there are various approaches, such as 3D modeling using building drawings, 3D model generation from point clouds using a terrestrial laser scanner and mobile laser scanning systems with a simultaneous localization and mapping algorithm (Nakagawa et al. 2014), 3D model generation from point clouds using a time-of-flight area scanner (Henry et al. 2012), and 3D texture model generation based on structure from motion, multi-view stereo, and photogrammetry (Teo, 2015).In all these approaches, there are technical issues to be discussed, such as the 3D measurement accuracy, model generation accuracy, processing speed and processing cost.In indoor navigation, there are various approaches and methodologies related to the shortest path retrieval, optimized path finding, spatial subdivision, and navigation model generation (Zlatanova et al. 2013).The representative application of navigation in an outdoor environment is the shortest path retrieval from a current position to a destination based on Dijkstra's algorithm.In the shortest path retrieval, alternative routes can be selected with factors, such as transportation modes and route conditions.The shortest path retrieval is applied to indoor as well as outdoor navigation.However, indoor navigation differs from outdoor navigation in some respects.The first point concerns the navigation route distance.An indoor navigation route is shorter than an outdoor navigation route.The shortest route has a lower priority than other objectives in indoor navigation.In indoor navigation, stray risk decrease and obstacle avoidance are more important than shortest path finding, as these require multi-path suggestions and optimized path selection.For example, locked doors are rejected from navigation nodes, and elevators are excluded from evacuation navigation nodes.Moreover, indoor navigation users include not only pedestrians, but also autonomous robots and drones.It is not easy to connect discrete distributed landmarks (points around paths) and waypoints (points along a path) to achieve avoidance of obstacles, such as tables, furniture, and other pedestrians, in indoor environments.Thus, the generation and preparation of higher landmarks and waypoints are needed to supplement the data in closed sensing.An optimized path in indoor environments can be determined with these requirements.Optimized path finding requires navigation modeling and spatial subdivision.The navigation model is a structured geometrical model, such as polylines, polygons, grids, and, voxels, with semantics.There are three basic navigation models: a network model represented by vector data, a grid model represented by a cell space, and a potential field model represented by attractive and repulsive forces.In addition, in navigation model generation, a geometrical model is subdivided into a quadtree and an octree to improve the spatial retrieval speed and to compress navigation data.A navigation model can be easily generated in manual mode.However, it is not easy to achieve representation of changing objects in manual editing of a navigation model.In indoor mapping, conventional studies have examined object extraction and classification from point clouds acquired in indoor environments, such as semantic segmentation with convolutional neural network (Babacan et al. 2017), and extraction and relationship reconstruction of elements such as walls and stairs with machine learning (Zeng et al. 2017).These studies include indoor mapping with point cloud segmentation, segmented point cloud classification, and network modeling from point clouds to achieve indoor navigation.In indoor navigation, there are mainly two approaches to find a path using measured point clouds.The first approach is A* algorithm-based path finding between two points through empty voxels (Rodenberg et al. 2016).Although the processing cost is high, voxel data processing can be applied for various users such as pedestrians and drones.However, when a quadtree and an octree are applied to voxel processing, based on the restriction that indoor space consists of hexahedrons, the input point clouds should be rotated and translated to suit each hexahedron surface to the x, y, and z axes.Moreover, in path planning based on the Voronoi Diagram (Díaz-Vilariño et al. 2016), a navigable model from a door to a destination such as a chair is reconstructed in a meeting room.These studies are based on the shortest path-planning approaches between the current location to a destination with obstacle avoidance in a local space.However, when the optimized path is determined in a wider indoor space, multi-path preparation is required on the geometrical network model.Therefore, we propose a methodology to generate a geometrical network model using point clouds for indoor navigation.We evaluated our methodology using the benchmark set by the International Society for Photogrammetry and Remote Sensing (ISPRS) for indoor modelling that consists of five-point cloud datasets (Khoshelham et al. 2017).

METHODOLOGY
The proposed methodology is shown in Figure 1.First, point clouds containing a floor are cut out from the acquired point clouds including multi-stories.Next, object extraction and classification are applied to the point clouds.Point clouds are projected onto the horizontal grid data to generate a digital surface model (DSM) and accumulated point count map.The point clouds are then classified into floors, walls including doors, objects excluding floors and walls (tables, chairs, furniture, foliage plants, etc.) using height values and the number of point clouds in each grid.Then, walkable paths are estimated using the object classification results to generate a geometrical network model.These steps are executed on a multilayered model that consists of layers of the DSM, accumulated point cloud map, floor map, wall map, other object maps (objects excluding floors and walls), as well as the walkable region and path maps, and the geometrical network model.

Point Cloud Clipping
In point cloud clipping, a floor of point clouds is clipped from the acquired point clouds, based on the floor section map shown in Figure 2. Point clouds are extracted from the height under floors to a height including pedestrian heads.The height under the floors is determined from the minimum height of a floor including the slopes and measurement accuracy in point cloud acquisition.The height including pedestrian heads was assumed to be 2 m from the floor.Ceilings and hanging objects, such as illuminators and projectors, are located at a height higher than pedestrian heads.Moreover, height differences in ceiling spaces were assumed to have no effect on walkable spaces.Based on these concepts, objects around ceilings were excluded from our object extraction.First, point clouds were projected onto grid data prepared on a horizontal plane with an arbitrary resolution, as shown in steps 1 and 2 in Figure 3. Next, the DSM and the accumulated point count map were generated (Figure 4).The upper image in Figure 4 shows a section of the measured point clouds.The horizontal axis indicates a section direction, and the vertical axis indicates height values.The center image in Figure 4 shows a section of the accumulated point count map.The horizontal axis indicates a section direction, and the vertical axis indicates the number of accumulated point clouds in each grid.The bottom image in Figure 4 shows a section of the DSM.The horizontal axis indicates a section direction, and the vertical axis indicates the height value of the highest point in each grid.Point clouds classified as floors include many missing areas, because there are laser scanning shadows and occlusions caused by a laser scanner and objects, such as tables and chairs.Although floors with slopes can be extracted from point clouds with region segmentation-based approaches (Kawashima et al. 2014), a technical issue remains for floor extraction when point clouds include missing areas.Therefore, interpolation processing was applied for the missing areas in point clouds with outline extraction and filling holes, as shown in steps 2 to 4 in Figure 4. First, outlines assumed as walls were extracted from point clouds, based on the precondition that the wall point clouds were sufficiently acquired.Next, the inside of the outline was filled on the assumption that floors were surrounded by walls.Through these steps, missing areas on floors were interpolated.

Walkable Path Estimation and Geometrical Network Model Generation
A walkable region map is a binary raster map to represent a walkable region (Figure 2) on a floor map generated after the object classification step.Walkable regions are estimated with template scanning on the floor map with a circle template.The size of the circle template is determined by the size of a pedestrian.When a region has no objects excluding floors in the circle template, the region is assumed to be walkable region.Although stairs, elevators, and escalators can be classified as walkable regions, in this work, these objects were excluded from our modeling because there were no obstacles in these spaces.We propose a methodology for determining positions for point cloud rendering to generate polygon data from point clouds acquired in indoor environments (Nakagawa et al. 2015).In this approach, rasterization and morphological thinning processing are applied to extracted point clouds on floors from random point clouds.Then, positions for the point cloud rendering are determined with intersection extraction from lines generated after the morphological thinning processing.This approach was applied to a walkable path map generation using a walkable region map.The proposed conventional approach could estimate raster-formatted nodes for positions in point cloud rendering.These nodes are used as nodes of a walkable path.Moreover, results that excluded nodes after thinning processing were used as raster-formatted links in a walkable path (Figure 5).It is not easy to represent relative positions among objects in a raster format.Thus, the walkable path is vectorized from the raster format to generate a geometrical network model.The geometrical network model is a network model used to represent relative positions among objects with geometrical information.The proposed methodology could automatically add distance values to each link through data format transformation from raster data to vector data.Thus, the generated geometrical network model can be applied to optimized path finding, such as shortest path retrieval, obstacle avoidance, and multi-path planning.The path-planning sample from node A to node D shown in Figure 5 can be represented as shown in Figure 6. Figure 6.Sample of path finding represented with a tree map

EXPERIMENTS
We conducted experiments using ISPRS benchmark datasets to evaluate out methodology.The ISPRS benchmark is a set of five-point cloud datasets prepared for researchers by work group (WG) IV/5 (Indoor/Outdoor Seamless Modelling, LBS and Mobility) at the International Society for Photogrammetry and Remote Sensing in 2017.The benchmark consists of point clouds with ASCII format acquired with handheld laser scanners, terrestrial laser scanners, and backpack laser scanners in indoor environments, as shown in Table 1.Each dataset includes various indoor objects, such as floors, walls, ceilings, pedestrians, tables, chairs, furniture, foliage plants, and illuminators.Each dataset also includes many missing areas in laser scanning.The point clouds acquired with the handheld and backpack laser scanners were supplemented with trajectory data in the measurement.We applied our methodology to all datasets with the same parameters.In point cloud clipping, we used a height from 0.1 m lower than real floors and 2.6 m above real floors as walkable space (Figure 7).In point cloud rasterization, the spatial resolution was set as 0.05 m.In object classification, existing objects with a height of less than 0.3 m from real floors were assumed as floors.Objects with the number of accumulated point clouds of less than 6 points were assumed as walls.The remaining objects were assumed as "other objects."These parameters were determined manually to classify objects clearly.

RESULTS AND DISCUSSION
The proposed methodology was applied to all five datasets to classify objects, such as floors, walls, and others as well as for walkable path estimation.The object classification and walkable path estimation results are shown in Figure 8 (results from case study 3 are shown in Figure 11).2. We also confirmed that the processing time for object classification and path estimation was approximately proportional to the floor space.Moreover, we confirmed that our methodology could classify objects and estimate the walkable path in the same way as conventional approaches.However, when the point clouds included pedestrian noises, measurement noises, and parts with nonuniform density, the path estimation result differed from the real paths (i.e. the path estimation result became unstable).Therefore, we conducted an additional experiment to verify whether pedestrian noise filtering can improve our results.Pedestrian noises can be filtered with subtraction processing using temporal point clouds.
However, when we use a point cloud acquired in a period, it is not easy to classify small objects, such as pedestrians, tables, chairs, and foliage plants, from point clouds.Therefore, we focused on case study 3, which had the most measurement noises.We prepared a filtered point cloud in manual mode (Figure 9), and used it to verify the improvement in our methodology.Figure 12 shows that the proposed methodology could recognize a closed door as a wall.However, in geometrical network modeling, links would be connected from a node in front of a door to another node behind the door.Although it is easy to connect the link in manual mode, an automated link connection would be useful.Moreover, other technical issues involve node connection between multi-stories, node connection between nodes in indoor and outdoor environments, and the integration of a geometrical network model with indoor positioning.
Figure 12.Unconnected links around a closed door

SUMMARY
In this paper, we proposed a methodology to generate a geometrical network model using point cloud for indoor navigation.We evaluated our methodology through experiments using the ISPRS benchmark consisting of fivepoint cloud datasets.We confirmed that the proposed methodology could classify indoor objects, such as floors, walls, and the other objects, and estimate walkable paths.Additionally, we verified that the proposed methodology could generate a network model for path finding from point clouds.Some technical issues remain, such as point cloud noise filtering for object classification and link generation for closed doors, and these will be explored in our future work.

Figure 2 .
Figure 2. Objects on a floor 2.2 Object Classification In object classification, point clouds are classified as floors, walls, and other objects.The floors are extracted from point clouds using the floor height values set in the point cloud clipping.The walls are extracted from point clouds using the number of point clouds recorded in the accumulated point count map.The remaining point clouds are classified as other objects.First, point clouds were projected onto grid data prepared on a horizontal plane with an arbitrary resolution, as shown in steps 1 and 2 in Figure3.Next, the DSM and the accumulated point count map were generated (Figure4).The upper image in Figure4shows a section of the measured point clouds.The horizontal axis indicates a section direction, and the vertical axis indicates height values.The center image in Figure4shows a section of the accumulated point count map.The horizontal axis indicates a section direction, and the vertical axis indicates the number of accumulated point clouds in each grid.The bottom image in Figure4shows a section of the DSM.The horizontal axis indicates a section direction, and the vertical axis indicates the height value of the highest point in each grid.

Figure 3 .
Figure 3. Floor map generation (outline extraction and missing area interpolation in point clouds)

Figure 8 .
Figure 8. Object classification and walkable path estimation result (red regions: floors, yellow regions: walls, cyan regions: other objects, white lines: walkable paths) The processing environment was Intel Core i7-6567U (3.3 GHz) and MATLAB.We confirmed that the processing time in

Figure 9 .
Figure 9. Pedestrian noise deletion (left: input point clouds, right: noise deletion result) The result for geometrical network model generation using filtered point clouds is shown in Figure 10.Yellow lines show the geometrical network model.The height of the geometrical network model was set as 1 m from the floors.

Figure 10 .
Figure 10.Geometrical network model overlaid into point clouds

Figure 11 .
Figure 11.Improvement after pedestrian noise filtering (left image: object classification and geometrical network generation result using non-filtered point clouds; center image: object classification and geometrical network generation result using filtered point clouds; right image: geometrical network model using filtered point clouds)

Table 1 .
Specifications of the point clouds of the ISPRS benchmark

Table 2 .
Processing results