# Precise Vehicle Position and Heading Estimation Using a Binary Road Marking Map

Authors: Kyu-Won Kim; Jun-Hyuck Im; Moon-Beom Heo; Gyu-In Jee
Journal: Journal of Sensors
 (2019)

---

## Abstract

Road markings are always present on roads to guide and control traffic. Therefore, they can be used at any time for vehicle localization. Moreover, they can be easily extracted by using light detection and ranging (LIDAR) intensity because they are brightly colored. We propose a vehicle localization method using a 2D road marking grid map. The grid map inserts the map information into the grid directly. Thus, an additional process (such as line detection) is not required and there is no problem due to false detection. We obtained road marking using a 3D LIDAR (Velodyne HDL-32E) and binarized this information to store in the map. Thus, we could reduce the map size significantly. In the previous research, the road marking grid map was used only for position estimation. However, we propose a position-and-heading estimation algorithm using the binary road marking grid map. Accordingly, we derive more precise position estimation results. Moreover, position reliability is an important factor for vehicle localization. Autonomous vehicles may cause accidents if they cannot maintain their lane momentarily. Therefore, we propose an algorithm for evaluating map matching results. Consequently, we can use only reliable matching results and increase position reliability. The experiment was conducted in Gangnam, Seoul, where GPS error occurs largely. In the experimental results, the lateral root mean square (RMS) error was 0.05 m and longitudinal RMS error was 0.08 m. Further, we obtained a position error of less than 50 cm in both lateral and longitudinal directions with a 99% confidence level.


---

## Body

## 1. Introduction

Precise vehicle localization is essential for driving safety in autonomous vehicles. Generally, a submeter level of localization performance is required for the autonomous vehicle to maintain its own lane, and it should be estimated with a high reliability of 95% [1] or more. Usually, Global Positioning System (GPS) is used for vehicle localization. However, GPS does not provide the position accuracy required for autonomous vehicles. Especially in urban areas, even if an expensive GPS (RTK)/INS is used, a position error of more than 1 m can occur. To solve this problem, many studies that improve position accuracy by combining various sensors (such as GPS, inertial measurement unit (IMU), vision, and light detection and ranging (LIDAR)) have been researched continuously.Recently, many studies have been conducted to correct GPS error by generating maps based on LIDAR [2] because LIDAR-based maps can be generated precisely and accurately. Li et al. [3] expressed the 3D environment on both sides of the road as a type of a depth map called road DNA. In addition, Im et al. [4] detected corners of vertical structures such as buildings and generated a corner-based landmark map. However, the above methods have disadvantages in that they cannot be used when there are no vertical structures, such as a highway.Therefore, we focused on the map using road markings. Road markings are always available because they exist everywhere the vehicle goes. Moreover, because of the use of bright colors, it is easy to detect them using the intensity of LIDAR, and there is a potential for robust localization performance because of the use of letters and symbols as well as lines such as lanes or stop lines. Therefore, road marking map-based vehicle localization has been studied in this work. Levinson et al. [5, 6] and Wolcott and Eustice [7] performed vehicle localization on LIDAR and camera based on the intensity road marking grid map, respectively. Intensity road marking grid map-based localization provides high accuracy. However, the intensity of LIDAR varies depending on the road surface, so the performance may deteriorate depending on the road surface condition of a given day. Further, the intensity grid map has the disadvantage of large map size. Schreiber et al. [8] used LIDAR to create a line map using road marking (such as lane, stop line, and curb). A stereo camera was used to estimate the vehicle position. A line map has the advantage of small map size. However, the estimation performance is relatively low and the road marking of letters and symbols is difficult to detect. Therefore, it cannot be used with such robust information.In this paper, we proposed a method for the estimation of vehicle position and heading based on a binary grid map using road markings. The road marking grid map is a two-dimensional (2D) map that stores the road marking information scanned by the LIDAR directly on the grid. Therefore, since the detection process is not necessary, complex letters and symbols can be stored and used for localization. However, the grid map has disadvantages that the size increases exponentially according to the grid size and map scale. Therefore, we generated the binary road marking information by binarizing the intensity of the LIDAR scan data and stored this information in the grid map. The binary road marking information has only 1-bit information. Thus, we can reduce the map size significantly compared to the intensity road marking grid map. In addition, the problem of varying the intensity level according to the road surface condition is solved through intensity binarization. Most of the grid maps using road marking information are in the form of an occupancy grid map [9]. Therefore, each grid has a probability. However, the binary road marking grid map has only 1-bit information. Thus, 0 indicates no road marking and 1 indicates road marking. Therefore, the map size becomes more compact. Moreover, since it contains only 1-bit information instead of probability, map matching is possible by the simple correlation method.Because road markings are on the road, the map matching performance deterioration in a situation such as traffic congestion is a disadvantage. Therefore, we used the accumulated scan data [10, 11] to generate a precise local map and match with the global map. Consequently, the problem of poor performance under traffic congestion was solved. In addition, the position and attitude for the precise local map were derived by accumulating incremental values of position and attitude derived from the iterative closest point (ICP) algorithm based on the geometric relationship between LIDAR scan data.Vehicle localization using existing 2D grid-based road marking maps [12] only estimated the vehicle position. However, it is necessary to estimate not only the position but also the heading to ensure driving safety in autonomous vehicles. Therefore, we proposed a position-and-heading estimation algorithm based on the binary road marking map. In the case of position estimation, fast and robust position estimation performance is derived using fast Fourier transform- (FFT-) based phase correlation [13, 14]. Further, the heading is derived by converting the grid map to the points and matching between the map points and the binary road marking points. The highly reliable position and heading matching results are derived using the algorithm for the evaluation of map matching result, and we used only these results for precise vehicle localization.The contributions of this paper are as follows:(i)
Proposed a method of the binary road marking grid map generation and vehicle position and heading estimation method using this map
(ii)
Derived reliable and accurate estimation results using the binary road marking grid mapWe propose a new type of the road marking grid map using the binary information that is not a traditional road marking-based occupancy grid map. In addition, we propose the vehicle position and heading estimation algorithm using this map. Vehicle localization using the existing 2D grid-based road marking map only estimates the position. However, we propose an algorithm to estimate the heading in addition to the position. The RMS position error is approximately 0.10 m in both lateral and longitudinal directions in urban areas, and the estimation results are derived with a position error within 50 cm with 99% reliability. Accordingly, it is confirmed that very accurate and precise position and heading estimation results can be derived by using a binary road marking grid map.The composition of this paper is as follows. In Section2, we introduce a method for binarizing LIDAR intensity. Section 3 describes how to generate the binary road marking grid map, and Section 4 describes how to generate a precise local map by accumulating scan data. In Section 5, the map matching and vehicle localization algorithm are described. The experimental result is described in Section 6. Finally, the conclusion is given in Section 7.


## 2. Method of Road Marking Extraction Using Intensity Binarization

