A point cloud road boundary extraction method and system based on dynamic programming algorithm

By using dynamic programming algorithms to extract road boundaries on raster maps built by point clouds, the problems of high computational complexity and noise sensitivity of traditional methods are solved, and road boundary extraction is achieved with higher precision, supporting high-precision maps and autonomous driving technology.

CN119273935BActive Publication Date: 2025-05-06ADVANCED TECH RES INST OF BEIJING UNIV OF TECH +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411822812.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-12
Publication Date
2025-05-06
Estimated Expiration
2044-12-12

AI Technical Summary

Technical Problem

The traditional road boundary extraction method has high computational complexity and is sensitive to noise and environmental changes, which affects the accuracy of road boundary extraction.

Method used

The point cloud road boundary extraction method based on dynamic programming algorithm is used to extract the road boundary on the raster map constructed by point clouds. Starting from the driving trajectory point through dynamic programming algorithm, obstacle points are identified, cost calculations, state transfer equations are established, backtracking finds the path with the least cost, and finally determines the boundary point.

Benefits of technology

It improves the accuracy of road boundary extraction, enhances the processing capacity of noise and complex environments, reduces the possibility of error extraction, and provides reliable support for high-precision map production and autonomous driving technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119273935B_ABST
    Figure CN119273935B_ABST
Patent Text Reader

Abstract

The present invention belongs to the field of high-precision map production, and provides a point cloud road boundary extraction method and system based on a dynamic programming algorithm, which obtains the original laser point cloud of the road and performs preprocessing to obtain the preprocessed point cloud; performs grid projection on the preprocessed point cloud to construct a grid map; based on the grid map, a dynamic programming algorithm is used to extract the road boundary, and a state transfer equation is established according to the cost of reaching the obstacle point corresponding to the previous driving trajectory point, the cost of the current obstacle point, the distance between the current driving trajectory point and the obstacle point, and the absolute difference between the distance between the current driving trajectory point and the previous driving trajectory point to the obstacle point; starting from the last driving trajectory point, backtracking to find the path with the minimum cost, and finally determining it as the boundary point. The present invention enhances the processing capability of complex environments such as noise and vehicle occlusion, thereby reducing the possibility of incorrect extraction of road boundaries.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of high-precision map production, and specifically relates to a point cloud road boundary extraction method and system based on a dynamic programming algorithm. Background Art

