A roadside laser radar-based road ground point extraction and slope calculation method
Patent Information
- Application Number
- CN202311219224.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-21
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-09-21
AI Technical Summary
[0003]然而,由于车载激光雷达传感器的覆盖范围有限且容易受到道路交通流环境遮挡,在进行道路边界信息获取时容易因遮挡和覆盖范围不完整造成信息提取的缺失和精度降低
Smart Images

Figure CN117289292B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of lidar target detection technology, specifically relating to a method for extracting road surface points and calculating slope based on roadside lidar. Background Technology
[0002] LiDAR is a commonly used sensor in autonomous driving, enabling all-weather environmental detection and providing autonomous vehicles with real-time, high spatiotemporal resolution road environment information to ensure their safe operation. Vehicle localization and path planning for autonomous vehicles rely heavily on the identification of road boundary information. Ground points are crucial for understanding road boundaries, while road slope is critical for driving decisions. Obtaining accurate ground point and road slope information is essential for the safe and efficient operation of autonomous vehicles.
[0003] However, due to the limited coverage of vehicle-mounted LiDAR sensors and their susceptibility to occlusion caused by road traffic flow, information extraction and accuracy reduction are easily compromised when acquiring road boundary information due to occlusion and incomplete coverage. Roadside LiDAR, on the other hand, can perform long-term, all-weather scanning and detection of the road traffic environment within its coverage area, obtaining accurate road traffic environment information and a long-range target detection range. Therefore, acquiring road boundary information, such as ground point information and road slope information, through roadside LiDAR can provide vehicle-mounted LiDAR with more accurate and complete road environment information, further ensuring the reliability and operational safety of autonomous vehicle driving behavior decisions. Summary of the Invention
[0004] This invention proposes a method for extracting road surface points and calculating slope based on roadside lidar, mainly composed of a point of interest extraction module, a ground point detection module, and a road slope calculation module. The method converts the height information of the laser point cloud from different channels of the roadside lidar sensor into a height matrix image, and uses the watershed algorithm for image segmentation to obtain the laser point cloud points of interest. These points of interest are then projected onto a horizontal plane, and based on the ring-shaped characteristics of the point cloud formed by the lidar channels scanning the ground, a convex hull detection algorithm is used to extract the ground points from the points of interest. Finally, the point cloud data information of the ground points is extracted, and the road surface slope is calculated based on the coordinates and height information of the laser points. This achieves accurate extraction of road surface and slope information, providing precise ground environment information for autonomous vehicles, ensuring autonomous driving safety and intelligent decision-making.
[0005] An embodiment of this invention involves installing a lidar sensor on the roadside. An interest point extraction module constructs a height matrix image from the point cloud height information collected by the roadside lidar, and uses a watershed algorithm to segment the height matrix image, removing high-altitude lidar point clouds and retaining ground points and near-ground points to form interest points, such as... Figure 1 As shown; the ground point detection module projects points of interest onto a horizontal plane. Based on the ring-shaped characteristics of the point cloud formed by the LiDAR channel scanning the ground, a convex hull detection algorithm is used to extract ground LiDAR points. Furthermore, based on the correlation and change characteristics between the distance and height information of the ground LiDAR points and traffic target points, the ground LiDAR points are further optimized to obtain accurate ground LiDAR point information, such as... Figure 2 As shown; the road slope calculation extracts laser points on the same longitudinal plane from ground points, and calculates the road slope based on the coordinates and height information of the laser points, as follows. Figure 3 As shown.
[0006] A method for extracting road surface points and calculating slope based on roadside lidar, characterized by the following features:
[0007] (1) Interest Point Extraction Module
[0008] The point of interest (POI) extraction module divides the laser point cloud information collected by the roadside lidar into different data point sets according to the different laser channels of the lidar sensor. Then, the laser point set in each channel is converted into a height matrix image based on the height information, and the height matrix image is segmented using the watershed algorithm. The height segmentation threshold for the current channel is calculated based on the image segmentation results. Finally, based on the height segmentation threshold, the data point set is divided into a high-altitude point dataset and a point of interest dataset. The high-altitude point dataset is removed, and the point of interest dataset is retained. The data point dataset contains ground-level laser points and near-ground laser points.
[0009] (2) Ground point detection module
[0010] In each channel's points of interest, the ground-based laser points are furthest from the roadside lidar sensors, forming a ring shape on the ground during the lidar's 360° scan. At the same scanning angle, near-ground laser points are closer to the roadside lidar sensors than ground-based laser points, and are generally enclosed by the ring formed by the ground-based laser points. Based on this, a convex hull detection algorithm is used to extract the ground-based laser points outside the ring. Then, based on the height and distance differences between the laser points, ground-based laser points and near-ground-based laser points are further distinguished, eliminating near-ground-based laser points within the channel and retaining the ground-based laser points.
[0011] (3) Road slope calculation module
[0012] After obtaining the ground laser points, extract the ground laser points along the longitudinal direction of the road, count the number of ground laser points on different longitudinal directions, and select the longitudinal direction with the most ground laser points; then, calculate the road slope value based on the coordinates and height information of the ground laser points. Attached Figure Description
[0013] Figure 1 : Flowchart for constructing a height matrix image and segmenting the image based on laser point cloud height;
[0014] Figure 2 : Schematic diagram of ground laser point detection based on convex hull detection algorithm;
[0015] Figure 3 : Schematic diagram of ground laser point selection for longitudinal section of road. Detailed Implementation
[0016] This invention proposes a method for extracting road surface points and calculating slope based on roadside lidar, mainly composed of a point of interest extraction module, a ground point detection module, and a road slope calculation module. The method converts the height information of the laser point cloud from different channels of the roadside lidar sensor into a height matrix image, and uses the watershed algorithm for image segmentation to obtain the laser point cloud points of interest. These points of interest are then projected onto a horizontal plane, and based on the ring-shaped characteristics of the point cloud formed by the lidar channels scanning the ground, a convex hull detection algorithm is used to extract the ground points from the points of interest. Finally, the point cloud data information of the ground points is extracted, and the road surface slope is calculated based on the coordinates and height information of the laser points. This achieves accurate extraction of road surface and slope information, providing precise ground environment information for autonomous vehicles, ensuring autonomous driving safety and intelligent decision-making.
[0017] The method for extracting road surface points and calculating slope based on roadside lidar described in this invention has the following specific workflow:
[0018] (1) Interest Point Extraction Module
[0019] The point of interest (POI) extraction module divides the laser point cloud information collected by the roadside lidar into different data point sets according to the different laser channels of the lidar sensor. Then, it converts the laser point set within each channel into a height matrix image based on height information, and uses a watershed algorithm to segment the height matrix image. Based on the image segmentation results, it calculates the height segmentation threshold for the current channel. Finally, based on the height segmentation threshold, it divides the data point set into a high-level point dataset and a point of interest dataset, discarding the high-level point dataset and retaining the point of interest dataset. The point of interest dataset contains both ground-level and near-ground laser points. The specific steps are as follows:
[0020] Step 1: Deploy lidar on the roadside to collect surrounding environmental data;
[0021] Step 2: Based on the channel information of the LiDAR point cloud data, distinguish each laser point according to the channel information; in each laser point data, laser_id represents the channel to which the laser point belongs. Extract the laser points of each channel separately, with the collection range being laser_id∈{id set};
[0022] id set ={0, 2, 4, ..., N-2}
[0023] In the formula: id set This indicates the channel index that is scanned towards the ground, where N is the laser beam of the lidar;
[0024] Step 3: Based on the number of points and height information of each channel's LiDAR, construct a square matrix of point cloud height;
[0025] n = ceil(sqrt(l))
[0026] In the formula: l represents the number of LiDAR point clouds in the channel, sqrt(*) represents the square root, used to determine the size of the point cloud height matrix, ceil(*) represents the rounding up of the square root result, used to construct a square matrix image, and n represents the side length of the constructed square matrix.
[0027] Step 4: The altitude information of the lidar contains negative values, therefore, the altitude information needs to be standardized;
[0028] Z std =(ZZ) min ) / (Z max -Z min )
[0029] In the formula: Z represents the height information of each laser point, Z min Z represents the height of the lowest laser point in the current channel. max Z represents the height of the highest laser point in the current channel. std This represents the standardized result for each laser point;
[0030] Step 5: Based on Step 3, construct two point cloud height square matrices of the same size, one for calculating the threshold for dividing points of interest, and the other for image processing;
[0031]
[0032]
[0033] In the formula: T1 represents a matrix containing the original height information, which is used for subsequent calculation of the interest point segmentation threshold; T2 represents a matrix containing the standardized height information, which is used for image processing.
[0034] Step 6: Filter, convert grayscale, and binarize the image to enhance its features;
[0035] blur = EPF(T2)
[0036] gray = Gray (blur)
[0037] binary = Binary(gray)
[0038] In the formula: EPF(*) is edge-preserving filter, which aims to reduce noise; blur is the image after noise reduction; Gray(*) converts the image to a grayscale image, where gray is the grayscale image; Binary(*) converts the grayscale image to a binary image, where binary is the binary image.
[0039] Step 7: Perform morphological operations to determine the foreground of the image;
[0040] opening = Opening(binary)
[0041] sure_bg = Dilate(opening)
[0042] In the formula: Opening(*) is the opening operation in morphological operations, used to remove small noise points, opening is the image after noise reduction, Dilate(*) is the dilation operation in morphological operations, used to obtain a defined background region, and sure_bg is the defined background region in the image.
[0043] Step 8: Perform distance transformation, normalization, and binarization operations to obtain the defined background of the image;
[0044] dist=DistanceTransform(opening)
[0045] dist_out = Normalize(dist)
[0046] sure_fg = Binary(dist_out)
[0047] In the formula: DistanceTransform(*) is the distance transformation operation used for image segmentation, dist is the image after distance transformation, Normalize(*) is the normalization of the image, dist_out is the result of image normalization, and sure_fg is the determined foreground region in the image;
[0048] Step 9: Subtract the determined background area from the determined foreground area to obtain the unknown area;
[0049] unkonown=Subtract(sure_bg, sure_fg)
[0050] In the formula: Subtract(*) subtracts the foreground region from the background region to obtain the unknown region, which is the location region of the image;
[0051] Step 10: Mark and determine the connected regions of the foreground;
[0052] markers = Connected(sure_fg)
[0053] In the formula: Connected(*) marks the connected regions to determine the seed points of the watershed algorithm, and markers are the seed points of the watershed algorithm;
[0054] Step 11: Use the watershed algorithm to segment the obtained point cloud height matrix image;
[0055] boundary_index=WatershedAlgorithm(T2, markers)
[0056] In the formula: WatershedAlgorithm(*) is used to segment images, and boundary_index is the index value of the image segmentation boundary;
[0057] Step 12: Based on the index values of the obtained image segmentation boundaries, calculate the average height of the corresponding positions in the matrix containing the initial height information to obtain the adaptive threshold for dividing interest points. This threshold will vary according to different scenes.
[0058] Threshold=Average(T1[boundary_index])
[0059] In the formula: T1[boundary_index] is the height information of the boundary point in the original height matrix image, Average(*) is the average value of the height information, and Threshold is the threshold for dividing interest points;
[0060] Step 13: Based on the obtained threshold, divide the laser points into points of interest and high-altitude points;
[0061] PoH = LiDAR points [LiDAR points>Threshold]
[0062] PoI = LiDAR points [LiDAR points ≤Threshold]
[0063] Where: LiDAR points These are all the laser points, PoH is the elevation point, and PoI is the point of interest.
[0064] (2) Ground point detection module
[0065] In each channel's points of interest, the ground-based laser points are furthest from the roadside lidar sensors, forming a ring shape on the ground during the lidar's 360° scan. At the same scanning angle, near-ground laser points are closer to the roadside lidar sensors than ground-based laser points, and are generally enclosed by the ring formed by the ground-based laser points. Based on this, a convex hull detection algorithm is used to extract the ground-based laser points outside the ring. Then, based on the height and distance differences between the laser points, ground-based laser points and near-ground-based laser points are further distinguished. Near-ground-based laser points within the channel are removed, while ground-based laser points are retained. The specific steps are as follows:
[0066] Step 1: First, project the point of interest onto the ground, select the point with the largest y-coordinate as the initial point P0, and add it to the convex hull set P. convex middle;
[0067] Step 2: Select a point P1 from the remaining points so that the angle between the line connecting P0 and P1 and the X-axis is minimized counterclockwise;
[0068]
[0069] In the formula: dy is the difference between the y coordinates of P0 and P1, dx is the difference between the x coordinates of P0 and P1, arctan(*) is the arctangent function, used to find the angle between the line connecting P0 and P1 and the X-axis counterclockwise, and α is the angle.
[0070] Step 3: Let P1 be P start P0 is P previous Choose P2 from the remaining points as P. next To maximize the angle between the line connecting P0 and P1 and the line connecting P1 and P2, add P2 to the guided convex hull set P. convex middle;
[0071] Step 4: Let P convex [-2] is P previous P convex [-1] is P start Repeat Step 3 to find P. nextAnd add the convex hull set P convex middle;
[0072] Step 5: Repeat Step 4 continuously until P. convex The sequence of points in the diagram is closed by connecting them back to the initial point;
[0073] Step 6: Since the difference in rotation angle between adjacent points is approximately 0.02°, they can be considered to have similar features. Therefore, when calculating the height and distance differences between adjacent points, if the result exceeds a certain threshold, it can be determined that the detected target has changed, and the point of interest can be divided into different regions.
[0074] Step 7: Combine the preliminary ground points obtained in Step 5 with the different regions obtained in Step 6 to determine the ground points. Within each region, if there are already detected ground points, then all points in that region are considered ground points; otherwise, they are not.
[0075] Step 8: Perform the above operations on the laser points in each channel, and finally superimpose them to obtain the ground point detection results.
[0076] (3) Road slope calculation module
[0077] After obtaining the ground laser points, extract the ground laser points along the longitudinal direction of the road, count the number of ground laser points on different longitudinal directions, and select the longitudinal direction with the most ground laser points; then, calculate the road slope value based on the coordinates and height information of the ground laser points; the specific work steps are as follows:
[0078] Step 1: Keep two decimal places for the y-coordinate of the ground points to ensure that the ground points are on the same vertical coordinate.
[0079] Y = round(y)
[0080] In the formula: y is the y coordinate of the ground point, round(*) means to keep two decimal places of the y coordinate, and Y is the coordinate point after the rounding.
[0081] Step 2: Count the number of times each Y coordinate appears, and select the ground points corresponding to the Y coordinates that appear most frequently to calculate the road slope;
[0082] F i =count(Y i )
[0083] In the formula: Y i It represents the i-th coordinate of the retained coordinate point, and count(*) is used to count the values of Y. i The number of F i It is Y i The number of times it appears;
[0084] Step 3: Calculate the road slope using the extracted ground points;
[0085]
[0086] In the formula: dz j It is in Y j The difference in z-coordinates between the two farthest points on the vertical plane, dx j It is in Y j The difference in x-coordinates between the two farthest points on the longitudinal plane; slope is the resulting road gradient.
Claims
1. A method for extracting road surface points and calculating slope based on roadside lidar, characterized in that: (1) Interest Point Extraction Module The point of interest (POI) extraction module divides the laser point cloud information collected by the roadside lidar into different data point sets according to the different laser channels of the lidar sensor. Then, it converts the laser point set within each channel into a height matrix image based on height information, and uses a watershed algorithm to segment the height matrix image. Based on the image segmentation results, it calculates the height segmentation threshold for the current channel. Finally, based on the height segmentation threshold, it divides the data point set into a high-level point dataset and a point of interest dataset, discarding the high-level point dataset and retaining the point of interest dataset, which includes ground-level and near-ground laser points. The specific steps are as follows: Step 1: Deploy lidar on the roadside to collect surrounding environmental data; Step 2: Based on the channel information of the LiDAR point cloud data, distinguish each LiDAR point according to the channel information; in the data of each LiDAR point... This indicates the channel to which the laser point belongs. The laser points in each channel are extracted separately, with the acquisition range being [missing information]. ; In the formula: This indicates the channel index that is being swept towards the ground. It is the laser beam of a lidar; Step 3: Based on the number of points and height information of each channel's LiDAR, construct a square matrix of point cloud height; In the formula: This indicates the number of lidar point clouds within the channel. The square root is used to determine the size of the point cloud height matrix. This represents the floor function of rounding up the square root result, used to construct a square matrix image. This represents the side length of the constructed square matrix; Step 4: The altitude information of the lidar contains negative values, therefore, the altitude information needs to be standardized; In the formula: This indicates the height information of each laser point. This indicates the height of the lowest laser point in the current channel. This indicates the height of the highest laser point in the current channel. This represents the standardized result for each laser point; Step 5: Based on Step 3, construct two point cloud height square matrices of the same size, one for calculating the threshold for dividing points of interest, and the other for image processing; In the formula: This represents a matrix containing the original height information, used for subsequent calculation of the threshold for dividing points of interest. This represents a matrix containing standardized height information, used for image processing; Step 6: Filter, convert grayscale, and binarize the image to enhance its features; In the formula: It's an edge-preserving filter, the purpose of which is to reduce noise. This is the image after noise reduction. It converts an image to a grayscale image. It's a grayscale image. It converts a grayscale image into a binary image. It is a binary image; Step 7: Perform morphological operations to determine the foreground of the image; In the formula: It is an opening operation in morphological operations, used to remove small noise points. This is the image after noise reduction. It is a dilation operation in morphological operations, used to determine the background region. It is a defined background region in the image; Step 8: Perform distance transformation, normalization, and binarization operations to obtain the defined background of the image; In the formula: It's a distance transform operation used for image segmentation. It is the image after the distance changes. It involves normalizing the image. It is the result of image normalization. It is a defined foreground region in the image; Step 9: Subtract the determined background area from the determined foreground area to obtain the unknown area; In the formula: Subtracting the foreground and background regions yields the unknown region. It refers to the location area of the image; Step 10: Mark the connected regions that define the foreground; In the formula: Mark connected components to determine seed points for the watershed algorithm. These are the seed points for the watershed algorithm; Step 11: Use the watershed algorithm to segment the obtained point cloud height matrix image; In the formula: The watershed algorithm is used for image segmentation. It is the index value of the image segmentation boundary; Step 12: Based on the index values of the obtained image segmentation boundaries, calculate the average height of the corresponding positions in the matrix containing the initial height information to obtain the adaptive threshold for dividing interest points. This threshold will vary according to different scenes. In the formula: It is the height information of the boundary points in the original height matrix image. It is the average value of the calculated height information. It is the threshold for dividing points of interest; Step 13: Based on the obtained threshold, divide the laser points into points of interest and high-level points; In the formula: It refers to all the laser points. It is a height point. It is a point of interest; (2) Ground point detection module In each channel's points of interest, the ground laser points are furthest from the roadside lidar sensors, forming a ring shape on the ground during the lidar's 360° scan. At the same scanning angle, near-ground laser points are closer to the roadside lidar sensors than ground laser points, and are generally enclosed by the ring formed by the ground laser points. Based on this, a convex hull detection algorithm is used to extract the ground laser points outside the ring. Then, ground laser points and near-ground laser points are further distinguished based on the height and distance differences between them. Near-ground laser points within the channel are removed, while ground laser points are retained. The specific steps are as follows: Step 1: First, project the point of interest onto the ground, then select... The point with the largest coordinates is used as the initial point. and add to the convex hull set. middle; Step 2: Select one from the remaining points Point, make , Connecting and The counterclockwise included angle of the axis is the smallest. In the formula: yes and of The difference in coordinates yes and of The difference in coordinates, It is the arctangent function, used to find... , Connecting and The angle between the axis and the counterclockwise rotation. The included angle; Step 3: Order for , for Choose from the remaining points. As ,make , Connecting and , The angle between the connecting lines is the largest, and Add to convex hull set middle; Step 4: Order for , for Repeat Step 3 to find and add to the convex hull set. middle; Step 5: Repeat Step 4 continuously until... The sequence of points in the sequence is closed by connecting them back to the initial point; Step 6: Since the difference in rotation angle between adjacent points is 0.02°, they can be considered to have similar features. Therefore, when calculating the height and distance difference between adjacent points, if the result exceeds a certain threshold, it can be determined that the detected target has changed, and the point of interest can be divided into different regions. Step 7: Combine the preliminary ground points obtained in Step 5 with the different regions obtained in Step 6 to determine the ground points; in each region, if there are already detected ground points, then all points in that region are considered to be ground points, otherwise they are not. Step 8: Perform the above operations on the laser points in each channel, and finally superimpose them to obtain the ground point detection results; (3) Road slope calculation module After obtaining the ground laser points, extract the ground laser points along the longitudinal direction of the road, count the number of ground laser points on different longitudinal directions, and select the longitudinal direction with the most ground laser points; then, calculate the road slope value based on the coordinates and height information of the ground laser points; the specific work steps are as follows: Step 1: Place the ground points Coordinates are rounded to two decimal places to ensure that ground points are on the same vertical coordinate. In the formula: Ground point coordinate, Indicates reservation Coordinates to two decimal places These are the retained coordinates. Step 2: Count each The number of times the coordinates appear, and the coordinates that appear most frequently are selected. Calculate the road slope from the ground points corresponding to the coordinates; In the formula: The retained coordinates of point number 1 coordinates, It is statistics The number of yes The number of times it appears; Step 3: Calculate the road slope using the extracted ground points; In the formula: Is Between the two farthest points on the vertical plane The difference in coordinates, Is Between the two farthest points on the vertical plane The difference in coordinates, It is the obtained road slope.
Citation Information
Patent Citations
Pavement characteristic parameter automatic extraction method and system
CN111239757A
Unstructured road surface gradient detection method based on laser radar
CN115236695A