Road markings are the devices on paved roadways that provide guidance and information to drivers. They are made with bright paint so that the driver can distinguish them easily. Therefore, they can be easily extracted by using the intensity of LIDAR. Specifically, the three-dimensional (3D) LIDAR [15] used in this paper provides 8-bit intensity information. Thus, various values of intensity information can be obtained.As shown in Figure1, the 3D LIDAR produces 3D scan data by scanning. Figure 2 shows the intensity of the road scan data among the 3D scan data. A road marking on the road is distinguished from the asphalt.Figure 1
Scan data from the 3D LIDAR.Figure 2
Road scan data represented by intensity.In this paper, we binarized 8 bits of intensity to 1 bit. In the case of intensity, it is possible to express an image in gray scale, as shown in Figure2, because it provides information with 8 bits. Thus, the intensity can be regarded as the brightness of the image, and binarization is possible by applying the threshold. For binarization, it is necessary to set the threshold value of the intensity. To solve this, Otsu’s thresholding method [16] is used. Otsu thresholding is a method to find the optimal threshold using the brightness distribution of all pixel values in the image. Using this method, we can find the threshold even if the intensity is changed in every scene.However, even when scanning the same road marking, there is a difference in intensity among the vertical layers of the 3D LIDAR [17]. Figure 3 shows the intensity of the same road marking scanned by a 3D LIDAR for each vertical layer. The vertical layer means the number of vertically scanned 3D LIDAR channels. In this research, we used 32-channel 3D LIDAR and 12 channels are used for scanning the road marking. As shown in this figure, intensity values are different depending on the vertical layer. Thus, if we binarize to the threshold of the entire layer, the road marking cannot be extracted properly. Therefore, we applied thresholding and binarization to each layer.Figure 3
Road marking intensity of each vertical layer.Figure4 shows the result of binarizing intensity data of Figure 2. Low-intensity values, such as those for asphalt, are eliminated, and only the road marking is extracted. Thus, the road marking can be extracted from 3D LIDAR scan data.Figure 4
Intensity binarization result.


## 3. Binary Road Marking Map Generation

### 3.1. Graph Optimization and Map Generation

A global map is essential for localization. In addition, a precise vehicle trajectory is required to generate a precise global map. In general, when using simultaneous localization and mapping (SLAM) [18], errors accumulate as the vehicle progresses. Therefore, when a global map is generated, the road marking does not match.Figure5 shows the binary road marking grid map generated by using the GPS (RTK)/INS (NovAtel RTK/SPAN system) trajectory. As shown in this figure, it can be confirmed that the road marking is not consistent. Therefore, we performed graph optimization using graph SLAM [19, 20]. Graph optimization is a method of setting constraints for each node and optimizing the trajectory using edge relationships between nodes. The incremental pose information outputted from the ICP scan matching algorithm was used as the edge measurement of the graph.Figure 5
Result of binary grid map generation (trajectory: GPS (RTK)/INS).Figure6 shows the result of graph optimization. As shown in this figure, the edge relation connected by black lines is set for all nodes and the optimization is performed using them. Nodes connected by black lines are the trajectories of different laps, and loop closure is performed by deriving edge relationships between these nodes. After that, the trajectory is optimized like a red dot. Figure 7 shows the binary road marking grid map generated by using the Graph SLAM-optimized trajectory. The binary road marking grid map was generated by accumulating the road markings extracted by the binarization process. Unlike the case in Figure 5, the road markings are consistent. In addition, the optimized trajectory is assumed to be the ground truth.Figure 6
Result of graph optimization.Figure 7
Result of binary grid map generation (trajectory: Graph SLAM-optimized result).


### 3.2. Advantage of Using a Binary Road Marking Map

The map used for vehicle localization using the difference in intensity is the intensity road marking grid map, and it is stored by using 8-bit intensity values. Generally, the intensity road marking grid map is used in the form of a probability map [5, 6] that stores the mean and variance of the intensity. Further, due to the characteristic of the 2D grid map, when the grid size is smaller and the map scale is larger, the map size becomes larger. However, if the intensity is binarized and stored in a map, the size becomes very small as the information is compressed.Table1 gives a comparison of map size. The probability map stores the intensity mean and variance, and the binary map stores the binarized road marking information. As shown in Table 1, the map size of the binary map is approximately under 2% of the probability map. Unlike the probability map, in which the map size grows exponentially as the grid size becomes smaller, the map size of the binary map is very small and the amount of increase in size is not large as the resolution increases. In addition, the binary map consists of 0 s and 1 s. The characteristic of a road marking grid map is that there are many more 0 s in the map. Therefore, if we remove 0 and save it as a sparse matrix, the map size is further reduced and can be reduced to 0.4% of the probability map as shown in Table 1.Table 1
Comparison of map size.
Grid resolution
Probability map
Binary map
Binary map (sparse matrix)
15 cm
62 MB
986 kB
245 kB
10 cm
106 MB
2.01 MB
450 kB
5 cm
384 MB
7.83 MB
1.21 MBTable2 shows an example of saving a binary road marking grid map. Only the grid position where the road marking is stored can be saved because the map format is 1 bit. Therefore, it is not necessary to save the map as a 2D full matrix format and it is possible to store a 2D road marking grid map efficiently.Table 2
An example of saving a binary road marking grid map.
Index
X (grid)
Y (grid)
Matrix size
14000
14000
1
1214
2451
2
1312
4285
⋮
⋮
⋮
n
8413
11231When intensity is binarized, loss of information occurs. Therefore, we might think that in using the binary map for map matching, localization performance is poor compared with the intensity map. On the contrary, matching performance may deteriorate because intensity has more information. For example, the value of intensity changes according to the road surface condition [21]. Thus, when the road surface gets wet, the intensity value is larger than that for a dry road surface.Figure8 shows the intensity map of dry and wet road surfaces. Further, Figure 9 compares the intensity count and threshold of Figure 8. Because the total intensity amount of the two cases is different, the count is normalized. As shown in Figure 9, the intensity threshold is larger on the wet road surface. Therefore, this difference in intensity causes poor localization performance. On the other hand, if the intensity is binarized, the road marking can be extracted regardless of the road surface condition. Consequently, more robust localization performance can be obtained.Figure 8
Intensity maps for different road surface conditions. (a) Dry road. (b) Wet road.
(a)
(b)Figure 9
Intensity count and threshold.Figure10 shows the binary map of dry and wet roads. It can be seen in this figure that there is almost no difference in the extraction results between the two maps. Thus, using a binary road marking grid map, we can use road marking information regardless of road surface condition. In addition, when using the binary road marking grid map, it is obvious whether it is road marking or not. Therefore, more clear matching results can be obtained in map matching.Figure 10
Binary maps of different road surface conditions. (a) Dry road. (b) Wet road.
(a)
(b)


## 3.1. Graph Optimization and Map Generation