[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.

[0003] Road boundaries are key elements in the road traffic network and play an important role in dividing driving areas from other functional areas. Clear road boundaries not only ensure the safe driving of vehicles in designated lanes and reduce the occurrence of traffic accidents, but also provide basic data for traffic management. In high-precision maps and autonomous driving technologies, road boundary information is the core of path planning, enabling the navigation system to perform accurate route planning, obstacle avoidance and driving safety control.

[0004] Traditional road boundary extraction methods are mainly divided into two categories: one is to extract directly from laser point clouds, and the other is to extract based on images projected from laser point clouds. Methods that extract road boundaries directly from laser point clouds usually involve processing and analyzing the original point clouds. These methods include segmenting and classifying point clouds, identifying feature points representing road boundaries, and using geometric information to fit boundaries. The method of extracting road boundaries based on images projected from laser point clouds first projects the three-dimensional point cloud onto a two-dimensional plane, generates a height map or other type of image, and then applies image processing technology to identify and extract road boundaries.

[0005] The above methods face problems such as high computational complexity and sensitivity to noise and environmental changes, which affect the accuracy of road boundary extraction. Therefore, a more accurate extraction method is needed to overcome these challenges and improve the reliability and practicality of road boundary extraction. Summary of the invention

[0006] In order to solve the above problems, the present invention proposes a point cloud road boundary extraction method and system based on a dynamic programming algorithm. The present invention extracts road boundaries on a raster map constructed by point cloud through a dynamic programming algorithm, thereby improving the accuracy of road boundary extraction and enhancing the ability to handle complex environments such as noise and vehicle occlusion, thereby reducing the possibility of erroneous extraction of road boundaries and providing reliable support for high-precision map production and autonomous driving technology.

[0007] According to some embodiments, a first solution of the present invention provides a point cloud road boundary extraction method based on a dynamic programming algorithm, which adopts the following technical solutions:

[0008] A point cloud road boundary extraction method based on a dynamic programming algorithm, comprising:

[0009] Obtaining the original laser point cloud of the road and preprocessing it to obtain a preprocessed point cloud;

[0010] Perform raster projection on the preprocessed point cloud and construct a raster map;

[0011] Based on the grid map, the road boundary is extracted using the dynamic programming algorithm. Starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory are identified and saved in the corresponding position; the distance between each obstacle point and the corresponding driving trajectory point is calculated, and a cost is assigned to each obstacle point; the state transfer equation is established based on the cost of reaching the obstacle point corresponding to the previous driving trajectory point, plus the cost of the current obstacle point, the distance between the current driving trajectory point and the obstacle point, and the absolute difference between the distance from the current trajectory point to the obstacle point and the distance from the previous driving trajectory point to the obstacle point; starting from the last driving trajectory point, backtrack to find the path with the minimum cost, and finally determine it as the boundary point;

[0012] The pixel coordinates of the road boundary points are converted into point cloud coordinates to complete the road boundary extraction.

[0013] Furthermore, the preprocessed point cloud is subjected to grid projection to construct a grid map, specifically:

[0014] Traverse based on the preprocessed point cloud to find the origin coordinates required for raster map projection;

[0015] Determine the size of the grid map and initialize it;

[0016] Traverse all preprocessed point cloud data, obtain the index of the grid map according to the coordinate value of each point cloud, record the lowest point height value of the grid where it is located, and obtain the lowest point height value grid matrix;

[0017] Traverse all preprocessed point cloud data again, compare the z coordinate value of each point cloud with the stored lowest point height value grid matrix, and obtain the obstacle point number grid matrix;

[0018] By comparing the number of obstacle points in each grid cell with the preset threshold, it is determined whether the grid is occupied, and then a grid map is obtained.

[0019] Furthermore, the number of rows in the grid map is the number of rows in all preprocessed point clouds. y The quotient of the difference between the maximum and minimum coordinates and the resolution of the raster map;

[0020] The number of columns in the grid map is the number of columns in all preprocessed point clouds. x The quotient of the difference between the maximum and minimum coordinates and the resolution of the raster map.

[0021] Furthermore, the index of the grid map is obtained according to the coordinate value of each point cloud, specifically:

[0022] ;

[0023] ;

[0024] in, is the row index of the raster map, is the column index of the raster map, , are the coordinates of the point cloud, For all point clouds The minimum value of the coordinates, For all point clouds The minimum value of the coordinates, is the resolution of the raster map.

[0025] Furthermore, starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory point are identified and saved in corresponding positions, specifically:

[0026] Define a state variable From the starting point to the The minimum cost when a driving trajectory point selects a certain obstacle point; the initial state Set as the cost of selecting each obstacle point of the first trajectory point, here, Indicates the index of the driving trajectory point. Indicates the index of the obstacle point corresponding to the driving trajectory point;

[0027] Starting from the driving trajectory point, the normal vector between the current driving trajectory point and the next driving trajectory point is calculated to describe the direction change between the driving trajectory points;

[0028] Taking the normal vector as the direction and adopting a fixed step size for sampling, a series of sampling points are generated in the direction of the normal vector of the trajectory;

[0029] If the sampling point intersects with the white obstacle, its coordinates are recorded and stored in middle, The coordinates of the white obstacle points are stored in it. Expressed as i The first track point found j obstacles; and continue sampling until it is beyond the image range;

[0030] The coordinates of , the number of obstacle points related to the current driving trajectory point is expressed as .

[0031] Furthermore, the distance between each obstacle point and the corresponding driving trajectory point is calculated as follows:

[0032] ;

[0033] in, Expressed as The coordinates of Represents the coordinates of the current driving trajectory point, Indicates the index of the driving trajectory point. Indicates the index of the obstacle point corresponding to the driving trajectory point.

[0034] Furthermore, a cost is assigned to each obstacle point, specifically:

[0035] ;

[0036] in, Expressed as the number of obstacle points associated with the current trajectory point, Indicates the index of the driving trajectory point. Indicates the index of the obstacle point corresponding to the driving trajectory point. Store after the last obstacle point The price, Represents the cost of all obstacle points.

[0037] According to some embodiments, a second solution of the present invention provides a point cloud road boundary extraction system based on a dynamic programming algorithm, which adopts the following technical solutions:

[0038] A point cloud road boundary extraction system based on a dynamic programming algorithm, comprising:

[0039] A point cloud preprocessing module is configured to obtain and preprocess the original laser point cloud of the road to obtain a preprocessed point cloud;

[0040] A raster projection module is configured to perform raster projection on the preprocessed point cloud to construct a raster map;

[0041] The road boundary extraction module is configured to extract the road boundary based on the grid map using a dynamic programming algorithm. Starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory are identified and saved in the corresponding position; the distance between each obstacle point and the corresponding driving trajectory point is calculated, and a cost is assigned to each obstacle point; the state transfer equation is established based on the cost of reaching the obstacle point corresponding to the previous driving trajectory point, plus the cost of the current obstacle point, the distance between the current driving trajectory point and the obstacle point, and the absolute difference between the distance between the current trajectory point and the previous driving trajectory point to the obstacle point; starting from the last driving trajectory point, backtracking to find the path with the minimum cost, which is finally determined as the boundary point;

[0042] The road boundary point cloud determination module is configured to convert the pixel coordinates of the road boundary points into point cloud coordinates to complete the road boundary extraction.

[0043] According to some embodiments, a third aspect of the present invention provides a computer-readable storage medium.

[0044] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps in a point cloud road boundary extraction method based on a dynamic programming algorithm as described in the first aspect above.

[0045] According to some embodiments, a fourth aspect of the present invention provides a computer device.

[0046] A computer device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps in a point cloud road boundary extraction method based on a dynamic programming algorithm as described in the first aspect above are implemented.

[0047] Compared with the prior art, the present invention has the following beneficial effects:

[0048] The present invention uses laser point cloud data to project the point cloud within a specified height range into a raster image. Starting from the trajectory point, the obstacle points on both sides of the trajectory are identified, each obstacle point found is saved in the corresponding position, the distance from each trajectory point is calculated, and a cost is assigned to each obstacle point. According to the cost of reaching the obstacle point corresponding to the previous trajectory point, plus the cost of the current obstacle point, the distance between the current trajectory point and the obstacle, and the absolute difference between the distance from the current trajectory point to the obstacle and the distance from the previous trajectory point to the obstacle, a state transfer equation is established. Starting from the last trajectory point, backtrack to find the path with the minimum cost, and finally determine it as the boundary point. The road boundary is extracted on the raster map constructed by the point cloud through a dynamic programming algorithm, which improves the accuracy of road boundary extraction and enhances the ability to handle complex environments such as noise and vehicle occlusion, thereby reducing the possibility of incorrect extraction of road boundaries, providing reliable support for high-precision map production and autonomous driving technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] The accompanying drawings in the specification, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.

