Recently, the trajectory of IMLS systems began to receive more attention as a source of information to create indoor models. Díaz-Vilariño et al. [
12] developed a method to reconstruct indoor models from mobile laser scanning data by analyzing the point cloud and the trajectory. The scanner trajectory is used to detect the doors that are traversed during the scanning process. Then, the point cloud is labeled with initial subspaces information based on the detected doors. The timestamp of the trajectory is used to transfer the labels from the trajectory to the point cloud as they are related by the timestamp. The labels of the point cloud are further refined using an energy minimization approach. The model is reconstructed by first creating an envelope for every sub-space, then the adjacency information between the spaces and the door locations are used to build the entire model. Another recent method for automatic model generation is proposed by Xie and Wang [
11]. The model generation process includes door detection, individual room segmentation, and the generation of 2D floorplans. The scanner trajectory is used to detect the doors that were opened during the data acquisition. The properties of Delaunay triangulation and alpha-shape are used to detect the gaps in the point cloud. Then, the trajectory is used to detect the doors by intersecting it with the triangles. Also, the trajectory is used in the floorplan generation as a part of a global minimization method. The point cloud is projected to the x–y plan and converted into cells, based on extracted linear primitives. Then, the scanner’s position along the trajectory is used to create virtual rays that are used to estimate the likelihood of the room labels. The labeled cells and the detected doors are used to generate the floorplan. Finally, the individual rooms are segmented and extruded to construct the model. Zheng et al. [
18] proposed an approach for subdividing the indoor spaces by analyzing the individual scanlines of the mobile laser scanners. The scanlines are used to detect openings such as doors and windows. Then, the trajectory of the scanner is labeled with room information based on the detected doors. Finally, the labels are transferred to the point cloud by analyzing the scanline related to each trajectory point with the detected openings. However, this approach processes the full point cloud to assign the labels from the trajectory to every scanline. In the same context of space subdivision, Nikoohemat et al. [
15] combined the trajectory of the IMLS and the point cloud to partition the indoor spaces based on a voxel space approach. The trajectory is used to detect the doors, openings, and false walls caused by reflections. Turner et al. [
13] proposed an approach to generate watertight models based on a generated 2D plan. A graph-cut approach is used to identify the rooms and the doorways. The trajectory of the scanner is employed during the floorplan generation to subdivide the space into interior and exterior domains by analyzing the scanner pose. The interior domains are used to define the boundary of the floorplan. Also, it is used to refine the room labels by excluding the rooms that are not entered into during the scanning process. These rooms have incomplete geometry, as they are scanned through opened doorways. The trajectory is also used to identify the free spaces as the operator moves with the laser scanner through the free space to scan the environment. Fichtner et al. [
26] introduced a workflow to identify the navigable spaces inside the indoor environments based on point clouds structured in an octree. The workflow includes story separation, and the identification of floors, walls, stairs, and obstacles. The trajectory is used in the case of using mobile laser scanning data to improve the method of the story separation. A height histogram is created for the point cloud by sampling its points in the Z-coordinate direction to detect the floors. The trajectory is used to distinguish the histogram peaks that represent the floors from the peaks resulting from furniture or dropped ceilings, as the trajectory should be between the peaks produced by two floors. Staats et al. [
27] proposed a method for the automatic generation of the indoor navigable spaces from the IMLS data. The method is based on a voxel model for the point cloud and its corresponding scanner trajectory. The trajectory is classified into stairs, and sloped and flat surfaces based on the height difference between neighboring trajectory points. The doors are detected by comparing the trajectory voxels with the drops in the ceiling, and then by looking at the voxels of the door sides. Later, a region growing method is used to identify the walkable surfaces in the point cloud voxel model. The classified trajectory is used as seed points for the region growing, and the detected doors as one of the stopping criteria. Finally, the navigable voxel space is identified after cleaning the data. Grzonka et al. [
23] reconstructed approximate topological and geometric maps of the environment based on human activities. The trajectory is recovered from the data of a motion capturing suit. Then, user activities such as opening the doors are used to identify the rooms, and to derive an approximate floorplan. Mozos [
5] used a supervised classification approach to categorize the indoor places into semantic areas. The observations of the range sensor along the robot’s trajectory are used to learn a strong classifier by using the AdaBoost algorithm. Another research by Friedman et al. [
28] used a Voronoi random field to assign labels of places to an occupancy grid map. The Voronoi graph is extracted from the occupancy grid map. Then, the Voronoi random field is generated with nodes and edges corresponding to the Voronoi graph. After that, spatial and connectivity features are extracted from the map, and AdaBoost decision stumps are generated. Finally, the map is labeled using the Voronoi random field. However, these approaches need labeled training data to produce good results.
More research focuses on room segmentation of the point cloud data without involving the trajectory, as the data is not necessarily able to be captured by a mobile laser scanner. Jung et al. [
19] proposed an automatic room segmentation method based on morphological image processing. The algorithms work on the 3D laser data from both terrestrial and mobile laser scanners. The 3D laser data is projected into a 2D binary map. Then, this map is used to segment the rooms using morphological operators. Finally, the 3D point cloud points are labeled based on their location on the labeled 2D floor map. Ambrus et al. [
20] developed an approach to reconstruct floorplans from 3D point clouds. The point cloud is projected into a 2D grid map to detect walls, ceilings, and openings. Viewpoints are generated based on the detected free space to be used in the labeling process. Finally, an energy minimization algorithm is applied for semantic labeling. Bobkov et al. [
29] proposed an automatic approach for room segmentation for the point cloud data. The approach makes use of interior free space to identify the rooms. The 3D anisotropic potential field (PF) values are computed for free space voxels. Then, a maxima detection is performed in the PF values for each vertical stack of voxels to store the maximum value in a 2D PF map. These maximum values are clustered using information about the PF values and the visibility between voxels. Finally, the labels of the free space are transferred back to the 3D point cloud. Mura et al. [
4] presented an approach for automatic room detection and reconstruction. The approach starts by extracting the candidate walls from the 3D point cloud by using a region growing method. Then, the extracted walls are used to construct a cell complex in the 2D floorplan. The cells are clustered into individual rooms. Finally, a 3D polyhedron is constructed from the detected room clusters. In a later study, Mura et al. [
16] presents the detection of the structure’s permanent components by analyzing the structural relations between the adjacent planar elements of the scene. Then, these components are used to build a 3D cell complex that is used to reconstruct the polyhedron. Bormann et al. [
21] conducted comprehensive research to review the room segmentation methods in the semantic mapping domain, and to compare some of the publicly available algorithms. These algorithms segment the grid maps into meaningful places which are used by mobile robots to perform certain tasks. All the previous approaches either process the full point cloud at a time that requires more processing time or that tended to simplify the calculations into by performing them on a 2D representation where some of the 3D information could be lost. Moreover, some approaches were developed from a domain-specific point of view such as robotics where they use grid maps, and information like the stairs is ignored.
In conclusion, the trajectory data is used beside point cloud in literature that mainly to detect the doors and the openings and to know the scanner pose at any point of time. Also, it is used to identify the stairs as a part of navigable spaces. However, the full point cloud is usually processed, and the trajectory features are not fully utilized for the purpose of space subdivision. On the other hand, the human trajectories extracted from wearable sensors are used independently to derive topological floorplans. In our research, a combination of the concepts introduced in the literature is used to design a pipeline for space subdivision. One of our contributions is to use the trajectory to identify the stories and the staircases without the need for process the full-point cloud. Another contribution is to enhance the trajectory-based door detection method by validating the door width and height, instead of relying on the tops of the doors only. Moreover, the trajectory data is used to minimize the need to process the full point cloud by exploiting the features of the trajectory and subdivide the point cloud into meaningful spaces. It can be beneficial in the case of processing large constructions, such as shopping malls or airports, where the point cloud data cannot be processed at once. The proposed pipelines act as an initial step to be used in domain-specific applications, and they can be integrated with other pipelines such as SemanticFusion [
30] that use RGB-D data to add more semantic information to the places, based on the detected objects inside them.