A global map is essential for localization. In addition, a precise vehicle trajectory is required to generate a precise global map. In general, when using simultaneous localization and mapping (SLAM) [18], errors accumulate as the vehicle progresses. Therefore, when a global map is generated, the road marking does not match.Figure5 shows the binary road marking grid map generated by using the GPS (RTK)/INS (NovAtel RTK/SPAN system) trajectory. As shown in this figure, it can be confirmed that the road marking is not consistent. Therefore, we performed graph optimization using graph SLAM [19, 20]. Graph optimization is a method of setting constraints for each node and optimizing the trajectory using edge relationships between nodes. The incremental pose information outputted from the ICP scan matching algorithm was used as the edge measurement of the graph.Figure 5
Result of binary grid map generation (trajectory: GPS (RTK)/INS).Figure6 shows the result of graph optimization. As shown in this figure, the edge relation connected by black lines is set for all nodes and the optimization is performed using them. Nodes connected by black lines are the trajectories of different laps, and loop closure is performed by deriving edge relationships between these nodes. After that, the trajectory is optimized like a red dot. Figure 7 shows the binary road marking grid map generated by using the Graph SLAM-optimized trajectory. The binary road marking grid map was generated by accumulating the road markings extracted by the binarization process. Unlike the case in Figure 5, the road markings are consistent. In addition, the optimized trajectory is assumed to be the ground truth.Figure 6
Result of graph optimization.Figure 7
Result of binary grid map generation (trajectory: Graph SLAM-optimized result).


## 3.2. Advantage of Using a Binary Road Marking Map

The map used for vehicle localization using the difference in intensity is the intensity road marking grid map, and it is stored by using 8-bit intensity values. Generally, the intensity road marking grid map is used in the form of a probability map [5, 6] that stores the mean and variance of the intensity. Further, due to the characteristic of the 2D grid map, when the grid size is smaller and the map scale is larger, the map size becomes larger. However, if the intensity is binarized and stored in a map, the size becomes very small as the information is compressed.Table1 gives a comparison of map size. The probability map stores the intensity mean and variance, and the binary map stores the binarized road marking information. As shown in Table 1, the map size of the binary map is approximately under 2% of the probability map. Unlike the probability map, in which the map size grows exponentially as the grid size becomes smaller, the map size of the binary map is very small and the amount of increase in size is not large as the resolution increases. In addition, the binary map consists of 0 s and 1 s. The characteristic of a road marking grid map is that there are many more 0 s in the map. Therefore, if we remove 0 and save it as a sparse matrix, the map size is further reduced and can be reduced to 0.4% of the probability map as shown in Table 1.Table 1
Comparison of map size.
Grid resolution
Probability map
Binary map
Binary map (sparse matrix)
15 cm
62 MB
986 kB
245 kB
10 cm
106 MB
2.01 MB
450 kB
5 cm
384 MB
7.83 MB
1.21 MBTable2 shows an example of saving a binary road marking grid map. Only the grid position where the road marking is stored can be saved because the map format is 1 bit. Therefore, it is not necessary to save the map as a 2D full matrix format and it is possible to store a 2D road marking grid map efficiently.Table 2
An example of saving a binary road marking grid map.
Index
X (grid)
Y (grid)
Matrix size
14000
14000
1
1214
2451
2
1312
4285
⋮
⋮
⋮
n
8413
11231When intensity is binarized, loss of information occurs. Therefore, we might think that in using the binary map for map matching, localization performance is poor compared with the intensity map. On the contrary, matching performance may deteriorate because intensity has more information. For example, the value of intensity changes according to the road surface condition [21]. Thus, when the road surface gets wet, the intensity value is larger than that for a dry road surface.Figure8 shows the intensity map of dry and wet road surfaces. Further, Figure 9 compares the intensity count and threshold of Figure 8. Because the total intensity amount of the two cases is different, the count is normalized. As shown in Figure 9, the intensity threshold is larger on the wet road surface. Therefore, this difference in intensity causes poor localization performance. On the other hand, if the intensity is binarized, the road marking can be extracted regardless of the road surface condition. Consequently, more robust localization performance can be obtained.Figure 8
Intensity maps for different road surface conditions. (a) Dry road. (b) Wet road.
(a)
(b)Figure 9
Intensity count and threshold.Figure10 shows the binary map of dry and wet roads. It can be seen in this figure that there is almost no difference in the extraction results between the two maps. Thus, using a binary road marking grid map, we can use road marking information regardless of road surface condition. In addition, when using the binary road marking grid map, it is obvious whether it is road marking or not. Therefore, more clear matching results can be obtained in map matching.Figure 10
Binary maps of different road surface conditions. (a) Dry road. (b) Wet road.
(a)
(b)


## 4. Precise Local Map Generation

In this section, we describe how to generate a precise local map [22]. It is generated by using the result obtained by binarizing the road marking in Section 2. Generally, the interval between the vertical layers of 3D LIDAR is larger than horizontal scan interval. Therefore, the local map generated by only one scan data has insufficient longitudinal direction information. In addition, the road marking is located under the vehicle. Thus, the problem is that only little road marking information can be extracted in traffic congestion situations. To solve this problem, we generated a local map by accumulating extracted road marking data for a certain period and defined it as a precise local map.Figure11 shows the flow chart of precise local map generation. First, data is accumulated by combining the previous data with the current position, pose increment, and LIDAR scan data. Next, a precise local map update is conducted using the accumulated data. The accumulated data are used to generate the precise local map at the next time. In addition, the sliding window method [10] was applied to the data accumulated.Figure 11
Flow chart of precise local map generation.In the case of local map generation using data accumulation, position and pose errors are also accumulated. In particular, in the case of commercial GPS/DR (dead reckoning), considerable errors may accumulate even in a short time. Therefore, we used the position and pose increment derived from the ICP scan matching. The ICP scan matching is matched using a precise 3D LIDAR point cloud. Thus, we can obtain more precise position and heading increment values.Figure12 shows an example of position and pose increment derived using ICP. The precise local map is generated by accumulating the scan data at the position and pose increment obtained from each node. In this case, the scan data is the road marking information extracted from the binarization process of Section 2.Figure 12
Example of derived position and pose increment using ICP.As shown in Figure13, it can be seen that as the data accumulates, the road marking information generated in the local map becomes sufficient, especially longitudinal direction. Consequently, sufficient road marking information can be obtained for matching even in traffic congestion situations.Figure 13
Process of precise local map generation.


## 5. Map Matching and Vehicle Localization Algorithm

In this section, we describe the estimation of position and heading using the map matching algorithm. The map matching result is used as the final measurement value of the navigation filter only for good results by executing the evaluation of the matching result algorithm. The navigation filter uses the Kalman filter (KF). The specific vehicle localization algorithm is shown in Figure14.Figure 14
Flow chart of the vehicle localization algorithm.


### 5.1. Map Matching Algorithm

In this part, we describe the map matching algorithm.δxδyδθT is the map matching result between the global map and the local map. The global map is taken from predicted vehicle position using the time update, and the local map is generated at the current vehicle position. Therefore, we can obtain error correction values between the predicted vehicle position and current vehicle position from map matching. Further, the predicted vehicle position was derived by using the increment value of position and heading from ICP scan matching algorithm.


#### 5.1.1. Position