[0050] Figure 1 This is a flow chart of a point cloud road boundary extraction method based on a dynamic programming algorithm in an embodiment of the present invention;

[0051] Figure 2 A grid map obtained by projecting a point cloud using this method in an embodiment of the present invention;

[0052] Figure 3 The road boundary map extracted by the method in the embodiment of the present invention;

[0053] Figure 4 This is a detailed image of the road boundary extracted by this method and the point cloud after elevation filtering in an embodiment of the present invention. DETAILED DESCRIPTION

[0054] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

[0055] It should be noted that the following detailed descriptions are all illustrative and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present invention belongs.

[0056] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprising" and / or "including" are used in this specification, it indicates the presence of features, steps, operations, devices, components and / or combinations thereof.

[0057] In the absence of conflict, the embodiments of the present invention and the features of the embodiments may be combined with each other.

[0058] Embodiment 1

[0059] The present embodiment provides a point cloud road boundary extraction method based on a dynamic programming algorithm. The present embodiment uses the method applied to a server as an example for illustration. It is understandable that the method can also be applied to a terminal, and can also be applied to a terminal, a server, and a system, and is implemented through the interaction between the terminal and the server. The server can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network servers, cloud communications, middleware services, domain name services, security services CDN, and big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected via wired or wireless communication, which is not limited in this application. In the present embodiment, the method includes the following steps:

