Next Article in Journal
A Fast Spatial Clustering Method for Sparse LiDAR Point Clouds Using GPU Programming
Previous Article in Journal
The uulmMAC Database—A Multimodal Affective Corpus for Affective Computing in Human-Computer Interaction
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Loop Closure Detection Approach Using Simplified Structure for Low-Cost LiDAR

1
College of Surveying and Geo-Informatics, Tongji University, Shanghai 200092, China
2
Zhongzhen Tonglu (Jiangsu) Robot Co., Ltd., Shanghai 201804, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(8), 2299; https://doi.org/10.3390/s20082299
Submission received: 24 March 2020 / Revised: 12 April 2020 / Accepted: 14 April 2020 / Published: 17 April 2020
(This article belongs to the Section Remote Sensors)

Abstract

:
Reducing the cumulative error is a crucial task in simultaneous localization and mapping (SLAM). Usually, Loop Closure Detection (LCD) is exploited to accomplish this work for SLAM and robot navigation. With a fast and accurate loop detection, it can significantly improve global localization stability and reduce mapping errors. However, the LCD task based on point cloud still has some problems, such as over-reliance on high-resolution sensors, and poor detection efficiency and accuracy. Therefore, in this paper, we propose a novel and fast global LCD method using a low-cost 16 beam Lidar based on “Simplified Structure”. Firstly, we extract the “Simplified Structure” from the indoor point cloud, classify them into two levels, and manage the “Simplified Structure” hierarchically according to its structure salience. The “Simplified Structure” has simple feature geometry and can be exploited to capture the indoor stable structures. Secondly, we analyze the point cloud registration suitability with a pre-match, and present a hierarchical matching strategy with multiple geometric constraints in Euclidean Space to match two scans. Finally, we construct a multi-state loop evaluation model for a multi-level structure to determine whether the two candidate scans are a loop. In fact, our method also provides a transformation for point cloud registration with “Simplified Structure” when a loop is detected successfully. Experiments are carried out on three types of indoor environment. A 16 beam Lidar is used to collect data. The experimental results demonstrate that our method can detect global loop closures efficiently and accurately. The average global LCD precision, accuracy and negative are approximately 0.90, 0.96, and 0.97, respectively.

Graphical Abstract

1. Introduction

Simultaneous Localization and Mapping (SLAM) with low-cost Light Detection and Ranging (Lidar) plays an important role in autonomous driving, artificial intelligence and virtual reality. With the development of robot technology, SLAM has attracted more and more attention and made some achievements [1,2,3,4]. For SLAM technology, various systems or platforms have been introduced, such as the Lidar system [5], stereo camera [6] and RGBD-camera [7]. Some technologies based on SLAM can contribute to the improvement of mapping accuracy, such as a Pseudo-GNSS/INS module integrated framework with probabilistic SLAM [8], a 2D SLAM system using low-cost Kinect Sensor [9], prediction-based SLAM (P-SLAM) [10], graph-based hierarchical SLAM framework [11], semi-direct visual-inertial SLAM framework [12], and a CPU-only pipeline for SLAM [13]. Similar to traditional data fusion technology [14], SLAM with data fusion technologies has also been developed accordingly, such as a fusion of the RGB image and Lidar point cloud [15,16,17]. A stereo visual inertial Lidar (VIL) SLAM incorporates tightly coupled stereo visual inertial odometry (VIO) with Lidar mapping and Lidar-enhanced visual loop closure [18]. Visual stereo image and 2D light detection and ranging (Lidar) data are incorporated into SLAM [19].
However, improving the robustness of SLAM is still a difficult task, especially in large indoor spaces, so the Pseudo-GNSS/INS module may not work well indoors. In fact, robot pose estimation is an iterative solution process using past scans. Without other auxiliary equipment, measurement errors will inevitably accumulate. LCD judges whether the robot returns to the place it has already passed. It is crucial to reduce the accumulated errors from odometry for long-running robots. After LCD, we can establish data association with past scans, then update the map. Here, we consider LCD as a matching task; loop closure may occur only if the scene structures are similar.
To date, there has been some research on LCD, which are generally divided into two categories according to data type: (1) LCD based on image data—visual sensor, formatted image with color information, which uses 2D features in images to express a 3D scene and then matches images based on the feature. However, the method is subject to illumination change. A well-known method is bag of words (BOW) [20], and LCD based on image data is performed [21,22,23]; (2) LCD based on point cloud data—laser sensor, discrete 3D points with accurate distance. Usually, registration work is done here, such as ICP [24] and GICP [25], then loops are detected with the registration results. Some other LCD methods combining images and point cloud are proposed, and visual CNN features are combined with submaps [26]. A key frame-based localization module is integrated into a particle filter-based position-tracking algorithm [27]. Compared with the first category, the second type of method is not subject to illumination change and has a distinct spatial topology, and viewpoint change is the only key factor. Its weakness is the massive data memory, and information loss for some specific structures.
In this paper, we propose an indoor global LCD method with a low-cost 16 beam Lidar. Firstly, we extract “simplified structure” in point cloud. Here, the “Simplified Structure” has simple geometry and are robust to describe the structured scene. It is superior to traditional feature description in extraction efficiency and robustness, even for low-cost Liar data. Then, we carry out a hierarchical matching based on “Simplified Structure” with multiple geometric constraints in Euclidean Space. Finally, global candidate loops are detected using a multi-state loop evaluation model of multi-level structure. Our main contributions are three-fold: (1) the “Simplified Structure” designed to capture robust structure in indoor point cloud has compact geometry and high extraction efficiency, and it offers a novel feature extraction for structured indoor scene; (2) The quantitative statistics of “Simplified Structure” can be exploited as a pre-judgment indicator for point cloud registering suitability, that is, to judge whether the point cloud can be registered or not. With the statistics, many non-loop scans are discarded, which significantly improves the efficiency and accuracy of global LCD; (3) our LCD method is valid and robust for the low-cost Lidar (16 lines) in an indoor environment. It overcomes the over-dependence on expensive high-resolution Lidar in previous methods.
The rest of the paper is organized as follows: Section 2 reviews related work. Section 3 introduces our global LCD method. Section 4 shows the experiment details. Section 5 discusses and analyzes our experiment. Finally, Section 6 concludes our work.

2. Related Works

Some LCD researches based on point cloud are generally divided into four categories:
(A)
Non-feature description
LCD is merely performed with part of the original point cloud and no feature description is computed in this category. The closest points to Lidar in the point cloud are matched with improved Smith Waterman [28]. Point clouds without feature description are registered with ICP [29] and GICP [30] for LCD, and then registration results serve as major indicators for loops;
(B)
Feature description
This category is classified into two parts according to the way of feature description. One is feature descriptor, the other is feature histogram. (1) Feature descriptor: descriptors, as the distinctive label for the point cloud, are used to match for LCD, and then a loop is detected when two descriptors are matched well. The major difference in each method lies in the descriptors and the matching approach for the descriptors. Researchers propose an improved FALKO interest point and GLAROT descriptor, then they analyze three feature association algorithms methods: Random Sample Consensus (Ransac), Correspondence Graph, and Hough Data Association [31]. On the point cloud range image, a local distance map describing the neighborhood structure is used as a descriptor for LOG interest points [32]. Researchers project a 3D point cloud to multiple 2D planes and generate a density signature for points for each of the planes, then use the left and right singular vectors of these signatures as the descriptor [33]. (2) Feature histogram: most histograms originate from some statistical attributes on point cloud, and the loops are detected based on the histogram similarity. Many researchers have proposed various histograms under different applications. A projection function assigns an additional attribute value for points, and then a normalized histogram generated from the point density in each projection function value interval [34]. Space is divided into many cells that are labeled with line, plane, sphere, etc. Point number in each cell category constitutes the histogram, then the multi-scale one is formed at a different distance [35]. Researchers construct the histograms similarly to [35] and determine the candidate loop scan based on the Normal Distributions Transform (NDT) registration [36]. A histogram that discretizes the dot products of normal and vertical direction into 101 bins for every point and counts quantity in each interval is designed [37]. Generally, the state of histograms is related to the density of point cloud to some extent. Some research about the data distribution characteristics of Lidar under different densities are published [38,39,40,41,42,43];
(C)
Deep learning
The random forest classifier determines whether the matched point cloud represents the whole or part of the same object with a predefined feature space [44,45]. Synchronous adversarial feature learning with a dual Bi-GAN that associates the 2D Bi-GAN with 3D Bi-GAN is proposed, and it can learn abstract attributes from different dimensions without any label data [46]. A semi-manual representation learning method based on a Siamese convolution neural network is proposed, and it manages LCD as a similarity modeling problem [47]. With multiple point cloud features, AdaBoost is used to detect candidate loop scans, which are further screened in back-end optimization [48];
(D)
Other methods
The pose map is constructed with the odometry data, and then neighborhood path geometry is matched to determine loops [49]. Using rasterized map matching, LCD is carried out between raster maps using branch-and-bound [50]. The indoor corridor is divided into four states and the longest common subsequence matching and hu-moment-based contour match are adopted [49]. Researchers detect loop closures based on a grid map representation of the environment, and the map is created via Rao-Blackwellized particle filtering [51].
However, some issues for LCD still exist in an indoor environment: (1) LCD based on a visual scheme is seriously affected by illumination change; (2) LCD with multi-beam Lidar (64) suffers from mass data memory and calculation, and since the information of a low-cost 16 beam Lidar is less than that of multi-beam Lidar, the previous LCD methods are inapplicable, and little LCD research is performed on 16 beam Lidar; (3) pre-analyzing the registering suitability of point cloud scans plays an important role for global LCD, so discarding those scans with low registering suitability will improve the efficiency and accuracy of LCD, however, there is not much research on registering the suitability of a point cloud.
Our method is applicable to 16 beam Lidar and not affected by illumination change. It overcomes the dependence on high-resolution point cloud sensors. This makes it possible for SLAM to generate desirable results with those low-cost sensors. The method can capture an indoor robust structure with less computation complexity. Through quantitative analysis of the structure in the scene, we obtain the statistics of the extracted “Simplified Structure” and can remove a large number of non-loop scans in global LCD. It is extremely applicable to some structured indoor scenes that have a robust structure, such as walls or cylinder pillars. In the process of LCD, our method can determine the loop through the scan-to-scan match, and there is no need to exploit other additional point cloud maps.