FFT-based phase correlation [13, 14] is used to estimate the vehicle position. Correlation is a method mainly used for matching two data sets. In particular, phase correlation is a technique used mainly for image registration. Because phase information is separated and correlated in the frequency domain, phase correlation has robustness to noise. Further, unlike the serial-search-based correlation, which sets the search area and performs individual correlation in the area, the FFT-based correlation can match the large image at high speed because of correlated images simultaneously. The frequency domain transformation of the global and local maps for phase correlation is as follows:
(1)Mu,v=Fmx,y,Zu,v=Fzx,y,where mx,y and zx,y are the global map and local map, respectively. Mu,v and Zu,v are transformations in the frequency domain using FFT. The global map is taken from the predicted vehicle position, and the local map is generated at the current vehicle position. Therefore, matching result is represented as the error correction value from the predicted vehicle position. Thus, if δx and δy are the error correction values, Zu,v can be expressed as follows:
(2)Zu,v=Mu,ve−2πjuδx+vδy.For phase correlation, we need to know the phase difference between two images. Thus, the normalized cross power spectrum is calculated, and the equation is as follows:(3)Cu,v=Mu,vZ∗u,vMu,vZ∗u,v=Mu,vM∗u,ve2πjuδx+vδyMu,vM∗u,v=e2πjuδx+vδy.Inverse Fourier transform (IFT) can be used to obtain the final phase correlation from equation (3).
(4)PCmx,y,zx,y=F−1e2πjuδx+vδy.The matching result through phase correlation is shown in Figure15.Figure 15
Result of phase correlation.As shown in Figure15, sharp peaks are extracted using phase correlation. However, if the road marking information of the local map is insufficient, the peaks do not appear or multiple peaks may occur. To solve this problem, we applied a Gaussian filter. By setting the region of interest (ROI) using a Gaussian filter, noise and multiple peaks can be removed. The ROI is set by considering the vehicle speed based on the current estimated position using σ. The Gaussian filter equation is as follows:
(5)PGauss=expx2+y2−2σ2,Pw=PCmx,y,zx,y×PGauss.Figure16 shows the result of applying a Gaussian filter. Noise and multiple peaks are removed through the Gaussian filter, and a sharp peak is extracted. The result of the map matching is as follows:
(6)δx=∑Pwx,y⋅x∑Pwx,y,δy=∑Pwx,y⋅y∑Pwx,y.Figure 16
Result of applying a Gaussian filter.Since the map used for map matching is a grid map, the estimated value oscillates if the maximum value ofPwx,y is taken as the matching result because it is as uncertain as the grid size. Therefore, by using the peak and value around the peak as in equation (6), the uncertainty is reduced and the oscillation is prevented.


#### 5.1.2. Heading

The ICP algorithm [23] was used to estimate the vehicle heading. The binary road marking grid map is the stored road marking information in the grid. Therefore, for point matching, the global map and local map are converted to points based on the grid center.The road marking in the grid is converted to a point, as shown in Figure17. The local map used in position estimation is a precise local map using accumulated data. However, in the case of heading, accurate error estimation cannot be performed because the error is mixed by accumulating data. Therefore, when the heading is estimated, the local map is generated using the current scan data and matched with the global map.Figure 17
Transformed grid to point.The ICP algorithm is executed in two stages:(1)
Find the corresponding point between the two data sets
(2)
Compute a transformation matrix that minimizes the distance between corresponding pointsRepeat the above two steps until it is below the threshold to derive the final transformation matrix. In addition,dmax is set to prevent fault matching by outliers. Algorithm 1 shows the ICP algorithm.Algorithm 1: ICP algorithm.
Input: Two point cloud dat→Map=m, Local map=zi
Output: The correct transformationT, which aligns Map and Local map
T=To
Whileε>Threshold
fori=1:N
mi=find_closest_point_in_mapT,zi
ifmi−T∙zi<dmax
wi=1
elseif
wi=0
end
end
T=argminT∑iwimi−T⋅zi2
ε=maxm−T∙z
endAs shown in Figure18, the points of the local map are corrected through the ICP algorithm.
(7)T=Rt,R=cosδθ−sinδθsinδθcosδθ,δθ=arcsinsinδθ.Figure 18
Result of ICP matching between the map and local map.Equation (7) is used to obtain the heading correction value using the transformation matrix. Since the global map is based on the predicted position of the vehicle and the local map is based on the current vehicle position, δθ is the correction value of the heading.There are two reasons why heading estimation is required for vehicle localization. First, if the position estimation is accurate but the heading error is large, the direction of the autonomous vehicle will be deviated from the lane continuously. Next, the precise local map generated accumulated increment of position and heading. We obtain the increment of position and heading through ICP scan matching. However, to match with the global map, we need to add the heading value from GPS/DR. Therefore, if the GPS/DR heading error is large, the road marking information of the generated precise local map does not match the global map.Figure19 shows the heading error of GPS/DR and estimated heading result. Figure 20 shows the result of overlapping of the global and local maps at the true reference position. The local map is represented by black, and the global map is represented by gray. In Figure 20, the local map is generated by using GPS/DR heading angle and estimated heading result, respectively. If the heading angle is same with true reference, global and local maps must be matched each other. As shown in this figure, (a) is not consistent with each other, while (b) is almost consistent. Consequently, if the heading estimation is not conducted, map matching error increases. Therefore, heading estimation is required for vehicle localization.Figure 19
Heading error.Figure 20
Result of the overlapping global and local maps at true reference position. (a) GPS/DR. (b) Estimated heading result.
(a)
(b)


### 5.2. Evaluation of Map Matching Result

Vehicle localization through map matching can lead to large errors if the matching results are wrong. In particular, in the case of autonomous vehicles, a wrong localization result may cause a big accident. Therefore, when the map matching result is wrong, it should be detected and the wrong matching result must not be used. In this paper, we conducted an evaluation of position and heading matching results. Accordingly, only good results were used for localization.


#### 5.2.1. Evaluation of Position Matching Result

In this paper, we used two parameters to evaluate of the position matching result. One is the protection level (PL) of the matching result, and the other is the peak-to-side lobe ratio (PSR).PL is a parameter [24] used to determine the reliability of aircraft GPS. When the PL exceeds a certain threshold, a false alarm indicates that the localization result is wrong. We applied that to the vehicle [25, 26]. The equation for the PL of a vehicle is as follows:
(8)K=Rayleigh−11−Pmd,PL=K×σpos,where K is the probability of missed detection and it is calculated as the Rayleigh inverse cumulative distribution function. The term σpos can be estimated as the maximum eigenvalue of the covariance matrix.PSR [27] is a parameter that determines the sharpness of the correlation peak. A sharp peak means that the matching result is reliable. Therefore, PSR can be a basis for evaluating of the matching result.Figure21 shows an example of the peak and side lobe. The peak means the peak of correlation, and side lobe means noise around the peak.
(9)PSR=peak−meansidelobestdsidelobe.Figure 21
Example of peak and side lobe.As shown in equation (9), the PSR can be obtained by using the peak and side lobe and the sharpness of the peak can be determined by the ratio of the peak to the side lobe.The above two parameters are used to evaluate the position matching result. We set the threshold of the two parameters to evaluate the position matching result.Figure22 shows an example of the threshold setting for PL and PSR, where the blue points denote the matching result. In the case of PL, the lower the value and the higher the PSR, the higher the reliability of the matching result will be. Thus, out of the four ranges shown in Figure 22, (a) gives highly reliable results. Therefore, we used map matching results in the range (a) as a measurement in the navigation filter and did not use the results of the remaining range.Figure 22
Example of PL and PSR threshold.