[0060] Obtaining the original laser point cloud of the road and preprocessing it to obtain a preprocessed point cloud;

[0061] Perform raster projection on the preprocessed point cloud and construct a raster map;

[0062] Based on the grid map, the road boundary is extracted using the dynamic programming algorithm. Starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory are identified and saved in the corresponding position; the distance between each obstacle point and the corresponding driving trajectory point is calculated, and a cost is assigned to each obstacle point; the state transfer equation is established based on the cost of reaching the obstacle point corresponding to the previous driving trajectory point, plus the cost of the current obstacle point, the distance between the current driving trajectory point and the obstacle point, and the absolute difference between the distance from the current trajectory point to the obstacle point and the distance from the previous driving trajectory point to the obstacle point; starting from the last driving trajectory point, backtrack to find the path with the minimum cost, and finally determine it as the boundary point;

[0063] The pixel coordinates of the road boundary points are converted into point cloud coordinates to complete the road boundary extraction.

[0064] like Figure 1 As shown, the point cloud road boundary extraction method based on the dynamic programming algorithm of this embodiment includes:

[0065] S1. Point cloud preprocessing, obtain the original point cloud, including the point cloud , , and intensity value information, perform statistical filtering on the original point cloud to obtain the preprocessed point cloud.

[0066] S2. Perform grid projection on the preprocessed point cloud. The specific steps include:

[0067] S21. Find the origin coordinates required for raster map projection by traversing all point cloud data.

[0068] S22. To ensure that the map covers all point cloud data, it is necessary to determine the size of the grid map and initialize the grid map. Row and number of columns Col The calculations are as follows:

[0069] (1);

[0070] (2);

[0071] in, and For all point clouds The maximum and minimum coordinate values, and For all point clouds The maximum and minimum coordinate values, is the resolution of the raster map.

[0072] S23, traverse all point cloud data, according to each point cloud , The coordinate value is used to obtain the index of the grid map, and the corresponding record is the lowest point height value of the grid where it is located, and the lowest point height value grid matrix is ​​obtained. The grid index of the point cloud is calculated as follows:

[0073] (3);

[0074] (4);

[0075] S24, traverse all point cloud data again, compare the z coordinate value of each point with the stored lowest point height value grid matrix, and for each point cloud, compare its z coordinate value with the lowest point height value recorded in the corresponding grid. Compare and set the minimum height value of the point cloud that meets the conditions to The maximum height of the point cloud that meets the conditions is . Calculate the number of points n in the grid that meet the set height difference threshold condition and store it in the corresponding obstacle point grid matrix Obstacle point grid matrix is ​​obtained .

[0076] S25. Finally, by comparing the number of obstacle points in each grid unit with the preset threshold, it is determined whether the grid is occupied. If the number of obstacle points in the grid exceeds the preset threshold , then mark the grid as an obstacle. This method can effectively process point cloud data and construct an obstacle grid map. The pixel value of the grid map is calculated as follows:

[0077] (5);

[0078] in, It is rowID Line colID The pixel value of the column.

[0079] S3. Extract road boundaries using a dynamic programming algorithm. The specific steps include:

[0080] S31. Define a state variable From the starting point to the The minimum cost when a trajectory point selects an obstacle point. Initial state Set as the cost of each obstacle point for selecting the first trajectory point. Here, Indicates the index of the driving trajectory point. Indicates the index of the obstacle point corresponding to the driving trajectory point.

[0081] S32, starting from the driving trajectory point, calculate the current trajectory point and the next trajectory point The normal vector between them is used to describe the direction change between trajectory points. The coordinates of , The coordinates of , the normal vector calculation formula is as follows:

[0082] (6);

[0083] S33, taking the normal vector as the direction, sampling with a fixed step size, and generating a series of sampling points in the normal vector direction of the trajectory. If the sampling point intersects with the white obstacle, its coordinates are recorded and stored in middle, The coordinates of the white obstacle points are stored in it. It represents the jth obstacle found for the i-th trajectory point; and the sampling continues until it exceeds the image range. The coordinates of , the number of obstacle points related to the current trajectory point is expressed as .