3. Methodology

Our LCD main flowchart is shown in Figure 1. There are three main stages:
(A)
Preprocessing: the raw point cloud is processed to remove some interference objects, such as ceiling and ground. Then, the point cloud is corrected in the Z direction according to the point cloud distribution. Finally, the point cloud is orthographically projected on the XOY plane;
(B)
Simplified Structure extraction: the scene structures are classified according to their structure salience. In addition, we adopt different extraction methods in different types of Simplified Structure;
(C)
Loop evaluation: a pre-match is performed to remove the candidate scans whose structure number varies greatly. Then, we utilize a loop evaluation module to analyze the matching state of the scans to detect loop closure.

3.1. Simplified Structure

There are two difficulties in point cloud feature extraction: (1) large computation; (2) unrobust feature extraction. Some researchers exploit normals to capture plane structure in data [52,53], which is not enough for indoor environment because it lacks a quantitative description for structural distribution. To overcome this shortcoming, we propose a “Simplified Structure” to capture the stable structure in point cloud and exploit some salient attributes to describe the “Simplified Structure” distribution, such as the length of the wall and the radius of the cylinder. We obtained some new structure attributes when the structure became complicated, for example, the distance between two walls is also a robust description for the corridor beside the length of the walls. Some specific structural attributes are discussed below.
We classified “Simplified Structure” into two levels. The first level, Single Line Segment (expressed as Single Line in the following), is also a basic unit for some other structures. On the second level is the line segment pairs composed of two single lines, such as parallel and vertical, and the Arc segment. Figure 2 shows the simplified results for a common structure in an indoor scene. It has to be mentioned that some glass structures may exist in some indoor scenes, which may impair the data accuracy. However, the proposed “Simplified Structure” can capture a robust wall structure which is subjected little to the glass. If a large glass structure and insufficient “Simplified Structure” exist, these point cloud scans will not be qualified to become a candidate loop scan in LCD, because we pay more attention to accuracy than recall. However, if the glass structure dominates in the scene, the performance of our LCD may be limited.
In Figure 3, the “Simplified Structure” is further classified according to the geometric and positional relationship of a structure unit. (a) shows the 1st level, and (b)–(h) the 2nd level.
(1) Single Line (Figure 3a): The simplest structural attributes—two vertices, line length, line parameters. This refers to the wall structure; vertices and length are its range distribution description, and line parameters for its direction description;
(2) Arc Segment (Figure 3b): This stands for the cylindrical structure’s attributes—the arc center, radius, chord length, and geometric points of the arc, as well as a midpoint on the arc and the two endpoints farthest from Lidar on both side of the midpoint;
(3) Parallel (Figure 3c–e): Approximate parallel line pairs are classified into three types—complete overlap, partial overlap and non-overlap—according to the overlap relationship of two lines. Attributes—two single lines (first-level structure), two line overlap ratios, and overlap type;
(4) Vertical (Figure 3f–h): Approximate vertical line pairs are also classified into three types—complete real vertical, partial real vertical and virtual vertical—according to the position of perpendicular foot and two lines. Attributes—two single lines, a perpendicular foot and vertical type.

3.2. Preprocessing

The preprocessing prepares for LCD, including pass-through filtering, Z-axis correction and orthographic projection. After the preprocessing, the projection point cloud on XOY plane is obtained. The operating environment of Lidar can be considered approximately horizontal.

3.2.1. Pass-through Filtering

Pass-through filtering filter out points by two height thresholds, then we get P z filter   ( N z f i l t e r ) in Formula (1). N z f i l t e r is the number of points in point cloud P z filter ; similar expression is used below. Ground and ceiling points are preliminarily removed here.
P z filter = { p   | H m i n < p . z < H m a x ,   p   P z c o r r e c t }
where H m i n and H m a x are two height threshold sets based on the height of the experiment platform.

3.2.2. Z-Axis Correction

Although the operating environment of Lidar is approximately horizontal, some deviations still exist. Z-axis correction is used to eliminate the deviation. Covariance matrix ( C O V ) is constructed in Formulas (2) and (3). Then, two principal directions of the point cloud are obtained through Singular Value Decomposition (SVD) on C O V . They are aligned with the horizontal plane to obtain the corrected point cloud P z c o r r e c t
P z f i l t e r c e n t e r = 1 N z f i l t e r i = 1 , 2     N z f i l t e r   P z f i l t e r i
C O V = i = 1 , 2     N z f i l t e r   ( P z f i l t e r i P z f i l t e r c e n t e r ) T * ( P z f i l t e r i P z f i l t e r c e n t e r )
where P z f i l t e r i is the point cloud after pass-through filtering; N z f i l t e r is the point number of P z f i l t e r i ; P z f i l t e r c e n t e r is the point cloud center in P z f i l t e r i .

3.2.3. Orthographic Projection

Using Formula (4), P z c o r r e c t is orthographically projected onto the XOY plane. Then, we obtain the projected point cloud P p r o j e c t   (Figure 4b)
P p r o j e c t = { p   |   p . x = q . x ,     p . y = q . y ,     p . z = 0 ,     q   P z c o r r e c t }
where p and q represent points in P p r o j e c t and P z c o r r e c t , respectively.

3.3. Hierarchical Extraction of Scene Simplified Structure

3.3.1. First-Level Structure