#### 5.2.2. Evaluation of Heading Matching Result

The heading matching result is also evaluated by two parameters. One is the number of points, and the other is the distance ratio of the corresponding points. In the case of heading matching, since the ICP algorithm is used, the number of points plays an important role in convergence and derivation of the transformation matrix. In addition, the distance of the corresponding points can also be a determining factor for the matching performance because the ICP algorithm is used to find the transformation matrix with the closest distance of corresponding points. The distance between the corresponding points was derived using the nearest neighbor search (NNS) algorithm. Next, we extracted corresponding points whose distances are within a certain threshold. Finally, the ratio between the extracted points and the total number of points was used as a parameter for evaluating the heading matching result. We set the threshold of the two parameters and used the result in the range as a measurement value in the navigation filter.


### 5.3. Navigation Filter Configuration

In this paper, the KF [28] is used as a navigation filter for vehicle localization. The KF is the most common filter used for localization. To use this filter, it is necessary to define the state vector and input vector.
(10)x^=xyθT,u=ΔxICPΔyICPΔθICPT.In equation (10), x^ is the state vector that represents the position and heading of the vehicle in the global frame and u is the input vector that refers to the increment of the position and heading derived from the ICP scan matching algorithm. The state variables are predicted by the time update. The time update is as follows:
(11)x^0=xDR+δxyDR+δyθDR+δθT,F=100010001,Gt=cosθt−sinθt0sinθtcosθt0001,x^t+1=Fx^t+Gtut,Pt+1=FPtFT+Q.In equation (11), we need to initialize the state vector and covariance matrix before the time update. The initial state vector is obtained from the GPS/DR position and heading angle. However, since the GPS/DR position and heading error are large, map matching is performed once to correct position and heading. Because the position and heading error are large, they cause a large residual in the measurement update. After the initialization, the time update is conducted by the input vector. The increments from ICP scan matching are based on the vehicle frame. Therefore, we need to transform to the world frame through the transformation matrix Gt. After the time update, we derive x^t+1 and Pt+1. x^t+1 is the predicted state vector, and Pt+1 is the predicted covariance matrix.
(12)H=100010001,y~t=z−Hx^t=δxδyδθT.In equation (12), we defined observation matrix and measurement residual. The measurement residual is derived from map matching.
(13)K=Pt−HTHPt−HT+R−1,x^t+=x^t−+Ky~t,Pt+=I−KHPt−.Equation (13) is the measurement update. After the measurement update, we derive x^t+ and Pt+. Further, x^t+ and Pt+ are used for the next state estimation.


## 5.1. Map Matching Algorithm

In this part, we describe the map matching algorithm.δxδyδθT is the map matching result between the global map and the local map. The global map is taken from predicted vehicle position using the time update, and the local map is generated at the current vehicle position. Therefore, we can obtain error correction values between the predicted vehicle position and current vehicle position from map matching. Further, the predicted vehicle position was derived by using the increment value of position and heading from ICP scan matching algorithm.


### 5.1.1. Position

FFT-based phase correlation [13, 14] is used to estimate the vehicle position. Correlation is a method mainly used for matching two data sets. In particular, phase correlation is a technique used mainly for image registration. Because phase information is separated and correlated in the frequency domain, phase correlation has robustness to noise. Further, unlike the serial-search-based correlation, which sets the search area and performs individual correlation in the area, the FFT-based correlation can match the large image at high speed because of correlated images simultaneously. The frequency domain transformation of the global and local maps for phase correlation is as follows:
(1)Mu,v=Fmx,y,Zu,v=Fzx,y,where mx,y and zx,y are the global map and local map, respectively. Mu,v and Zu,v are transformations in the frequency domain using FFT. The global map is taken from the predicted vehicle position, and the local map is generated at the current vehicle position. Therefore, matching result is represented as the error correction value from the predicted vehicle position. Thus, if δx and δy are the error correction values, Zu,v can be expressed as follows:
(2)Zu,v=Mu,ve−2πjuδx+vδy.For phase correlation, we need to know the phase difference between two images. Thus, the normalized cross power spectrum is calculated, and the equation is as follows:(3)Cu,v=Mu,vZ∗u,vMu,vZ∗u,v=Mu,vM∗u,ve2πjuδx+vδyMu,vM∗u,v=e2πjuδx+vδy.Inverse Fourier transform (IFT) can be used to obtain the final phase correlation from equation (3).
(4)PCmx,y,zx,y=F−1e2πjuδx+vδy.The matching result through phase correlation is shown in Figure15.Figure 15
Result of phase correlation.As shown in Figure15, sharp peaks are extracted using phase correlation. However, if the road marking information of the local map is insufficient, the peaks do not appear or multiple peaks may occur. To solve this problem, we applied a Gaussian filter. By setting the region of interest (ROI) using a Gaussian filter, noise and multiple peaks can be removed. The ROI is set by considering the vehicle speed based on the current estimated position using σ. The Gaussian filter equation is as follows:
(5)PGauss=expx2+y2−2σ2,Pw=PCmx,y,zx,y×PGauss.Figure16 shows the result of applying a Gaussian filter. Noise and multiple peaks are removed through the Gaussian filter, and a sharp peak is extracted. The result of the map matching is as follows:
(6)δx=∑Pwx,y⋅x∑Pwx,y,δy=∑Pwx,y⋅y∑Pwx,y.Figure 16
Result of applying a Gaussian filter.Since the map used for map matching is a grid map, the estimated value oscillates if the maximum value ofPwx,y is taken as the matching result because it is as uncertain as the grid size. Therefore, by using the peak and value around the peak as in equation (6), the uncertainty is reduced and the oscillation is prevented.


### 5.1.2. Heading

