TOPOLOGICAL 3 D MODELING USING INDOOR MOBILE LIDAR DATA

We focus on a region-based point clustering to extract a polygon from a massive point cloud. In the region-based clustering, RANSAC is a suitable approach for estimating surfaces. However, local workspace selection is required to improve a performance in a surface estimation from a massive point cloud. Moreover, the conventional RANSAC is hard to determine whether a point lies inside or outside a surface. In this paper, we propose a method for panoramic rendering-based polygon extraction from indoor mobile LiDAR data. Our aim was to improve region-based point cloud clustering in modeling after point cloud registration. First, we propose a point cloud clustering methodology for polygon extraction on a panoramic range image generated with point-based rendering from a massive point cloud. Next, we describe an experiment that was conducted to verify our methodology with an indoor mobile mapping system in an indoor environment. This experiment was wall-surface extraction using a rendered point cloud from some viewpoints over a wide indoor area. Finally, we confirmed that our proposed methodology could achieve polygon extraction through point cloud clustering from a complex indoor environment.


INTRODUCTION
Point-cloud clustering is an essential technique for modeling massive point clouds acquired with a terrestrial laser scanner or mobile laser scanner in an indoor environment, as shown in Figure 1.(Boyko et al. 2011), edge-based clustering (Jiang et al. 1999), and region-based clustering (Vosselman et al. 2004).Model-based clustering requires CAD models to estimate simple objects or point clusters from the point cloud.In 3D industrial modeling, standardized objects, such as pipes and parts, are prepared as CAD models in advance.However, the CAD model preparation approach is unsuitable for modeling unknown objects.On the other hand, edge-based and region-based clustering are often used to model unknown objects (Tsai et al. 2010).These approaches also focus on geometrical knowledge (Pu, et al. 2009) and 2D geometrical restrictions, such as the depth from a platform (Zhou, et al. 2008) and discontinuous point extraction on each scanning plane from the mobile mapping system (Denis et al. 2010) to extract simple boundaries and features in urban areas.
Point-cloud data acquired in urban areas and indoor environments often include many complex features with unclear boundaries.Moreover, general 3D modeling using terrestrial and mobile data uses point-cloud data acquired from many viewpoints and view angles.Thus, for integrated point-cloud data taken by terrestrial or mobile LiDAR, the application of the abovementioned restrictions for extracting features is difficult.Additionally, viewpoints for range image rendering are limited to data-acquisition points.We focus on the region-based point clustering to extract a polygon from a massive point cloud.In region-based clustering, Random Sample Consensus (RANSAC) (Schnabel et al. 2007) is a suitable approach for estimating surfaces.However, local workspace selection is required to improve a performance in a surface estimation from a massive point cloud.Moreover, with conventional RANSAC, it is hard to determine whether a point lies inside or outside a surface.In this paper, we propose a method for panoramic renderingbased polygon extraction from indoor mobile LiDAR data.Our aim is to improve region-based point-cloud clustering in indoor modeling.First, we propose a point-cloud clustering methodology for polygon extraction on a panoramic range image generated with point-based rendering from a massive point cloud.Next, we describe an experiment that was conducted to verify our methodology with an indoor mobile mapping system.Finally, we confirm that our proposed methodology can achieve polygon extraction through pointcloud clustering from a complex indoor environment.

Viewpoint decision for point-based rendering
Viewpoints for point-based rendering are selected in pointcloud data through two steps.In the first step, an orthobinary image is generated from the point cloud to represent a rough floor surface as a viewpoint candidate.In the next step, the orthoimage is eroded with morphology processing to generate a viewpoint candidate network.Intersections on the network are selected as the viewpoints for point-based rendering.