[0084] S34: For each driving trajectory point, calculate the distance between the corresponding obstacle point and the trajectory point, and store it in middle, What is stored in the memory is the distance between the driving trajectory point and its corresponding obstacle point, and the distance from the i-th trajectory point to the j-th obstacle point.

[0085] (7);

[0086] S35, set the cost of each obstacle point found by the driving trajectory point to zero, and set a cost greater than zero after the last obstacle point and store it in middle.

[0087] (8);

[0088] in, Store after the last obstacle point The price, Represents the cost of all obstacle points.

[0089] S36, the state transfer equation is calculated based on the cost to the obstacle point corresponding to the previous trajectory point, plus the cost of the current obstacle point and the absolute difference between the distance between the current trajectory point and the obstacle point and the distance between the previous trajectory point and the obstacle. The state transfer equation of the dynamic programming algorithm is written as follows:

[0090] (9);

[0091] in, , is the weight value of the state transfer equation, For the The cost corresponding to the obstacle point, For the The index of the obstacle point that the row corresponds to.

[0092] S37. Starting from the last trajectory point, backtrack to find the path with the minimum cost, and record the obstacle points selected at each step to construct a complete optimal path set, thereby achieving accurate extraction of the boundaries on both sides of the vehicle's driving trajectory points.

[0093] Backtracking process:

[0094] a. Starting from the last driving trajectory point: according to the dynamic planning table dp The value in finds the last driving trajectory point i The corresponding minimum cost obstacle point j , denoted as min( dp [ i ][ j ]).

[0095] b. Step by step back to the previous driving trajectory point: from the last driving trajectory point i Start by finding the driving track point i Selected obstacle point j Then, go back to the previous driving trajectory point i -1. According to the state transfer equation, determine the point on the driving trajectory i -1 selected obstacle point k Satisfies the state transfer equation. dp [ i -1][ k ] has the lowest cost.

[0096] c. Record the obstacle points selected at each step: Repeat step b, gradually trace back to the previous driving trajectory point, and find the obstacle point that minimizes the total cost in each step k , and record each choice.

[0097] d. Constructing the optimal path set: When tracing back to the first driving trajectory point, the optimal obstacle point selected for each driving trajectory point has been determined, and then a complete optimal path set is constructed.

[0098] S4. Convert the pixel coordinates of the extracted road boundary into point cloud coordinates. The formula for converting pixel coordinates into point cloud coordinates is as follows:

[0099] (10);

[0100] (11);

[0101] So far, all steps of the present invention are completed.

[0102] Next, an implementation example is given with specific parameters.

[0103] In this example, the experimental parameters are shown in Table 1.

[0104] Table 1 Experimental parameters

[0105]

[0106] In the table α , β is the state transition equation weight.

[0107] After executing step S2, the raster image is obtained as Figure 2 As shown. Convert the coordinates of the driving trajectory points to the pixel coordinates of the grid map and overlay them with the grid map. Execute step S3 to calculate the distance between each driving trajectory point and the corresponding obstacle. According to the distance between the obstacle and the driving trajectory point and the cost of the obstacle itself, construct the state transfer equation and find the obstacle point with the minimum cost as the boundary point. Execute step S4 to convert the pixel coordinates of the extracted road boundary to the point cloud coordinates. The road boundary extraction result is shown in Figure 3 As shown in the figure, the elevation filtered point cloud is superimposed with the road boundary details. Figure 4 shown.

[0108] The length of the correctly extracted road boundary is recorded as TP, the length of the incorrectly extracted road boundary is recorded as FP, and the length of the unextracted road boundary is recorded as FN. The precision, recall and F1 score are calculated. The results of each evaluation index are shown in Table 2.

[0109] Table 2 Evaluation index results

[0110]

[0111] Embodiment 2

[0112] This embodiment provides a point cloud road boundary extraction system based on a dynamic programming algorithm, including:

[0113] A point cloud preprocessing module is configured to obtain and preprocess the original laser point cloud of the road to obtain a preprocessed point cloud;