The ICP algorithm [23] was used to estimate the vehicle heading. The binary road marking grid map is the stored road marking information in the grid. Therefore, for point matching, the global map and local map are converted to points based on the grid center.The road marking in the grid is converted to a point, as shown in Figure17. The local map used in position estimation is a precise local map using accumulated data. However, in the case of heading, accurate error estimation cannot be performed because the error is mixed by accumulating data. Therefore, when the heading is estimated, the local map is generated using the current scan data and matched with the global map.Figure 17
Transformed grid to point.The ICP algorithm is executed in two stages:(1)
Find the corresponding point between the two data sets
(2)
Compute a transformation matrix that minimizes the distance between corresponding pointsRepeat the above two steps until it is below the threshold to derive the final transformation matrix. In addition,dmax is set to prevent fault matching by outliers. Algorithm 1 shows the ICP algorithm.Algorithm 1: ICP algorithm.
Input: Two point cloud dat→Map=m, Local map=zi
Output: The correct transformationT, which aligns Map and Local map
T=To
Whileε>Threshold
fori=1:N
mi=find_closest_point_in_mapT,zi
ifmi−T∙zi<dmax
wi=1
elseif
wi=0
end
end
T=argminT∑iwimi−T⋅zi2
ε=maxm−T∙z
endAs shown in Figure18, the points of the local map are corrected through the ICP algorithm.
(7)T=Rt,R=cosδθ−sinδθsinδθcosδθ,δθ=arcsinsinδθ.Figure 18
Result of ICP matching between the map and local map.Equation (7) is used to obtain the heading correction value using the transformation matrix. Since the global map is based on the predicted position of the vehicle and the local map is based on the current vehicle position, δθ is the correction value of the heading.There are two reasons why heading estimation is required for vehicle localization. First, if the position estimation is accurate but the heading error is large, the direction of the autonomous vehicle will be deviated from the lane continuously. Next, the precise local map generated accumulated increment of position and heading. We obtain the increment of position and heading through ICP scan matching. However, to match with the global map, we need to add the heading value from GPS/DR. Therefore, if the GPS/DR heading error is large, the road marking information of the generated precise local map does not match the global map.Figure19 shows the heading error of GPS/DR and estimated heading result. Figure 20 shows the result of overlapping of the global and local maps at the true reference position. The local map is represented by black, and the global map is represented by gray. In Figure 20, the local map is generated by using GPS/DR heading angle and estimated heading result, respectively. If the heading angle is same with true reference, global and local maps must be matched each other. As shown in this figure, (a) is not consistent with each other, while (b) is almost consistent. Consequently, if the heading estimation is not conducted, map matching error increases. Therefore, heading estimation is required for vehicle localization.Figure 19
Heading error.Figure 20
Result of the overlapping global and local maps at true reference position. (a) GPS/DR. (b) Estimated heading result.
(a)
(b)


## 5.1.1. Position

FFT-based phase correlation [13, 14] is used to estimate the vehicle position. Correlation is a method mainly used for matching two data sets. In particular, phase correlation is a technique used mainly for image registration. Because phase information is separated and correlated in the frequency domain, phase correlation has robustness to noise. Further, unlike the serial-search-based correlation, which sets the search area and performs individual correlation in the area, the FFT-based correlation can match the large image at high speed because of correlated images simultaneously. The frequency domain transformation of the global and local maps for phase correlation is as follows:
(1)Mu,v=Fmx,y,Zu,v=Fzx,y,where mx,y and zx,y are the global map and local map, respectively. Mu,v and Zu,v are transformations in the frequency domain using FFT. The global map is taken from the predicted vehicle position, and the local map is generated at the current vehicle position. Therefore, matching result is represented as the error correction value from the predicted vehicle position. Thus, if δx and δy are the error correction values, Zu,v can be expressed as follows:
(2)Zu,v=Mu,ve−2πjuδx+vδy.For phase correlation, we need to know the phase difference between two images. Thus, the normalized cross power spectrum is calculated, and the equation is as follows:(3)Cu,v=Mu,vZ∗u,vMu,vZ∗u,v=Mu,vM∗u,ve2πjuδx+vδyMu,vM∗u,v=e2πjuδx+vδy.Inverse Fourier transform (IFT) can be used to obtain the final phase correlation from equation (3).
(4)PCmx,y,zx,y=F−1e2πjuδx+vδy.The matching result through phase correlation is shown in Figure15.Figure 15
Result of phase correlation.As shown in Figure15, sharp peaks are extracted using phase correlation. However, if the road marking information of the local map is insufficient, the peaks do not appear or multiple peaks may occur. To solve this problem, we applied a Gaussian filter. By setting the region of interest (ROI) using a Gaussian filter, noise and multiple peaks can be removed. The ROI is set by considering the vehicle speed based on the current estimated position using σ. The Gaussian filter equation is as follows:
(5)PGauss=expx2+y2−2σ2,Pw=PCmx,y,zx,y×PGauss.Figure16 shows the result of applying a Gaussian filter. Noise and multiple peaks are removed through the Gaussian filter, and a sharp peak is extracted. The result of the map matching is as follows:
(6)δx=∑Pwx,y⋅x∑Pwx,y,δy=∑Pwx,y⋅y∑Pwx,y.Figure 16
Result of applying a Gaussian filter.Since the map used for map matching is a grid map, the estimated value oscillates if the maximum value ofPwx,y is taken as the matching result because it is as uncertain as the grid size. Therefore, by using the peak and value around the peak as in equation (6), the uncertainty is reduced and the oscillation is prevented.


## 5.1.2. Heading

The ICP algorithm [23] was used to estimate the vehicle heading. The binary road marking grid map is the stored road marking information in the grid. Therefore, for point matching, the global map and local map are converted to points based on the grid center.The road marking in the grid is converted to a point, as shown in Figure17. The local map used in position estimation is a precise local map using accumulated data. However, in the case of heading, accurate error estimation cannot be performed because the error is mixed by accumulating data. Therefore, when the heading is estimated, the local map is generated using the current scan data and matched with the global map.Figure 17
Transformed grid to point.The ICP algorithm is executed in two stages:(1)
Find the corresponding point between the two data sets
(2)
Compute a transformation matrix that minimizes the distance between corresponding pointsRepeat the above two steps until it is below the threshold to derive the final transformation matrix. In addition,dmax is set to prevent fault matching by outliers. Algorithm 1 shows the ICP algorithm.Algorithm 1: ICP algorithm.
Input: Two point cloud dat→Map=m, Local map=zi
Output: The correct transformationT, which aligns Map and Local map
T=To
Whileε>Threshold
fori=1:N
mi=find_closest_point_in_mapT,zi
ifmi−T∙zi<dmax
wi=1
elseif
wi=0
end
end
T=argminT∑iwimi−T⋅zi2
ε=maxm−T∙z
endAs shown in Figure18, the points of the local map are corrected through the ICP algorithm.
(7)T=Rt,R=cosδθ−sinδθsinδθcosδθ,δθ=arcsinsinδθ.Figure 18
Result of ICP matching between the map and local map.Equation (7) is used to obtain the heading correction value using the transformation matrix. Since the global map is based on the predicted position of the vehicle and the local map is based on the current vehicle position, δθ is the correction value of the heading.There are two reasons why heading estimation is required for vehicle localization. First, if the position estimation is accurate but the heading error is large, the direction of the autonomous vehicle will be deviated from the lane continuously. Next, the precise local map generated accumulated increment of position and heading. We obtain the increment of position and heading through ICP scan matching. However, to match with the global map, we need to add the heading value from GPS/DR. Therefore, if the GPS/DR heading error is large, the road marking information of the generated precise local map does not match the global map.Figure19 shows the heading error of GPS/DR and estimated heading result. Figure 20 shows the result of overlapping of the global and local maps at the true reference position. The local map is represented by black, and the global map is represented by gray. In Figure 20, the local map is generated by using GPS/DR heading angle and estimated heading result, respectively. If the heading angle is same with true reference, global and local maps must be matched each other. As shown in this figure, (a) is not consistent with each other, while (b) is almost consistent. Consequently, if the heading estimation is not conducted, map matching error increases. Therefore, heading estimation is required for vehicle localization.Figure 19
Heading error.Figure 20
Result of the overlapping global and local maps at true reference position. (a) GPS/DR. (b) Estimated heading result.
(a)
(b)