Point-based rendering
Point-cloud visualization has two issues.The first is the near-far problem caused by distance differences between the viewpoint and the scanned points.The second is the transparency effect caused by rendering hidden points among near-side points.These effects degrade the quality of a point-cloud visualization.Splat-based ray tracing (Linsen et al. 2007) is a methodology that generates a photorealistic curved surface on a panoramic view using normal vectors from point-cloud data.The long time period required for surface generation in the 3D work space is a problem.Furthermore, the curved-surface description is inefficient in representing urban and natural objects as Geographical Information System data.Thus, we have applied a point-based rendering application with a simpler filtering algorithm (Nakagawa 2013) to generate panoramic range images from a random-point cloud.The processing flow of point-based rendering is described in Figure 3. First, the point cloud is projected from 3D space to panorama space.This transformation simplifies viewpoint translation, filtering, and point-cloud browsing.The panorama space can be represented by a spherical, hemispherical, cylindrical, or cubic model.Here, the cylindrical model is described for wall modeling.The measured point data are projected onto a cylindrical surface, and can be represented as range data.The range data can preserve measured point data such as a depth, X, Y, Z, and some processed data in the panorama space in a multilayer style.Azimuth angles and relative heights from the viewpoint to the measured points can be calculated using 3D vectors generated from the view position and the measured points.When azimuth angles and relative heights are converted to column counts and row counts in the range data with adequate spatial angle resolution, a cylindrical panorama image can be generated from the point cloud.Second, the generated range image is filtered to generate missing points in the rendered result using distance values between the viewpoint and objects.Two types of filtering are performed in the point-based rendering.The first is a depth filtering with the overwriting of occluded points.The second is the generation of new points in the no-data spaces in the range image.New points are generated with the point tracking filter developed in this study.Moreover, a normal vector from each point is estimated in the range image.Normal vector estimation is often applied to extract features in point-cloud processing.Generally, three points are selected in the point cloud to generate a triangle patch for normal vector estimation.Mesh generation is the basic preprocessing step in this procedure.In 2D image processing, the Delaunay division is a popular algorithm.It can also be applied to 3D point-cloud processing with millions of points (Chevallier et al. 2011).However, using the Delaunay division, it is hard to generate triangle patches for more than hundreds of millions of points without a high-speed computing environment (Fabio 2003) (Böhm et al. 2006).Thus, we focused on our point-cloud rendering, which restricts visible point cloud data as a 2D image.A closed point detection and topology assignment can be processed as 2D image processing, as shown in the lower right image in Figure 2. The processing flow of normal vector estimation is described below.First, a point and its neighbors in the range image are selected.Second, triangulation is applied to these points as vertexes to generate faces.Then, the normal vector on each triangle is estimated using 3D coordinate values of each point.In this research, an average value of each normal vector is used as the normal vector of a point, because we used the point cloud taken from a laser scanner that presents difficulties for measuring edges and corners clearly.These procedures are iterated to estimate the normal vectors of all points.

Normal vector clustering for surface estimation
Normal vectors of all points are grouped to detect regions in a range image as a point-cloud classification.The accuracy of point-cloud classification can be improved with several approaches such as the Mincut (Golovinskiy et al. 2009), Markov network-based (Shapovalov et al. 2011), and fuzzybased (Biosca et al. 2008) algorithms.However, in this study, we improved the accuracy with point-cloud interpolation and point tracking.Thus, we applied multilevel slicing as a simple algorithm to classify normal vectors.Moreover, building knowledge is used as a restriction in the normal vector and point-cloud classification.In general, walls in a room and building consist of parallel and orthogonal planes.Thus, four clusters in a horizontal direction are enough to detect walls in a general indoor environment.Although cylindrical surfaces are divided into some clusters, these surfaces can be reconstructed using surface merging.The processing flow of normal vector clustering with restrictions is described below.First, stronger peaks are extracted from a histogram of normal vectors.More than one strong peak is required to detect seed points in each approximate 90° change in horizontal direction.Next, boundaries of clusters are generated from the peaks of the histograms.Then, the normal vectors and point clouds are grouped into four clusters.Finally, initial 3D surfaces are estimated from the grouped normal vectors and point cloud.This classification detected boundaries of point clusters with the same normal vectors.The point-cloud clustering methodology for extracting the intersection of planes as ridge lines requires appropriate initial values such as curvature, fitting accuracy and distances to closed points (Kitamura et al. 2010).However, our approach can extract boundaries from a point cloud without these parameters.

Point-cloud interpolation with a rectangular template
Estimated 3D initial surfaces are refined in a point-cloud interpolation procedure.In general, it is difficult to trace the boundaries of the initial surfaces because of holes and jaggy boundaries.Therefore, point-cloud interpolation is applied as a refinement of the initial surfaces in this procedure.When flat and cylindrical surfaces are projected into a range image based on a cylindrical model, these surfaces are represented as rectangles with the following two restrictions.The first restriction is that points have the same X-and Ycoordinate values along the y-direction in the range image.The second restriction is that the points have the same Z-coordinate values along the x-direction in the range image.Based on these restrictions, point interpolation is applied along the x-and ydirections in the range image, as shown in Figure 4.The point interpolation is as follows.First, a rectangular template is fitted to projected points in a range image.Next, missing points are detected in the rectangular template.Finally, the missing points are interpolated using neighboring points.When other objects exist in a rectangular template, the overlapped area is excluded from point interpolation.

Point tracing
Boundaries of features can be estimated from the refined surfaces in a range.Moreover, 3D polygons can be extracted with topology estimation using these boundaries in the range image.In this procedure, a point tracing is required to connect points in 3D space along the boundary, as shown in Figure 5.In general, least squares fitting and polynomial fitting are applied to extract straight and curved lines from points.When the point cloud includes noise, RANSAC is a suitable approach to estimate a feature.However, these approaches require a decision whether straight lines or curved lines are to be extracted before the fitting procedure.In this paper, we wish to extract polygons with a combination of straight and curved lines.Thus, we propose point tracing based on the regiongrowing approach to extract complex geometry as follows.First, a topology of points is estimated in a range image.When a polyline or polygon is drawn in a range image, continuous 3D points can be extracted.Next, a position for the next point is checked after a seed-point selection.In this step, the position is checked to find whether a possible next point exists or not within a candidate area for point tracing.The candidate area is determined using a vector from the previous point.When a point exists within the candidate area, it is connected to the previous point.Otherwise, the point is assumed to be an outlier, and the position of the point is rectified to a suitable position using the vector from the previous point.These steps are then iterated until the geometry is closed.Finally, 3D points are connected to represent a smooth 3D polygon.