[0114] A raster projection module is configured to perform raster projection on the preprocessed point cloud to construct a raster map;

[0115] The road boundary extraction module is configured to extract the road boundary based on the grid map using a dynamic programming algorithm. Starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory are identified and saved in the corresponding position; the distance between each obstacle point and the corresponding driving trajectory point is calculated, and a cost is assigned to each obstacle point; the state transfer equation is established based on the cost of reaching the obstacle point corresponding to the previous driving trajectory point, plus the cost of the current obstacle point, the distance between the current driving trajectory point and the obstacle point, and the absolute difference between the distance between the current trajectory point and the previous driving trajectory point to the obstacle point; starting from the last driving trajectory point, backtracking to find the path with the minimum cost, which is finally determined as the boundary point;

[0116] The road boundary point cloud determination module is configured to convert the pixel coordinates of the road boundary points into point cloud coordinates to complete the road boundary extraction.

[0117] The examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the contents disclosed in the above embodiment 1. It should be noted that the above modules as part of the system can be executed in a computer system such as a set of computer executable instructions.

[0118] The description of each embodiment in the above embodiments has different emphases. For parts not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0119] The proposed system can be implemented in other ways. For example, the system embodiment described above is only illustrative, and the division of the modules is only a logical function division. In actual implementation, there may be other division methods, such as multiple modules can be combined or integrated into another system, or some features can be ignored or not executed.

[0120] Embodiment 3

[0121] This embodiment provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the steps in the point cloud road boundary extraction method based on a dynamic programming algorithm as described in the first embodiment above are implemented.

[0122] Embodiment 4

[0123] This embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the steps in the point cloud road boundary extraction method based on a dynamic programming algorithm as described in the first embodiment above are implemented.

[0124] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of hardware embodiments, software embodiments, or embodiments combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer-usable program codes.

[0125] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0126] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0127] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0128] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0129] Although the above describes the specific implementation mode of the present invention in conjunction with the accompanying drawings, it is not intended to limit the scope of protection of the present invention. Those skilled in the art should understand that various modifications or variations that can be made by those skilled in the art on the basis of the technical solution of the present invention without creative work are still within the scope of protection of the present invention.

Claims

1. A point cloud road boundary extraction method based on dynamic programming algorithm, characterized in that: include: Obtaining the original point cloud of the road and preprocessing it to obtain a preprocessed point cloud; Perform raster projection on the preprocessed point cloud and construct a raster map; Based on the grid map, the road boundary is extracted using the dynamic programming algorithm. Starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory are identified and saved in the corresponding position; the distance between each obstacle point and the corresponding driving trajectory point is calculated, and a cost is assigned to each obstacle point; the state transfer equation is established based on the cost of reaching the obstacle point corresponding to the previous driving trajectory point, plus the cost of the current obstacle point, the distance between the current driving trajectory point and the obstacle point, and the absolute difference between the distance between the current driving trajectory point and the previous driving trajectory point to the obstacle point; starting from the last driving trajectory point, backtrack to find the path with the minimum cost, and finally determine it as the boundary point; The pixel coordinates of the road boundary points are converted into point cloud coordinates to complete the road boundary extraction.

2. A point cloud road boundary extraction method based on a dynamic programming algorithm as claimed in claim 1, characterized in that: The grid projection of the preprocessed point cloud to construct a grid map is specifically as follows: Traverse based on the preprocessed point cloud to find the origin coordinates required for raster map projection; Determine the size of the grid map and initialize it; Traverse all preprocessed point cloud data, obtain the index of the grid map according to the coordinate value of each point cloud, record the lowest point height value of the grid where it is located, and obtain the lowest point height value grid matrix; Traverse all preprocessed point cloud data again, compare the z coordinate value of each point cloud with the stored lowest point height value grid matrix, and obtain the obstacle point number grid matrix; By comparing the number of obstacle points in each grid cell with the preset threshold, it is determined whether the grid is occupied, and then a grid map is obtained.