## 5.2. Evaluation of Map Matching Result

Vehicle localization through map matching can lead to large errors if the matching results are wrong. In particular, in the case of autonomous vehicles, a wrong localization result may cause a big accident. Therefore, when the map matching result is wrong, it should be detected and the wrong matching result must not be used. In this paper, we conducted an evaluation of position and heading matching results. Accordingly, only good results were used for localization.


### 5.2.1. Evaluation of Position Matching Result

In this paper, we used two parameters to evaluate of the position matching result. One is the protection level (PL) of the matching result, and the other is the peak-to-side lobe ratio (PSR).PL is a parameter [24] used to determine the reliability of aircraft GPS. When the PL exceeds a certain threshold, a false alarm indicates that the localization result is wrong. We applied that to the vehicle [25, 26]. The equation for the PL of a vehicle is as follows:
(8)K=Rayleigh−11−Pmd,PL=K×σpos,where K is the probability of missed detection and it is calculated as the Rayleigh inverse cumulative distribution function. The term σpos can be estimated as the maximum eigenvalue of the covariance matrix.PSR [27] is a parameter that determines the sharpness of the correlation peak. A sharp peak means that the matching result is reliable. Therefore, PSR can be a basis for evaluating of the matching result.Figure21 shows an example of the peak and side lobe. The peak means the peak of correlation, and side lobe means noise around the peak.
(9)PSR=peak−meansidelobestdsidelobe.Figure 21
Example of peak and side lobe.As shown in equation (9), the PSR can be obtained by using the peak and side lobe and the sharpness of the peak can be determined by the ratio of the peak to the side lobe.The above two parameters are used to evaluate the position matching result. We set the threshold of the two parameters to evaluate the position matching result.Figure22 shows an example of the threshold setting for PL and PSR, where the blue points denote the matching result. In the case of PL, the lower the value and the higher the PSR, the higher the reliability of the matching result will be. Thus, out of the four ranges shown in Figure 22, (a) gives highly reliable results. Therefore, we used map matching results in the range (a) as a measurement in the navigation filter and did not use the results of the remaining range.Figure 22
Example of PL and PSR threshold.


### 5.2.2. Evaluation of Heading Matching Result

The heading matching result is also evaluated by two parameters. One is the number of points, and the other is the distance ratio of the corresponding points. In the case of heading matching, since the ICP algorithm is used, the number of points plays an important role in convergence and derivation of the transformation matrix. In addition, the distance of the corresponding points can also be a determining factor for the matching performance because the ICP algorithm is used to find the transformation matrix with the closest distance of corresponding points. The distance between the corresponding points was derived using the nearest neighbor search (NNS) algorithm. Next, we extracted corresponding points whose distances are within a certain threshold. Finally, the ratio between the extracted points and the total number of points was used as a parameter for evaluating the heading matching result. We set the threshold of the two parameters and used the result in the range as a measurement value in the navigation filter.


## 5.2.1. Evaluation of Position Matching Result

In this paper, we used two parameters to evaluate of the position matching result. One is the protection level (PL) of the matching result, and the other is the peak-to-side lobe ratio (PSR).PL is a parameter [24] used to determine the reliability of aircraft GPS. When the PL exceeds a certain threshold, a false alarm indicates that the localization result is wrong. We applied that to the vehicle [25, 26]. The equation for the PL of a vehicle is as follows:
(8)K=Rayleigh−11−Pmd,PL=K×σpos,where K is the probability of missed detection and it is calculated as the Rayleigh inverse cumulative distribution function. The term σpos can be estimated as the maximum eigenvalue of the covariance matrix.PSR [27] is a parameter that determines the sharpness of the correlation peak. A sharp peak means that the matching result is reliable. Therefore, PSR can be a basis for evaluating of the matching result.Figure21 shows an example of the peak and side lobe. The peak means the peak of correlation, and side lobe means noise around the peak.
(9)PSR=peak−meansidelobestdsidelobe.Figure 21
Example of peak and side lobe.As shown in equation (9), the PSR can be obtained by using the peak and side lobe and the sharpness of the peak can be determined by the ratio of the peak to the side lobe.The above two parameters are used to evaluate the position matching result. We set the threshold of the two parameters to evaluate the position matching result.Figure22 shows an example of the threshold setting for PL and PSR, where the blue points denote the matching result. In the case of PL, the lower the value and the higher the PSR, the higher the reliability of the matching result will be. Thus, out of the four ranges shown in Figure 22, (a) gives highly reliable results. Therefore, we used map matching results in the range (a) as a measurement in the navigation filter and did not use the results of the remaining range.Figure 22
Example of PL and PSR threshold.


## 5.2.2. Evaluation of Heading Matching Result

The heading matching result is also evaluated by two parameters. One is the number of points, and the other is the distance ratio of the corresponding points. In the case of heading matching, since the ICP algorithm is used, the number of points plays an important role in convergence and derivation of the transformation matrix. In addition, the distance of the corresponding points can also be a determining factor for the matching performance because the ICP algorithm is used to find the transformation matrix with the closest distance of corresponding points. The distance between the corresponding points was derived using the nearest neighbor search (NNS) algorithm. Next, we extracted corresponding points whose distances are within a certain threshold. Finally, the ratio between the extracted points and the total number of points was used as a parameter for evaluating the heading matching result. We set the threshold of the two parameters and used the result in the range as a measurement value in the navigation filter.


## 5.3. Navigation Filter Configuration

In this paper, the KF [28] is used as a navigation filter for vehicle localization. The KF is the most common filter used for localization. To use this filter, it is necessary to define the state vector and input vector.
(10)x^=xyθT,u=ΔxICPΔyICPΔθICPT.In equation (10), x^ is the state vector that represents the position and heading of the vehicle in the global frame and u is the input vector that refers to the increment of the position and heading derived from the ICP scan matching algorithm. The state variables are predicted by the time update. The time update is as follows:
(11)x^0=xDR+δxyDR+δyθDR+δθT,F=100010001,Gt=cosθt−sinθt0sinθtcosθt0001,x^t+1=Fx^t+Gtut,Pt+1=FPtFT+Q.In equation (11), we need to initialize the state vector and covariance matrix before the time update. The initial state vector is obtained from the GPS/DR position and heading angle. However, since the GPS/DR position and heading error are large, map matching is performed once to correct position and heading. Because the position and heading error are large, they cause a large residual in the measurement update. After the initialization, the time update is conducted by the input vector. The increments from ICP scan matching are based on the vehicle frame. Therefore, we need to transform to the world frame through the transformation matrix Gt. After the time update, we derive x^t+1 and Pt+1. x^t+1 is the predicted state vector, and Pt+1 is the predicted covariance matrix.
(12)H=100010001,y~t=z−Hx^t=δxδyδθT.In equation (12), we defined observation matrix and measurement residual. The measurement residual is derived from map matching.
(13)K=Pt−HTHPt−HT+R−1,x^t+=x^t−+Ky~t,Pt+=I−KHPt−.Equation (13) is the measurement update. After the measurement update, we derive x^t+ and Pt+. Further, x^t+ and Pt+ are used for the next state estimation.