Figure 5 is the flowchart of the first-level structure extraction. We propose a cycle segmentation strategy with two modules—A: cycle self-checking; B: quantitative analysis and reconstruction of units. In each segmentation, the largest point cloud subset that satisfies the same line distribution is extracted in the current remaining point cloud. The cycle self-checking module prevents the whole process from falling into an indefinite cycle. The quantitative analysis and reconstruction module ensure the robustness of a structure through removing trivial structures. The reason we adopted this strategy is that linear-distributed wall structures are major components in an indoor environment, and piecewise walls are consistent in the direction based on architectural structure form.
(1)
Line segmentation
In Formula (5), L i n e p r e is extracted through Ransac [54], and P l e f t is updated after each successful line segmentation. Line parameters are computed. The cycle self-checking module includes two parts: (a) point number check, where N l s (minimum points) is set to judge whether the line extraction is complete. Most line segment structures in the scene have already been extracted when L i n e p r e is small enough; (b) cycle number check: C i t e r _ m a x (maximum cycle number) prevents the process from falling into an infinite cycle
P l e f t = { p   |   p P p r o j e c t ,   p   L i n e p r e }
where P l e f t is the remaining point cloud in P p r o j e c t after each successful line segmentation; L i n e p r e   , the largest point cloud subset that meets the same line distribution in P l e f t , and P l e f t is just P p r o j e c t in the first line segmentation;
(2)
Euclidean Clustering
Each L i n e p r e is classified into multiple P l i n e _ c l u s t e r i (i = 1, 2…K) by Euclidean Clustering. The quantitative analysis and reconstruction of unit includes two parts: (a) point number constrain—to some extent, point numbers indicate its validity, so N p r is set. If the point number of P l i n e _ c l u s t e r i is less than N p r , it means that this P l i n e _ c l u s t e r i is meaningless to scene representation, the P l i n e _ c l u s t e r i object is a small scattered structure, or the structure is broken by truncation error. Figure 6 show the truncation error breaks’ stable structure; (b) Scale constrain— L p r is set to examine the diagonal length of the minimum bounding rectangle of P l i n e _ c l u s t e r i . After quantitative analysis and the reconstruction of the unit, some P l i n e _ c l u s t e r i will be put back into P l e f t for the next line segmentation.
(3)
Line fitting
We obtain line segment vertices in P l i n e _ c l u s t e r i through Ransac. We proposed a “Boundary Projection Fitting Algorithm” (Algorithm 1) to improve fitting accuracy. In Algorithm 1, P is P l i n e _ c l u s t e r i , resolution is distance interpolated resolution in line segment, and the output is single line (first-level “Simplified Structure”). The algorithm performs projection analysis on P l i n e _ c l u s t e r i , and the result is shown in Figure 7.
A l o g o r i t h m   1   B o u n d a r y   p r o j e c t i o n   i n   l i n e   f i t t i n g
1 :   Input   P = { p i R n   } 1 : N   , r e s o l u t i o n
2 :   Output   S i n g l e   L i n e  
3 :   L i n e p a r a m e t e r { a ,   b ,   c } ,     L i n e Ransac   Line   fitting ( P )
4 :   i d x m i n 0 , i d x m a x 0
5 :   i f   l i n e   g r a d i e n t > 1
6 : f o r   P i     P   d o
7 : P r o j e c t i project   P i   to   L i n e
8 : e n d   f o r
9 : i d x m i n idx   of   Y m i n   ,   i d x m a x idx   of   Y m a x ,   in   P r o j e c t  
10 :   N p o i n t     ( P r o j e c t i d x m a x . x P r o j e c t i d x m i n . x )   /   r e s o l u t i o n
11 :   e n d   i f
12 :   e l s e
13 : f o r   P i     P   d o  
14 : P r o j e c t i project   P i   to   L i n e
15 : e n d   f o r
16 : i d x m i n idx   of   X m i n ,   i d x m a x idx   of   X m a x ,     in   P r o j e c t
17 : N p o i n t     ( P r o j e c t i d x m a x . y P r o j e c t i d x m i n . y )   /   r e s o l u t i o n
18 :   e n d   e l s e
19 :   l i n e _ e n d p o i n t 1 P r o j e c t i d x m i n , l i n e _ e n d p o i n t 2 P r o j e c t i d x m a x
20 :   S i n g l e   L i n e   interpolate   point   according   to   l i n e _ e n d p o i n t 1 ,   l i n e _ e n d p o i n t 2 ,   N

3.3.2. Second-Level Structure (Parallel, Vertical)