3. A point cloud road boundary extraction method based on a dynamic programming algorithm as claimed in claim 2, characterized in that: The number of rows of the grid map is the quotient of the difference between the maximum and minimum values ​​of the y coordinates in all preprocessed point clouds and the resolution of the grid map; The number of columns of the grid map is the quotient of the difference between the maximum value and the minimum value of the x-coordinates in all preprocessed point clouds and the resolution of the grid map.

4. A point cloud road boundary extraction method based on a dynamic programming algorithm as claimed in claim 2, characterized in that: The index of the grid map is obtained according to the coordinate value of each point cloud, specifically: ; ; in, is the row index of the raster map, is the column index of the raster map, , are the coordinates of the point cloud, For all point clouds The minimum value of the coordinates, For all point clouds The minimum value of the coordinates, is the resolution of the raster map.

5. The point cloud road boundary extraction method based on dynamic programming algorithm as claimed in claim 1, characterized in that: Starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory are identified and saved in the corresponding positions, specifically: Define a state variable From the starting point to the The minimum cost when a driving trajectory point selects a certain obstacle point; the initial state Set as the cost of selecting each obstacle point of the first driving trajectory point, here, Represents the index of the driving trajectory point, Indicates the index of the obstacle point corresponding to the driving trajectory point; Starting from the driving trajectory point, the normal vector between the current driving trajectory point and the next driving trajectory point is calculated to describe the direction change between the driving trajectory points; Taking the normal vector as the direction and adopting a fixed step size for sampling, a series of sampling points are generated in the direction of the normal vector of the trajectory; If the sampling point intersects with the white obstacle, its coordinates are recorded and stored in middle, The coordinates of the white obstacle points are stored in it. Expressed as i The first trajectory point found j obstacles; and continue sampling until it is beyond the image range; The coordinates are expressed as , the number of obstacle points related to the current driving trajectory point is expressed as .

6. The point cloud road boundary extraction method based on dynamic programming algorithm as claimed in claim 1, characterized in that: The distance between each obstacle point and the corresponding driving trajectory point is calculated as follows: ; in, Expressed as The coordinates of Represents the coordinates of the current driving trajectory point, Represents the index of the driving trajectory point, Indicates the index of the obstacle point corresponding to the driving trajectory point.

7. The point cloud road boundary extraction method based on dynamic programming algorithm as claimed in claim 1, characterized in that: The above method assigns a cost to each obstacle point, specifically: ; in, It is expressed as the number of obstacle points related to the current driving trajectory point. Represents the index of the driving trajectory point, Indicates the index of the obstacle point corresponding to the driving trajectory point. Store after the last obstacle point The price, Represents the cost of all obstacle points.

8. A point cloud road boundary extraction system based on dynamic programming algorithm, characterized in that: include: A point cloud preprocessing module is configured to obtain and preprocess the original laser point cloud of the road to obtain a preprocessed point cloud; A raster projection module is configured to perform raster projection on the preprocessed point cloud to construct a raster map; The road boundary extraction module is configured to extract the road boundary based on the grid map using a dynamic programming algorithm. Starting from the driving trajectory point, the obstacle points on both sides of the driving trajectory are identified and saved in the corresponding position; the distance between each obstacle point and the corresponding driving trajectory point is calculated, and a cost is assigned to each obstacle point; the state transfer equation is established based on the cost of reaching the obstacle point corresponding to the previous driving trajectory point, plus the cost of the current obstacle point, the distance between the current driving trajectory point and the obstacle point, and the absolute difference between the distance between the current driving trajectory point and the distance between the previous driving trajectory point and the obstacle point; starting from the last driving trajectory point, backtracking to find the path with the minimum cost, which is finally determined as the boundary point; The road boundary point cloud determination module is configured to convert the pixel coordinates of the road boundary points into point cloud coordinates to complete the road boundary extraction.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps in a point cloud road boundary extraction method based on a dynamic programming algorithm as described in any one of claims 1 to 7 are implemented.

10. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps in the point cloud road boundary extraction method based on a dynamic programming algorithm as described in any one of claims 1-7 are implemented.

Citation Information

Patent Citations

  • Reversing navigation control method and system of intelligent vehicle for spraying pesticide between ridges in greenhouse

    CN114063615A

  • Obstacle detouring decision-making method based on dynamic planning for intelligent driving

    CN117068148A