EXPERIMENT
We used the Trimble Indoor Mobile Mapping System (TIMMS) integrated with an inertial measurement unit (IMU), a wheel encoder, a LiDAR system (TX5, Trimble), and an omnidirectional camera (Ladybug 5, Point Grey) (see Figure 6).We acquired a 880-million color point cloud with TIMMS (see Figure 7) in our university.Area to be interpolated width) in our university were selected as our study area (see Figure 8).The study area consisted of flat and cylindrical walls, square and cylindrical pillars, a grilled ceiling, doors with glass, and windows.These objects were representative flat and cylindrical surfaces.

RESULTS
In our experiment, 72 points were extracted as viewpoint candidates for point-based rendering, as shown in Figure 10.The point cloud taken from TIMMS was rendered from these viewpoints.for the panoramic image conversion and polygon extraction was several minutes in total for each viewpoint using an Intel core i7 2.80 GHz processor with MATLAB (single thread).Figure 14 shows integrated results for polygon extraction from 72 viewpoints.Our approach extracted 980 polygons from the point cloud fully automatically.As shown in Figure 14, some polygons that were extracted were failures.Our investigation showed that these failures were caused by LiDAR measurement noise, such as light reflection errors and moving object measurement.Although noise was almost eliminated, the remained noise in the range image affected the point-cloud interpolation.

SUMMARY
We have proposed a method for panoramic rendering-based polygon extraction from indoor mobile LiDAR data.Our aim was to improve region-based point cloud cluster modeling after point-cloud registration.First, we have proposed a point-cloud clustering methodology for polygon extraction on a panoramic range image generated with point-based rendering from a massive point cloud.Our proposed methodology consisted of the viewpoint decision for point-based rendering, the pointbased rendering, the normal vector clustering for surface estimation, the point-cloud interpolation with a rectangular template, and point tracing.Next, we described an experiment that was conducted to verify our methodology with an indoor mobile mapping system (TIMMS) in an indoor environment that included flat and cylindrical surfaces.In this experiment, we extracted wall -surfaces using a rendered point cloud from 72 viewpoints over a wide indoor area.Finally, we confirmed that our proposed methodology could achieve polygon extraction through point-cloud clustering from a complex indoor environment.

Figure 1 .
Figure 1.Point cloud clustering: colored point cloud (left image) and clustered point cloud (right image) There are three clustering approaches in point-cloud clustering: model-based clustering (Boyko et al. 2011), edge-based clustering(Jiang et al. 1999), and region-based clustering(Vosselman et al. 2004).Model-based clustering requires CAD models to estimate simple objects or point clusters from the point cloud.In 3D industrial modeling, standardized objects, such as pipes and parts, are prepared as CAD models in advance.However, the CAD model preparation approach is unsuitable for modeling unknown objects.On the other hand, edge-based and region-based clustering are often used to model unknown objects(Tsai et al. 2010).These approaches also focus on geometrical knowledge(Pu, et al. 2009) and 2D geometrical restrictions, such as the depth from a platform(Zhou, et al. 2008) and discontinuous point extraction on each scanning plane from the mobile mapping system(Denis et al. 2010) to extract simple boundaries and features in urban areas.

Figure 2 .
Figure 2. The five components of processing flow

Figure 4 .
Figure 4. Point-cloud interpolation with a rectangular template in a range image

Figure 7 .
Figure 7. Acquired point cloud An entrance foyer consisting of a large room (21.6 m × 21.6 m

Figure 8 .
Figure 8. Study areaIn the experiment, we used a 450-million color point cloud from our dataset.Figure9shows a part of point cloud rendering results from a viewpoint in the foyer.

Figure 10 .
Figure 10.Viewpoint candidates Figure 11 shows results after point-based rendering and point clustering from a viewpoint.Figure 11 includes a depth image, a depth image, normal vectors, and initial labeled surfaces (overlay of depth edge and labeled surfaces).Each vertical axis shows height direction and each horizontal axis shows direction.Intensity values in the depth image indicate the depth from the viewpoint.Moreover, intensity values in the normal vectors and labeled surfaces indicate the horizontal direction of the point cloud.In addition, color values in the initial surfaces indicate labels of surfaces.In this experiment, spatial resolution was set as 0.2° in the horizontal direction and 2 cm in the height direction.Figure 12 shows a rendered point cloud from a viewpoint in 3D space.The left image shows the input point cloud and the right image shows a result after polygon extraction.Processing time

Figure 11 .
Figure 11.Results after point-based rendering and point clustering

Figure 13 .
Figure 13.Parts of results of polygon extraction from point cloud