The structure pairs are more stable than the first-level structure in the feature description. Some single line pairs are exploited as the second-level structure (Parallel, Vertical).
(1) In Formula (6), all possible single line pairs are reserved as
{ ( S i n g l e l i n e i , S i n g l e l i n e j )   | i j , i , j N S i n g l e l i n e }
where N S i n g l e l i n e is the number of the first-level structure;
(2) In Formula (7), angle classification, two types of structure pairs (Parallel Vertical) are selected based on the angle between two single lines ( C o s ). We set C o s p to 0.866 and C o s v to 0.259.
{ P a r a l l e l V e r t i c a l       C o s > C o s p       C o s < C o s v
where C o s p and C o s v are the cosine value thresholds for P a r a l l e l and V e r t i c a l , respectively;
(3) Attributes statistics: Parallel—(a) Distance: average distance of two vertices to the other single line. (b) Overlapping types: we compute the ratio of overlapping length in each single line length, and classified overlapping types into three types—complete overlapping, partial overlapping and non-overlapping. If one single line is far away from the other, the pair will be discarded. (c) The attributes that two single line have. Vertical—(a) perpendicular foot. (b) Vertical types: three types—point outside the two, point in one but outside the other and point in two according to the position of the perpendicular foot and two single lines. (c) The attributes that two first-level structures had.

3.3.3. Second-Level Structure (Arc segment)

In arc segment extraction, we adopted a serial process with several quantitative analysis, as shown in Figure 8.
(1)
Euclidean Clustering
P p r o j e c t is classified into clusters P a r c c l u s t e r i ( i = 1 , 2 N a r c c l u s t e r ) by Euclidean clustering. Then, we introduced two quantitative analysis constrain: (a) height constrain—some P a r c c l u s t e r i clusters, such as pedestrian and potted plants, are discarded with height threshold H c l u s t e r . An index correspondence mechanism is presented here to obtain the z coordinate as Formula (8); (b) Point number constrain—some trivial clusters are discarded by point numbers threshold N a c
{ j k   | i n d e x :   j   P a r c c l u s t e r ,   k   P z f i l t e r     }  
where P a r c c l u s t e r is a point cloud cluster after Euclidean clustering; P z f i l t e r is the point cloud after pass-through filtering in Section 3.2.1; j, k are point index in P a r c c l u s t e r , P z f i l t e r .
(2)
Arc segment Fitting
Ransac is exploited again to fit the arc in each P a r c c l u s t e r i . (a) Scale constrain: some linear clusters are removed with maximum radius threshold R m a x , because line segment is a special arc structure with a large radius. (b) Geometric constrain: three points (one arc midpoint and two arc endpoints) are exploited to verify the arc characteristics. In Figure 9, we define a complete arc that should have an arc midpoint ( q 2 ) and two arc endpoints ( q 1 q 3 ). q 2 is the closest point to Lidar, and q 1 and q 3 are the two farthest points on each side of q 2 ; they resemble an isosceles triangle. Incomplete arc segments caused by occlusion or other reasons will be discarded here.

3.4. Loop Closure Detection

Compared to traditional feature extraction methods, “Simplified Structure” indicates the distribution characteristics of the surrounding environment in a simpler way. Furthermore, the number and type of structure is also illustrated. With the number and types of “Simplified Structure”, we can approximate the position state, which will significantly improve the performance of global LCD.
Inspired by Smith Waterman [55] and Hungarian Algorithm [56], we present a hierarchical matching strategy with multiple similarity metrics in Euclidean space, and the matching rate of “Simplified Structure” indicates scene similarity. The similarity metrics include geometric metric, topological metric, and matching metric. The geometric metric is the attribute similarity measure for each type of structure. Topological metric is the primary relative position similarity measure between matching pairs. Matching metric is the precise relative position similarity measure between matching pairs after transformation. First, candidate-matching pairs satisfying geometric similarity are selected. Secondly, topological analysis is performed under the same “Simplified Structure”. Finally, the error equations on transformation parameters are constructed, and the similarity state for the same type of “Simplified Structure” is evaluated. Some auxiliary feature attributes can be utilized here, for example, in Figure 10, we calculate a midline to assist matching analysis in the parallel structure.

3.4.1. Pre-Match

After Section 3.3, we have extracted all “Simplified Structures” in each scan. Then, we roughly determine the registration suitability of two scans through a quantitative analysis of the Simplified Structure. Since the “Simplified Structure” can capture the stable scene structure, if the number of structures differs greatly, then the two scans cannot be registered, and they must not be a loop. Pre-match quantitative analysis includes two parts: (a) the existence of structure—if a certain type of structure exists in one scene but not in the other, then they must not be a loop; (b) quantitative difference in structure—the more the structure quantity differs, the lower the probability of loop is. Many non-loop scan pairs are discarded here, and much time is saved because time-consuming structure matching is not performed. As a crucial advantage of our Simplified Structure, we can eliminate many non-loop scans just by quantitative analysis in this step.
Due to the robustness of the “Simplified Structure”, this Pre-match is extremely suitable to analyze the point cloud registration suitability. It exploits the quantitative analysis of the structure to determine the similarity between point cloud scans roughly instead of through traditional overlapping analysis. It utilizes the intuitive Simplified Structure number to determine whether the registration can be carried out successfully. This provides an excellent pre-analysis for point cloud registration.

3.4.2. Structure Hierarchical Matching

Firstly, for each type of “Simplified Structure” in two scans, we construct a candidate similarity matrix ( C a n d i d a t e ) according to structure attributes. Its row and col represent a structure index for two scans (as shown in Figure 11a). Secondly, we find the longest matching queue for each matching pair (solid triangle in Figure 11a) in C a n d i d a t e . Thirdly, a matching number matrix ( M a t c h ) is constructed (Figure 11b), where m i , j means the maximum matching pair number in C a n d i d a t e for structure matching pair C a n d i d a t e i , j . The maximum value of M a t c h is the maximum matching number for this type of structure.
Four parts need to be explained in the longest matching queue search process. (1) In the process for C a n d i d a t e i , j , which is the first pair in the matching queue, and we search all possible pairs in C a n d i d a t e . M i , j is the maximum pair number of the queue for C a n d i d a t e i , j (Figure 11b). (2) The structure pairs in the same row or col cannot exist in one matching queue, for example, the blue solid line a in Figure 11a, C a n d i d a t e 0 , 0   C a n d i d a t e 0 , 3 , cannot exist in the same matching queue because the structure pair is one-to-one. (3) Topological metric is first considered here, which can ensure that the matching queue satisfies the relative position relation. Topological metrics include point-to-line distance, point-to-point distance, and angle between line and line. (4) Error evaluation: in Formulas (9) and (10), point-to-point distance and point-to-line distance of structure matching pairs are used
c o s t   f u n t i o n 1 :   a r c m i n T A * T ( x ) + B * T ( y ) + C A 2 + B 2
c o s t   f u n c t i o n 2 : a r c m i n T ( X T ( x ) ) 2 + ( Y T ( y ) ) 2
where A, B, and C are the parameters of line equation; x and y are the coordinates in the source scan; X and Y are the coordinates in the target scan. T ( x ) and T ( y ) are the coordinates of x and y after transformation. T is the transformation parameter, and it can also be used for the point cloud registration.

3.4.3. Loop Evaluation

A multi-state loop evaluation model of multi-level structure is constructed in Figure 12. It scores each type of structure. There are three evaluation states for each type of Simplified Structure: (1) default state—structure quantity is insufficient (parallel-2, vertical-1, arc segment-2, single line-5); (2) scoring state— s c o r e is computed in Formula (11) to see if both two scans have sufficient structure and some structure pairs are matched well; (3) error state—a special state, which takes place in two situations, one where the s c o r e is less than S s i m in the scoring state for Simplified Structure, the other where a default state occurs in the first-level structure. If an error state occurs in one type of Simplified Structure, the two scans will be regarded as non-loop immediately. Before evaluation, the evaluation states of all Simplified Structures are initialized as default state. As shown in Figure 12, the second-level structure is evaluated first, and if all of them remain in default state after evaluation, the first-level structure will be evaluated. The corresponding structure in two scans will be considered as similar if their s c o r e is higher than S s i m in scoring state; we set S s i m to 60%. On the contrary, the evaluation state of two scans are set to error if the s c o r e is less than S s i m . When the error state occurs, the current candidate scan will be discarded and the next scan matching will start.
s c o r e = N m N q × 100 %  
where N m is the maximum matching number of the simplified structure in two data; N q is the maximum number of the Simplified Structure in two data.
If two scans are a loop closure, their score should be higher than S s i m for the Simplified Structure in scoring state. For global LCD, most scans are non-loop and it will be extremely time-consuming if we perform structure matching. In our method, massive non-loop scans can be eliminated through pre-match. The multi-state loop evaluation model improves the accuracy and efficiency of LCD through the hierarchical management of structure. Our LCD method depends on the Simplified Structure; it can detect loop scans efficiently through a quantitative analysis of the structure. It is extremely effective in a scene that has some robust structure.
In our LCD, if two-point cloud scans are identified as loop after loop evaluation, then we can also acquire the transformation parameters based on the cost function in Formulas (9) and (10), and we adopt the least-square solution.

4. Experiment

4.1. Experimental Platform and Data Description

Our global LCD experiment was carried out offline; the 16 beam Lidar and platform in the experiment is shown in Figure 13. Differences between our platform and Pseudo GNSS/INS setup are three-fold: (1) applicable scene—pseudo GNSS/INS is not suitable for long-time localization in large indoor scenes (although the accuracy is higher for outdoor). Our experiment setup works well under bad (or even no) lighting conditions; (2) platform cost—our main experimental platform composes of a 16 beam Lidar and has no other equipment, and the cost is less than GNSS/INS setup; (3) external signal—we don’t need any external signals to perform localization, and satellite signal is required in Pseudo GNSS/INS setup.
In Figure 14, there were three typical indoor scenes in our experiment and their Lidar trajectories were shown in Figure 15. Dataset 1 was a common indoor corridor scene; dataset 2 was an indoor hall; dataset 3 was an underground parking lot. We collected 4500 (dataset 1), 547 (dataset 2) and 10,400 (dataset 3) point cloud scans in three datasets, respectively. The trajectory in Dataset 1 was a round route; the trajectory in dataset 2 and dataset 3 included a back-and-forth route. We obtained the ground truth of each scan by Laser SLAM and obtained the relative pose to the first scan. A laptop with Intel Core i7-5500U CPU @2.40 GHz 2.39 GHz and 8.0 GB of RAM was applied in our experiment. The key scan was sampled to a lower computation. Here, the key scan interval is different in three datasets because of the different number of collected data scans. Dataset 1: a key scan every five scans, dataset 2: every scan is a key one, dataset 3: a key scan for every ten scans. If our method is applied to online SLAM, constant key scan interval could be exploited.

4.2. Parameter Setting

The experimental parameters (including some error thresholds) were classified by modules as Table 1, preprocess parameters, Simplified Structure parameters and loop detection parameters. Some critical parameters were introduced here: (a) preprocess—some specific parameters such as H m i n and H m a x needed to be adjusted according to the installation height of Lidar, and H m i n can be set to the approximate installation height; (b) Simplified Structure— N p l and N i t e r , the termination conditions of the process, were empirically set to 300 and 50, respectively. Parameters here ensured the accuracy of the Simplified Structure and they were mainly for accuracy. It was verified that these parameters change little for different indoor environments; (c) loop evaluation—parameters here were mainly for the similarity measurements of the Simplified Structure. The higher the S s i m was set, the more similar the two scenes were, and we set S s i m   t o   60 % .

4.3. Experiment Results of Structure Extraction and Matching

Limited by the paper length, only two loop scans were sampled as analysis example in each dataset. In the experiment, the ground truth mentioned in Section 4.1 was exploited to verify our LCD method performance. In Table 2, we listed number of Simplified Structure, number of structure matching and time consumption for the example scans in three dataset. Time consumption of Simplified Structure extraction and matching was also computed.

4.3.1. Dataset 1

Dataset 1 was a corridor scene; the 978th and 3618th scan were sampled. Figure 16 showed the original data (a) and Simplified Structure (b–f). For the visual effect of matching results, we aligned two scans and kept 20 cm in z direction. The two scans are around D in Lidar trajectory (Figure 15a). All kinds of Simplified Structure were detected here. The structures of the two scans were similar and matched well on the visible effect (Figure 16b–f). In Table 2, number of Simplified Structure in two scans were almost same and all matching ratios were higher than 60%, especially the vertical, which was 100%.

4.3.2. Dataset 2

Dataset 2 was a spacious open hall scene, and there were a few stable structures in some data scans. The 13th and 419th scan were sampled. In Figure 17, the Parallel and Vertical in two scans were lower than in dataset 1, and they were in default state after loop evaluation. Arc segments were extracted in two scans. In Figure 17, we can see that the sole vertical in the 13th scan was matched well with one vertical in the 419th scan. All arc segments in the two scans matched well. Single lines were also matched in order to upgrade the result reliability, and the same excellent matching result was shown in Table 2—seven pairs of single lines among two scans were well-matched.

4.3.3. Dataset 3

Dataset 3 was an undergrounding parking lot. It had two challenges, moving vehicles and pillars that partition parking space. The pillars may result in structure occlusion in some close position. The 10150th and 490th scan were sampled. The arc segment was in default state after loop evaluation. In Figure 18, four pairs of Vertical and three pairs of Parallel were matched. The matching similarity of the second level (Parallel and Vertical) reached over 70%; these two scans could be considered as a loop. Similar to Section 4.3.2, the first-level structure was matched to improve the reliability. In Table 2, there were 13 and 15 first-level structures in two scans, respectively, and 12 pairs were well-matched.

5. Discussion

5.1. Similarity Matrix

The similarity matrix [37,38] was also applied in our method evaluation; the colored area represented similar scans. In Figure 19, our similarity matrix is consistent with the ground truth similarity matrix. The number on the figure is the key scan serial number. Dataset 1 (Figure 19a,d): there were three loops near A and B, and two near the other parts, which was also detected in our method. G was an empty spacious vicinity near the elevator, deviating from the corridor, where the Lidar moved slowly for a period of time, resulting in many similar areas from the 400th to 500th scan. Dataset 2 (Figure 19b,e): the loop in A E H I was detected effectively in our experiment. Dataset 3 (Figure 19c,f): CDE was a back-and-forth route where the loop mainly occurred. They were also labeled in our similarity matrix. However, due to the occlusion of scene structure and other reasons, there were some defects in the contour of similar matrixes. In Figure 19, we marked some loops that were undetected in our method (red rectangle), such as AB in Dataset 1, AI in Dataset 2, AD in Dataset 3. In Dataset 3, the 900th and 500th key scan were mistaken as a loop due to the high similarity of parking space structure (green rectangle). There are only few false cases in our experiments. Since the purpose of our method was to find the global loop fast and accurately, missing loops did not impair the method performance as long as loop detection was accurate enough. These false loops can be further eliminated through comparative analysis among candidate loop scans.

5.2. Error Metrics

Our task was to ensure the accuracy of detected loops and eliminate any false loops as much as possible. Obviously, there would be many negative matches when global LCD was performed in many scans. That is why Negative Predictive Value (NPV) and Accuracy (ACC) were also adopted besides Precision (PPV) and Recall (TPR). PPV in Formula (12) refers to the rate of detecting true loop, TPR in Formula (13) indicated that the rate of all loops had been found, NPV in Formula (14) indicated the exclusion rate of a non-loop, and ACC in Formula (15) represented the rate of our right decision. NPV is an effective metric to verify the capability to exclude the non-loop accurately in global LCD. Our method was evaluated quantitatively with the four indicators
P P V = T P T P + F P
T P R = T P T P + F N
N P V = T N T N + F N
A C C = T P + T N T P + T N + F P + F N  
where T P , true positive, is the correctly detected matching scan, F P , false positive, is the incorrectly detected matching scan, TN, true negative, is the correctly detected non-matching scan, F N , false negative, is the incorrectly detected non-matching scan.
In Table 3, both the NPV average and ACC average in three datasets reached over 0.95, the PPV average in dataset 1, 2 were higher than 0.90 and that in dataset 3 was 0.8761. Low TPR was the biggest drawback, but it would not affect the performance of LCD, as mentioned above. The precision of some scans was less than 0.5, as shown in Figure 20a–c, and there may be two possible reasons: (1) there are few Simplified Structures in those places, and (2) the laser was obstructed due to some interference factors such as pedestrians or moving vehicles; in Figure 20a–c, the low-precision scans are close to each other. The situation happened more, and some false loops were found in dataset 3.

6. Conclusions

In this paper, we propose an offline global LCD method for low-cost Lidar (16 lines) in indoor scene to improve the robustness and efficiency of indoor SLAM. Adopting the proposed “Simplified Structure” is effective to capture a robust point cloud structure. It utilizes a few points to transform environment information that is hard to distinguish visually into an intelligible geometric structure. It is extremely suitable for a structural indoor scene that has some piecewise walls, robust pillars or other robust structures. In our method, if two scans are identified successfully, we can also obtain the transformation parameters that can be used for point cloud registration. Our method can offer a desirable global LCD performance and the precision of our method basically satisfies the accuracy requirements in SLAM.
The “Simplified Structure” we propose is a robust feature description for structured indoor point cloud scene. Our proposed LCD method benefits from the “Simplified Structure”. If a Simplified Structure is applied in laser SLAM, the data memory will be reduced significantly. We test the method on three typical datasets and acquire desirable results. Our global LCD method is especially suitable for a sparse Lidar point cloud and detects global loop successfully. Its precision reaches nearly 0.9 despite the low recall. Although the experiment is performed offline, its accuracy and efficiency meet the localization performance requirements in SLAM. The registering suitability analysis based on a “Simplified Structure” is very valued for point cloud registration work.
Improving the instability of the positioning system is an important task in the field of robots. Our LCD method can effectively improve the robot localization performance to ensure the regular operation process according the error analysis. Generally, simplified structured information is abundant in an indoor environment, which is very beneficial to our method. Our method has several remarkable characteristics, low cost, fast detection, and no Pseudo-GNSS/INS module. This is very beneficial to some low-speed robots, and our fast LCD method can improve the positioning accuracy of the robot and avoid accidents. This method is also effective for low-cost Lidar, which can avoid being applied to expensive equipment and wasting resources. It can be applied to robot products integrating a slam framework.
The objects described by “Simplified Structure” are those stable scene structures. The structure extraction result is susceptible to moving objects, because they will break the structural integrity. Therefore, a dynamic interference objects removal technology needs to be studied. In addition, we will try to apply our global LCD method to an online SLAM system. We will consider more types of Simplified Structures and extend the method to some compact outdoor scenes.

Author Contributions

Conceptualization, Q.Y., P.S., P.G. and S.Z.; methodology, Q.Y., P.S. and P.G.; validation, P.S., K.X. and P.G.; formal analysis, Q.Y., P.S. and P.G.; investigation, P.S. and P.G.; resources, P.S. and P.G.; data curation, P.S.; writing—original draft preparation, P.S.; writing—review and editing, Q.Y., P.S. and P.G.; visualization, P.S.; supervision, Q.Y., P.G. and S.Z.; project administration, Q.Y.; funding acquisition, Q.Y. All authors have read and agreed to the published version of the manuscript.

Funding

The Project Supported by the National Natural Science Foundation of China (grant number 41771480) and the Open Fund of Key Laboratory of Urban Land Resources Monitoring and Simulation, MNR (grant number KF-2019-04-015).

Acknowledgments

The authors would like to gratefully acknowledge ZHONGZHEN TONGLU (JIANGSU) ROBOT CO. LTD. who provided us the data support. Montemerlo, M., Thrun, S., Koller, D., & Wegbreit, B. (2002). FastSLAM: a factored solution to the simultaneous localization and mapping problem. AAAI/IAAI.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Michael, M. FastSLAM: A factored solution to the simultaneous localization and mapping problem. In Proceedings of the AAAI National Conference on Artificial Intelligence, Edmonton, AB, Canada, 28 July–1 August 2003; pp. 593–598. [Google Scholar]
  2. Kim, C.; Sakthivel, R.; Chung, W.K. Unscented FastSLAM: A Robust Algorithm for the Simultaneous Localization and Mapping Problem. In Proceedings of the 2007 IEEE International Conference on Robotics and Automation, Roma, Italy, 10–14 April 2007; pp. 2439–2445. [Google Scholar] [CrossRef]
  3. Lee, S.; Kim, H.; Lee, B. An Efficient Rescue System with Online Multi-Agent SLAM Framework. Sensors 2020, 20, 235. [Google Scholar] [CrossRef] [Green Version]
  4. Palomeras, N.; Carreras, M.; Andrade-Cetto, J. Active SLAM for Autonomous Underwater Exploration. Remote Sens. 2019, 11, 2827. [Google Scholar] [CrossRef] [Green Version]
  5. Bogoslavskyi, I.; Stachniss, C. Efficient Online Segmentation for Sparse 3D Laser Scans. PFG 2017, 85, 41–52. [Google Scholar] [CrossRef]
  6. Engel, J.; Schops, T.; Cremers, D. Lsd-slam: Large-scale direct monocular slam. In Proceedings of the European Conference on Computer Vision, Munich, Germany, 8–14 September; Springer: Berlin, Germany, 2014; pp. 834–849. [Google Scholar] [CrossRef] [Green Version]
  7. Corso, N.; Zakhor, A. Indoor Localization Algorithms for an Ambulatory Human Operated 3D Mobile Mapping System. Remote Sens. 2013, 5, 6611–6646. [Google Scholar] [CrossRef] [Green Version]
  8. Shamseldin, T.; Manerikar, A.; Elbahnasawy, M.; Habib, A. SLAM-based Pseudo-GNSS/INS Localization System for Indoor LiDAR Mobile Mapping Systems. In Proceedings of the IEEE/ION PLANS 2018, Monterey, CA, USA, 23–26 April 2018; pp. 197–208. [Google Scholar] [CrossRef]
  9. Ghani, M.F.A.; Sahari, K.S.M.; Kiong, L.C. Improvement of the 2D SLAM system using Kinect sensor for indoor mapping. In Proceedings of the International Symposium on Soft Computing & Intelligent Systems, Kitakyushu, Japan, 3–6 December 2014; IEEE: Piscataway, NJ, USA, 2015. [Google Scholar] [CrossRef]
  10. Chang, H.J.; Lee, C.S.G.; Lu, Y.; Hu, Y.C. P-SLAM: Simultaneous Localization and Mapping with Environmental-Structure Prediction. IEEE Trans. Robot. 2007, 23, 281–293. [Google Scholar] [CrossRef]
  11. Zhang, H.; Hou, Z.; Li, N. A Graph-Based Hierarchical SLAM Framework for Large-Scale Mapping. In Proceedings of the 5th International Conference on Intelligent Robotics and Applications, Shenyang, China, 8–11 August 2019; Springer: Heidelberg, Germany, 2012. [Google Scholar] [CrossRef]
  12. Liu, Q.; Wang, Z.; Wang, H. SD-VIS: A Fast and Accurate Semi-Direct Monocular Visual-Inertial Simultaneous Localization and Mapping (SLAM). Sensors 2020, 20, 1511. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  13. Agrawal, P.; Iqbal, A.; Russell, B.; Hazrati, M.K.; Kashyap, V.; Akhbari, F. PCE-SLAM: A real-time simultaneous localization and mapping using LiDAR data. In Proceedings of the 2017 IEEE Intelligent Vehicles Symposium (IV), Los Angeles, CA, USA, 11–14 June 2017; pp. 1752–1757. [Google Scholar] [CrossRef]
  14. Balsa-Barreiro, J.; Fritsch, D. Generation of visually aesthetic and detailed 3D models of historical cities by using laser scanning and digital photogrammetry. Digit. Appl. Archaeol. Cult. Herit. 2017. [Google Scholar] [CrossRef]
  15. Xu, Y.; Ou, Y.; Xu, T. SLAM of Robot based on the Fusion of Vision and LIDAR. In Proceedings of the 2018 IEEE International Conference on Cyborg and Bionic Systems (CBS), Shenzhen, China, 25–27 October 2018; pp. 121–126. [Google Scholar] [CrossRef]
  16. Wang, X.; He, L.; Zhao, T. Mobile Robot for SLAM Research Based on Lidar and Binocular Vision Fusion. Chin. J. Sens. Actuators 2018, 31, 394–399. [Google Scholar] [CrossRef]
  17. Wu, Q.; Sun, K.; Zhang, W.; Huang, C.; Wu, X. Visual and LiDAR-based for the mobile 3D mapping. In Proceedings of the 2016 IEEE International Conference on Robotics and Biomimetics (ROBIO), Qingdao, China, 3–7 December 2016; pp. 1522–1527. [Google Scholar] [CrossRef]
  18. Shao, W.; Vijayarangan, S.; Li, C.; Kantor, G. Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping. In Proceedings of the 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Macau, China, 3–8 November 2019; pp. 370–377. [Google Scholar] [CrossRef] [Green Version]
  19. Jin, Z.; Shao, Y.; So, M.; Sable, C.; Shlayan, N.; Luchtenburg, D.N. A Multisensor Data Fusion Approach for Simultaneous Localization and Mapping. In Proceedings of the 2019 IEEE Intelligent Transportation Systems Conference (ITSC), Auckland, New Zealand, 27–30 October 2019; pp. 1317–1322. [Google Scholar] [CrossRef]
  20. Cummins, M.; Newman, P. Probabilistic Appearance Based Navigation and Loop Closing. In Proceedings of the 2007 IEEE International Conference on Robotics and Automation, Roma, Italy, 10–14 April 2007; pp. 2042–2048. [Google Scholar] [CrossRef] [Green Version]
  21. Koch, O.; Walter, M.R.; Huang, A.S.; Teller, S. Ground robot navigation using uncalibrated cameras. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–8 May 2010; pp. 2423–2430. [Google Scholar] [CrossRef]
  22. Cummins, M.; Newman, P. FAB-MAP: Probabilistic Localization and Mapping in the Space of Appearance. Int. J. Robot. Res. 2008, 27, 647–665. [Google Scholar] [CrossRef]
  23. Angeli, A.; Doncieux, S.; Meyer, J.; Filliat, D. Real-time visual loop-closure detection. In Proceedings of the 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008; pp. 1842–1847. [Google Scholar] [CrossRef] [Green Version]
  24. Besl, P.J.; McKay, N.D. A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef]
  25. James, S.; Waslander, A.V. Multi-Channel Generalized-ICP: A robust framework for multi-channel scan registration. Robot. Auton. Syst. 2017, 87, 247–257. [Google Scholar] [CrossRef] [Green Version]
  26. Qin, H.; Huang, M.; Cao, J.; Zhang, X. Loop closure detection in SLAM by combining visual CNN features and submaps. In Proceedings of the 4th International Conference on Control, Automation and Robotics (ICCAR), Auckland, New Zealand, 20–23 April 2018; pp. 426–430. [Google Scholar] [CrossRef]
  27. Su, Z.; Zhou, X.; Cheng, T.; Zhang, H.; Xu, B.; Chen, W. Global localization of a mobile robot using lidar and visual features. In Proceedings of the 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macau, China, 5–8 December 2017; pp. 2377–2383. [Google Scholar] [CrossRef]
  28. Tazaki, Y.; Miyauchi, Y.; Yokokohji, Y. Loop detection of outdoor environment using proximity points of 3D pointcloud. In Proceedings of the 2017 IEEE/SICE International Symposium on System Integration (SII), Taipei, Taiwan, 11–14 December 2017; pp. 411–416. [Google Scholar] [CrossRef]
  29. Shan, T.; Englot, B. LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 4758–4765. [Google Scholar] [CrossRef]
  30. Ren, Z.; Wang, L.; Bi, L. Robust GICP-Based 3D LiDAR SLAM for Underground Mining Environment. Sensors 2019, 19, 2915. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  31. Kallasi, F.; Rizzini, D.L. Efficient loop closure based on FALKO lidar features for online robot localization and mapping. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, 9–14 October 2016; pp. 1206–1213. [Google Scholar] [CrossRef]
  32. Steder, B.; Grisetti, G.; Burgard, W. Robust place recognition for 3D range data based on point features. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–8 May 2010; pp. 1400–1405. [Google Scholar] [CrossRef] [Green Version]
  33. He, L.; Wang, X.; Zhang, H. M2DP: A novel 3D point cloud descriptor and its application in loop closure detection. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, 9–14 October 2016; pp. 231–237. [Google Scholar] [CrossRef]
  34. Röhling, T.; Mack, J.; Schulz, D. A fast histogram-based similarity measure for detecting loop closures in 3- D LIDAR data. In Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; pp. 736–741. [Google Scholar] [CrossRef]
  35. Magnusson, M.; Andreasson, H.; Nuchter, A.; Lilienthal, A.J. Appearance-based loop detection from 3D laser data using the normal distributions transform. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009; pp. 23–28. [Google Scholar] [CrossRef] [Green Version]
  36. Li, M.; Zhu, H.; You, S.; Wang, L.; Tang, C. Efficient Laser-Based 3D SLAM for Coal Mine Rescue Robots. IEEE Access 2019, 7, 14124–14138. [Google Scholar] [CrossRef]
  37. Muhammad, N.; Lacroix, S. Loop closure detection using small-sized signatures from 3D LIDAR data. In Proceedings of the 2011 IEEE International Symposium on Safety, Security, and Rescue Robotics, Kyoto, Japan, 1–5 November 2011; pp. 333–338. [Google Scholar] [CrossRef]
  38. Balsa-Barreiro, J.; Avariento, J.P.; Lerma, J.L. Airborne light detection and ranging (LiDAR) point density analysis. Sci. Res. Essays 2012, 7, 3010–3019. [Google Scholar] [CrossRef]
  39. Grant, W.S.; Voorhies, R.C.; Itti, L. Finding planes in LiDAR point clouds for real-time registration. In Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; pp. 4347–4354. [Google Scholar] [CrossRef] [Green Version]
  40. Hämmerle, M.; Höfle, B. Effects of Reduced Terrestrial LiDAR Point Density on High-Resolution Grain Crop Surface Models in Precision Agriculture. Sensors 2014, 14, 24212–24230. [Google Scholar] [CrossRef] [Green Version]
  41. Kunwar, S.; Gang, C.; James, M.; Ross, M. Effects of LiDAR point density and landscape context on estimates of urban forest biomass. ISPRS J. Photogramm. Remote Sens. 2015, 101, 310–322. [Google Scholar] [CrossRef] [Green Version]
  42. Tomljenovic, I.; Rousell, A. Influence of point cloud density on the results of automated Object-Based building extraction from ALS data. In Proceedings of the AGILE 2014 International Conference on Geographic Information Science, Castellon, Spain, 3–16 January 2014; Available online: https://agile-online.org/conference_paper/cds/agile_2014/agile2014_130.pdf (accessed on 16 April 2020).
  43. Mondino, E.B.; Fissore, V.; Falkowski, M.J.; Palik, B. How far can we trust forestry estimates from low-density LiDAR acquisitions? The Cutfoot Sioux experimental forest (MN, USA) case study. Intern. J. Remote Sens. 2020, 41, 4551–4569. [Google Scholar] [CrossRef]
  44. Dubé, R.; Dugas, D.; Stumm, E.; Nieto, J.; Siegwart, R.; Cadena, C. SegMatch: Segment based place recognition in 3D point clouds. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 5266–5272. [Google Scholar] [CrossRef] [Green Version]
  45. Ji, X.; Zuo, L.; Zhang, C.; Liu, Y. LLOAM: LiDAR Odometry and Mapping with Loop-closure Detection Based Correction. In Proceedings of the 2019 IEEE International Conference on Mechatronics and Automation (ICMA), Tianjin, China, 4–7 August 2019; pp. 2475–2480. [Google Scholar] [CrossRef]
  46. Yin, P.; He, Y.; Xu, L.; Peng, Y.; Han, J.; Xu, W. Synchronous Adversarial Feature Learning for LiDAR based Loop Closure Detection. In Proceedings of the 2018 Annual American Control Conference (ACC), Milwaukee, WI, USA, 27–29 June 2018; pp. 234–239. [Google Scholar] [CrossRef] [Green Version]
  47. Yin, H.; Ding, X.; Tang, L.; Wang, Y.; Xiong, R. Efficient 3D LIDAR based loop closing using deep neural network. In Proceedings of the 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macau, China, 5–8 December 2017; pp. 481–486. [Google Scholar] [CrossRef]
  48. Ren, R.; Fu, H.; Wu, M. Large-Scale Outdoor SLAM Based on 2D Lidar. Electronics 2019, 8, 613. [Google Scholar] [CrossRef] [Green Version]
  49. Rottmann, N.; Bruder, R.; Schweikard, A.; Rueckert, E. Loop Closure Detection in Closed Environments. In Proceedings of the 2019 European Conference on Mobile Robots (ECMR), Prague, Czech Republic, 4–6 September 2019; pp. 1–8. [Google Scholar] [CrossRef] [Green Version]
  50. Hess, W.; Kohler, D.; Rapp, H.; Andor, D. Real-time loop closure in 2D LIDAR SLAM. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 1271–1278. [Google Scholar] [CrossRef]
  51. Li, X.; Sun, M.; Liu, Z.; Zhao, F. Active loop closing based on laser data in indoor environment. In Proceedings of the 2016 IEEE International Conference on Information and Automation (ICIA), Ningbo, China, 31 July–4 August 2016; pp. 807–812. [Google Scholar] [CrossRef]
  52. Tsujibayashi, T.; Inoue, K.; Yoshioka, M. Normal Estimation of Surface in PointCloud Data for 3D Parts Segmentation. In Proceedings of the 2018 IEEE International Conference on Artificial Intelligence in Engineering and Technology (IICAIET), Kota Kinabalu, Malaysia, 8–9 November 2018; pp. 1–5. [Google Scholar] [CrossRef]
  53. Zhao, R.; Pang, M.; Liu, C.; Zhang, Y. Robust Normal Estimation for 3D LiDAR Point Clouds in Urban Environments. Sensors 2019, 19, 1248. [Google Scholar] [CrossRef] [Green Version]
  54. Fischler, M.A.; Bolles, R.C. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Commun ACM 1981, 24, 381–395. [Google Scholar] [CrossRef]
  55. Smith, T.F.; Waterman, M.S. Identification of Common Subsequences. J. Mol. Biol. 1981, 147, 195–197. [Google Scholar] [CrossRef]
  56. Kuhn, H.W. The Hungarian method for the assignment problem. Naval Res. Logist. Q. 1955, 2, 83–97. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Flow chart. P is the current point cloud scan input. Q 1 Q 2 Q n are all candidate point cloud scans saved locally. A B and C are three main stages-Preprocessing, Simplified Structure extraction and Loop evaluation respectively.