## 6. Experimental Result

In this section, we analyze the performance of precise vehicle localization using a binary road marking grid map through experiments.Figure23 shows the experimental area. The experiment was carried out in Gangnam, Seoul, which is surrounded by buildings, and was carried out in a traffic congestion situation. In addition, data collected from two laps were completed in the experimental area and the length of the experimental area was approximately 5 km. Figure 24 is types of road markings in the experimental area. As shown in this figure, there are many kinds of road markings on the road. Therefore, it is possible to obtain robust localization performance by using them. We used a commercial GPS/DR (Micro-Infinite CruzCore DS6200) and 32-channel 3D LIDAR (Velodyne HDL-32E). Generally, the localization method using 3D LIDAR-based road marking grid maps has intensity information in the grid [6, 7]. Therefore, we compared vehicle localization results using the binary road marking map and the intensity road marking map. Through this, we can demonstrate the advantages of using the binary road marking map mentioned in Section 3, as well as the comparison of localization performance using intensity road marking map and binary road marking map.Figure 23
Experimental area.Figure 24
Types of road markings in the experimental area.Table3 shows the ratio of the matching result reliability of the intensity map and binary map. It is calculated as the ratio between the entire map matching result and the reliable matching result derived from the evaluation of the position matching result in Section 5. As shown in this table, map matching using a binary map is more reliable than using an intensity map and better matching performance can be expected.Table 3
Ratio of the matching result reliability.
Intensity map
Binary map
92.6%
97.1%In Figures25 and 26, the blue line represents the position error of the GPS/DR, the red line represents the position error of the localization result using the intensity map, and the black line represents the position error of the localization result using the binary map. As shown in Table 4, the lateral and longitudinal RMS position errors using the intensity map are greater than those using the binary map because the map matching using the intensity map has an ambiguity greater than the map matching using the binary map. Intensity data provides 8 bits of information. Therefore, the difference in the intensity level between the global map and local map affects the localization performance. In particular, when we use 3D LIDAR, the intensity level depends on the vertical layers, even though the same road marking is scanned. On the other hand, the binary map is made of binarized intensity. Therefore, it has information only in the form of 0 s and 1 s. Therefore, the above ambiguity problem does not occur.Figure 25
Lateral position error.Figure 26
Longitudinal position error.Table 4
RMS position error.
RMS error (m)
GPS/DR
Intensity map
Binary map
Lateral
8.78
0.19
0.05
Longitudinal
9.66
0.32
0.08In Figures27 and 28, the blue line represents the CDF of the position error result using the intensity map and the red line represents the CDF of the position error result using the binary map. Table 5 gives the position error with a 99% confidence level. It also shows that the error with the intensity map is larger than that with the binary map. As shown in Table 5, the lateral error is under 0.5 m with a 99% confidence level using the binary map. It means that the lane-keeping condition is satisfied for autonomous driving. On the other hand, when using the intensity map, the lateral error is more than 0.5 m with a 99% confidence level. In addition, the maximum error is 0.70 m for the intensity map and 0.26 m for the binary map. Therefore, it is possible to maintain the lane when we use a binary map for vehicle localization, while lane departure may occur when we use an intensity map. Also, the longitudinal error is under 0.5 m with a 99% confidence level using the binary map. That is a very good result considering that the longitudinal error condition for safe autonomous driving is generally 1 m. On the other hand, the longitudinal error with a 99% confidence level exceeds 1 m when using the intensity map. In particular, the maximum error is 2.08 m for the intensity map and 0.55 m for the binary map. Vehicle localization using intensity map can create a dangerous situation due to a large instantaneous error. On the other hand, when we use a binary map for vehicle localization, the vehicle can be driven more safely because of the small error.Figure 27
Cumulated distribution function (CDF) of the lateral position error.Figure 28
CDF of the longitudinal position error.Table 5
Position error with a 99% confidence level.
99% confidence level (m)
Intensity map
Binary map
Lateral
0.68
0.21
Longitudinal
1.44
0.36Figure29 shows the heading error. The intensity map contains intensity information of all objects on the road. Thus, heading estimation cannot be done using the map matching algorithm described in Section 5 because we cannot extract only road marking information. Therefore, we compared the heading results between GPS/DR with those obtained by using the binary map. Table 6 shows the RMS heading error. As shown in Table 6, when we use the binary map, the heading performance can be improved. Moreover, the maximum heading error was 2.12° for GPS/DR and 1.45° for heading estimation using the binary map.Figure 29
Heading error.Table 6
RMS heading error.
GPS/DR
Binary map
RMS error (degree)
0.46
0.26Thus far, we analyzed the localization result in the same road condition. However, common vehicle localization may have different road surface conditions. Therefore, we compared the matching performance for different road surface conditions, as shown in Figure29. However, there is a problem that the ground truth cannot be set because the data are different from each other. Therefore, we analyzed the matching performance using the PSR. Because the PSR is a parameter that determines the sharpness of the correlation peak as described in Section 5, the higher the PSR, the higher the matching performance will be.Figure30 shows a comparison of PSR between different data, and Table 7 shows the average of PSR. The global map is a wet road surface, and the local map is a dry road surface. As shown in this figure, the PSR of the binary map is higher overall. Therefore, we can confirm that the matching performance of the binary map is better than the intensity map even in different road surface conditions.Figure 30
Comparison of PSR between different data.Table 7
Average of PSR.
Intensity map
Binary map
PSR
20.55
23.28Thus far, we analyzed the experimental result of the binary road marking grid map-based precise vehicle position and heading estimation. The results show that the binary road marking map matching method can provide good position and heading estimation accuracy.


## 7. Conclusions

In this paper, we proposed the binary road marking grid map-based precise vehicle localization method using 3D LIDAR. First, the intensity scan data obtained from 3D LIDAR was binarized using Otsu’s thresholding. After binarizing the intensity, we generated the binary road marking grid map and precise local map for map matching. The position and heading are estimated through the map matching and navigation filter. In the experimental result, the 2D lateral RMS error was approximately 0.05 m and longitudinal RMS error was approximately 0.08 m. In addition, a CDF analysis of the error showed that the lateral error was 0.21 m and longitudinal error was 0.36 m with a 99% confidence level. Thus, we confirmed that vehicle localization using the binary road marking grid map provides very precise and reliable estimation results.The advantage of using the binary road marking grid map is as follows. First, a very small size map can be generated. A typical grid map increases the size exponentially when the grid size is smaller and map scale is bigger. However, the binary road marking grid map has only 1-bit information. Therefore, map size can be reduced efficiently. Second, unlike the intensity road marking information where the level changes according to the road surface condition, binary road marking information provides reliable and accurate estimation results that can be used even if the intensity changes. Therefore, map matching using road marking is possible under any situation.



---

*Source: 1296175-2019-01-20.xml*