Figure 1. Flow chart. P is the current point cloud scan input. Q 1 Q 2 Q n are all candidate point cloud scans saved locally. A B and C are three main stages-Preprocessing, Simplified Structure extraction and Loop evaluation respectively.
Sensors 20 02299 g001
Figure 2. Simplified structure in indoor environment. (a) the rgb images of real scene; (b) stable structure; (c) Simplified Structure result. Column 1: Single line; Column 2: Arc segment; Column 3: Parallel; Column 4: Vertical.
Figure 2. Simplified structure in indoor environment. (a) the rgb images of real scene; (b) stable structure; (c) Simplified Structure result. Column 1: Single line; Column 2: Arc segment; Column 3: Parallel; Column 4: Vertical.
Sensors 20 02299 g002
Figure 3. Categories of Simplified Structure. (a) Single line. (b) Arc segment; (c) Complete overlap parallel; (d) Partial overlap parallel; (e) Non-overlap Parallel; (f) Complete real vertical; (g) Partial real vertical; (h) Virtual vertical.
Figure 3. Categories of Simplified Structure. (a) Single line. (b) Arc segment; (c) Complete overlap parallel; (d) Partial overlap parallel; (e) Non-overlap Parallel; (f) Complete real vertical; (g) Partial real vertical; (h) Virtual vertical.
Sensors 20 02299 g003
Figure 4. Preprocess result (a) original point cloud (b) preprocessing result. The scan is sampled from dataset 1 (Section 4).
Figure 4. Preprocess result (a) original point cloud (b) preprocessing result. The scan is sampled from dataset 1 (Section 4).
Sensors 20 02299 g004
Figure 5. Flow chart of the first-level structure extraction. A is the module—“cycle self-checking”, and B is the module—“quantitative analysis and reconstruction of units”.
Figure 5. Flow chart of the first-level structure extraction. A is the module—“cycle self-checking”, and B is the module—“quantitative analysis and reconstruction of units”.
Sensors 20 02299 g005
Figure 6. Truncation error. (a) Structure before truncation error; (b) Structure after truncation error; L1 and L2 are two L i n e p r e in Section 3.3.1 (1), a b c and d are the Euclidean clustering results of L1 in Section 3.3.1 (1), and A B for the L2. Blue line segment L2-A is blocked by L1 because of the truncation error.
Figure 6. Truncation error. (a) Structure before truncation error; (b) Structure after truncation error; L1 and L2 are two L i n e p r e in Section 3.3.1 (1), a b c and d are the Euclidean clustering results of L1 in Section 3.3.1 (1), and A B for the L2. Blue line segment L2-A is blocked by L1 because of the truncation error.
Sensors 20 02299 g006
Figure 7. First-level structure—single line.
Figure 7. First-level structure—single line.
Sensors 20 02299 g007
Figure 8. Flow chart of the second-level structure—arc segment extraction.
Figure 8. Flow chart of the second-level structure—arc segment extraction.
Sensors 20 02299 g008
Figure 9. Relative Position of Lidar and Cylindrical Structure. S represents the Lidar; q1 and q3 are two arc endpoints, q2 is the arc midpoint.
Figure 9. Relative Position of Lidar and Cylindrical Structure. S represents the Lidar; q1 and q3 are two arc endpoints, q2 is the arc midpoint.
Sensors 20 02299 g009
Figure 10. Midline in Parallel. L1 and L2 are a Parallel structure; M is the midline.
Figure 10. Midline in Parallel. L1 and L2 are a Parallel structure; M is the midline.
Sensors 20 02299 g010
Figure 11. Matching analysis matrix. (a) Candidate match matrix ( C a n d i d a t e ); (b) Matching number matrix ( M a t c h ). Row and column in two matrixes represent the index of Simplified Structure in source and target data, respectively. Solid triangle represents a candidate match structure pair, whereas hollow square represents a non-match structure pair; red dashed line—topological analysis of match pair; blue solid line a—the two structure pair that cannot exist in the same match queue; blue solid line b, the two structure pair can exist in the same match queue; m i , j , the maximum match pair number found in Candidate for Candidate i , j .
Figure 11. Matching analysis matrix. (a) Candidate match matrix ( C a n d i d a t e ); (b) Matching number matrix ( M a t c h ). Row and column in two matrixes represent the index of Simplified Structure in source and target data, respectively. Solid triangle represents a candidate match structure pair, whereas hollow square represents a non-match structure pair; red dashed line—topological analysis of match pair; blue solid line a—the two structure pair that cannot exist in the same match queue; blue solid line b, the two structure pair can exist in the same match queue; m i , j , the maximum match pair number found in Candidate for Candidate i , j .
Sensors 20 02299 g011
Figure 12. Flow chart of loop evaluation. “Score judge” is to judge whether s c o r e is higher than the score threshold ( S s i m ) in scoring state. Default, Scoring and Error are three evaluation states.
Figure 12. Flow chart of loop evaluation. “Score judge” is to judge whether s c o r e is higher than the score threshold ( S s i m ) in scoring state. Default, Scoring and Error are three evaluation states.
Sensors 20 02299 g012
Figure 13. 16 beam Lidar in our experiment. A 16 beam Lidar is set on the Turtlebot platform.
Figure 13. 16 beam Lidar in our experiment. A 16 beam Lidar is set on the Turtlebot platform.
Sensors 20 02299 g013
Figure 14. (a) Dataset 1—corridor; (b) Dataset 2—hall; (c) Dataset 3—underground parking lot.
Figure 14. (a) Dataset 1—corridor; (b) Dataset 2—hall; (c) Dataset 3—underground parking lot.
Sensors 20 02299 g014
Figure 15. Lidar trajectory. (a) Dataset 1, A-B-D-E-A-B-G-B-D-E-A; (b) Dataset 2, A-B-C-D-E-F-G-H-I-A-I-H-E-D; (c) Dataset 3, A-B-C-D-E-D-C-F-G- A.
Figure 15. Lidar trajectory. (a) Dataset 1, A-B-D-E-A-B-G-B-D-E-A; (b) Dataset 2, A-B-C-D-E-F-G-H-I-A-I-H-E-D; (c) Dataset 3, A-B-C-D-E-D-C-F-G- A.
Sensors 20 02299 g015
Figure 16. Matching results of structure in Dataset 1. (a) The 978th and 3618th scan original point cloud. (b) All Simplified Structure; (c) Single line; (d) Parallel; (e) Vertical; (f) Arc segment. Green—the 978th scan; Red—the 3618th scan.
Figure 16. Matching results of structure in Dataset 1. (a) The 978th and 3618th scan original point cloud. (b) All Simplified Structure; (c) Single line; (d) Parallel; (e) Vertical; (f) Arc segment. Green—the 978th scan; Red—the 3618th scan.
Sensors 20 02299 g016
Figure 17. Structure matching results in Dataset 2. (a) The 419th and 13th scan. (b) All Simplified Structure; (c) Single line; (d) Vertical; (e) Arc segment. Green—the 419th scan; Red—the 13th scan.
Figure 17. Structure matching results in Dataset 2. (a) The 419th and 13th scan. (b) All Simplified Structure; (c) Single line; (d) Vertical; (e) Arc segment. Green—the 419th scan; Red—the 13th scan.
Sensors 20 02299 g017
Figure 18. Matching results of structure in Dataset 3. (a) The 10150th and 490th scan original point cloud. (b) All Simplified Structures (Single line); (c) Parallel; (d) Vertical; Green—the 10150th scan; Red—the 490th scan. The robust arc segment was not detected, so all Simplified Structures were equivalent to a single line segment.
Figure 18. Matching results of structure in Dataset 3. (a) The 10150th and 490th scan original point cloud. (b) All Simplified Structures (Single line); (c) Parallel; (d) Vertical; Green—the 10150th scan; Red—the 490th scan. The robust arc segment was not detected, so all Simplified Structures were equivalent to a single line segment.
Sensors 20 02299 g018
Figure 19. Similarity matrix. (ac) Similarity matrix from ground truth; (df) similarity matrix from our method. Red rectangle represents undetected loop scans; Green rectangle represents wrong loop scans. Column 1: dataset 1; column 2: dataset 2; column 3: dataset 3. The row and column in matrix were key scan sequence number. The number represents the key scan serial number. This means that 1 represents the 5th scan point cloud in dataset 1, the first scan in dataset 2, and the 10th scan in dataset 3. A, B…I in the figure refers to the position in three datasets.
Figure 19. Similarity matrix. (ac) Similarity matrix from ground truth; (df) similarity matrix from our method. Red rectangle represents undetected loop scans; Green rectangle represents wrong loop scans. Column 1: dataset 1; column 2: dataset 2; column 3: dataset 3. The row and column in matrix were key scan sequence number. The number represents the key scan serial number. This means that 1 represents the 5th scan point cloud in dataset 1, the first scan in dataset 2, and the 10th scan in dataset 3. A, B…I in the figure refers to the position in three datasets.
Sensors 20 02299 g019
Figure 20. Error metrics of method. (ac) are the PPV and TPR for dataset 1 2 3 respectively. (df) are the NPV and ACC for dataset 1 2 3 respectively. Column 1: dataset 1; column 2: dataset 2; column3: dataset3. Blue asterisk: PPV; red hollow circle: TPR; black hollow triangle: NPV; magenta dot: ACC.
Figure 20. Error metrics of method. (ac) are the PPV and TPR for dataset 1 2 3 respectively. (df) are the NPV and ACC for dataset 1 2 3 respectively. Column 1: dataset 1; column 2: dataset 2; column3: dataset3. Blue asterisk: PPV; red hollow circle: TPR; black hollow triangle: NPV; magenta dot: ACC.
Sensors 20 02299 g020
Table 1. Overview of parameters in experiment.
Table 1. Overview of parameters in experiment.
ModuleParametersValue
PreprocessMaximum height H m a x −0.2 m
Minimum height H m i n 2.5 m
Simplified Structure extractionMinimum point number of segmented line N l s 300
Maximum cycle number C i t e r _ m a x 50
Minimum point number of units N p r 50
Minimum unit length L p r 1 m
Minimum arc cluster points N a c 50
Maximum Arc radius R m a x 3 m
Maximum line segmentation error L p l 0.1 m
Maximum Arc segment fitting error L a r c 0.1 m
Maximum line fitting error L l f 0.03 m
Loop evaluationMaximum Geometric similarity length error L g s 0.2 m
Maximum topology error L t a 0.2 m
Maximum cumulative matching error L a e 0.2 m
Structure similar score S s i m 60%
Maximum distance of Loop L t r 10 m
Table 2. Quantization Results and Matching Status of Simplified Structure and time cost for example data.
Table 2. Quantization Results and Matching Status of Simplified Structure and time cost for example data.
Simplified StructureMatching NumberTime
DatasetScan NumberAVPSAVPSStructure Extraction/sStructure Matching/s
197834814247−0.010.9018750.046108
361824101566.7%100%70%-0.638146
241942074−0.01−0.0170.6843690.04199
13510780%--100%0.49625
310,150--5313-0.0143121.233880.023985
490--4415-80%75%80%0.985223
A result of −0.01 means that the Simplified Structure is in default state in loop evaluation because it has an insufficient structure for matching analysis. A, V, P and S were Arc segment, Vertical, Parallel and single line, respectively. The structure matching time here only referred to the time consumption of the sampled two scans. The percentage (XX%) is the s c o r e for the structure matching.
Table 3. The average of the four error metrics.
Table 3. The average of the four error metrics.
DatasetError Metric Average
Precision (PPV)Recall (TPR)Negative Predictive Value (NPV)Accuracy (ACC)
Dataset 10.90500.34050.97060.9692
Dataset 20.90020.51770.97620.9748
Dataset 30.87610.17740.97020.9690

Share and Cite

MDPI and ACS Style

Ye, Q.; Shi, P.; Xu, K.; Gui, P.; Zhang, S. A Novel Loop Closure Detection Approach Using Simplified Structure for Low-Cost LiDAR. Sensors 2020, 20, 2299. https://doi.org/10.3390/s20082299

AMA Style

Ye Q, Shi P, Xu K, Gui P, Zhang S. A Novel Loop Closure Detection Approach Using Simplified Structure for Low-Cost LiDAR. Sensors. 2020; 20(8):2299. https://doi.org/10.3390/s20082299

Chicago/Turabian Style

Ye, Qin, Pengcheng Shi, Kunyuan Xu, Popo Gui, and Shaoming Zhang. 2020. "A Novel Loop Closure Detection Approach Using Simplified Structure for Low-Cost LiDAR" Sensors 20, no. 8: 2299. https://doi.org/10.3390/s20082299

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop